From 93ec9fde8118cccdaa3e8ec678343f39af230ebd Mon Sep 17 00:00:00 2001 From: russimicro Date: Sat, 8 Aug 2026 14:02:41 -0500 Subject: [PATCH 1/3] FiveTech_ERP: add a 100% web branch alongside PC/hybrid (same backend, opt-in) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Makes explicit, as three interchangeable branches of the same build, what erp_http.prg already does: serve JSON API + static files on 0.0.0.0, with the desktop WebView as just one more HTTP client. - ZWEB_FRONT env var (Form1.prg, off by default): points the exe's embedded WebView2 at a served bundle instead of the FWH shell — PC branch stays byte-identical without it. - www/web-{vanilla,angular,react,vue} + www/portal/: four interchangeable SPA bundles (built) consuming the existing /api/* contract, plus their sources under frontends/ and a build guide in README.md. - erp_http.prg: fixes a read-modify-write race in POST /api/dataset under concurrent writers (ErpMutexGuard; see docs/web-branch/HALLAZGO_CONCURRENCIA_DATASETS.md), and serves /portal/ the same way any other www/ folder is served. - docs/web-branch/: proposal, evidence and reproducible check scripts (api-check.mjs, concurrency*.py, evidence.cjs). No changes to the default run path, the HTTP contract, or existing build scripts. Co-Authored-By: Claude Sonnet 5 --- samples/projects/FiveTech_ERP/Form1.prg | 46 + samples/projects/FiveTech_ERP/README.md | 45 + .../docs/web-branch/FORO_FIVETECH_POST.md | 126 + .../HALLAZGO_CONCURRENCIA_DATASETS.md | 55 + .../web-branch/PROPUESTA_FIVETECH_RAMA_WEB.md | 258 + .../docs/web-branch/SUSTENTO_RAMA_100_WEB.md | 90 + .../evidencia/login-fwh-herramienta.png | Bin 0 -> 58660 bytes .../evidencia/login-herramienta-ramas.png | Bin 0 -> 119608 bytes .../web-branch/evidencia/rama-pc-webview2.png | Bin 0 -> 123391 bytes .../web-branch/evidencia/web-angular-app.png | Bin 0 -> 88533 bytes .../evidencia/web-angular-error.png | Bin 0 -> 7914 bytes .../evidencia/web-angular-login.png | Bin 0 -> 114775 bytes .../web-branch/evidencia/web-react-app.png | Bin 0 -> 82047 bytes .../web-branch/evidencia/web-react-error.png | Bin 0 -> 5851 bytes .../web-branch/evidencia/web-react-login.png | Bin 0 -> 112794 bytes .../web-branch/evidencia/web-vanilla-app.png | Bin 0 -> 83159 bytes .../evidencia/web-vanilla-error.png | Bin 0 -> 5851 bytes .../evidencia/web-vanilla-login.png | Bin 0 -> 113591 bytes .../docs/web-branch/evidencia/web-vue-app.png | Bin 0 -> 82080 bytes .../web-branch/evidencia/web-vue-error.png | Bin 0 -> 5851 bytes .../web-branch/evidencia/web-vue-login.png | Bin 0 -> 112779 bytes samples/projects/FiveTech_ERP/erp_http.prg | 158 +- .../FiveTech_ERP/frontends/react/index.html | 13 + .../frontends/react/package-lock.json | 1797 ++++ .../FiveTech_ERP/frontends/react/package.json | 19 + .../FiveTech_ERP/frontends/react/src/App.jsx | 796 ++ .../FiveTech_ERP/frontends/react/src/main.jsx | 5 + .../frontends/react/src/styles.css | 194 + .../frontends/react/vite.config.js | 7 + .../FiveTech_ERP/frontends/vanilla/app.js | 1186 +++ .../frontends/vanilla/container.js | 48 + .../FiveTech_ERP/frontends/vanilla/index.html | 93 + .../FiveTech_ERP/frontends/vanilla/styles.css | 215 + .../FiveTech_ERP/frontends/vue/index.html | 12 + .../frontends/vue/package-lock.json | 1340 +++ .../FiveTech_ERP/frontends/vue/package.json | 18 + .../FiveTech_ERP/frontends/vue/src/App.vue | 752 ++ .../FiveTech_ERP/frontends/vue/src/main.js | 5 + .../FiveTech_ERP/frontends/vue/src/styles.css | 194 + .../FiveTech_ERP/frontends/vue/vite.config.js | 7 + .../frontends/web-angular/.editorconfig | 17 + .../frontends/web-angular/.gitignore | 44 + .../web-angular/.vscode/extensions.json | 4 + .../frontends/web-angular/.vscode/launch.json | 20 + .../frontends/web-angular/.vscode/mcp.json | 9 + .../frontends/web-angular/.vscode/tasks.json | 42 + .../frontends/web-angular/README.md | 59 + .../frontends/web-angular/angular.json | 101 + .../frontends/web-angular/package-lock.json | 7860 +++++++++++++++++ .../frontends/web-angular/package.json | 46 + .../frontends/web-angular/public/favicon.ico | Bin 0 -> 15086 bytes .../web-angular/src/app/api.service.ts | 89 + .../web-angular/src/app/app.config.ts | 22 + .../frontends/web-angular/src/app/app.html | 379 + .../web-angular/src/app/app.routes.ts | 3 + .../frontends/web-angular/src/app/app.scss | 126 + .../frontends/web-angular/src/app/app.ts | 532 ++ .../frontends/web-angular/src/index.html | 13 + .../frontends/web-angular/src/main.ts | 6 + .../frontends/web-angular/src/styles.scss | 4 + .../frontends/web-angular/tsconfig.app.json | 15 + .../frontends/web-angular/tsconfig.json | 30 + .../frontends/web-angular/tsconfig.spec.json | 15 + .../FiveTech_ERP/scripts/api-check.mjs | 103 + .../FiveTech_ERP/scripts/concurrency-write.py | 73 + .../FiveTech_ERP/scripts/concurrency.py | 61 + .../FiveTech_ERP/scripts/evidence.cjs | 88 + .../FiveTech_ERP/www/portal/index.html | 104 + .../FiveTech_ERP/www/web-angular/favicon.ico | Bin 0 -> 15086 bytes .../FiveTech_ERP/www/web-angular/index.html | 13 + .../www/web-angular/main-ORSDDJMH.js | 3773 ++++++++ .../www/web-angular/polyfills-RV3JTMEC.js | 2 + .../www/web-angular/styles-JKNSNSIN.css | 1 + .../www/web-react/assets/index-CbJPQUbz.css | 1 + .../www/web-react/assets/index-DyZUOc-h.js | 50 + .../FiveTech_ERP/www/web-react/index.html | 13 + .../FiveTech_ERP/www/web-vanilla/app.js | 1186 +++ .../FiveTech_ERP/www/web-vanilla/container.js | 48 + .../FiveTech_ERP/www/web-vanilla/index.html | 93 + .../FiveTech_ERP/www/web-vanilla/styles.css | 215 + .../www/web-vue/assets/index-1FzZV9uQ.js | 19 + .../www/web-vue/assets/index-CbJPQUbz.css | 1 + .../FiveTech_ERP/www/web-vue/index.html | 13 + 83 files changed, 22765 insertions(+), 7 deletions(-) create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/FORO_FIVETECH_POST.md create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/HALLAZGO_CONCURRENCIA_DATASETS.md create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/PROPUESTA_FIVETECH_RAMA_WEB.md create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/SUSTENTO_RAMA_100_WEB.md create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/login-fwh-herramienta.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/login-herramienta-ramas.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/rama-pc-webview2.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-angular-app.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-angular-error.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-angular-login.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-react-app.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-react-error.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-react-login.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-app.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-error.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-login.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vue-app.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vue-error.png create mode 100644 samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vue-login.png create mode 100644 samples/projects/FiveTech_ERP/frontends/react/index.html create mode 100644 samples/projects/FiveTech_ERP/frontends/react/package-lock.json create mode 100644 samples/projects/FiveTech_ERP/frontends/react/package.json create mode 100644 samples/projects/FiveTech_ERP/frontends/react/src/App.jsx create mode 100644 samples/projects/FiveTech_ERP/frontends/react/src/main.jsx create mode 100644 samples/projects/FiveTech_ERP/frontends/react/src/styles.css create mode 100644 samples/projects/FiveTech_ERP/frontends/react/vite.config.js create mode 100644 samples/projects/FiveTech_ERP/frontends/vanilla/app.js create mode 100644 samples/projects/FiveTech_ERP/frontends/vanilla/container.js create mode 100644 samples/projects/FiveTech_ERP/frontends/vanilla/index.html create mode 100644 samples/projects/FiveTech_ERP/frontends/vanilla/styles.css create mode 100644 samples/projects/FiveTech_ERP/frontends/vue/index.html create mode 100644 samples/projects/FiveTech_ERP/frontends/vue/package-lock.json create mode 100644 samples/projects/FiveTech_ERP/frontends/vue/package.json create mode 100644 samples/projects/FiveTech_ERP/frontends/vue/src/App.vue create mode 100644 samples/projects/FiveTech_ERP/frontends/vue/src/main.js create mode 100644 samples/projects/FiveTech_ERP/frontends/vue/src/styles.css create mode 100644 samples/projects/FiveTech_ERP/frontends/vue/vite.config.js create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/.editorconfig create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/.gitignore create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/extensions.json create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/launch.json create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/mcp.json create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/tasks.json create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/README.md create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/angular.json create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/package-lock.json create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/package.json create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/public/favicon.ico create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/src/app/api.service.ts create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.config.ts create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.html create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.routes.ts create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.scss create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.ts create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/src/index.html create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/src/main.ts create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/src/styles.scss create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.app.json create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.json create mode 100644 samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.spec.json create mode 100644 samples/projects/FiveTech_ERP/scripts/api-check.mjs create mode 100644 samples/projects/FiveTech_ERP/scripts/concurrency-write.py create mode 100644 samples/projects/FiveTech_ERP/scripts/concurrency.py create mode 100644 samples/projects/FiveTech_ERP/scripts/evidence.cjs create mode 100644 samples/projects/FiveTech_ERP/www/portal/index.html create mode 100644 samples/projects/FiveTech_ERP/www/web-angular/favicon.ico create mode 100644 samples/projects/FiveTech_ERP/www/web-angular/index.html create mode 100644 samples/projects/FiveTech_ERP/www/web-angular/main-ORSDDJMH.js create mode 100644 samples/projects/FiveTech_ERP/www/web-angular/polyfills-RV3JTMEC.js create mode 100644 samples/projects/FiveTech_ERP/www/web-angular/styles-JKNSNSIN.css create mode 100644 samples/projects/FiveTech_ERP/www/web-react/assets/index-CbJPQUbz.css create mode 100644 samples/projects/FiveTech_ERP/www/web-react/assets/index-DyZUOc-h.js create mode 100644 samples/projects/FiveTech_ERP/www/web-react/index.html create mode 100644 samples/projects/FiveTech_ERP/www/web-vanilla/app.js create mode 100644 samples/projects/FiveTech_ERP/www/web-vanilla/container.js create mode 100644 samples/projects/FiveTech_ERP/www/web-vanilla/index.html create mode 100644 samples/projects/FiveTech_ERP/www/web-vanilla/styles.css create mode 100644 samples/projects/FiveTech_ERP/www/web-vue/assets/index-1FzZV9uQ.js create mode 100644 samples/projects/FiveTech_ERP/www/web-vue/assets/index-CbJPQUbz.css create mode 100644 samples/projects/FiveTech_ERP/www/web-vue/index.html diff --git a/samples/projects/FiveTech_ERP/Form1.prg b/samples/projects/FiveTech_ERP/Form1.prg index 6a96dbc..ad48edd 100644 --- a/samples/projects/FiveTech_ERP/Form1.prg +++ b/samples/projects/FiveTech_ERP/Form1.prg @@ -55,6 +55,7 @@ return nil METHOD StartServer() CLASS TForm1 local cMsg := "" + local cArg if ! ErpHttpStart( ::nPort, @cMsg ) ::SetWinTitle( "HTTP failed: " + cMsg ) @@ -64,6 +65,13 @@ METHOD StartServer() CLASS TForm1 endif ::cUrl := "http://127.0.0.1:" + hb_ntos( ::nPort ) + "/" + // Rama PC parametrizable: ZWEB_FRONT= FiveTech_ERP_local.exe + // carga ese bundle dentro del WebView2 (mismo contrato que el navegador). + // Ej.: set ZWEB_FRONT=web-vanilla + cArg := AllTrim( hb_GetEnv( "ZWEB_FRONT" ) ) + if ! Empty( cArg ) + ::cUrl += cArg + "/index.html" + endif ::SetWinTitle( ::cUrl + " · meta: " + ErpMetaRoot() ) if ::oWeb != nil ::oWeb:Navigate( ::cUrl ) @@ -89,3 +97,41 @@ function Form1() oApp:Run() return nil + +//-------------------------------------------------------------------- +// WebView2 → host: mensajes de JS (window.chrome.webview.postMessage / external.invoke). +// Convención del prototipo web-branch: +// "open:http://..." o JSON {"cmd":"open","url":"http://..."} +// Abre el navegador nativo del SO; NO navega el WebView embebido. +// (Por defecto NewWindowRequested en fwh_webview2.cpp hace Navigate in-place.) +function WEBVIEW2_ONBIND( cMsg, hWeb ) + + local cUrl, h, cCmd + + HB_SYMBOL_UNUSED( hWeb ) + cMsg := AllTrim( cMsg ) + if Empty( cMsg ) + return nil + endif + + cUrl := "" + if Left( Lower( cMsg ), 5 ) == "open:" + cUrl := AllTrim( SubStr( cMsg, 6 ) ) + elseif Left( cMsg, 1 ) == "{" + h := hb_jsonDecode( cMsg ) + if ValType( h ) == "H" + cCmd := Lower( AllTrim( ErpToStr( hb_HGetDef( h, "cmd", "" ) ) ) ) + if Empty( cCmd ) + cCmd := Lower( AllTrim( ErpToStr( hb_HGetDef( h, "action", "" ) ) ) ) + endif + if cCmd == "open" .or. cCmd == "openurl" .or. cCmd == "open-browser" + cUrl := AllTrim( ErpToStr( hb_HGetDef( h, "url", "" ) ) ) + endif + endif + endif + + if ! Empty( cUrl ) + ErpShellOpenUrl( cUrl ) + endif + +return nil diff --git a/samples/projects/FiveTech_ERP/README.md b/samples/projects/FiveTech_ERP/README.md index 3533afa..407de0e 100644 --- a/samples/projects/FiveTech_ERP/README.md +++ b/samples/projects/FiveTech_ERP/README.md @@ -85,3 +85,48 @@ sync_meta.bat > Looking different in the window is usually the **HTML shell** (`www\index.html` is a slim client). FWH serves the full dashboard HTML from `login.prg`. Meta JSON can be identical while the UI chrome still differs. > **Warning — generated files:** `sync_meta.bat` (run by every build) mirrors `./meta` from the FWH tree and **regenerates `www\login.html` / `www\dashboard.html`** from the TEXT blocks in `C:\fwteam\samples\DesktopWeb\login.prg` (`_extract_fwh_html.py`). Never edit `www\*.html` or `./meta` locally as the only copy — apply durable changes in the FWH source and re-sync, or they are lost on the next build. + +## One design, three branches (PC / hybrid / 100% web) + +`erp_http.prg` already answers on `0.0.0.0`, serves the JSON API **and** +static files from `www/`, and the desktop WebView is just one more client of +that HTTP contract. This sample now makes that explicit as three interchangeable +branches of the **same build** — nothing above changes for the default +(no‑argument) run: + +| Branch | Container | How it loads | +|---|---|---| +| **PC** (native) | WebView2 inside the exe | `ZWEB_FRONT=` makes `Form1.prg` navigate its embedded WebView2 to that bundle instead of the FWH shell. Unset → identical to today. | +| **Hybrid** (native) | WebView2 per module, alongside native screens | Same URLs (`/web-*/`), module by module, from any native shell (pattern used in production by Zerus's `FW_DASHBOARD`). | +| **Web** (ours) | Any real browser | `http://:2222/web-vanilla/`, `/web-angular/`, `/web-react/`, `/web-vue/`, or `/portal/` to pick one. Same origin, same `DWSESS` cookie, no CORS. | + +``` +frontends/ source of the 4 bundles (vanilla / Angular 21+PrimeNG / React / Vue) +www/web-* built static output served by erp_http.prg (same as any other www/ asset) +www/portal/ branch picker (login → choose frontend) +scripts/ api-check.mjs · concurrency*.py · evidence.cjs (reproducible checks) +docs/web-branch/ proposal, evidence and the concurrency fix write-up +``` + +Runtime container detection (`container.js` / `detectRama()` in each +frontend): `window.chrome.webview` → pc, `+SendToFWH` → hybrid, else → web. +Exposes `window.__RAMA__` / `data-rama` for capability flags and CSS — the +SPA code itself calls no container API directly, only an optional bridge with +an HTTP fallback. + +Two small, opt-in patches ship with this: `ZWEB_FRONT` in `Form1.prg` (off by +default) and an `ErpMutexGuard` fix for a read‑modify‑write race in +`POST /api/dataset` under concurrent writers (see +`docs/web-branch/HALLAZGO_CONCURRENCIA_DATASETS.md`). Full rationale, +per-branch trade-offs and reproducible evidence: +`docs/web-branch/PROPUESTA_FIVETECH_RAMA_WEB.md` and +`docs/web-branch/SUSTENTO_RAMA_100_WEB.md`. + +Rebuilding a frontend after editing its source: + +```bat +cd frontends\react && npm install && npm run build +cd frontends\vue && npm install && npm run build +cd frontends\web-angular && npm install && npx ng build --configuration=production +:: copy each dist/ output into www\web-\ (vanilla needs no build step) +``` diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/FORO_FIVETECH_POST.md b/samples/projects/FiveTech_ERP/docs/web-branch/FORO_FIVETECH_POST.md new file mode 100644 index 0000000..95efa42 --- /dev/null +++ b/samples/projects/FiveTech_ERP/docs/web-branch/FORO_FIVETECH_POST.md @@ -0,0 +1,126 @@ +# FiveTech_ERP ya es un ERP web — propuesta de rama web parametrizable (PC / híbrida / 100% web) + +*Post de contribución técnica · sin ánimo comercial · todo el código queda MIT como el repo.* + +Hola Antonio, comunidad: + +Llevamos semanas trabajando con el sample `FiveTech_ERP` de HarbourBuilder +(para entender su contrato, no para otra cosa) y llegamos a una conclusión que +queremos devolver al proyecto como propuesta: **el sample ya es, técnicamente, +un ERP 100% web que hoy se muestra con un WebView**. El servidor +`erp_http.prg` atiende en `0.0.0.0`, sirve HTML, meta JSON y API con sesión +por cookie HttpOnly… exactamente el mismo contrato que consume su WebView2. + +Lo que proponemos es **encender esa luz**: declarar una matriz de tres ramas +sobre el mismo binario y el mismo contrato, con el frontend como parámetro del +despliegue. Adjuntamos prototipo funcional, evidencia medible y dos parches +verificados. + +--- + +## 1. El concepto en una figura + +``` + FiveTech_ERP.exe (erp_http.prg, sin cambios) + API JSON + meta FWH + estáticos · cookie DWSESS + │ + ┌─────────────────────┼──────────────────────┐ + ▼ ▼ ▼ + Rama PC Rama híbrida Rama 100% web + WebView2 del exe WebView2 por módulo navegador real + (ZWEB_FRONT=…) dentro del shell PC / tablet / móvil + nativo (FW_DASHBOARD) /portal/ → 4 frontends +``` + +**Regla de oro:** el frontend es un parámetro del despliegue, no del código. +Lo demostramos consumiendo el mismo contrato con **cuatro frontends distintos** +sin adaptadores: vanilla (HTML/CSS/JS puro), **Angular 21 + PrimeNG**, React 19 +y Vue 3 — login, multi-empresa/multi-app, grilla CRUD desde `screen.*`/`data.*` +y ejecución de `process.*`. + +## 2. Las tres ramas, en corto (¿cuál y cuándo?) + +| Rama | Cómo se activa | Recomendada para | A favor | En contra | +|---|---|---|---|---| +| **PC** | `ZWEB_FRONT=web-angular` → el WebView2 del exe carga esa montura | enterprise on-premise, puesto fijo, migraciones de FiveWin | cero infraestructura nueva; actualizar = reemplazar exe | requiere Windows en el puesto; scaling por puesto | +| **Híbrida** | shell nativo monta `/web-*` por módulo junto a pantallas nativas | ERP legacy en modernización incremental | riesgo acotado por módulo; convive con lo estable | coordina dos mundos (foco, estilos, atajos) | +| **100% web** | cualquier navegador → `http://servidor:2222/portal/` | SaaS multi-tenant, remotos, móviles, clientes sin legacy | despliegue y actualización centrales; cualquier dispositivo | exige TLS/hardening para internet; renderer de layouts no-list pendiente | + +Las ramas **conviven**: mismo backend, mismos datos, misma sesión de negocio. +Un usuario en WebView2 y otro en navegador no se distinguen del lado Harbour. + +## 3. Evidencia (todo reproducible con un comando) + +| Prueba | Resultado | +|---|---| +| Contrato completo desde navegador (login→contexto→meta→dataset→CRUD→logout) | 8/8 OK, ~80 ms | +| 10 sesiones concurrentes (lectura) | 10/10, login mediana 175 ms | +| 10 sesiones × 3 filas CRUD concurrentes **con el fix** | 10/10, integridad 12→12 | +| 4 frontends: login → cambio de app → grilla CRUD (Playwright) | 4/4, 697–784 ms | +| Rama PC: SPA dentro del WebView2 del exe | captura adjunta | +| UTF-8 (tildes, €, ñ) intacto por el canal | capturas adjuntas | + +## 4. Lo que entregamos (para revisión / merge si lo aprueban) + +1. **Sample `FiveTech_ERP_Web`**: monturas `web-vanilla|angular|react|vue` + servidas como estáticos del propio backend + `/portal/` (selector de + frontends con asistente de activación por rama) + `INICIAR.bat` + (menú de usuario final: rama web / PC / híbrida + frontend por defecto). +2. **Parche `Form1.prg` (3 líneas, opt-in)**: variable `ZWEB_FRONT` — sin ella, + el exe se comporta exactamente igual que hoy. +3. **Parche `erp_http.prg` — fix de concurrencia (regalo importante)**: + `POST /api/dataset` pierde escrituras bajo clientes simultáneos: la lectura + del doc JSON vive **fuera** del mutex (read-modify-write no atómico → + last-writer-wins). Lo medimos: sin fix, 2/10 sesiones OK y filas perdidas; + con el fix (guard de mutex con destructor, RMW atómico) 10/10 sin + corrupción. El mismo patrón aparece en `ErpUserSavePrefs`/`ErpApiMetaPost` + para su revisión. +4. **Parche opcional CORS**: `ErpHttpOkCookie` no emite + `Access-Control-Allow-Origin` (sí `ErpHttpOk`); lo proponemos opcional por + configuración para desarrollo cross-origin, sin cambiar el default. + +## 5. Garantías (por qué aprobarlo es seguro) + +- Todo es **opt-in**: sin variable/config nueva, el sample es el de hoy. +- **Contrato congelado**: solo adiciones; ninguna ruta o JSON existente cambia. +- **Sin dependencias nuevas en Harbour**: los frontends son estáticos; el + servidor ignora qué framework los sirve. +- Método verificable: cada número tiene su guion (`api-check.mjs`, + `concurrency.py`, `concurrency-write.py`, `evidence.cjs`). + +## 6. Alineado con su roadmap + +- **HIX**: cuando estabilice, podrá reemplazar al servidor del sample **sin + tocar los frontends** (mismo contrato). El sample web queda como banco de + pruebas de HIX. +- **Android nativo del IDE**: complementario (móvil offline), no competidor. +- **Builds por SO**: intactos; la rama web no añade ni una línea a esos scripts. + +## 7. Preguntas abiertas al mantenedor + +1. ¿Aceptan el sample `FiveTech_ERP_Web` como variante oficial (carpeta propia)? +2. ¿El fix de concurrencia por guard-destructor o prefieren relectura dentro + del lock? (ambas validadas conceptualmente; la primera ya medida). +3. ¿`ZWEB_FRONT` como variable de entorno o prefieren argumento/INI? +4. ¿Rebuild del `FiveTech_ERP.exe` incluido en el repo? Hoy el binario + empaquetado es anterior a los fuentes (no devuelve `isAdmin/canSwitch*`). + +## 8. Reproducir en 5 minutos + +``` +1) Ejecutar backend\FiveTech_ERP_local.exe (o el oficial: mismo contrato) +2) Navegador → http://127.0.0.1:2222/portal/ (admin/1234) +3) node scripts/api-check.mjs +4) python scripts/concurrency-write.py 10 3 +5) set ZWEB_FRONT=web-angular && start backend\FiveTech_ERP_local.exe +``` + +Cierro como empezó: esto no vende nada — devuelve al proyecto método, código y +evidencia. Si la dirección técnica lo aprueba, lo siguiente sería un renderer +de layouts no-list (`form`, `dashboard`) en un frontend de referencia y la +receta TLS para exposición internet. + +Gracias por el sample: es la mejor prueba de concepto de "Harbour como +servidor de empresa" que hemos visto. + +— equipo Russoft/Zerus diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/HALLAZGO_CONCURRENCIA_DATASETS.md b/samples/projects/FiveTech_ERP/docs/web-branch/HALLAZGO_CONCURRENCIA_DATASETS.md new file mode 100644 index 0000000..60bcf90 --- /dev/null +++ b/samples/projects/FiveTech_ERP/docs/web-branch/HALLAZGO_CONCURRENCIA_DATASETS.md @@ -0,0 +1,55 @@ +# Hallazgo — Race condition en `POST /api/dataset` (escritura concurrente) + +**Prototipo web-branch · 2026-08-08 · reproducible con `scripts/concurrency-write.py`** + +## Síntoma (exe oficial / fuentes sin parche) + +Con 10 sesiones concurrentes haciendo add→update→delete de filas propias: + +``` +sesiones: 10 x 3 filas · OK: 2 · errores: 8 · ops CRUD: 18 +integridad: filas antes=12 despues=13 -> CORRUPCION + ERR sesion 5: update: Row not found: code=ZZW050 (el add se perdió) + ... +``` + +## Causa raíz + +En `ErpApiDatasetPost` (erp_http.prg) el ciclo **read-modify-write** no es +atómico: `ErpMetaGetRaw()` lee el documento **fuera** de `s_mtx`; solo la +escritura final (`ErpWriteFileAtomic`) está protegida. Dos escrituras +concurrentes hacen: A lee(12) · B lee(12) · A escribe(13) · B escribe(13 con +su fila, sin la de A) → **last-writer-wins sobre el doc completo**: se pierden +adds (de ahí "Row not found" al update) y quedan residuos si el delete de una +sesión pisa el add de otra. + +Es el mismo tipo de bug que el proyecto Zerus documentó para su legacy +(categoría "locks como categoría propia" en el banco de paridad, auditoría +WebView2/HTTP §5.1 C1). + +## Fix aplicado en la copia local (propuesto para el PR) + +1. `ErpMutexGuard` (clase con destructor): Harbour libera el LOCAL al salir de + la función por **cualquier** return → el destructor hace `hb_mutexUnlock`. +2. En `ErpApiDatasetPost`: `oGuard := ErpMutexGuard():New( s_mtx )` **antes** + de `ErpMetaGetRaw()` → el RMW completo queda dentro de la sección crítica. +3. Se retira el lock/unlock redundante alrededor de `ErpWriteFileAtomic` + (el mutex de Harbour no es recursivo → deadlock si se anida). + +## Resultado con el fix (exe local recompilado) + +``` +sesiones: 10 x 3 filas · OK: 10 · errores: 0 · ops CRUD: 90 · ~900 ms +integridad: filas antes=12 despues=12 -> OK +``` + +Sin regresión: `api-check.mjs` 8/8 y `evidence.cjs` 4/4 frontends en verde. + +## Notas para el PR + +- El mismo patrón RMW sin lock completo aparece en `ErpUserSavePrefs` y + `ErpApiMetaPost` (mem-only path). Revisar con el mismo guard. +- El path `dbfcdx/openads` (`ErpDbApply`) no pasa por este RMW JSON; su + concurrencia depende del RDD (OpenADS tiene sus locks). +- El guard no cambia el contrato HTTP ni el comportamiento monousuario: es un + fix interno de bajo riesgo. diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/PROPUESTA_FIVETECH_RAMA_WEB.md b/samples/projects/FiveTech_ERP/docs/web-branch/PROPUESTA_FIVETECH_RAMA_WEB.md new file mode 100644 index 0000000..40b360b --- /dev/null +++ b/samples/projects/FiveTech_ERP/docs/web-branch/PROPUESTA_FIVETECH_RAMA_WEB.md @@ -0,0 +1,258 @@ +# Propuesta — Rama Web parametrizable para FiveTech_ERP + +**De:** equipo Russoft/Zerus (usuario del ecosistema FiveWin/Harbour) +**Para:** FiveTechSoft · Antonio Linares · comunidad HarbourBuilder +**Fecha:** 2026-08-08 · **Estado:** prototipo funcional con evidencia reproducible +**Objetivo:** aprobación técnica de una **rama 100% web** como variante oficial del +sample `FiveTech_ERP`, sin romper nada de lo existente. No es una propuesta +comercial: es código + método + evidencia puestos a disposición del proyecto. + +--- + +## 1. Resumen ejecutivo + +FiveTech_ERP ya contiene, en un solo binario, **dos clientes del mismo contrato +HTTP**: el WebView2 de escritorio y cualquier navegador (el servidor +`erp_http.prg` atiende en `0.0.0.0` y sirve HTML, meta JSON y API). Lo que +falta no es tecnología: es **hacer explícita esa dualidad como matriz de tres +ramas** (PC / híbrida / 100% web) con un frontend intercambiable y +parametrizable. + +Esta propuesta: + +1. **Aporta** la capa que falta: monturas de SPA (`www/web-*`), portal de + selección, parámetro `ZWEB_FRONT` para el exe, y detección de contenedor en + el cliente. +2. **Regala** un fix verificado de concurrencia en `POST /api/dataset` + (race condition con pérdida de escrituras bajo clientes simultáneos). +3. **Demuestra** con 4 frontends reales (vanilla, Angular 21+PrimeNG, React, + Vue) que el meta JSON de FWH DesktopWeb se renderiza fuera del WebView, + con CRUD completo, multi-empresa y procesos. +4. **No toca** el shell FWH, el contrato HTTP, los scripts de build ni el + comportamiento por defecto del exe. + +--- + +## 2. Punto de partida (lo que el proyecto ya tiene) + +| Pieza | Estado hoy | Rol en la propuesta | +|---|---|---| +| `erp_http.prg` | Servidor MT, sesiones con cookie `DWSESS` HttpOnly, TTL deslizante, multi-empresa/multi-app | Backend único de las 3 ramas — sin cambios | +| `meta/` (FWH DesktopWeb JSON) | screens/data/lookups/reports/processes + verticals | El "lenguaje" que cualquier frontend interpreta | +| `www/login.html` + `dashboard.html` | Shell HTML de escritorio (WebView2) | Rama PC por defecto — se conserva | +| Builds por SO | `build_win64.bat`, `build_linux.sh`, `build_mac.sh` | Automatización existente por plataforma | +| HIX (`hix_runtime.prg`) | Runtime HTTP en construcción | Futuro natural del servidor web standalone | +| Android nativo (IDE) | Pipeline APK del IDE | Complemento móvil nativo, ortogonal a esta propuesta | + +**Brecha que cierra esta propuesta:** no existe hoy (a) un despliegue de SPA +externa servida por el propio backend, (b) un selector de frontend, (c) una +declaración explícita de qué contenedor (WebView vs navegador) usa cada rama. + +--- + +## 3. El concepto en una figura + +``` + ┌────────────────────────────────────────────┐ + │ FiveTech_ERP.exe (sin cambios) │ + │ erp_http.prg → API JSON + meta + estáticos + └───────────────┬────────────────────────────┘ + │ HTTP mismo origen · cookie DWSESS + ┌───────────────┬─────────────┼──────────────┬──────────────────┐ + ▼ ▼ ▼ ▼ ▼ + Rama PC Rama híbrida Rama 100% web Rama 100% web Shell FWH + WebView2 del WebView2 por navegador PC navegador móvil original + exe (ZWEB_FRONT) módulo dentro /portal/ → (mismo URL) /login + del shell web-vanilla | + nativo web-angular | + (FW_DASHBOARD) web-react | + web-vue +``` + +**Regla de oro:** el frontend es un **parámetro del despliegue**, no del +código. Un solo build de cada SPA; lo único que cambia es el contenedor que +navega a su ruta. El contrato (login → contexto → meta → dataset → procesos) +es idéntico en las tres ramas — por eso cuatro frameworks distintos lo +consumen sin adaptadores. + +--- + +## 4. Las tres ramas — ficha didáctica + +### 4.1 Rama PC (WebView2 dentro del exe) + +- **Qué es:** el exe de siempre; con `ZWEB_FRONT=` su WebView2 carga + cualquier SPA del servidor en lugar del HTML FWH. Sin el parámetro, + comportamiento 100% idéntico al actual. +- **Cómo se carga:** `set ZWEB_FRONT=web-angular && FiveTech_ERP.exe` (o + `ZWEB_FRONT=portal` para elegir visualmente dentro del propio exe). +- **Cuándo recomendarla:** + - Cliente **enterprise on-premise** con usuarios de escritorio fijo. + - Instalaciones mono-puesto o con Terminal Server/RDP (el WebView vive en el + servidor, el puesto solo remota pantalla). + - Migraciones desde FiveWin donde se quiere UI web pero el despliegue + sigue siendo "un exe por puesto". +- **Ventajas:** cero infraestructura nueva (el exe lo trae todo); funciona sin + navegador instalado; actualización = reemplazar el exe; el mismo binario + atiende a otros clientes web si se desea. +- **Desventajas:** requiere Windows en el puesto (WebView2); no sirve para + usuarios remotos sin acceso al exe; el scaling es por puesto, no por servidor. + +### 4.2 Rama híbrida (nativo + web por módulo) + +- **Qué es:** un shell nativo (FiveWin/HarbourBuilder u otro) que monta un + WebView2 **por módulo** apuntando a las rutas `/web-*`, conviviendo con + pantallas nativas (patrón probado en producción por Zerus: tableros web + dentro del ERP de escritorio). +- **Cómo se carga:** el contenedor nativo navega `http://127.0.0.1:2222/web-x/` + módulo a módulo; detección con `window.chrome.webview` + bridge opcional + (`SendToFWH`) para imprimir/F-keys nativas con fallback HTTP. +- **Cuándo recomendarla:** + - **ERP legacy en modernización**: lo estable sigue nativo, lo nuevo + (tableros, CRUDs de mantenimiento, reportes interactivos) entra web. + - Operaciones de escritorio intensivas (browses de miles de filas, + impresoras fiscales) + módulos modernos ligeros. +- **Ventajas:** migración incremental sin "big bang"; el riesgo por módulo es + acotado; reutiliza permisos/sesión del ERP anfitrión. +- **Desventajas:** dos mundos que coordinar (estilos, atajos, foco); depende + del shell nativo; no aplica a clientes sin legacy. + +### 4.3 Rama 100% web (navegador real) + +- **Qué es:** cualquier navegador (PC, tablet, móvil) consume el mismo + backend: `/portal/` lista los frontends; login con cookie HttpOnly; CRUD y + procesos completos. +- **Cómo se carga:** URL directa o portal; en producción detrás de un proxy + TLS (igual que cualquier despliegue web). +- **Cuándo recomendarla:** + - **SaaS multi-tenant**: el puesto no instala nada; el scaling es del lado + del servidor (N procesos por sesión, como ya mide el pool de Zerus: + ~9 MB privados por worker). + - Usuarios remotos/móviles, franquicias, teletrabajo. + - Clientes nuevos sin legacy de escritorio. +- **Ventajas:** despliegue y actualización instantáneos; cualquier dispositivo; + el frontend puede evolucionar con frameworks modernos sin tocar Harbour; + separación de responsabilidades (negocio en Harbour, UI en el stack que el + cliente elija). +- **Desventajas:** exige TLS y hardening de exposición (el sample hoy es + loopback/LAN por diseño); la sesión vive mientras viva el proceso (re-login + ante reinicio). +- **Alcance de UI en el prototipo (estándar web de mantenimiento):** + - Listas CRUD: paginación, filtros por `select`, ordenamiento, búsqueda, + toolbar meta, export CSV/print, formulario modal con navegación + entre registros. + - Form (tabs + nav de registros) y master-detail/document. + - **Fuera de alcance deliberado:** dashboard, calendar, wizard, designers, + KPI tiles — el shell FWH `/dashboard.html` ya los renderiza; la SPA + documenta la exclusión (no hay contrato grid/CRUD que demostrar). + Ver `docs/SUSTENTO_RAMA_100_WEB.md` §Brechas. + +--- + +## 5. Matriz rama × modelo de negocio + +| Necesidad | PC | Híbrida | 100% web | +|---|---|---|---| +| Enterprise on-premise, puesto fijo | ★★★ recomendada | ★★ si hay legacy | ★ posible | +| ERP legacy en modernización | ★ | ★★★ recomendada | ★★ para módulos nuevos | +| SaaS multi-tenant | ✗ (scaling por puesto) | ✗ | ★★★ recomendada | +| Usuarios remotos / móviles | ✗ | ✗ | ★★★ (o Android nativo del IDE) | +| Sin equipo de frontend propio | ★★★ (HTML FWH listo) | ★★ | ★★ (vanilla listo) | +| Operación intensiva de escritorio | ★★★ | ★★★ | ★★ | +| Actualización centralizada | ★ (por exe) | ★★ | ★★★ | +| Aislamiento / offline por puesto | ★★★ | ★★★ | ★ | + +(★ = aptitud relativa; la tabla es guía, no camisa de fuerza: las ramas +conviven y comparten backend y datos.) + +--- + +## 6. Evidencia adjunta (todo reproducible) + +| Prueba | Resultado | Guion | +|---|---|---| +| Contrato completo desde navegador | 8/8 OK, ~80 ms | `node scripts/api-check.mjs` | +| 10 sesiones concurrentes (lectura) | 10/10, login 175 ms | `python scripts/concurrency.py 10` | +| 10 sesiones × 3 filas CRUD concurrentes (con fix) | 10/10, integridad 12→12 | `python scripts/concurrency-write.py 10 3` | +| 4 frontends: login → multi-app → grilla CRUD | 4/4, 697–784 ms | `node scripts/evidence.cjs` (Playwright) | +| Rama PC con SPA dentro del WebView2 | captura OK | `ZWEB_FRONT=web-vanilla` + screenshot | +| UTF-8/tilde/€ intactos por el canal | capturas | `docs/evidencia/*` | + +**Hallazgo incluido (regalo #1):** sin el fix, el estrés de escritura da +2/10 OK con pérdida de filas (last-writer-wins sobre el doc JSON; la lectura +vive fuera del mutex). El fix (`ErpMutexGuard`, destructor que libera el lock) +lo vuelve atómico: 10/10 sin corrupción. Documentado en +`docs/HALLAZGO_CONCURRENCIA_DATASETS.md`. + +**Regalo #2 (PR pequeño):** `ErpHttpOkCookie` no emite +`Access-Control-Allow-Origin` (sí lo hace `ErpHttpOk`); se propone header +opcional por configuración para habilitar dev cross-origin sin cambiar el +comportamiento por defecto. + +--- + +## 7. Qué se entrega exactamente (para revisión) + +1. `samples/projects/FiveTech_ERP_Web/` — monturas `web-vanilla|angular|react| + vue` + `portal/` + este documento + guiones de evidencia. +2. Parche a `Form1.prg`: `ZWEB_FRONT` (3 líneas; sin la variable el exe es + byte-a-byte el de hoy en comportamiento). +3. Parche a `erp_http.prg`: `ErpMutexGuard` + RMW atómico en dataset. +4. Parche opcional CORS en `ErpHttpOkCookie`. +5. `docs/` con matriz de ramas y guía de cargue (ruta / app local / híbrida). + +## 8. Garantías (por qué aprobarlo es seguro) + +- **Sin cambios por defecto:** todos los parches son opt-in (variable, config, + sample aparte). El build actual genera exactamente lo mismo que hoy. +- **Contrato congelado:** ninguna modificación a rutas/JSON existentes; solo + adiciones opt-in. +- **Sin dependencias nuevas en Harbour:** los frontends viven como estáticos; + el servidor no sabe qué framework los sirve. +- **Método verificable:** cada afirmación tiene guion de un comando; el + reviewer puede destruir la propuesta en 10 minutos si algo no aguanta. +- **Alineado con su roadmap:** HIX podrá reemplazar mañana al servidor del + sample sin tocar los frontends (mismo contrato U*/JSON); Android nativo del + IDE cubre el caso móvil offline, complementario a la rama web. + +## 9. Roadmap sugerido tras la aprobación + +1. **Fase 0 (esta entrega):** sample + parches + evidencia. ✔ lista. +2. **Fase 1:** rebuild del `FiveTech_ERP.exe` incluido en el repo desde los + fuentes actuales (hoy el binario empaquetado es anterior: no devuelve + `isAdmin/canSwitch*`). +3. **Fase 2:** renderer de layouts no-list (form/dashboard) en al menos un + frontend de referencia; documentar el resto. +4. **Fase 3:** guía TLS/proxy para exposición internet + receta de despliegue + SaaS (pool de workers con afinidad de sesión, método Zerus). +5. **Fase 4 (opcional):** migrar el servidor del sample a HIX cuando estabilice, + manteniendo el contrato. + +## 10. Criterios de aceptación propuestos + +- `run_tests`/builds existentes siguen en verde sin modificaciones. +- `api-check`, `concurrency*` y `evidence` en verde contra el exe recompilado. +- Comportamiento por defecto del exe idéntico (sin `ZWEB_FRONT`, sin config + nueva). +- Revisión del fix de concurrencia por el mantenedor (es el único parche que + toca lógica compartida; las alternativas están documentadas en el hallazgo). + +--- + +## 11. Cómo reproducir todo en 5 minutos + +``` +git clone /HarbourBuilder && cd HarbourBuilder/samples/projects/FiveTech_ERP_Web +backend\FiveTech_ERP_local.exe # o el oficial: mismo contrato +# navegador: http://127.0.0.1:2222/portal/ (admin/1234) +node scripts/api-check.mjs && python scripts/concurrency-write.py 10 3 +set ZWEB_FRONT=web-angular && start backend\FiveTech_ERP_local.exe +``` + +--- + +*Cierre:* FiveTech_ERP ya es, técnicamente, un ERP web que hoy se muestra con +un WebView. Esta propuesta solo enciende la luz: declara la matriz de ramas, +la demuestra con cuatro frameworks y devuelve al proyecto dos parches +verificados. Se pide aprobación de la dirección técnica, no compromiso +comercial: el código queda MIT, como el resto del repo. diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/SUSTENTO_RAMA_100_WEB.md b/samples/projects/FiveTech_ERP/docs/web-branch/SUSTENTO_RAMA_100_WEB.md new file mode 100644 index 0000000..73f3233 --- /dev/null +++ b/samples/projects/FiveTech_ERP/docs/web-branch/SUSTENTO_RAMA_100_WEB.md @@ -0,0 +1,90 @@ +# Sustento — La rama 100% web existe y está demostrada + +**Fecha:** 2026-08-08 · **Backend:** `FiveTech_ERP.exe` oficial de +HarbourBuilder (repo, sin modificar) · **Máquina:** Windows x64 dev. + +## Criterios y evidencia + +| # | Criterio "100% web" | Evidencia (reproducible) | +|---|---|---| +| 1 | La UI es 100% HTML/CSS/JS servida por HTTP; ningún control nativo en el cliente | 4 bundles independientes (vanilla, Angular 21+PrimeNG, React 19, Vue 3) renderizados en Chromium real; capturas `docs/evidencia/*-app.png` | +| 2 | Todo dato y toda acción viajan por HTTP JSON; el negocio no depende del contenedor | `node scripts/api-check.mjs` → 8/8 OK (login, contexto, meta, dataset, CRUD add→update→delete, logout) en ~104 ms | +| 3 | La sesión y la seguridad viven en el servidor, no en el cliente | Cookie `DWSESS` HttpOnly+SameSite=Lax fija por el servidor; sin cookie → `"Not authenticated"` (api-check prueba 8); logout invalida token | +| 4 | Multiples usuarios reales concurrentes | `python scripts/concurrency.py 10` → 10/10 sesiones OK, login mediana 175 ms, datos mediana 11 ms, 0 errores | +| 5 | Accesible desde cualquier dispositivo (no solo localhost) | `erp_http.prg` hace `bind 0.0.0.0` (verificado en fuente, línea del bind); servidor escuchando en LAN; prueba remota pendiente de firewall (igual que §3.5 del pool) | +| 6 | Es el MISMO backend que el WebView de escritorio | El exe no se tocó: su ventana WebView abre `127.0.0.1:2222/` mientras los 4 navegadores consumen el mismo puerto; cero cambios en Harbour | +| 7 | El frontend es parametrizable: mismo bundle en ramas PC / híbrida / web | `container.js`/`detectRama()` detectan contenedor (`chrome.webview`→pc, `+SendToFWH`→híbrida, else→web); expone capacidades y `data-rama`; un solo build servido siempre por el mismo origen | +| 8 | El meta JSON de FWH DesktopWeb se renderiza fuera de WebView | Menú de 32 ítems y grilla `screen.products` (9 columnas, tipos money/select/checkbox) renderizados por 4 engines distintos; CRUD verificado contra `data.products` | +| 9 | UTF-8 y datos reales intactos por el canal | Capturas muestran "Ferretería", "Taladro percutor", "€" correctos (tildes/ñ en categorías y nombres) | +| 10 | Latencia compatible con uso real desde navegador | Login+shell en navegador headless: 719–784 ms por frontend (evidence.cjs); p50 de datos 11 ms bajo 10 sesiones | + +## Resultados medidos (este informe) + +``` +api-check.mjs 8 pruebas OK · 104 ms totales +concurrency.py 10 10/10 OK · login 174/175/177 ms · datos 5/11/13 ms +evidence.cjs vanilla 719 ms · angular 780 ms · react 731 ms · vue 742 ms — 0 fallos +``` + +## Por qué esto valida la rama web del ecosistema FiveTech + +1. **El HTTP ya es multiusuario real** (`hb_threadStart` por cliente, mutex en + estado, TTL de sesión): no es un "modo demo", es un servidor. +2. **El contrato es declarativo**: `modules` + `screen.*` + `data.*` permiten + renderizadores genéricos en cualquier framework — la UI deja de ser + patrimonio del WebView. +3. **La rama web convive**: `/` sigue sirviendo el login FWH; los bundles + viven en `www/web-*`. Nada del camino WebView/WebView2 se rompe. + +## Brechas documentadas (honestidad técnica) + +- **Exe vs fuentes**: el binario empaquetado no expone `isAdmin/canSwitchCompany/ + canSwitchApp` que los fuentes actuales sí devuelven → reconstruir el exe + antes de presentar (los frontends ya toleran ambos contratos). +- **CORS sin cookie en login cross-origin**: `ErpHttpOkCookie` no emite + `Access-Control-Allow-Origin` (sí lo hace `ErpHttpOk`); el prototipo lo evita + sirviendo todo same-origin (es también la forma correcta en producción). +- **TLS**: ausente por diseño del sample (loopback/LAN); para internet requiere + túnel o proxy TLS delante — igual que el worker-pool de Zerus. +- **Layouts especiales** (dashboard, wizard, calendar, designer, KPI tiles…): + **no se implementan como CRUD de grilla** en la SPA 100% web. Motivo: + el meta FWH de esos screens describe widgets compuestos (series, agenda, + cards, designers) que el shell HTTP `/dashboard.html` (rama PC/híbrida) + ya resuelve con el runtime DesktopWeb. Reimplementarlos en 4 frameworks + sin valor de contrato (no hay `dataRef` + `grid` + toolbar CRUD) duplicaría + superficie sin probar el núcleo de la propuesta. + + **Alcance funcional entregado en listas (estándar web):** + - CRUD completo (`add` / `update` / `delete` vía `POST /api/dataset`) + - Búsqueda en `searchFields` + - Filtros por columna `type: select` (category, tax, uom…) + - Ordenamiento por clic en cabecera (asc/desc, numérico y texto) + - Paginación cliente (tamaño de página 10/25/50/100, pie « ‹ › », informe de rango) + - Toolbar meta (add/edit/delete/print/excel/refresh) + - Formulario modal optimizado (foco, Escape, navegación prev/next entre + registros filtrados; clave readonly en edición) + - Layouts **form** (nav de registros + tabs) y **master-detail/document** + + **Exclusión documentada (honestidad):** dashboard/KPI/calendar/wizard + muestran mensaje + meta JSON o redirigen mentalmente al shell HTTP; + la evidencia de paridad se centra en Artículos (`screen.products`) y + pantallas list/form/MD del vertical demo. + +- **Escritura concurrente sobre datasets JSON**: no stress-testeada a fondo + (el pool de Zerus documenta el patrón de mutex; aquí hay mutex en escritura + de archivos pero sin prueba de 48 h). + +## Para presentar a FiveTechSoft + +1. Fork + rama `feature/web-branch-spa` con `samples/projects/FiveTech_ERP_Web`: + este prototipo + README reubicado. +2. PR complementario (pequeño, gancho de confianza): `ErpHttpOkCookie` con + `Access-Control-Allow-Origin` opcional por config + rebuild del exe desde + fuentes actuales. +3. Issue/discussion proponiendo la matriz de ramas (PC/híbrida/web) con + detección de contenedor — el mismo patrón probado en producción por Zerus + (WebView2 + tableros + worker HTTP). +4. Adjuntar este sustento + `docs/evidencia/` (8 capturas) + guiones + reproducibles. + +*Generado con lecturas y pruebas de solo ejecución; el sample Harbour no fue modificado.* diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/login-fwh-herramienta.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/login-fwh-herramienta.png new file mode 100644 index 0000000000000000000000000000000000000000..e697fb07db7f98685b5cdffcbe706f7814685a20 GIT binary patch literal 58660 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 )~K$oEwWO!sl{^Z-n)Eu~uA`{a>bF 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 literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/rama-pc-webview2.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/rama-pc-webview2.png new file mode 100644 index 0000000000000000000000000000000000000000..0a5e153c7dfe3b212ebc4856bd50e3c410662362 GIT binary patch literal 123391 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

uInrq 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

;fUEmj`8{dU6PC3GwxQ((~6PK01xWh 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 A1poj5 literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-angular-login.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-angular-login.png new file mode 100644 index 0000000000000000000000000000000000000000..8d826397e3d79bf10e71c32be7ae55068bfe2e7e GIT binary patch literal 114775 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

Zgl&1uP^s09MP-LU!QmxCp_=t++-rJJzm_A& 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 literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-react-app.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-react-app.png new file mode 100644 index 0000000000000000000000000000000000000000..b6fb8963ea09cbe200333c243b079504a27550f3 GIT binary patch literal 82047 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 G^Zx)lY!fm7 literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-react-error.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-react-error.png new file mode 100644 index 0000000000000000000000000000000000000000..50072c498f025dae154a795a7788ad2bfc445e89 GIT binary patch literal 5851 zcmeAS@N?(olHy`uVBq!ia0y~yU|qn#z}&*Y1QfZU&)CYqAi&`1;uumf=gkd9P6h*> z0~-q8-T$;~@q`m6?%!nus?w-t29g5m7C^GW<{(Ju2`3+rRPZkVk_?qiAo&x*GC12%{Z4U?2?Veyyh8*Q*Q+Y%QR%fYC1g=m^K?0MF?7*68rwXcLJ3gS+>D o)zAO`({o;&2G+Q2p!$fJ;d2@n$E^FTyr4?h)78&qol`;+098^GYXATM literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-react-login.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-react-login.png new file mode 100644 index 0000000000000000000000000000000000000000..97830bc01580274e0cef1b24c2f9d2191c812559 GIT binary patch literal 112794 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�!p?QJybPqBiifOI*i6e&uP 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

WOK7rGVT@s5x^6>iW5-Fh`qJKI)!v(>IWSo* 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 J#n-K#{Ts1}0XYBw literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-app.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-app.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ac3f11b261ec67cf66068845133dafebc4c405 GIT binary patch literal 83159 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


2HN%0HMAp`}iCB?hvIMB`|VUe~XH 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 literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-error.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-error.png new file mode 100644 index 0000000000000000000000000000000000000000..50072c498f025dae154a795a7788ad2bfc445e89 GIT binary patch literal 5851 zcmeAS@N?(olHy`uVBq!ia0y~yU|qn#z}&*Y1QfZU&)CYqAi&`1;uumf=gkd9P6h*> z0~-q8-T$;~@q`m6?%!nus?w-t29g5m7C^GW<{(Ju2`3+rRPZkVk_?qiAo&x*GC12%{Z4U?2?Veyyh8*Q*Q+Y%QR%fYC1g=m^K?0MF?7*68rwXcLJ3gS+>D o)zAO`({o;&2G+Q2p!$fJ;d2@n$E^FTyr4?h)78&qol`;+098^GYXATM literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-login.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-login.png new file mode 100644 index 0000000000000000000000000000000000000000..fecb4529b794b7e31cc0f5f8bb7f3c15ffb310a4 GIT binary patch literal 113591 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 Dkce&i literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vue-app.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vue-app.png new file mode 100644 index 0000000000000000000000000000000000000000..53a00f9b0be538cd84fe8af06a6f15d880e8558a GIT binary patch literal 82080 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

+ + + diff --git a/samples/projects/FiveTech_ERP/frontends/react/package-lock.json b/samples/projects/FiveTech_ERP/frontends/react/package-lock.json new file mode 100644 index 0000000..8fc1573 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/react/package-lock.json @@ -0,0 +1,1797 @@ +{ + "name": "web-react", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web-react", + "version": "0.1.0", + "dependencies": { + "react": "^19.1.0", + "react-dom": "^19.1.0" + }, + "devDependencies": { + "@vitejs/plugin-react": "^4.5.0", + "vite": "^6.3.5" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz", + "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.8", + "@babel/types": "^7.29.8", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", + "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", + "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", + "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.8.tgz", + "integrity": "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.8", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.8", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.8", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.4.tgz", + "integrity": "sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.4.tgz", + "integrity": "sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.4.tgz", + "integrity": "sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.4.tgz", + "integrity": "sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.4.tgz", + "integrity": "sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.4.tgz", + "integrity": "sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.4.tgz", + "integrity": "sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.4.tgz", + "integrity": "sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.4.tgz", + "integrity": "sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.4.tgz", + "integrity": "sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.4.tgz", + "integrity": "sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.4.tgz", + "integrity": "sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.4.tgz", + "integrity": "sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.4.tgz", + "integrity": "sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.4.tgz", + "integrity": "sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.4.tgz", + "integrity": "sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.4.tgz", + "integrity": "sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.4.tgz", + "integrity": "sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.4.tgz", + "integrity": "sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.4.tgz", + "integrity": "sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.4.tgz", + "integrity": "sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.4.tgz", + "integrity": "sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.4.tgz", + "integrity": "sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.4.tgz", + "integrity": "sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.4.tgz", + "integrity": "sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.11.13", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.13.tgz", + "integrity": "sha512-k9HNuUVMlqVjQ9UHzfPjIqiDbWw7WqT1AoT7GL8VwvF3r0ZfArtgiSPAlmupyNquNgOJHTuH4CKYf8ttMTWBTQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz", + "integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.11.12", + "caniuse-lite": "^1.0.30001809", + "electron-to-chromium": "^1.5.402", + "node-releases": "^2.0.53", + "update-browserslist-db": "^1.3.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001809", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001809.tgz", + "integrity": "sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.402", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.402.tgz", + "integrity": "sha512-/oOpMaPT6Yg+6/1XQhyIPlzgj7Ye9zf+nNM2Uh6OcE2G2oNptWazFa+qB2Pdqqbsc9KnIDzgAntoYN0dbwOXwA==", + "dev": true, + "license": "ISC" + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz", + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.53", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.53.tgz", + "integrity": "sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz", + "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.17", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", + "integrity": "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.8.tgz", + "integrity": "sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.8" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.4.tgz", + "integrity": "sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.62.4", + "@rollup/rollup-android-arm64": "4.62.4", + "@rollup/rollup-darwin-arm64": "4.62.4", + "@rollup/rollup-darwin-x64": "4.62.4", + "@rollup/rollup-freebsd-arm64": "4.62.4", + "@rollup/rollup-freebsd-x64": "4.62.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.4", + "@rollup/rollup-linux-arm-musleabihf": "4.62.4", + "@rollup/rollup-linux-arm64-gnu": "4.62.4", + "@rollup/rollup-linux-arm64-musl": "4.62.4", + "@rollup/rollup-linux-loong64-gnu": "4.62.4", + "@rollup/rollup-linux-loong64-musl": "4.62.4", + "@rollup/rollup-linux-ppc64-gnu": "4.62.4", + "@rollup/rollup-linux-ppc64-musl": "4.62.4", + "@rollup/rollup-linux-riscv64-gnu": "4.62.4", + "@rollup/rollup-linux-riscv64-musl": "4.62.4", + "@rollup/rollup-linux-s390x-gnu": "4.62.4", + "@rollup/rollup-linux-x64-gnu": "4.62.4", + "@rollup/rollup-linux-x64-musl": "4.62.4", + "@rollup/rollup-openbsd-x64": "4.62.4", + "@rollup/rollup-openharmony-arm64": "4.62.4", + "@rollup/rollup-win32-arm64-msvc": "4.62.4", + "@rollup/rollup-win32-ia32-msvc": "4.62.4", + "@rollup/rollup-win32-x64-gnu": "4.62.4", + "@rollup/rollup-win32-x64-msvc": "4.62.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.0.tgz", + "integrity": "sha512-x/M6q3w4Ybp91CNaS4S69UnliqR3BzRpOT6LWbksjth0S/+jhfaPJsWjt/TewpT8j9eLIojUf5jr29WextHroA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", + "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + } + } +} diff --git a/samples/projects/FiveTech_ERP/frontends/react/package.json b/samples/projects/FiveTech_ERP/frontends/react/package.json new file mode 100644 index 0000000..3b837cd --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/react/package.json @@ -0,0 +1,19 @@ +{ + "name": "web-react", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "^19.1.0", + "react-dom": "^19.1.0" + }, + "devDependencies": { + "@vitejs/plugin-react": "^4.5.0", + "vite": "^6.3.5" + } +} diff --git a/samples/projects/FiveTech_ERP/frontends/react/src/App.jsx b/samples/projects/FiveTech_ERP/frontends/react/src/App.jsx new file mode 100644 index 0000000..9a74c8b --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/react/src/App.jsx @@ -0,0 +1,796 @@ +import { useEffect, useMemo, useState } from 'react'; + +const api = { + async req(method, url, body, form) { + const opt = { method, headers: {} }; + if (body !== undefined) { + opt.headers['Content-Type'] = form ? 'application/x-www-form-urlencoded' : 'application/json'; + opt.body = form ? body : JSON.stringify(body); + } + const r = await fetch(url, opt); + return r.json().catch(() => ({ ok: false, msg: 'Respuesta no JSON' })); + }, + login: (user, password, workDate) => api.req('POST', '/api/login', { user, password, workDate }), + context: () => api.req('GET', '/api/context'), + meta: (key) => api.req('GET', '/api/meta?key=' + encodeURIComponent(key)), + dataset: (key) => api.req('GET', '/api/dataset?key=' + encodeURIComponent(key)), + datasetPost: (body) => api.req('POST', '/api/dataset', body), + processGet: () => api.req('GET', '/api/process'), + processPost: (body) => api.req('POST', '/api/process', body), + cmd: (action, a1) => api.req('POST', '/api/cmd', new URLSearchParams({ action, ...(a1 ? { a1 } : {}) }).toString(), true), +}; + +function applyTheme(t) { + t = t === 'light' ? 'light' : 'dark'; + document.documentElement.setAttribute('data-theme', t); + document.documentElement.classList.toggle('light', t === 'light'); + try { localStorage.setItem('dw-theme', t); } catch (e) {} +} +const todayISO = () => { + const d = new Date(); + return d.getFullYear() + '-' + String(d.getMonth() + 1).padStart(2, '0') + '-' + String(d.getDate()).padStart(2, '0'); +}; + +export default function App() { + const webview = !!(window.chrome && window.chrome.webview); + const bridge = typeof window.SendToFWH === 'function'; + const rama = webview ? (bridge ? 'hibrida' : 'pc') : 'web'; + const [theme, setTheme] = useState(() => { try { return localStorage.getItem('dw-theme') || 'dark'; } catch (e) { return 'dark'; } }); + const [ctx, setCtx] = useState(null); + const [view, setView] = useState('login'); + const [user, setUser] = useState('admin'); + const [pass, setPass] = useState('1234'); + const [date, setDate] = useState(todayISO()); + const [error, setError] = useState(''); + const [modules, setModules] = useState([]); + const [screenKey, setScreenKey] = useState(''); + const [screen, setScreen] = useState(null); + const [rows, setRows] = useState([]); + const [procs, setProcs] = useState(null); + const [procOut, setProcOut] = useState(''); + const [q, setQ] = useState(''); + const [colFilters, setColFilters] = useState({}); + const [sortCol, setSortCol] = useState(null); + const [sortDir, setSortDir] = useState('asc'); + const [page, setPage] = useState(1); + const [pageSize, setPageSize] = useState(25); + const [sel, setSel] = useState(null); + const [editing, setEditing] = useState(null); + const [editNavIdx, setEditNavIdx] = useState(-1); + const [notice, setNotice] = useState(''); + const [version, setVersion] = useState(''); + const [detailRows, setDetailRows] = useState([]); + const [selDet, setSelDet] = useState(null); + const [formIdx, setFormIdx] = useState(0); + const [formNew, setFormNew] = useState(false); + const [formDraft, setFormDraft] = useState({}); + const [formTab, setFormTab] = useState(''); + const [lookups, setLookups] = useState({}); + const [tool, setTool] = useState(false); + const [sidebarCollapsed, setSidebarCollapsed] = useState(() => { + try { return localStorage.getItem('dw-sidebar') === '1'; } catch (e) { return false; } + }); + const [secCollapsed, setSecCollapsed] = useState(() => { + try { return JSON.parse(localStorage.getItem('dw-nav-sec') || '{}'); } catch (e) { return {}; } + }); + const [copied, setCopied] = useState(false); + const [copiedUrl, setCopiedUrl] = useState(false); + const [ip, setIp] = useState(() => { + const h = location.hostname; + return !h || h === 'localhost' ? '127.0.0.1' : h; + }); + const mount = location.pathname.split('/')[1] || 'portal'; + const remoteUrl = 'http://' + (ip.trim() || location.hostname || '127.0.0.1') + ':2222/portal/'; + const ramaLabel = rama === 'pc' ? '1 · PC (escritorio)' + : rama === 'hibrida' ? '2 · WebView + HTTP' : '3 · Web 100%'; + function openExternal(url) { + try { url = new URL(url, location.href).href; } catch (e) { /* keep */ } + if (webview && window.chrome?.webview) { + try { window.chrome.webview.postMessage(JSON.stringify({ cmd: 'open', url })); } catch (e1) {} + try { window.chrome.webview.postMessage('open:' + url); } catch (e2) {} + } + fetch('/api/open-browser', { + method: 'POST', + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + body: 'url=' + encodeURIComponent(url), + credentials: 'same-origin', + }).catch(() => {}); + if (!webview) window.open(url, '_blank', 'noopener'); + } + function onMountClick(e, href) { + e.preventDefault(); + openExternal(href); + } + + useEffect(() => { applyTheme(theme); }, [theme]); + useEffect(() => { + try { localStorage.setItem('dw-sidebar', sidebarCollapsed ? '1' : '0'); } catch (e) {} + }, [sidebarCollapsed]); + useEffect(() => { + try { localStorage.setItem('dw-nav-sec', JSON.stringify(secCollapsed)); } catch (e) {} + }, [secCollapsed]); + useEffect(() => { + api.context().then((j) => { if (j.ok) { setCtx(j); enter(j); } }).catch(() => {}); + }, []); + function goDashboard() { location.href = '/dashboard.html'; } + function toggleSec(id) { + setSecCollapsed((m) => ({ ...m, [id]: !m[id] })); + } + + async function enter() { + setView('app'); + const m = await api.meta('modules'); + const secs = m.ok ? m.doc.sections || [] : []; + setModules(secs); + const va = await api.meta('app'); + if (va.ok && va.doc.version) setVersion(va.doc.version); + const first = secs.flatMap((s) => s.items || []).find((i) => i.screen && !i.sub)?.screen; + if (first) openScreen(first); + } + + async function doLogin(e) { + e.preventDefault(); + setError(''); + const j = await api.login(user.trim(), pass, date); + if (!j.ok) return setError(j.msg || 'Credenciales inválidas'); + const c = await api.context(); + setCtx(c); + enter(); + } + + function isMasterDetail(doc) { + return !!(doc && (doc.layout === 'master-detail' || doc.layout === 'document') && doc.detail?.dataRef); + } + function isFormScreen(doc) { + return !!(doc && doc.layout === 'form' && Array.isArray(doc.fields) && doc.fields.length); + } + function isListScreen(doc) { + if (!doc || isMasterDetail(doc) || isFormScreen(doc)) return false; + return !!(doc.layout === 'list' || (doc.dataRef && doc.grid?.columns?.length)); + } + function toolbarIds(doc) { + const t = doc?.toolbar; + if (Array.isArray(t) && t.length) + return t.map((x) => (typeof x === 'string' ? x : x?.id || '')).filter(Boolean); + return ['add', 'edit', 'delete', 'refresh']; + } + function hasTb(doc, id) { return toolbarIds(doc).includes(id); } + function keyFieldOf(doc) { + return doc?.keyField || doc?.grid?.columns?.[0]?.id || 'code'; + } + function isMoney(c) { return c?.type === 'money' || c?.format === 'money'; } + + async function loadLookupsFor(fields) { + const map = {}; + for (const f of fields || []) { + if (f.type !== 'lookup' || !f.lookup || map[f.lookup]) continue; + try { + const lm = await api.meta(f.lookup); + if (!lm.ok) continue; + const vf = lm.doc.valueField || 'code'; + const lf = lm.doc.labelField || 'name'; + const dd = await api.dataset(lm.doc.dataRef); + map[f.lookup] = (dd.ok ? dd.rows : []).map((r) => ({ value: r[vf], label: r[lf] != null ? r[lf] : r[vf] })); + } catch (e) { map[f.lookup] = []; } + } + setLookups((prev) => ({ ...prev, ...map })); + } + + async function openScreen(key) { + setProcs(null); + setScreenKey(key); + setSel(null); + setSelDet(null); + setDetailRows([]); + setFormNew(false); + setFormIdx(0); + const m = await api.meta(key); + if (!m.ok) return setScreen(null); + setScreen(m.doc); + setQ(''); + setColFilters({}); + setSortCol(null); + setSortDir('asc'); + setPage(1); + if (isMasterDetail(m.doc)) { + const d = await api.dataset(m.doc.dataRef); + const masters = d.ok ? d.rows : []; + setRows(masters); + setSel(masters[0] || null); + const dd = await api.dataset(m.doc.detail.dataRef); + setDetailRows(dd.ok ? dd.rows : []); + } else if (isFormScreen(m.doc)) { + const d = await api.dataset(m.doc.dataRef); + const rs = d.ok ? d.rows : []; + setRows(rs); + setFormDraft(rs[0] ? { ...rs[0] } : {}); + setFormTab((m.doc.tabs && m.doc.tabs[0]?.id) || 'all'); + await loadLookupsFor(m.doc.fields); + } else if (isListScreen(m.doc) && m.doc.dataRef) { + const d = await api.dataset(m.doc.dataRef); + setRows(d.ok ? d.rows : []); + } else setRows([]); + } + + async function openProcesses() { + setScreen(null); + setScreenKey('__procs'); + const j = await api.processGet(); + setProcs(j.ok ? j : { items: [], handlers: [] }); + setProcOut(''); + } + + async function runProcess(it) { + setProcOut('Ejecutando ' + it.key + '…'); + const r = await api.processPost({ key: it.key, params: {} }); + setProcOut(JSON.stringify(r, null, 2)); + } + + async function switchTo(action, value) { + const j = await api.cmd(action, value); + if (j.ok) { const c = await api.context(); setCtx(c); enter(); } + else setNotice(j.msg || 'No autorizado'); + } + + async function save() { + const { isNew, row } = editing; + const key = screen.dataRef, kf = keyFieldOf(screen); + // master-detail modal: detail uses nested dataRef when editing.scope === 'detail' + const dataKey = editing.scope === 'detail' ? screen.detail.dataRef : key; + const kfd = editing.scope === 'detail' ? (screen.detail.keyField || 'code') : kf; + const body = isNew + ? { key: dataKey, action: 'add', row } + : { key: dataKey, action: 'update', keyField: kfd, keyValue: String(row[kfd]), row }; + const j = await api.datasetPost(body); + setNotice(j.ok ? 'Guardado' : j.msg || 'Error'); + if (j.ok) { setEditing(null); openScreen(screen.id); } + } + + async function saveForm() { + const kf = keyFieldOf(screen); + const body = formNew + ? { key: screen.dataRef, action: 'add', row: formDraft } + : { key: screen.dataRef, action: 'update', keyField: kf, keyValue: String(rows[formIdx]?.[kf]), row: formDraft }; + const j = await api.datasetPost(body); + setNotice(j.ok ? 'Guardado' : j.msg || 'Error'); + if (j.ok) openScreen(screen.id); + } + + async function delForm() { + if (formNew) return; + const kf = keyFieldOf(screen); + const row = rows[formIdx]; + if (!row) return; + if (!confirm('¿Eliminar ' + row[kf] + '?')) return; + const j = await api.datasetPost({ key: screen.dataRef, action: 'delete', keyField: kf, keyValue: String(row[kf]) }); + setNotice(j.ok ? 'Eliminado' : j.msg || 'Error'); + if (j.ok) openScreen(screen.id); + } + + function fieldEditor(f, draft, setDraft) { + const v = draft[f.id]; + if (f.type === 'checkbox') + return setDraft({ ...draft, [f.id]: e.target.checked })} />; + if (f.type === 'checklist') { + const arr = Array.isArray(v) ? v : (v ? String(v).split(/[,;]/).map((s) => s.trim()) : []); + return ( +
+ {(f.options || []).map((o) => ( + + ))} +
+ ); + } + if (f.type === 'select') + return ( + + ); + if (f.type === 'lookup') { + const opts = lookups[f.lookup] || []; + return ( + + ); + } + if (isMoney(f)) + return setDraft({ ...draft, [f.id]: e.target.value === '' ? null : Number(e.target.value) })} />; + return setDraft({ ...draft, [f.id]: e.target.value })} />; + } + + async function del() { + if (!sel || !screen) return; + const kf = keyFieldOf(screen); + if (!confirm('¿Eliminar ' + sel[kf] + '?')) return; + const j = await api.datasetPost({ key: screen.dataRef, action: 'delete', keyField: kf, keyValue: String(sel[kf]) }); + setNotice(j.ok ? 'Eliminado' : j.msg || 'Error'); + if (j.ok) openScreen(screen.id); + } + + function exportExcel() { + if (!screen) return; + const cols = screen.grid?.columns || []; + const cell = (v) => { + const s = v == null ? '' : String(v); + return /[",\n\r]/.test(s) ? '"' + s.replace(/"/g, '""') + '"' : s; + }; + const lines = [cols.map((c) => cell(c.label || c.id)).join(',')]; + visible.forEach((r) => lines.push(cols.map((c) => cell(r[c.id])).join(','))); + const blob = new Blob(['\ufeff' + lines.join('\r\n')], { type: 'text/csv;charset=utf-8;' }); + const a = document.createElement('a'); + a.href = URL.createObjectURL(blob); + a.download = String(screen.title || screen.id).replace(/[^A-Za-z0-9_\-]+/g, '_') + '.csv'; + a.click(); + URL.revokeObjectURL(a.href); + setNotice('Excel/CSV exportado (' + visible.length + ' filas)'); + } + + function printList() { + if (!screen) return; + const cols = screen.grid?.columns || []; + const w = window.open('', '_blank'); + if (!w) { window.print(); return; } + const th = cols.map((c) => '' + (c.label || c.id) + '').join(''); + const body = visible.map((r) => '' + cols.map((c) => '' + fmt(r[c.id], c) + '').join('') + '').join(''); + w.document.write('' + (screen.title || '') + '' + + '' + + '

' + (screen.title || '') + '

' + th + '' + body + + '
'); + w.document.close(); + setTimeout(() => { try { w.print(); } catch (e) {} }, 250); + } + + const cols = screen?.grid?.columns || []; + const filterCols = useMemo( + () => cols.filter((c) => c.type === 'select' && Array.isArray(c.options) && c.options.length), + [cols] + ); + const visible = useMemo(() => { + const f = q.toLowerCase().trim(); + const fields = screen?.searchFields || cols.map((c) => c.id); + let list = rows.filter((r) => { + if (f && !fields.some((k) => String(r[k] ?? '').toLowerCase().includes(f))) return false; + for (const [cid, val] of Object.entries(colFilters)) { + if (val !== '' && val != null && String(r[cid] ?? '') !== String(val)) return false; + } + return true; + }); + if (sortCol) { + const col = cols.find((c) => c.id === sortCol) || { id: sortCol }; + const dir = sortDir === 'desc' ? -1 : 1; + list = list.slice().sort((a, b) => { + const va = a[sortCol], vb = b[sortCol]; + if (isMoney(col) || col.type === 'number') { + const na = Number(va), nb = Number(vb); + if (!Number.isNaN(na) && !Number.isNaN(nb)) return dir * (na - nb); + } + if (col.type === 'checkbox') return dir * ((va ? 1 : 0) - (vb ? 1 : 0)); + return dir * String(va ?? '').localeCompare(String(vb ?? ''), 'es', { sensitivity: 'base', numeric: true }); + }); + } + return list; + }, [rows, q, screen, cols, colFilters, sortCol, sortDir]); + + const pageCount = Math.max(1, Math.ceil(visible.length / pageSize) || 1); + const safePage = Math.min(page, pageCount); + const pageRows = useMemo(() => { + const p = Math.min(page, Math.max(1, Math.ceil(visible.length / pageSize) || 1)); + const start = (p - 1) * pageSize; + return visible.slice(start, start + pageSize); + }, [visible, page, pageSize]); + + const fmt = (v, c) => isMoney(c) && v != null && v !== '' + ? Number(v).toLocaleString('es', { minimumFractionDigits: 2 }) + : c.type === 'checkbox' ? (v ? '✔' : '') : (v == null ? '' : String(v)); + + function toggleSort(id) { + if (sortCol === id) setSortDir((d) => (d === 'asc' ? 'desc' : 'asc')); + else { setSortCol(id); setSortDir('asc'); } + } + function openEditNav(row, isNew) { + if (isNew) { + setEditing({ isNew: true, row: {} }); + setEditNavIdx(-1); + return; + } + const idx = visible.findIndex((r) => String(r[keyFieldOf(screen)]) === String(row[keyFieldOf(screen)])); + setEditNavIdx(idx); + setEditing({ isNew: false, row: { ...row } }); + } + function navEdit(act) { + if (!screen || !visible.length || editing?.isNew) return; + let i = editNavIdx; + if (act === 'first') i = 0; + else if (act === 'prev') i = Math.max(0, i - 1); + else if (act === 'next') i = Math.min(visible.length - 1, i + 1); + else if (act === 'last') i = visible.length - 1; + setEditNavIdx(i); + setEditing({ isNew: false, row: { ...visible[i] } }); + } + + if (view === 'login') + return ( +
+ +
+
FiveTech ERP
+
Rama 100% web · frontend React
+
+ + setUser(e.target.value)} /> + + setPass(e.target.value)} /> + + setDate(e.target.value)} /> + +
{error}
+
+ + {tool && ( +
+
Ahora está en: {ramaLabel}
+
+
+ 2 · WebView + HTTP +
App de escritorio + navegador (como Edge con localhost:2222/portal).
+ +
+ +
+ Acceso por la red +
Intranet: en otro PC/celular de la oficina use la dirección de abajo.
+ +
Enlace: {remoteUrl}
+
Remoto (internet): solo si sistemas habilitó acceso seguro (VPN o túnel).
+
+
+ )} +
+
+ ); + + return ( +
+
+
+ + FiveTech ERP + rama {rama} · react{version ? ' · v' + version : ''} + +
+
+ + + { setDate(e.target.value); api.cmd('workdate', e.target.value); }} /> + {ctx?.company} · {ctx?.appLabel || ctx?.app} · {ctx?.isAdmin ? 'admin' : 'usuario'} + + +
+
+
+ +
+ {procs ? ( + <> +
+

Procesos

+ handlers: {(procs.handlers || []).length} +
+
+ {(procs.items || []).map((it) => ( +
+
{it.title || it.key}
{it.key} · handler: {it.handler || '—'}
+ +
+ ))} +
+
{procOut}
+ + ) : !screen ?
Selecciona un módulo.
: ( + <> +
+

{screen.title}

+ {isListScreen(screen) && ( +
+ { setQ(e.target.value); setPage(1); }} /> + {hasTb(screen, 'add') && } + {hasTb(screen, 'edit') && } + {hasTb(screen, 'delete') && } + {hasTb(screen, 'print') && } + {hasTb(screen, 'pdf') && } + {hasTb(screen, 'excel') && } + {hasTb(screen, 'refresh') && } +
+ )} +
+ {notice &&
{notice}
} + {isListScreen(screen) && filterCols.length > 0 && ( +
+ {filterCols.map((c) => ( + + ))} + +
+ )} + {isFormScreen(screen) ? ( +
+ +
+
+ {hasTb(screen, 'add') && } + + {hasTb(screen, 'delete') && } + {hasTb(screen, 'refresh') && } + {formNew ? 'Nuevo' : ((rows.length ? formIdx + 1 : 0) + ' / ' + rows.length)} +
+
+ {(screen.tabs || [{ id: 'all', label: 'Datos', fields: (screen.fields || []).map((f) => f.id) }]).map((t) => ( + + ))} +
+
+ {(screen.fields || []).filter((f) => { + const tab = (screen.tabs || []).find((t) => t.id === formTab) || { fields: (screen.fields || []).map((x) => x.id) }; + return (tab.fields || []).includes(f.id); + }).map((f) => ( +
+ + {fieldEditor(f, formDraft, setFormDraft)} +
+ ))} +
+
+
+ ) : isMasterDetail(screen) ? ( +
+
+
+ Maestro +
+ {hasTb(screen, 'add') && } + {hasTb(screen, 'edit') && } + {hasTb(screen, 'delete') && } + {hasTb(screen, 'excel') && } + {hasTb(screen, 'refresh') && } + setQ(e.target.value)} /> +
+
+
+ + {cols.map((c) => )} + + {visible.map((r, i) => ( + { setSel(r); setSelDet(null); }} onDoubleClick={() => setEditing({ isNew: false, row: { ...r }, scope: 'master' })}> + {cols.map((c) => )} + + ))} + +
{c.label}
{fmt(r[c.id], c)}
+
+
+
+
+ {screen.detail?.title || 'Detalle'} +
+ + + +
+
+
+ + {(screen.detail?.grid?.columns || []).map((c) => )} + + {detailRows.filter((r) => sel && String(r[screen.detail?.masterKey || keyFieldOf(screen)]) === String(sel[keyFieldOf(screen)])).map((r, i) => ( + setSelDet(r)} onDoubleClick={() => setEditing({ isNew: false, row: { ...r }, scope: 'detail' })}> + {(screen.detail?.grid?.columns || []).map((c) => )} + + ))} + +
{c.label}
{fmt(r[c.id], c)}
+
+
+
+ ) : isListScreen(screen) ? ( + <> +
+ + + + {cols.map((c) => ( + + ))} + + + + {pageRows.length === 0 ? ( + + ) : pageRows.map((r, i) => ( + setSel(r)} + onDoubleClick={() => hasTb(screen, 'edit') && openEditNav(r, false)}> + {cols.map((c) => )} + + ))} + +
toggleSort(c.id)} + title="Clic para ordenar" + > + {c.label} {sortCol === c.id ? (sortDir === 'asc' ? '▲' : '▼') : ''} +
Sin registros con los filtros actuales
{fmt(r[c.id], c)}
+
+
+
+ + {visible.length + ? `${(safePage - 1) * pageSize + 1}–${Math.min(safePage * pageSize, visible.length)} de ${visible.length}` + + (visible.length !== rows.length ? ` (total ${rows.length})` : '') + ' filas' + : `0 / ${rows.length} filas`} + + +
+
+ + + Pág. {safePage} / {pageCount} + + +
+
+ + ) : ( +
Layout {screen.layout || 'especial'} — lista, form y master-detail cubiertos; resto en shell HTTP. Ver PROPUESTA/SUSTENTO.
+ )} + + )} +
+
+ + {editing && screen && (() => { + const eCols = editing.scope === 'detail' ? (screen.detail?.grid?.columns || []) : cols; + const ekf = editing.scope === 'detail' ? (screen.detail?.keyField || 'code') : keyFieldOf(screen); + const showNav = !editing.isNew && !editing.scope && visible.length > 0; + return ( +
{ if (e.key === 'Escape') setEditing(null); }}> +
+
+

{editing.isNew ? 'Nuevo registro' : 'Editar ' + (editing.row[ekf] ?? '')}

+ {showNav && ( +
+ + + {editNavIdx >= 0 ? (editNavIdx + 1) + ' / ' + visible.length : '—'} + + +
+ )} +
+
+ {eCols.map((c) => ( +
+ + {c.type === 'checkbox' + ? setEditing({ ...editing, row: { ...editing.row, [c.id]: e.target.checked } })} /> + : c.type === 'select' + ? + : setEditing({ ...editing, row: { ...editing.row, [c.id]: isMoney(c) ? (e.target.value === '' ? null : Number(e.target.value)) : e.target.value } })} />} +
+ ))} +
+
+ + +
+
+
+ ); + })()} +
+ ); +} diff --git a/samples/projects/FiveTech_ERP/frontends/react/src/main.jsx b/samples/projects/FiveTech_ERP/frontends/react/src/main.jsx new file mode 100644 index 0000000..57eed31 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/react/src/main.jsx @@ -0,0 +1,5 @@ +import React from 'react'; +import { createRoot } from 'react-dom/client'; +import App from './App.jsx'; + +createRoot(document.getElementById('root')).render(); diff --git a/samples/projects/FiveTech_ERP/frontends/react/src/styles.css b/samples/projects/FiveTech_ERP/frontends/react/src/styles.css new file mode 100644 index 0000000..49e310d --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/react/src/styles.css @@ -0,0 +1,194 @@ +:root { + --bg: #0e1116; + --bg2: #161b23; + --bg3: #1e2530; + --line: #2a3342; + --txt: #e6ebf2; + --txt2: #8b98ab; + --acc: #3b82f6; + --acc2: #2563eb; + --ok: #22c55e; + --danger: #ef4444; +} +[data-theme="light"] { + --bg: #f1f5f9; + --bg2: #ffffff; + --bg3: #e2e8f0; + --line: #cbd5e1; + --txt: #0f172a; + --txt2: #64748b; + --acc: #2563eb; + --acc2: #1d4ed8; +} +* { margin: 0; padding: 0; box-sizing: border-box; } +body { background: var(--bg); color: var(--txt); font: 14px/1.45 "Segoe UI", system-ui, sans-serif; } +.hidden { display: none !important; } + +/* ---------- login ---------- */ +.login-wrap { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(1200px 600px at 50% -10%, #16233b 0%, var(--bg) 60%); } +.login-card { width: 340px; background: var(--bg2); border: 1px solid var(--line); border-radius: 14px; padding: 28px; box-shadow: 0 20px 60px rgba(0,0,0,.45); } +.login-brand { font-size: 22px; font-weight: 600; } +.login-sub { color: var(--txt2); font-size: 12px; margin: 4px 0 20px; } +.login-card label { display: block; color: var(--txt2); font-size: 12px; margin: 12px 0 4px; } +.login-card input { width: 100%; background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; outline: none; } +.login-card input:focus { border-color: var(--acc); } +.login-card button { width: 100%; margin-top: 18px; background: var(--acc); border: 0; color: #fff; padding: 10px; border-radius: 8px; font-size: 14px; cursor: pointer; } +.login-card button:hover { background: var(--acc2); } +.login-card button:disabled { opacity: .6; cursor: wait; } +.login-error { color: var(--danger); font-size: 12px; margin-top: 10px; min-height: 14px; } + +/* ---------- shell ---------- */ +.app { display: flex; flex-direction: column; height: 100vh; } +.topbar { height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; background: var(--bg2); border-bottom: 1px solid var(--line); } +.topbar-left { display: flex; align-items: center; gap: 10px; } +.brand { font-weight: 600; font-size: 15px; } +.branch-tag { font-size: 11px; color: var(--acc); border: 1px solid var(--acc2); border-radius: 999px; padding: 2px 9px; } +.topbar-right { display: flex; align-items: center; gap: 8px; } +.topbar select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 5px 8px; } +.user-chip { color: var(--txt2); font-size: 12px; margin-left: 6px; } +.btn-ghost { background: none; border: 1px solid var(--line); color: var(--txt); border-radius: 7px; padding: 5px 12px; cursor: pointer; } +.btn-ghost:hover { border-color: var(--danger); color: var(--danger); } + +.body { flex: 1; display: flex; min-height: 0; } +.btn-icon-bar { + background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px; + width: 36px; height: 34px; cursor: pointer; font-size: 16px; line-height: 1; flex-shrink: 0; +} +.btn-icon-bar:hover { border-color: var(--acc); } +.btn-dash { font-size: 12.5px; } +.sidebar { + width: 240px; min-width: 240px; background: var(--bg2); border-right: 1px solid var(--line); + overflow-x: hidden; overflow-y: auto; padding: 10px 8px; + transition: width .2s ease, min-width .2s ease, padding .2s ease, opacity .15s ease; + flex-shrink: 0; +} +.body.sidebar-collapsed .sidebar { + width: 0; min-width: 0; padding: 0; border: 0; opacity: 0; pointer-events: none; +} +.nav-pin { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); } +.nav-group { margin-bottom: 2px; } +.nav-section { + display: flex; align-items: center; justify-content: space-between; gap: 6px; + width: 100%; text-align: left; background: none; border: 0; color: var(--txt2); + font-size: 11px; text-transform: uppercase; letter-spacing: .08em; padding: 12px 10px 4px; + cursor: pointer; border-radius: 6px; +} +.nav-section:hover { color: var(--txt); background: var(--bg3); } +.nav-section .chev { font-size: 10px; opacity: .75; transition: transform .15s; } +.nav-group.collapsed .nav-section .chev { transform: rotate(-90deg); } +.nav-group.collapsed .nav-group-body { display: none; } +.nav-item { display: block; width: 100%; text-align: left; background: none; border: 0; color: var(--txt); padding: 7px 10px; border-radius: 7px; cursor: pointer; font-size: 13px; } +.nav-item:hover { background: var(--bg3); } +.nav-item.active { background: var(--acc2); color: #fff; } +.nav-item.sub { padding-left: 24px; color: var(--txt2); } +.nav-item.dash { color: var(--acc); font-weight: 500; } +@media (max-width: 720px) { + .sidebar { position: absolute; z-index: 30; height: calc(100% - 52px); box-shadow: 8px 0 24px rgba(0,0,0,.35); } + .body.sidebar-collapsed .sidebar { box-shadow: none; } +} + +.main { flex: 1; overflow: auto; padding: 18px 22px; } +.loading, .empty { color: var(--txt2); padding: 40px; text-align: center; } +.empty b { color: var(--txt); } +details pre { margin-top: 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 8px; padding: 12px; overflow: auto; font-size: 12px; } + +.screen-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; flex-wrap: wrap; } +.screen-head h2 { font-size: 19px; } +.layout-tag { color: var(--txt2); font-size: 12px; border: 1px solid var(--line); border-radius: 999px; padding: 2px 9px; margin-left: 10px; } + +.toolbar { display: flex; align-items: center; gap: 8px; } +.search { background: var(--bg3); border: 1px solid var(--line); color: var(--txt); border-radius: 8px; padding: 7px 11px; width: 260px; outline: none; } +.search:focus { border-color: var(--acc); } +.btn { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px; padding: 7px 13px; cursor: pointer; font-size: 13px; } +.btn:hover { border-color: var(--acc); } +.btn:disabled { opacity: .45; cursor: default; } +.btn.primary { background: var(--acc); border-color: var(--acc); color: #fff; } +.btn.primary:hover { background: var(--acc2); } +.btn.danger:hover { border-color: var(--danger); color: var(--danger); } +.rowcount { color: var(--txt2); font-size: 12px; margin-left: 6px; } + +.grid-wrap { border: 1px solid var(--line); border-radius: 10px; overflow: auto; background: var(--bg2); } +table { border-collapse: collapse; width: 100%; } +th, td { padding: 8px 12px; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; } +th { background: var(--bg3); color: var(--txt2); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; position: sticky; top: 0; } +th.right, td.right { text-align: right; } +tbody tr { cursor: pointer; } +tbody tr:hover { background: var(--bg3); } +tbody tr.sel { background: #1d3a5f; } + +/* ---------- modal ---------- */ +.overlay { position: fixed; inset: 0; background: rgba(0,0,0,.55); display: grid; place-items: center; z-index: 50; } +.modal { width: min(560px, 92vw); max-height: 86vh; overflow: auto; background: var(--bg2); border: 1px solid var(--line); border-radius: 12px; padding: 20px; } +.modal h3 { margin-bottom: 14px; } +.form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; } +.field label { display: block; color: var(--txt2); font-size: 12px; margin-bottom: 3px; } +.field input, .field select { width: 100%; background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 8px 10px; outline: none; } +.field input:focus, .field select:focus { border-color: var(--acc); } +.field input.ro { opacity: .6; } +.field.chk { display: flex; align-items: center; gap: 8px; } +.field.chk label { margin: 0; } +.field.chk input { width: auto; } +.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; } + +/* paridad FWH: boton de tema + procesos */ +.theme-fab { position: fixed; top: 14px; right: 14px; z-index: 60; background: var(--bg2); color: var(--txt); border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; cursor: pointer; } +.theme-fab:hover { border-color: var(--acc); } +input[type="date"] { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 5px 8px; } +.login-card input[type="date"] { width: 100%; } +.proc-list { display: flex; flex-direction: column; gap: 8px; max-width: 720px; } +.proc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; } +.proc-sub { color: var(--txt2); font-size: 12px; } +.proc-out { margin-top: 14px; background: var(--bg2); border: 1px solid var(--line); border-radius: 8px; padding: 12px; min-height: 60px; max-height: 320px; overflow: auto; font-size: 12px; color: var(--txt); } + +/* herramienta de cargue y ramas (login) */ +.tool-toggle { width: 100%; margin-top: 10px; background: none; border: 1px dashed var(--line); color: var(--txt2); border-radius: 8px; padding: 7px; cursor: pointer; font-size: 12.5px; } +.tool-toggle:hover { border-color: var(--acc); color: var(--txt); } +.tool-panel { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 12px; display: flex; flex-direction: column; gap: 10px; text-align: left; } +.tool-row { font-size: 12px; color: var(--txt2); display: flex; flex-direction: column; gap: 5px; } +.tool-row b { color: var(--txt); } +.tool-row code { background: var(--bg3); border: 1px solid var(--line); border-radius: 6px; padding: 4px 7px; font-size: 11px; color: var(--txt); word-break: break-all; } +.tool-links { display: flex; gap: 8px; flex-wrap: wrap; } +.tool-links a { color: var(--acc); text-decoration: none; border: 1px solid var(--line); border-radius: 999px; padding: 2px 10px; font-size: 12px; } +.tool-links a:hover { border-color: var(--acc); } +.tool-row .btn { align-self: flex-start; padding: 4px 10px; font-size: 11.5px; } + +.login-card .tool-toggle { background: none; border: 1px dashed var(--line); color: var(--txt2); } +.login-card .tool-toggle:hover { border-color: var(--acc); color: var(--txt); background: none; } + +.tool-ip { background: var(--bg3); border: 1px solid var(--line); color: var(--txt); border-radius: 999px; padding: 3px 10px; font-size: 12px; width: 130px; } +.form-layout { display: grid; grid-template-columns: 240px 1fr; flex: 1; min-height: 0; border-top: 1px solid var(--line); } +.form-nav { border-right: 1px solid var(--line); background: var(--bg2); overflow: auto; max-height: calc(100vh - 120px); } +.form-nav-title { padding: 10px 12px; font-size: 12px; color: var(--txt2); font-weight: 600; border-bottom: 1px solid var(--line); } +.form-nav-item { display: block; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--line); color: var(--txt); padding: 10px 12px; cursor: pointer; font-size: 12.5px; } +.form-nav-item.active, .form-nav-item:hover { background: var(--bg3); } +.form-main { display: flex; flex-direction: column; min-width: 0; overflow: auto; } +.form-tabs { display: flex; gap: 4px; padding: 10px 12px 0; flex-wrap: wrap; border-bottom: 1px solid var(--line); } +.form-tab { background: none; border: 1px solid transparent; color: var(--txt2); padding: 8px 12px; border-radius: 8px 8px 0 0; cursor: pointer; font-size: 12.5px; } +.form-tab.active { background: var(--bg2); color: var(--txt); border-color: var(--line); border-bottom-color: transparent; } +.form-body { padding: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; } +.checklist { display: flex; flex-wrap: wrap; gap: 8px 14px; } +.chk-item { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; } +.md-layout { display: grid; grid-template-rows: 1fr 1fr; flex: 1; min-height: 0; } +.md-master, .md-detail { display: flex; flex-direction: column; border-top: 1px solid var(--line); min-height: 0; } +.md-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; background: var(--bg2); flex-wrap: wrap; } +.md-master .grid-wrap, .md-detail .grid-wrap { flex: 1; overflow: auto; max-height: 36vh; } +.tool-note { font-size: 11px; opacity: .8; } +.list-filters { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin: 0 0 12px; padding: 10px 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 10px; } +.filter-chip { display: flex; flex-direction: column; gap: 3px; font-size: 11px; color: var(--txt2); } +.filter-chip select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 6px 8px; min-width: 120px; } +th.sortable { cursor: pointer; user-select: none; } +th.sortable:hover { color: var(--txt); } +th.sorted { color: var(--acc); } +.sort-ind { font-size: 9px; opacity: .85; margin-left: 2px; } +.empty-cell { text-align: center !important; color: var(--txt2); padding: 28px !important; cursor: default; } +.list-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 10px; padding: 8px 4px; } +.foot-left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; } +.foot-nav { display: flex; align-items: center; gap: 6px; } +.page-size { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--txt2); } +.page-size select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 4px 8px; } +.pg-info { font-size: 12px; color: var(--txt2); min-width: 72px; text-align: center; } +.btn-icon { padding: 5px 10px; min-width: 34px; font-size: 14px; line-height: 1; } +.modal-form { width: min(640px, 94vw); } +.modal-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; } +.modal-head h3 { margin: 0; } +.modal-nav { display: flex; align-items: center; gap: 4px; } diff --git a/samples/projects/FiveTech_ERP/frontends/react/vite.config.js b/samples/projects/FiveTech_ERP/frontends/react/vite.config.js new file mode 100644 index 0000000..6b69362 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/react/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + base: '/web-react/' +}); diff --git a/samples/projects/FiveTech_ERP/frontends/vanilla/app.js b/samples/projects/FiveTech_ERP/frontends/vanilla/app.js new file mode 100644 index 0000000..1a4c8d8 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/vanilla/app.js @@ -0,0 +1,1186 @@ +// Rama 100% web — frontend vanilla (sin framework) +// Consume el mismo contrato HTTP que el WebView de escritorio: +// POST /api/login · GET /api/context · GET /api/meta · GET/POST /api/dataset · POST /api/cmd +// La sesión viaja en la cookie HttpOnly DWSESS que fija el servidor (nunca en JS). + +const $ = (id) => document.getElementById(id); +const api = { + async req(method, url, body) { + const opt = { method, headers: {} }; + if (body !== undefined) { + opt.headers['Content-Type'] = 'application/json'; + opt.body = JSON.stringify(body); + } + const r = await fetch(url, opt); + const j = await r.json().catch(() => ({ ok: false, msg: 'Respuesta no JSON (' + r.status + ')' })); + if (j && j.ok === false && j.msg === 'Not authenticated') { showLogin(); throw new Error('Sesión terminada'); } + return j; + }, + login: (user, password, workDate) => api.req('POST', '/api/login', { user, password, workDate }), + context: () => api.req('GET', '/api/context'), + meta: (key) => api.req('GET', '/api/meta?key=' + encodeURIComponent(key)), + modules: () => api.req('GET', '/api/meta?key=modules'), + dataset: (key) => api.req('GET', '/api/dataset?key=' + encodeURIComponent(key)), + datasetPost: (body) => api.req('POST', '/api/dataset', body), + processGet: () => api.req('GET', '/api/process'), + processPost: (body) => api.req('POST', '/api/process', body), + cmd: (action, a1, a2) => { + const p = new URLSearchParams({ action }); + if (a1 !== undefined) p.set('a1', a1); + if (a2 !== undefined) p.set('a2', a2); + return fetch('/api/cmd', { + method: 'POST', + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + body: p.toString(), + }).then((r) => r.json()); + }, +}; + +let ctx = null; +let currentScreen = null; + +function showLogin() { + $('view-login').classList.remove('hidden'); + $('view-app').classList.add('hidden'); +} +function showApp() { + $('view-login').classList.add('hidden'); + $('view-app').classList.remove('hidden'); +} + +// ---------------------------------------------------------------- tema claro/oscuro (paridad FWH) +function applyTheme(t) { + t = t === 'light' ? 'light' : 'dark'; + document.documentElement.setAttribute('data-theme', t); + document.documentElement.classList.toggle('light', t === 'light'); + try { localStorage.setItem('dw-theme', t); } catch (e) {} + document.querySelectorAll('.theme-fab').forEach((b) => { b.textContent = t === 'dark' ? 'Dark' : 'Light'; }); +} +function toggleTheme() { + applyTheme(document.documentElement.getAttribute('data-theme') === 'dark' ? 'light' : 'dark'); +} +applyTheme((() => { try { return localStorage.getItem('dw-theme') || 'dark'; } catch (e) { return 'dark'; } })()); + +// ---------------------------------------------------------------- login +$('login-form').addEventListener('submit', async (e) => { + e.preventDefault(); + $('login-error').textContent = ''; + $('login-btn').disabled = true; + try { + const j = await api.login($('login-user').value.trim(), $('login-pass').value, $('login-date').value); + if (!j.ok) { $('login-error').textContent = j.msg || 'Credenciales inválidas'; return; } + ctx = await api.context(); + await enterApp(); + } catch (err) { + $('login-error').textContent = err.message; + } finally { + $('login-btn').disabled = false; + } +}); + +$('btn-logout').addEventListener('click', async () => { + await api.cmd('logout'); + ctx = null; + showLogin(); +}); + +// ---------------------------------------------------------------- shell +async function enterApp() { + showApp(); + $('rama-tag').textContent = 'rama ' + (window.__RAMA__ ? window.__RAMA__.branch : 'web') + ' · vanilla'; + $('user-chip').textContent = ctx.company + ' · ' + (ctx.appLabel || ctx.app) + ' · ' + (ctx.isAdmin ? 'admin' : 'usuario'); + const mApp = await api.meta('app'); + if (mApp.ok && mApp.doc.version) $('user-chip').textContent += ' · v' + mApp.doc.version; + $('workdate').value = $('login-date').value || new Date().toISOString().slice(0, 10); + $('btn-theme-top').onclick = toggleTheme; + applyTheme(document.documentElement.getAttribute('data-theme')); + initSidebarChrome(); + fillSelectors(); + const m = await api.modules(); + renderSidebar(m.ok ? m.doc : { sections: [] }); + const first = firstScreen(m.ok ? m.doc : null); + if (first) openScreen(first); +} + +function goDashboard() { + // Shell HTTP FWH (misma cookie DWSESS) — dashboards/KPI/agenda + location.href = '/dashboard.html'; +} + +function initSidebarChrome() { + const body = $('app-body'); + const btn = $('btn-sidebar'); + const dash = $('btn-dashboard'); + if (dash) dash.onclick = goDashboard; + if (!body || !btn) return; + let collapsed = false; + try { collapsed = localStorage.getItem('dw-sidebar') === '1'; } catch (e) {} + function apply() { + body.classList.toggle('sidebar-collapsed', collapsed); + btn.setAttribute('aria-expanded', collapsed ? 'false' : 'true'); + btn.title = collapsed ? 'Mostrar menú' : 'Ocultar menú'; + try { localStorage.setItem('dw-sidebar', collapsed ? '1' : '0'); } catch (e) {} + } + btn.onclick = () => { collapsed = !collapsed; apply(); }; + apply(); +} + +$('workdate')?.addEventListener?.('change', async (e) => { + await api.cmd('workdate', e.target.value); +}); + +function fillSelectors() { + const sc = $('sel-company'); + sc.innerHTML = ''; + (ctx.companies || []).forEach((c) => { + const o = document.createElement('option'); + o.value = c.code; o.textContent = c.name || c.code; + if (c.code === ctx.company) o.selected = true; + sc.appendChild(o); + }); + sc.disabled = ctx.canSwitchCompany === false; + sc.onchange = async () => { + const j = await api.cmd('company', sc.value); + if (j.ok) { ctx = await api.context(); enterApp(); } + }; + + const sa = $('sel-app'); + sa.innerHTML = ''; + (ctx.apps || []).forEach((a) => { + const o = document.createElement('option'); + o.value = a.id; o.textContent = a.label || a.id; + if (a.id === ctx.app) o.selected = true; + sa.appendChild(o); + }); + sa.disabled = ctx.canSwitchApp === false; + sa.onchange = async () => { + const j = await api.cmd('app', sa.value); + if (j.ok) { ctx = await api.context(); enterApp(); } + }; +} + +function renderSidebar(mod) { + const nav = $('sidebar'); + nav.innerHTML = ''; + + // Accesos fijos + const pin = document.createElement('div'); + pin.className = 'nav-pin'; + const bd = document.createElement('button'); + bd.type = 'button'; + bd.className = 'nav-item dash'; + bd.textContent = '⊞ Dashboard'; + bd.title = 'Shell FWH · dashboard.html'; + bd.onclick = goDashboard; + pin.appendChild(bd); + nav.appendChild(pin); + + function makeSection(title, itemsBuild, secId) { + let collapsed = false; + try { + const raw = localStorage.getItem('dw-nav-sec'); + const map = raw ? JSON.parse(raw) : {}; + if (map[secId]) collapsed = true; + } catch (e) {} + const group = document.createElement('div'); + group.className = 'nav-group' + (collapsed ? ' collapsed' : ''); + group.dataset.sec = secId; + const h = document.createElement('button'); + h.type = 'button'; + h.className = 'nav-section'; + h.innerHTML = '' + esc(title) + ''; + h.onclick = () => { + group.classList.toggle('collapsed'); + try { + const raw = localStorage.getItem('dw-nav-sec'); + const map = raw ? JSON.parse(raw) : {}; + map[secId] = group.classList.contains('collapsed'); + localStorage.setItem('dw-nav-sec', JSON.stringify(map)); + } catch (e) {} + }; + const body = document.createElement('div'); + body.className = 'nav-group-body'; + itemsBuild(body); + group.appendChild(h); + group.appendChild(body); + nav.appendChild(group); + } + + (mod.sections || []).forEach((sec, si) => { + makeSection(sec.title || ('Sección ' + (si + 1)), (body) => { + (sec.items || []).forEach((it) => { + if (!it.screen) return; + const b = document.createElement('button'); + b.type = 'button'; + b.className = 'nav-item' + (it.sub ? ' sub' : ''); + b.textContent = it.label; + b.onclick = () => { + nav.querySelectorAll('.nav-item').forEach((x) => x.classList.remove('active')); + b.classList.add('active'); + openScreen(it.screen); + }; + body.appendChild(b); + }); + }, sec.id || ('s' + si)); + }); + + // Paridad FWH: herramientas del servidor (procesos declarados en meta) + makeSection('Herramientas', (body) => { + const bp = document.createElement('button'); + bp.type = 'button'; + bp.className = 'nav-item'; + bp.textContent = 'Procesos'; + bp.onclick = () => { + nav.querySelectorAll('.nav-item').forEach((x) => x.classList.remove('active')); + bp.classList.add('active'); + renderProcesses(); + }; + body.appendChild(bp); + }, '__tools'); +} + +function firstScreen(mod) { + if (!mod) return null; + for (const sec of mod.sections || []) + for (const it of sec.items || []) + if (it.screen && !it.sub) return it.screen; + return null; +} + +// ---------------------------------------------------------------- helpers paridad toolbar HTTP (FWH) +function isMasterDetail(doc) { + return !!(doc && (doc.layout === 'master-detail' || doc.layout === 'document') && + doc.detail && doc.detail.dataRef); +} +function isFormScreen(doc) { + return !!(doc && doc.layout === 'form' && Array.isArray(doc.fields) && doc.fields.length); +} +function isListScreen(doc) { + if (!doc || isMasterDetail(doc) || isFormScreen(doc)) return false; + return !!(doc.layout === 'list' || (doc.dataRef && doc.grid && (doc.grid.columns || []).length)); +} +function toolbarIds(doc) { + const t = doc && doc.toolbar; + if (Array.isArray(t) && t.length) + return t.map((x) => (typeof x === 'string' ? x : (x && x.id) || '')).filter(Boolean); + return ['add', 'edit', 'delete', 'refresh']; +} +function hasTb(doc, id) { return toolbarIds(doc).includes(id); } +function isMoneyCol(c) { return c && (c.type === 'money' || c.format === 'money'); } +function keyFieldOf(doc) { + return (doc && doc.keyField) || (doc.grid && doc.grid.columns && doc.grid.columns[0] && doc.grid.columns[0].id) || 'code'; +} +function csvCell(v) { + const s = v == null ? '' : String(v); + if (/[",\n\r]/.test(s)) return '"' + s.replace(/"/g, '""') + '"'; + return s; +} +function exportCsv(title, cols, rows) { + const crlf = '\r\n'; + const lines = [cols.map((c) => csvCell(c.label || c.id)).join(',')]; + rows.forEach((r) => lines.push(cols.map((c) => csvCell(r[c.id])).join(','))); + const blob = new Blob(['\ufeff' + lines.join(crlf)], { type: 'text/csv;charset=utf-8;' }); + const a = document.createElement('a'); + a.href = URL.createObjectURL(blob); + a.download = String(title || 'export').replace(/[^A-Za-z0-9_\-]+/g, '_') + '.csv'; + a.click(); + URL.revokeObjectURL(a.href); +} +function printGrid(title, cols, rows, fmt) { + const w = window.open('', '_blank'); + if (!w) { window.print(); return; } + const th = cols.map((c) => '' + esc(c.label) + '').join(''); + const body = rows.map((r) => '' + cols.map((c) => '' + esc(fmt(r[c.id], c)) + '').join('') + '').join(''); + w.document.write('' + esc(title) + '' + + '' + + '

' + esc(title) + '

' + th + '' + body + + '
'); + w.document.close(); +} + +// ---------------------------------------------------------------- renderer de pantallas +async function openScreen(screenKey) { + const main = $('main'); + main.innerHTML = '
Cargando ' + screenKey + '…
'; + const m = await api.meta(screenKey); + if (!m.ok) { main.innerHTML = '
Meta no disponible: ' + screenKey + '
'; return; } + const doc = m.doc; + currentScreen = doc; + if (isMasterDetail(doc)) return renderMasterDetail(doc); + if (isFormScreen(doc)) return renderForm(doc); + // Paridad HTTP: grilla con dataRef = lista CRUD (aunque layout no diga "list") + if (isListScreen(doc)) return renderList(doc); + return renderGeneric(doc); +} + +async function loadLookupOptions(lookupKey) { + try { + const m = await api.meta(lookupKey); + if (!m.ok || !m.doc) return []; + const vf = m.doc.valueField || 'code'; + const lf = m.doc.labelField || 'name'; + const dref = m.doc.dataRef; + if (!dref) return []; + const d = await api.dataset(dref); + if (!d.ok) return []; + return (d.rows || []).map((r) => ({ value: r[vf], label: (r[lf] != null ? r[lf] : r[vf]) + '' })); + } catch (e) { return []; } +} + +function fieldControlHtml(f, val, isNew, kf) { + const id = f.id; + const label = ''; + const v = val == null ? (f.default != null ? f.default : '') : val; + if (f.type === 'checkbox') + return '
' + label + '
'; + if (f.type === 'checklist') { + const arr = Array.isArray(v) ? v : (v ? String(v).split(/[,;]/).map((s) => s.trim()) : []); + return '
' + label + '
' + + (f.options || []).map((o) => + '').join('') + + '
'; + } + if (f.type === 'select') + return '
' + label + '
'; + if (f.type === 'lookup') + return '
' + label + '
'; + if (isMoneyCol(f)) + return '
' + label + '
'; + const ro = (!isNew && kf === id) ? ' readonly class="ro"' : ''; + return '
' + label + '
'; +} + +function readFormFields(host, fields) { + const out = {}; + fields.forEach((f) => { + if (f.type === 'checklist') { + const box = host.querySelector('.checklist[data-f="' + f.id + '"]'); + out[f.id] = box ? Array.from(box.querySelectorAll('input:checked')).map((i) => i.value) : []; + return; + } + const el = host.querySelector('[data-f="' + f.id + '"]'); + if (!el) return; + if (f.type === 'checkbox') out[f.id] = el.checked; + else if (isMoneyCol(f)) out[f.id] = el.value === '' ? null : Number(el.value); + else out[f.id] = el.value; + }); + return out; +} + +async function fillLookups(host, fields) { + for (const f of fields) { + if (f.type !== 'lookup' || !f.lookup) continue; + const sel = host.querySelector('select[data-f="' + f.id + '"]'); + if (!sel) continue; + const cur = sel.value; + const opts = await loadLookupOptions(f.lookup); + sel.innerHTML = '' + + opts.map((o) => '').join(''); + if (cur && !opts.some((o) => String(o.value) === String(cur))) { + const o = document.createElement('option'); + o.value = cur; o.textContent = cur; o.selected = true; + sel.appendChild(o); + } + } +} + +// ---------- FORM (paridad layout form FWH) ---------- +async function renderForm(doc) { + const main = $('main'); + const key = doc.dataRef; + const kf = keyFieldOf(doc); + const fields = doc.fields || []; + const tabs = doc.tabs || [{ id: 'all', label: 'Datos', fields: fields.map((f) => f.id) }]; + const j = await api.dataset(key); + const rows = j.ok ? (j.rows || []) : []; + let idx = 0; + let isNew = false; + let draft = rows[0] ? { ...rows[0] } : {}; + + const labelOf = (r) => { + if (!r) return '—'; + const n = r.name || r.title || r.label; + return (r[kf] != null ? r[kf] : '') + (n ? ' · ' + n : ''); + }; + + function paintShell() { + main.innerHTML = + '

' + esc(doc.title || doc.id) + '

' + + 'layout: form' + + '
' + + (hasTb(doc, 'add') ? '' : '') + + (hasTb(doc, 'edit') || hasTb(doc, 'add') ? '' : '') + + (hasTb(doc, 'delete') ? '' : '') + + (hasTb(doc, 'refresh') ? '' : '') + + '' + + '
' + + '
' + + '' + + '
' + + '
' + + '
' + + '
' + + '
'; + + const nav = $('form-nav-list'); + nav.innerHTML = rows.map((r, i) => + '').join('') || + '
Sin registros
'; + nav.querySelectorAll('[data-i]').forEach((b) => { + b.onclick = () => { + isNew = false; + idx = Number(b.dataset.i); + draft = { ...rows[idx] }; + paintShell(); + }; + }); + + const tabHost = $('form-tabs'); + let activeTab = tabs[0]?.id || 'all'; + tabHost.innerHTML = tabs.map((t, i) => + '').join(''); + + function fieldsOfTab(tid) { + const tab = tabs.find((t) => t.id === tid) || tabs[0]; + const ids = tab.fields || []; + return fields.filter((f) => ids.includes(f.id)); + } + function showTab(tid) { + // conservar valores de la pestaña actual antes de cambiar + const bodyPrev = $('form-body'); + if (bodyPrev) Object.assign(draft, readFormFields(bodyPrev, fieldsOfTab(activeTab))); + activeTab = tid; + tabHost.querySelectorAll('.form-tab').forEach((b) => b.classList.toggle('active', b.dataset.tab === tid)); + const fl = fieldsOfTab(tid); + const body = $('form-body'); + body.innerHTML = fl.map((f) => fieldControlHtml(f, draft[f.id], isNew, kf)).join('') || + '
Sin campos en esta pestaña
'; + fillLookups(body, fl); + } + tabHost.querySelectorAll('.form-tab').forEach((b) => { + b.onclick = () => showTab(b.dataset.tab); + }); + showTab(activeTab); + + $('form-pos').textContent = isNew ? 'Nuevo registro' : ((rows.length ? (idx + 1) : 0) + ' / ' + rows.length); + const tb = $('form-tb'); + tb.querySelector('[data-act="add"]')?.addEventListener('click', () => { + isNew = true; + draft = {}; + fields.forEach((f) => { if (f.default != null) draft[f.id] = f.default; }); + paintShell(); + }); + tb.querySelector('[data-act="ref"]')?.addEventListener('click', () => openScreen(doc.id)); + tb.querySelector('[data-act="del"]')?.addEventListener('click', async () => { + if (isNew || !rows[idx]) return; + if (!confirm('¿Eliminar ' + rows[idx][kf] + '?')) return; + const r = await api.datasetPost({ key, action: 'delete', keyField: kf, keyValue: rows[idx][kf] }); + if (!r.ok) alert(r.msg || 'Error'); + openScreen(doc.id); + }); + tb.querySelector('[data-act="save"]')?.addEventListener('click', async () => { + const bodyEl = $('form-body'); + Object.assign(draft, readFormFields(bodyEl, fieldsOfTab(activeTab))); + const out = { ...draft }; + const body = isNew + ? { key, action: 'add', row: out } + : { key, action: 'update', keyField: kf, keyValue: String(rows[idx][kf]), row: out }; + const r = await api.datasetPost(body); + if (!r.ok) { alert(r.msg || 'Error al guardar'); return; } + openScreen(doc.id); + }); + } + paintShell(); +} + +// ---------- MASTER-DETAIL / document ---------- +async function renderMasterDetail(doc) { + const main = $('main'); + const mKey = doc.dataRef; + const mKf = keyFieldOf(doc); + const cols = (doc.grid && doc.grid.columns) || []; + const det = doc.detail || {}; + const dKey = det.dataRef; + const dKf = det.keyField || 'code'; + const dCols = (det.grid && det.grid.columns) || []; + const masterFk = det.masterKey || mKf; + + const [jm, jd] = await Promise.all([api.dataset(mKey), api.dataset(dKey)]); + const masters = jm.ok ? (jm.rows || []) : []; + const allDetails = jd.ok ? (jd.rows || []) : []; + let sel = masters[0] || null; + let selDet = null; + + const fmt = (v, c) => { + if (isMoneyCol(c)) return v == null || v === '' ? '' : Number(v).toLocaleString('es', { minimumFractionDigits: 2, maximumFractionDigits: 2 }); + if (c.type === 'checkbox') return v ? '✔' : ''; + return v == null ? '' : String(v); + }; + + function detailsOf(m) { + if (!m) return []; + const mk = m[mKf]; + return allDetails.filter((r) => String(r[masterFk]) === String(mk)); + } + + function paint() { + const detRows = detailsOf(sel); + const tbM = toolbarIds(doc); + const tbD = Array.isArray(det.toolbar) ? det.toolbar : ['add', 'edit', 'delete', 'refresh']; + const hasM = (id) => tbM.includes(id); + const hasD = (id) => tbD.includes(id); + + main.innerHTML = + '

' + esc(doc.title || doc.id) + '

' + + 'layout: ' + esc(doc.layout) + '
' + + '
' + + '
' + + '
Maestro' + + '
' + + (hasM('add') ? '' : '') + + (hasM('edit') ? '' : '') + + (hasM('delete') ? '' : '') + + (hasM('excel') ? '' : '') + + (hasM('print') || hasM('pdf') ? '' : '') + + (hasM('refresh') ? '' : '') + + '' + + '' + + '
' + + '
' + + cols.map((c) => '' + esc(c.label) + '').join('') + + '
' + + '
' + + '
' + + '
' + esc(det.title || 'Detalle') + '' + + '
' + + (hasD('add') ? '' : '') + + (hasD('edit') ? '' : '') + + (hasD('delete') ? '' : '') + + (hasD('refresh') ? '' : '') + + '' + + '
' + + '
' + + dCols.map((c) => '' + esc(c.label) + '').join('') + + '
' + + '
' + + '
'; + + let q = ''; + function paintMaster() { + const tbody = main.querySelector('#md-master tbody'); + tbody.innerHTML = ''; + const f = q.toLowerCase(); + const vis = masters.filter((r) => !f || (doc.searchFields || cols.map((c) => c.id)) + .some((fld) => String(r[fld] ?? '').toLowerCase().includes(f))); + vis.forEach((r) => { + const tr = document.createElement('tr'); + if (sel && String(r[mKf]) === String(sel[mKf])) tr.classList.add('sel'); + cols.forEach((c) => { + const td = document.createElement('td'); + if (c.align === 'right' || isMoneyCol(c)) td.className = 'right'; + td.textContent = fmt(r[c.id], c); + tr.appendChild(td); + }); + tr.onclick = () => { sel = r; selDet = null; paint(); }; + tr.ondblclick = () => editMaster(r); + tbody.appendChild(tr); + }); + $('md-count').textContent = vis.length + ' / ' + masters.length; + } + + function paintDetail() { + const tbody = main.querySelector('#md-detail tbody'); + tbody.innerHTML = ''; + const rows = detailsOf(sel); + rows.forEach((r) => { + const tr = document.createElement('tr'); + if (selDet && String(r[dKf]) === String(selDet[dKf])) tr.classList.add('sel'); + dCols.forEach((c) => { + const td = document.createElement('td'); + if (c.align === 'right' || isMoneyCol(c)) td.className = 'right'; + td.textContent = fmt(r[c.id], c); + tr.appendChild(td); + }); + tr.onclick = () => { + selDet = r; + tbody.querySelectorAll('tr').forEach((x) => x.classList.remove('sel')); + tr.classList.add('sel'); + const be = main.querySelector('[data-d="edit"]'); + const bd = main.querySelector('[data-d="del"]'); + if (be) be.disabled = false; + if (bd) bd.disabled = false; + }; + tr.ondblclick = () => editDetail(r); + tbody.appendChild(tr); + }); + $('md-dcount').textContent = rows.length + ' líneas'; + } + + function editMaster(row) { + openEditModal(doc, cols, mKey, mKf, row, () => openScreen(doc.id)); + } + function editDetail(row) { + const isNew = !row; + const base = row ? { ...row } : {}; + if (isNew && sel) base[masterFk] = sel[mKf]; + openEditModal( + { ...det, keyField: dKf, title: det.title || 'Detalle' }, + dCols, dKey, dKf, isNew ? null : row, () => openScreen(doc.id), base + ); + } + + $('md-q').oninput = (e) => { q = e.target.value; paintMaster(); }; + main.querySelector('[data-m="ref"]')?.addEventListener('click', () => openScreen(doc.id)); + main.querySelector('[data-m="add"]')?.addEventListener('click', () => editMaster(null)); + main.querySelector('[data-m="edit"]')?.addEventListener('click', () => sel && editMaster(sel)); + main.querySelector('[data-m="del"]')?.addEventListener('click', async () => { + if (!sel) return; + if (!confirm('¿Eliminar ' + sel[mKf] + '?')) return; + const r = await api.datasetPost({ key: mKey, action: 'delete', keyField: mKf, keyValue: sel[mKf] }); + if (!r.ok) alert(r.msg || 'Error'); + openScreen(doc.id); + }); + main.querySelector('[data-m="excel"]')?.addEventListener('click', () => exportCsv(doc.title, cols, masters)); + main.querySelector('[data-m="print"]')?.addEventListener('click', () => printGrid(doc.title, cols, masters, fmt)); + main.querySelector('[data-d="ref"]')?.addEventListener('click', () => openScreen(doc.id)); + main.querySelector('[data-d="add"]')?.addEventListener('click', () => sel && editDetail(null)); + main.querySelector('[data-d="edit"]')?.addEventListener('click', () => selDet && editDetail(selDet)); + main.querySelector('[data-d="del"]')?.addEventListener('click', async () => { + if (!selDet) return; + if (!confirm('¿Eliminar línea ' + selDet[dKf] + '?')) return; + const r = await api.datasetPost({ key: dKey, action: 'delete', keyField: dKf, keyValue: selDet[dKf] }); + if (!r.ok) alert(r.msg || 'Error'); + openScreen(doc.id); + }); + + paintMaster(); + paintDetail(); + } + paint(); +} + +function openEditModal(docLike, cols, dataKey, kf, row, onDone, seed) { + const isNew = !row; + const vals = row ? { ...row } : { ...(seed || {}) }; + const overlay = document.createElement('div'); + overlay.className = 'overlay'; + overlay.innerHTML = + ''; + document.body.appendChild(overlay); + overlay.querySelector('[data-x]').onclick = () => overlay.remove(); + overlay.querySelector('[data-ok]').onclick = async () => { + const out = { ...vals }; + cols.forEach((c) => { + const el = overlay.querySelector('[data-f="' + c.id + '"]'); + if (!el) return; + if (c.type === 'checkbox') out[c.id] = el.checked; + else if (isMoneyCol(c)) out[c.id] = el.value === '' ? null : Number(el.value); + else out[c.id] = el.value; + }); + const body = isNew + ? { key: dataKey, action: 'add', row: out } + : { key: dataKey, action: 'update', keyField: kf, keyValue: String(row[kf]), row: out }; + const r = await api.datasetPost(body); + if (!r.ok) { alert(r.msg || 'Error'); return; } + overlay.remove(); + if (onDone) onDone(); + }; +} + +function renderGeneric(doc) { + const main = $('main'); + main.innerHTML = + '

' + esc(doc.title || doc.id) + '

' + + 'layout: ' + esc(doc.layout || '—') + '
' + + '
Layout ' + esc(doc.layout || 'especial') + ' (form, dashboard, master-detail…): ' + + 'en la rama HTTP de FiveTech se renderiza con el shell completo. ' + + 'La rama web 100% prioriza pantallas de lista/CRUD con el mismo contrato de datos.
' + + '
Meta JSON
' + esc(JSON.stringify(doc, null, 2)) + '
'; +} + +async function renderList(doc) { + const main = $('main'); + const key = doc.dataRef; + const kf = keyFieldOf(doc); + const cols = (doc.grid && doc.grid.columns) || []; + const j = await api.dataset(key); + const rows = j.ok ? (j.rows || []) : []; + const searchFields = doc.searchFields || cols.map((c) => c.id); + const filterCols = cols.filter((c) => c.type === 'select' && Array.isArray(c.options) && c.options.length); + const PAGE_SIZES = [10, 25, 50, 100]; + + const state = { + q: '', + colFilters: {}, + sortCol: null, + sortDir: 'asc', + page: 1, + pageSize: 25, + selected: null, + }; + + const tbBtn = (id, label, cls, extra) => + hasTb(doc, id) ? '' : ''; + + const filterBar = filterCols.length + ? '
' + + filterCols.map((c) => + '').join('') + + '
' + : ''; + + main.innerHTML = + '
' + + '

' + esc(doc.title || doc.id) + '

' + + '
' + + '' + + tbBtn('add', '+ Nuevo', 'primary') + + tbBtn('edit', 'Editar', '', ' disabled') + + tbBtn('delete', 'Eliminar', 'danger', ' disabled') + + tbBtn('print', 'Imprimir', '') + + tbBtn('pdf', 'PDF', '') + + tbBtn('excel', 'Excel', '') + + tbBtn('refresh', 'Refrescar', '') + + '
' + + '
' + + filterBar + + '
' + + cols.map((c) => { + const cls = [ + c.align === 'right' || isMoneyCol(c) ? 'right' : '', + 'sortable', + ].filter(Boolean).join(' '); + return ''; + }).join('') + + '
' + + esc(c.label) + '
' + + (doc.summary && doc.summary.showTotals ? '
' : '') + + '
' + + '
' + + '' + + '' + + '
' + + '
' + + '' + + '' + + '' + + '' + + '' + + '
' + + '
'; + + const tbody = main.querySelector('#grid tbody'); + + const fmt = (v, c) => { + if (isMoneyCol(c)) return v == null || v === '' ? '' : Number(v).toLocaleString('es', { minimumFractionDigits: 2, maximumFractionDigits: 2 }); + if (c.type === 'checkbox') return v ? '✔' : ''; + return v == null ? '' : String(v); + }; + + function cmpVal(a, b, c) { + if (isMoneyCol(c) || c.type === 'number') { + const na = Number(a), nb = Number(b); + if (!Number.isNaN(na) && !Number.isNaN(nb)) return na - nb; + } + if (c.type === 'checkbox') return (a ? 1 : 0) - (b ? 1 : 0); + return String(a ?? '').localeCompare(String(b ?? ''), 'es', { sensitivity: 'base', numeric: true }); + } + + function filteredSorted() { + const f = state.q.toLowerCase().trim(); + let list = rows.filter((r) => { + if (f && !searchFields.some((fld) => String(r[fld] ?? '').toLowerCase().includes(f))) return false; + for (const [cid, val] of Object.entries(state.colFilters)) { + if (val !== '' && String(r[cid] ?? '') !== String(val)) return false; + } + return true; + }); + if (state.sortCol) { + const col = cols.find((c) => c.id === state.sortCol) || { id: state.sortCol }; + const dir = state.sortDir === 'desc' ? -1 : 1; + list = list.slice().sort((a, b) => dir * cmpVal(a[state.sortCol], b[state.sortCol], col)); + } + return list; + } + + function pageSlice(list) { + const total = list.length; + const pages = Math.max(1, Math.ceil(total / state.pageSize) || 1); + if (state.page > pages) state.page = pages; + if (state.page < 1) state.page = 1; + const start = (state.page - 1) * state.pageSize; + return { list: list.slice(start, start + state.pageSize), total, pages, start }; + } + + function syncSelBtns() { + const ed = $('btn-edit'), del = $('btn-delete'); + if (ed) ed.disabled = !state.selected; + if (del) del.disabled = !state.selected; + } + + function paintTotals(visibleAll) { + const el = $('list-totals'); + if (!el || !doc.summary || !doc.summary.fields) return; + const parts = (doc.summary.fields || []).map((fid) => { + const sum = visibleAll.reduce((a, r) => a + (Number(r[fid]) || 0), 0); + const col = cols.find((c) => c.id === fid); + return esc(col ? col.label : fid) + ': ' + sum.toLocaleString('es', { minimumFractionDigits: 2 }) + ''; + }); + el.innerHTML = 'Totales (filtrados): ' + parts.join(' · '); + } + + function paintSortInd() { + main.querySelectorAll('.sort-ind').forEach((el) => { + const id = el.getAttribute('data-ind'); + if (id === state.sortCol) el.textContent = state.sortDir === 'asc' ? '▲' : '▼'; + else el.textContent = ''; + el.parentElement.classList.toggle('sorted', id === state.sortCol); + }); + } + + function paint() { + const all = filteredSorted(); + const { list: pageRows, total, pages, start } = pageSlice(all); + tbody.innerHTML = ''; + if (!pageRows.length) { + const tr = document.createElement('tr'); + tr.innerHTML = 'Sin registros con los filtros actuales'; + tbody.appendChild(tr); + } else { + pageRows.forEach((r) => { + const tr = document.createElement('tr'); + if (state.selected && String(r[kf]) === String(state.selected[kf])) tr.classList.add('sel'); + cols.forEach((c) => { + const td = document.createElement('td'); + if (c.align === 'right' || isMoneyCol(c)) td.className = 'right'; + td.textContent = fmt(r[c.id], c); + tr.appendChild(td); + }); + tr.onclick = () => { + state.selected = r; + tbody.querySelectorAll('tr').forEach((x) => x.classList.remove('sel')); + tr.classList.add('sel'); + syncSelBtns(); + }; + tr.ondblclick = () => { if (hasTb(doc, 'edit')) editRow(r, all); }; + tbody.appendChild(tr); + }); + } + const end = total ? Math.min(start + pageRows.length, total) : 0; + $('rowcount').textContent = total + ? (start + 1) + '–' + end + ' de ' + total + (total !== rows.length ? ' (total ' + rows.length + ')' : '') + ' filas' + : '0 / ' + rows.length + ' filas'; + $('pg-info').textContent = 'Pág. ' + state.page + ' / ' + pages; + const disFirst = state.page <= 1; + const disLast = state.page >= pages; + $('pg-first').disabled = disFirst; + $('pg-prev').disabled = disFirst; + $('pg-next').disabled = disLast; + $('pg-last').disabled = disLast; + paintSortInd(); + paintTotals(all); + syncSelBtns(); + } + + // eventos toolbar / filtros / paginación / sort + if ($('q')) $('q').oninput = (e) => { state.q = e.target.value; state.page = 1; paint(); }; + main.querySelectorAll('[data-ff]').forEach((sel) => { + sel.onchange = () => { + state.colFilters[sel.getAttribute('data-ff')] = sel.value; + state.page = 1; + paint(); + }; + }); + if ($('btn-clear-filters')) { + $('btn-clear-filters').onclick = () => { + state.colFilters = {}; + state.q = ''; + if ($('q')) $('q').value = ''; + main.querySelectorAll('[data-ff]').forEach((s) => { s.value = ''; }); + state.page = 1; + paint(); + }; + } + main.querySelectorAll('th[data-sort]').forEach((th) => { + th.onclick = () => { + const id = th.getAttribute('data-sort'); + if (state.sortCol === id) state.sortDir = state.sortDir === 'asc' ? 'desc' : 'asc'; + else { state.sortCol = id; state.sortDir = 'asc'; } + paint(); + }; + }); + if ($('page-size')) { + $('page-size').onchange = (e) => { + state.pageSize = Number(e.target.value) || 25; + state.page = 1; + paint(); + }; + } + if ($('pg-first')) $('pg-first').onclick = () => { state.page = 1; paint(); }; + if ($('pg-prev')) $('pg-prev').onclick = () => { state.page = Math.max(1, state.page - 1); paint(); }; + if ($('pg-next')) $('pg-next').onclick = () => { state.page += 1; paint(); }; + if ($('pg-last')) $('pg-last').onclick = () => { + const pages = Math.max(1, Math.ceil(filteredSorted().length / state.pageSize) || 1); + state.page = pages; + paint(); + }; + + if ($('btn-refresh')) $('btn-refresh').onclick = () => openScreen(doc.id); + if ($('btn-add')) $('btn-add').onclick = () => editRow(null, filteredSorted()); + if ($('btn-edit')) $('btn-edit').onclick = () => { if (state.selected) editRow(state.selected, filteredSorted()); }; + if ($('btn-delete')) $('btn-delete').onclick = async () => { + if (!state.selected) return; + if (!confirm('¿Eliminar ' + state.selected[kf] + '?')) return; + const r = await api.datasetPost({ key, action: 'delete', keyField: kf, keyValue: state.selected[kf] }); + if (!r.ok) alert(r.msg || 'Error'); + openScreen(doc.id); + }; + if ($('btn-excel')) $('btn-excel').onclick = () => exportCsv(doc.title || doc.id, cols, filteredSorted()); + if ($('btn-print')) $('btn-print').onclick = () => printGrid(doc.title || doc.id, cols, filteredSorted(), fmt); + if ($('btn-pdf')) $('btn-pdf').onclick = () => printGrid((doc.title || doc.id) + ' (PDF)', cols, filteredSorted(), fmt); + + function editRow(row, navList) { + const list = Array.isArray(navList) ? navList : filteredSorted(); + let isNew = !row; + let cur = row ? { ...row } : {}; + let navIdx = row ? list.findIndex((r) => String(r[kf]) === String(row[kf])) : -1; + + const overlay = document.createElement('div'); + overlay.className = 'overlay'; + + function readOut() { + const out = { ...cur }; + cols.forEach((c) => { + const el = overlay.querySelector('[data-f="' + c.id + '"]'); + if (!el) return; + if (c.type === 'checkbox') out[c.id] = el.checked; + else if (isMoneyCol(c)) out[c.id] = el.value === '' ? null : Number(el.value); + else out[c.id] = el.value; + }); + return out; + } + + function paintModal() { + const title = isNew ? 'Nuevo registro' : ('Editar ' + esc(String(cur[kf] ?? ''))); + const nav = !isNew && list.length + ? '' + : ''; + overlay.innerHTML = + ''; + + const firstInput = overlay.querySelector('input:not([readonly]), select, textarea'); + if (firstInput) setTimeout(() => firstInput.focus(), 30); + + overlay.querySelector('[data-x]').onclick = () => { document.removeEventListener('keydown', onKey); overlay.remove(); }; + overlay.querySelector('[data-new]')?.addEventListener('click', () => { + isNew = true; + cur = {}; + navIdx = -1; + paintModal(); + }); + overlay.querySelectorAll('[data-nav]').forEach((b) => { + b.onclick = () => { + if (isNew || !list.length) return; + const act = b.getAttribute('data-nav'); + if (act === 'first') navIdx = 0; + else if (act === 'prev') navIdx = Math.max(0, navIdx - 1); + else if (act === 'next') navIdx = Math.min(list.length - 1, navIdx + 1); + else if (act === 'last') navIdx = list.length - 1; + cur = { ...list[navIdx] }; + isNew = false; + paintModal(); + }; + }); + overlay.querySelector('#list-edit-form').onsubmit = async (e) => { + e.preventDefault(); + const out = readOut(); + if (isNew && kf && (out[kf] == null || String(out[kf]).trim() === '')) { + alert('Indique la clave (' + kf + ')'); + return; + } + const body = isNew + ? { key, action: 'add', row: out } + : { key, action: 'update', keyField: kf, keyValue: String(row ? row[kf] : cur[kf]), row: out }; + // si navegamos, keyValue es la clave del registro actual en pantalla + if (!isNew) body.keyValue = String(cur[kf]); + const r = await api.datasetPost(body); + if (!r.ok) { alert(r.msg || 'Error al guardar'); return; } + document.removeEventListener('keydown', onKey); + overlay.remove(); + openScreen(doc.id); + }; + } + + function onKey(ev) { + if (ev.key === 'Escape') { + document.removeEventListener('keydown', onKey); + overlay.remove(); + } + } + document.addEventListener('keydown', onKey); + document.body.appendChild(overlay); + paintModal(); + } + + paint(); +} + +function fieldHtml(c, v, isNew, kf) { + const id = c.id; + const label = ''; + const val = v == null ? '' : v; + if (c.type === 'checkbox') + return '
' + label + '
'; + if (c.type === 'select') + return '
' + label + '
'; + if (isMoneyCol(c)) + return '
' + label + '
'; + const ro = (!isNew && kf === id) ? ' readonly class="ro"' : ''; + return '
' + label + '
'; +} + +function esc(s) { + return String(s ?? '').replace(/[&<>"']/g, (c) => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c])); +} + +// ---------------------------------------------------------------- procesos (herramienta FWH) +async function renderProcesses() { + const main = $('main'); + main.innerHTML = '
Cargando procesos…
'; + const j = await api.processGet(); + if (!j.ok) { main.innerHTML = '
Procesos no disponibles
'; return; } + const items = j.items || []; + const handlers = j.handlers || []; + main.innerHTML = + '

Procesos

' + + 'handlers registrados: ' + (Array.isArray(handlers) ? handlers.length : Object.keys(handlers).length) + '
' + + '
' + + items.map((it, i) => + '
' + esc(it.title || it.key) + '' + + '
' + esc(it.key) + ' · handler: ' + esc(it.handler || '—') + '
' + + '
').join('') + + '
';
+  main.querySelectorAll('[data-run]').forEach((btn) => {
+    btn.onclick = async () => {
+      const it = items[Number(btn.dataset.run)];
+      $('proc-out').textContent = 'Ejecutando ' + it.key + '…';
+      const r = await api.processPost({ key: it.key, params: {} });
+      $('proc-out').textContent = JSON.stringify(r, null, 2);
+    };
+  });
+}
+
+// ---------------------------------------------------------------- herramienta de cargue y ramas
+(function initTool() {
+  const btn = $('btn-tool'), panel = $('tool-panel');
+  if (!btn || !panel) return;
+  const mount = location.pathname.split('/')[1] || 'portal';
+  btn.onclick = () => {
+    panel.classList.toggle('hidden');
+    if (!panel.classList.contains('hidden')) {
+      const b = window.__RAMA__ ? window.__RAMA__.branch : 'web';
+      const label = b === 'pc' ? '1 · PC (escritorio)'
+        : b === 'hibrida' ? '2 · WebView + HTTP'
+        : '3 · Web 100%';
+      $('tool-rama').textContent = label;
+      if ($('tool-cmd-pc')) $('tool-cmd-pc').textContent = 'set ZWEB_FRONT=' + mount + ' && FiveTech_ERP_local.exe';
+    }
+  };
+  const cp = $('tool-copy-pc');
+  if (cp) cp.onclick = () => {
+    navigator.clipboard.writeText($('tool-cmd-pc').textContent).then(() => {
+      cp.textContent = 'Copiado';
+      setTimeout(() => { cp.textContent = 'Copiar'; }, 1200);
+    });
+  };
+  const ipIn = $('tool-ip');
+  const prev = $('tool-url-preview');
+  if (ipIn) {
+    let h = location.hostname;
+    if (!h || h === 'localhost') h = '127.0.0.1';
+    ipIn.value = h;
+  }
+  const remoteUrl = () => 'http://' + ((ipIn && ipIn.value.trim()) || location.hostname || '127.0.0.1') + ':2222/portal/';
+  const refreshPrev = () => { if (prev) prev.textContent = 'Enlace: ' + remoteUrl(); };
+  refreshPrev();
+  if (ipIn) ipIn.addEventListener('input', refreshPrev);
+  const openExt = (u) => (window.__openExternal ? window.__openExternal(u) : window.open(u, '_blank'));
+  const ol = $('tool-open-local');
+  if (ol) {
+    ol.onclick = (ev) => {
+      ev.preventDefault();
+      openExt('http://127.0.0.1:2222/portal/');
+    };
+  }
+  const orr = $('tool-open-remote');
+  if (orr) orr.onclick = () => openExt(remoteUrl());
+  const crm = $('tool-copy-remote');
+  if (crm) crm.onclick = () => {
+    navigator.clipboard.writeText(remoteUrl()).then(() => {
+      crm.textContent = '¡Copiado!';
+      setTimeout(() => { crm.textContent = 'Copiar enlace'; }, 1400);
+    });
+  };
+  panel.addEventListener('click', (ev) => {
+    const a = ev.target && ev.target.closest ? ev.target.closest('a[href]') : null;
+    if (!a || a.id === 'tool-open-local') return;
+    ev.preventDefault();
+    openExt(a.getAttribute('href'));
+  });
+})();
+
+// ---------------------------------------------------------------- arranque
+(function initLoginExtras() {
+  const d = new Date();
+  const iso = d.getFullYear() + '-' + String(d.getMonth() + 1).padStart(2, '0') + '-' + String(d.getDate()).padStart(2, '0');
+  if ($('login-date')) $('login-date').value = iso;
+  if ($('btn-theme')) $('btn-theme').onclick = toggleTheme;
+})();
+
+(async function boot() {
+  // ¿Hay sesión viva? (cookie DWSESS la envía el navegador automáticamente)
+  try {
+    const j = await api.context();
+    if (j.ok) { ctx = j; return enterApp(); }
+  } catch (e) { /* sin sesión */ }
+  showLogin();
+})();
diff --git a/samples/projects/FiveTech_ERP/frontends/vanilla/container.js b/samples/projects/FiveTech_ERP/frontends/vanilla/container.js
new file mode 100644
index 0000000..eb6f4ed
--- /dev/null
+++ b/samples/projects/FiveTech_ERP/frontends/vanilla/container.js
@@ -0,0 +1,48 @@
+// Detección de rama/contenedor — el MISMO bundle corre en las 3 ramas.
+// La rama solo cambia el contenedor que hospeda el SPA; el contrato HTTP es idéntico.
+//   pc      → WebView2 (window.chrome.webview) dentro del exe desktop
+//   hibrida → WebView2 + pantallas nativas conviviendo (bridge SendToFWH presente)
+//   web     → navegador real (cualquier dispositivo)
+(function () {
+  const hasWebView = !!(window.chrome && window.chrome.webview);
+  const hasNativeBridge = typeof window.SendToFWH === 'function';
+  let branch = 'web';
+  if (hasWebView) branch = hasNativeBridge ? 'hibrida' : 'pc';
+  window.__RAMA__ = {
+    branch,
+    webview: hasWebView,
+    nativeBridge: hasNativeBridge,
+    capabilities: {
+      fkeys: branch !== 'web',
+      nativePrint: hasNativeBridge,
+      touch: matchMedia('(pointer: coarse)').matches,
+    },
+  };
+  document.documentElement.setAttribute('data-rama', branch);
+
+  // Navegador por defecto del SO (ShellExecute nativo). No toca la rama embebida.
+  // En WebView2 NUNCA window.open (NewWindowRequested → Navigate in-place).
+  function absUrl(u) {
+    try { return new URL(u, location.href).href; } catch (e) { return String(u || ''); }
+  }
+  window.__openExternal = function openExternal(url) {
+    url = absUrl(url);
+    if (!url) return false;
+    if (hasWebView) {
+      try { window.chrome.webview.postMessage(JSON.stringify({ cmd: 'open', url: url })); } catch (e1) {}
+      try { window.chrome.webview.postMessage('open:' + url); } catch (e2) {}
+    }
+    try {
+      fetch('/api/open-browser', {
+        method: 'POST',
+        headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
+        body: 'url=' + encodeURIComponent(url),
+        credentials: 'same-origin',
+      }).catch(function () {});
+    } catch (e3) {}
+    if (!hasWebView) {
+      try { window.open(url, '_blank', 'noopener'); } catch (e4) {}
+    }
+    return false;
+  };
+})();
diff --git a/samples/projects/FiveTech_ERP/frontends/vanilla/index.html b/samples/projects/FiveTech_ERP/frontends/vanilla/index.html
new file mode 100644
index 0000000..15f54f0
--- /dev/null
+++ b/samples/projects/FiveTech_ERP/frontends/vanilla/index.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+FiveTech ERP — Rama Web (Vanilla)
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/projects/FiveTech_ERP/frontends/vanilla/styles.css b/samples/projects/FiveTech_ERP/frontends/vanilla/styles.css
new file mode 100644
index 0000000..d0ab5ba
--- /dev/null
+++ b/samples/projects/FiveTech_ERP/frontends/vanilla/styles.css
@@ -0,0 +1,215 @@
+:root {
+  --bg: #0e1116;
+  --bg2: #161b23;
+  --bg3: #1e2530;
+  --line: #2a3342;
+  --txt: #e6ebf2;
+  --txt2: #8b98ab;
+  --acc: #3b82f6;
+  --acc2: #2563eb;
+  --ok: #22c55e;
+  --danger: #ef4444;
+}
+[data-theme="light"] {
+  --bg: #f1f5f9;
+  --bg2: #ffffff;
+  --bg3: #e2e8f0;
+  --line: #cbd5e1;
+  --txt: #0f172a;
+  --txt2: #64748b;
+  --acc: #2563eb;
+  --acc2: #1d4ed8;
+}
+* { margin: 0; padding: 0; box-sizing: border-box; }
+body { background: var(--bg); color: var(--txt); font: 14px/1.45 "Segoe UI", system-ui, sans-serif; }
+.hidden { display: none !important; }
+
+/* ---------- login ---------- */
+.login-wrap { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(1200px 600px at 50% -10%, #16233b 0%, var(--bg) 60%); }
+.login-card { width: 340px; background: var(--bg2); border: 1px solid var(--line); border-radius: 14px; padding: 28px; box-shadow: 0 20px 60px rgba(0,0,0,.45); }
+.login-brand { font-size: 22px; font-weight: 600; }
+.login-sub { color: var(--txt2); font-size: 12px; margin: 4px 0 20px; }
+.login-card label { display: block; color: var(--txt2); font-size: 12px; margin: 12px 0 4px; }
+.login-card input { width: 100%; background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; outline: none; }
+.login-card input:focus { border-color: var(--acc); }
+.login-card button { width: 100%; margin-top: 18px; background: var(--acc); border: 0; color: #fff; padding: 10px; border-radius: 8px; font-size: 14px; cursor: pointer; }
+.login-card button:hover { background: var(--acc2); }
+.login-card button:disabled { opacity: .6; cursor: wait; }
+.login-error { color: var(--danger); font-size: 12px; margin-top: 10px; min-height: 14px; }
+
+/* ---------- shell ---------- */
+.app { display: flex; flex-direction: column; height: 100vh; }
+.topbar { height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; background: var(--bg2); border-bottom: 1px solid var(--line); }
+.topbar-left { display: flex; align-items: center; gap: 10px; }
+.brand { font-weight: 600; font-size: 15px; }
+.branch-tag { font-size: 11px; color: var(--acc); border: 1px solid var(--acc2); border-radius: 999px; padding: 2px 9px; }
+.topbar-right { display: flex; align-items: center; gap: 8px; }
+.topbar select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 5px 8px; }
+.user-chip { color: var(--txt2); font-size: 12px; margin-left: 6px; }
+.btn-ghost { background: none; border: 1px solid var(--line); color: var(--txt); border-radius: 7px; padding: 5px 12px; cursor: pointer; }
+.btn-ghost:hover { border-color: var(--danger); color: var(--danger); }
+
+.body { flex: 1; display: flex; min-height: 0; }
+.btn-icon-bar {
+  background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px;
+  width: 36px; height: 34px; cursor: pointer; font-size: 16px; line-height: 1; flex-shrink: 0;
+}
+.btn-icon-bar:hover { border-color: var(--acc); }
+.btn-dash { font-size: 12.5px; }
+.sidebar {
+  width: 240px; min-width: 240px; background: var(--bg2); border-right: 1px solid var(--line);
+  overflow-x: hidden; overflow-y: auto; padding: 10px 8px;
+  transition: width .2s ease, min-width .2s ease, padding .2s ease, opacity .15s ease;
+  flex-shrink: 0;
+}
+.body.sidebar-collapsed .sidebar {
+  width: 0; min-width: 0; padding: 0; border: 0; opacity: 0; pointer-events: none;
+}
+.nav-pin {
+  display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; padding-bottom: 8px;
+  border-bottom: 1px solid var(--line);
+}
+.nav-group { margin-bottom: 2px; }
+.nav-section {
+  display: flex; align-items: center; justify-content: space-between; gap: 6px;
+  width: 100%; text-align: left; background: none; border: 0; color: var(--txt2);
+  font-size: 11px; text-transform: uppercase; letter-spacing: .08em; padding: 12px 10px 4px;
+  cursor: pointer; border-radius: 6px;
+}
+.nav-section:hover { color: var(--txt); background: var(--bg3); }
+.nav-section .chev { font-size: 10px; opacity: .75; transition: transform .15s; }
+.nav-group.collapsed .nav-section .chev { transform: rotate(-90deg); }
+.nav-group.collapsed .nav-group-body { display: none; }
+.nav-item { display: block; width: 100%; text-align: left; background: none; border: 0; color: var(--txt); padding: 7px 10px; border-radius: 7px; cursor: pointer; font-size: 13px; }
+.nav-item:hover { background: var(--bg3); }
+.nav-item.active { background: var(--acc2); color: #fff; }
+.nav-item.sub { padding-left: 24px; color: var(--txt2); }
+.nav-item.dash { color: var(--acc); font-weight: 500; }
+@media (max-width: 720px) {
+  .sidebar { position: absolute; z-index: 30; height: calc(100% - 52px); box-shadow: 8px 0 24px rgba(0,0,0,.35); }
+  .body.sidebar-collapsed .sidebar { box-shadow: none; }
+}
+
+.main { flex: 1; overflow: auto; padding: 18px 22px; }
+.loading, .empty { color: var(--txt2); padding: 40px; text-align: center; }
+.empty b { color: var(--txt); }
+details pre { margin-top: 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 8px; padding: 12px; overflow: auto; font-size: 12px; }
+
+.screen-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; flex-wrap: wrap; }
+.screen-head h2 { font-size: 19px; }
+.layout-tag { color: var(--txt2); font-size: 12px; border: 1px solid var(--line); border-radius: 999px; padding: 2px 9px; margin-left: 10px; }
+
+.toolbar { display: flex; align-items: center; gap: 8px; }
+.search { background: var(--bg3); border: 1px solid var(--line); color: var(--txt); border-radius: 8px; padding: 7px 11px; width: 260px; outline: none; }
+.search:focus { border-color: var(--acc); }
+.btn { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px; padding: 7px 13px; cursor: pointer; font-size: 13px; }
+.btn:hover { border-color: var(--acc); }
+.btn:disabled { opacity: .45; cursor: default; }
+.btn.primary { background: var(--acc); border-color: var(--acc); color: #fff; }
+.btn.primary:hover { background: var(--acc2); }
+.btn.danger:hover { border-color: var(--danger); color: var(--danger); }
+.rowcount { color: var(--txt2); font-size: 12px; margin-left: 6px; }
+
+.grid-wrap { border: 1px solid var(--line); border-radius: 10px; overflow: auto; background: var(--bg2); }
+table { border-collapse: collapse; width: 100%; }
+th, td { padding: 8px 12px; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; }
+th { background: var(--bg3); color: var(--txt2); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; position: sticky; top: 0; }
+th.right, td.right { text-align: right; }
+tbody tr { cursor: pointer; }
+tbody tr:hover { background: var(--bg3); }
+tbody tr.sel { background: #1d3a5f; }
+
+/* ---------- modal ---------- */
+.overlay { position: fixed; inset: 0; background: rgba(0,0,0,.55); display: grid; place-items: center; z-index: 50; }
+.modal { width: min(560px, 92vw); max-height: 86vh; overflow: auto; background: var(--bg2); border: 1px solid var(--line); border-radius: 12px; padding: 20px; }
+.modal h3 { margin-bottom: 14px; }
+.form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
+.field label { display: block; color: var(--txt2); font-size: 12px; margin-bottom: 3px; }
+.field input, .field select { width: 100%; background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 8px 10px; outline: none; }
+.field input:focus, .field select:focus { border-color: var(--acc); }
+.field input.ro { opacity: .6; }
+.field.chk { display: flex; align-items: center; gap: 8px; }
+.field.chk label { margin: 0; }
+.field.chk input { width: auto; }
+.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
+
+/* paridad FWH: boton de tema + procesos */
+.theme-fab { position: fixed; top: 14px; right: 14px; z-index: 60; background: var(--bg2); color: var(--txt); border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; cursor: pointer; }
+.theme-fab:hover { border-color: var(--acc); }
+input[type="date"] { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 5px 8px; }
+.login-card input[type="date"] { width: 100%; }
+.proc-list { display: flex; flex-direction: column; gap: 8px; max-width: 720px; }
+.proc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; }
+.proc-sub { color: var(--txt2); font-size: 12px; }
+.proc-out { margin-top: 14px; background: var(--bg2); border: 1px solid var(--line); border-radius: 8px; padding: 12px; min-height: 60px; max-height: 320px; overflow: auto; font-size: 12px; color: var(--txt); }
+
+/* herramienta de cargue y ramas (login) */
+.tool-toggle { width: 100%; margin-top: 10px; background: none; border: 1px dashed var(--line); color: var(--txt2); border-radius: 8px; padding: 7px; cursor: pointer; font-size: 12.5px; }
+.tool-toggle:hover { border-color: var(--acc); color: var(--txt); }
+.tool-panel { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 12px; display: flex; flex-direction: column; gap: 10px; text-align: left; }
+.tool-row { font-size: 12px; color: var(--txt2); display: flex; flex-direction: column; gap: 5px; }
+.tool-row b { color: var(--txt); }
+.tool-row code { background: var(--bg3); border: 1px solid var(--line); border-radius: 6px; padding: 4px 7px; font-size: 11px; color: var(--txt); word-break: break-all; }
+.tool-links { display: flex; gap: 8px; flex-wrap: wrap; }
+.tool-links a { color: var(--acc); text-decoration: none; border: 1px solid var(--line); border-radius: 999px; padding: 2px 10px; font-size: 12px; }
+.tool-links a:hover { border-color: var(--acc); }
+.tool-row .btn { align-self: flex-start; padding: 4px 10px; font-size: 11.5px; }
+
+.login-card .tool-toggle { background: none; border: 1px dashed var(--line); color: var(--txt2); }
+.login-card .tool-toggle:hover { border-color: var(--acc); color: var(--txt); background: none; }
+
+.tool-ip { background: var(--bg3); border: 1px solid var(--line); color: var(--txt); border-radius: 999px; padding: 3px 10px; font-size: 12px; width: 130px; }
+.tool-note { font-size: 11px; opacity: .8; }
+.list-totals { padding: 8px 14px; font-size: 12.5px; color: var(--txt2); border-top: 1px solid var(--line); background: var(--bg2); }
+.list-totals b { color: var(--txt); }
+
+/* lista estándar web: filtros, sort, pie paginación, modal nav */
+.list-filters { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin: 0 0 12px; padding: 10px 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 10px; }
+.filter-chip { display: flex; flex-direction: column; gap: 3px; font-size: 11px; color: var(--txt2); }
+.filter-chip select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 6px 8px; min-width: 120px; }
+th.sortable { cursor: pointer; user-select: none; }
+th.sortable:hover { color: var(--txt); }
+th.sorted { color: var(--acc); }
+.sort-ind { font-size: 9px; opacity: .85; margin-left: 2px; }
+.empty-cell { text-align: center !important; color: var(--txt2); padding: 28px !important; cursor: default; }
+.list-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 10px; padding: 8px 4px; }
+.foot-left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
+.foot-nav { display: flex; align-items: center; gap: 6px; }
+.page-size { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--txt2); }
+.page-size select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 4px 8px; }
+.pg-info { font-size: 12px; color: var(--txt2); min-width: 72px; text-align: center; }
+.btn-icon { padding: 5px 10px; min-width: 34px; font-size: 14px; line-height: 1; }
+.modal-form { width: min(640px, 94vw); }
+.modal-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
+.modal-head h3 { margin: 0; }
+.modal-nav { display: flex; align-items: center; gap: 4px; }
+
+/* form layout */
+.form-layout { display: grid; grid-template-columns: 240px 1fr; gap: 0; flex: 1; min-height: 0; border-top: 1px solid var(--line); }
+.form-nav { border-right: 1px solid var(--line); background: var(--bg2); overflow: auto; max-height: calc(100vh - 120px); }
+.form-nav-title { padding: 10px 12px; font-size: 12px; color: var(--txt2); font-weight: 600; border-bottom: 1px solid var(--line); }
+.form-nav-item { display: block; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--line); color: var(--txt); padding: 10px 12px; cursor: pointer; font-size: 12.5px; }
+.form-nav-item:hover { background: var(--bg3); }
+.form-nav-item.active { background: var(--bg3); border-left: 3px solid var(--acc); }
+.form-main { display: flex; flex-direction: column; min-width: 0; overflow: auto; }
+.form-tabs { display: flex; gap: 4px; padding: 10px 12px 0; flex-wrap: wrap; border-bottom: 1px solid var(--line); }
+.form-tab { background: none; border: 1px solid transparent; border-bottom: 0; color: var(--txt2); padding: 8px 12px; border-radius: 8px 8px 0 0; cursor: pointer; font-size: 12.5px; }
+.form-tab.active { background: var(--bg2); color: var(--txt); border-color: var(--line); }
+.form-body { padding: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
+.form-body .field { margin: 0; }
+.form-body .field.chk { grid-column: 1 / -1; }
+.checklist { display: flex; flex-wrap: wrap; gap: 8px 14px; }
+.chk-item { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--txt); cursor: pointer; }
+.chk-item input { width: auto; }
+
+/* master-detail */
+.md-layout { display: grid; grid-template-rows: 1fr 1fr; gap: 0; flex: 1; min-height: 0; }
+.md-master, .md-detail { display: flex; flex-direction: column; min-height: 0; border-top: 1px solid var(--line); }
+.md-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; background: var(--bg2); flex-wrap: wrap; }
+.md-head b { font-size: 13px; }
+.md-master .grid-wrap, .md-detail .grid-wrap { flex: 1; overflow: auto; max-height: 36vh; }
+@media (max-width: 900px) {
+  .form-layout { grid-template-columns: 1fr; }
+  .form-body { grid-template-columns: 1fr; }
+  .md-layout { grid-template-rows: auto auto; }
+}
diff --git a/samples/projects/FiveTech_ERP/frontends/vue/index.html b/samples/projects/FiveTech_ERP/frontends/vue/index.html
new file mode 100644
index 0000000..219a449
--- /dev/null
+++ b/samples/projects/FiveTech_ERP/frontends/vue/index.html
@@ -0,0 +1,12 @@
+
+
+
+  
+  
+  FiveTech ERP — Rama Web (Vue)
+
+
+  
+ + + diff --git a/samples/projects/FiveTech_ERP/frontends/vue/package-lock.json b/samples/projects/FiveTech_ERP/frontends/vue/package-lock.json new file mode 100644 index 0000000..9e30d93 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/vue/package-lock.json @@ -0,0 +1,1340 @@ +{ + "name": "web-vue", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web-vue", + "version": "0.1.0", + "dependencies": { + "vue": "^3.5.13" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.3", + "vite": "^6.3.5" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", + "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.4.tgz", + "integrity": "sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.4.tgz", + "integrity": "sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.4.tgz", + "integrity": "sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.4.tgz", + "integrity": "sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.4.tgz", + "integrity": "sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.4.tgz", + "integrity": "sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.4.tgz", + "integrity": "sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.4.tgz", + "integrity": "sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.4.tgz", + "integrity": "sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.4.tgz", + "integrity": "sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.4.tgz", + "integrity": "sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.4.tgz", + "integrity": "sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.4.tgz", + "integrity": "sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.4.tgz", + "integrity": "sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.4.tgz", + "integrity": "sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.4.tgz", + "integrity": "sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.4.tgz", + "integrity": "sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.4.tgz", + "integrity": "sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.4.tgz", + "integrity": "sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.4.tgz", + "integrity": "sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.4.tgz", + "integrity": "sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.4.tgz", + "integrity": "sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.4.tgz", + "integrity": "sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.4.tgz", + "integrity": "sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.4.tgz", + "integrity": "sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.41.tgz", + "integrity": "sha512-q0Xtv/F9w2YO/7htQhtiL+Ev2WCJbe5N2hc+XfgyKkEKqWpSxknmT8QOuGdEKNdjPq0c3F7rNpFkTo3Kfrm7pg==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.8", + "@vue/shared": "3.5.41", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.41.tgz", + "integrity": "sha512-oKacVfNglLvGjnS6BXOlGL7EyG2h8X03pqXCjzotRZUaXGjbrTJUnVAQjrCqUnS+lyu31nwQjZY/d817GmCnfw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.41", + "@vue/shared": "3.5.41" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.41.tgz", + "integrity": "sha512-XJhip7R2wy6vX3knCxdZN4KracFaZUef58s1KYewqluedHIJaPIVfXoYT7MF1F8nCvv6k8bWWxDC8opMkg1VTQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.8", + "@vue/compiler-core": "3.5.41", + "@vue/compiler-dom": "3.5.41", + "@vue/compiler-ssr": "3.5.41", + "@vue/shared": "3.5.41", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.19", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.41.tgz", + "integrity": "sha512-U3v5OejKEGqOI0Wy0+Sz7hGuIFZHA4LSXzrNM3IMIeDyJEBBfTpX26n3SDgToRpP2bLc9FfI2j/kSgcJ8Emq5A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.41", + "@vue/shared": "3.5.41" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.41.tgz", + "integrity": "sha512-rznsqKM0np0x18EjzF8x88MpEhdNsffbvFbckLL5+oUKz1BxAImEmO7J1ArRYSyo6aQaVoBDp7jEkT91OOxydA==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.41" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.41.tgz", + "integrity": "sha512-Vcry58hiAKwGen9Z1jUZE0feFsNArPCMOImYI8el48A9Idf6DuQYD0U05zZIF2Iad1hGhPSvcbBbAOhNr55fhg==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.41", + "@vue/shared": "3.5.41" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.41.tgz", + "integrity": "sha512-3vVBahVBS9+U6cmXBLyb8nE6/yYo4J/CGI9eVFs3KiMc0YHuudwKyShTD65jtJy/L9PUUxNAFu4cj4LiJ0UFbw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.41", + "@vue/runtime-core": "3.5.41", + "@vue/shared": "3.5.41", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.41.tgz", + "integrity": "sha512-n6hx/pNFfbD6SuyeuMVkvqox8bwf/ET9JlA/kAz/imw8sw++wkqKe2mHX5KutjPpbKE4Z56yTHszoOjGMI9igQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.41", + "@vue/runtime-dom": "3.5.41", + "@vue/shared": "3.5.41" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.41.tgz", + "integrity": "sha512-IOnwSCma8j+9xJT6b8H0dEYidC80NsYmNMlZxRsukYcSoGaDBohog5hDxzeUXdFeGWFA++vWvxqOmrr96VlqMA==", + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/nanoid": { + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz", + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz", + "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.17", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/rollup": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.4.tgz", + "integrity": "sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.62.4", + "@rollup/rollup-android-arm64": "4.62.4", + "@rollup/rollup-darwin-arm64": "4.62.4", + "@rollup/rollup-darwin-x64": "4.62.4", + "@rollup/rollup-freebsd-arm64": "4.62.4", + "@rollup/rollup-freebsd-x64": "4.62.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.4", + "@rollup/rollup-linux-arm-musleabihf": "4.62.4", + "@rollup/rollup-linux-arm64-gnu": "4.62.4", + "@rollup/rollup-linux-arm64-musl": "4.62.4", + "@rollup/rollup-linux-loong64-gnu": "4.62.4", + "@rollup/rollup-linux-loong64-musl": "4.62.4", + "@rollup/rollup-linux-ppc64-gnu": "4.62.4", + "@rollup/rollup-linux-ppc64-musl": "4.62.4", + "@rollup/rollup-linux-riscv64-gnu": "4.62.4", + "@rollup/rollup-linux-riscv64-musl": "4.62.4", + "@rollup/rollup-linux-s390x-gnu": "4.62.4", + "@rollup/rollup-linux-x64-gnu": "4.62.4", + "@rollup/rollup-linux-x64-musl": "4.62.4", + "@rollup/rollup-openbsd-x64": "4.62.4", + "@rollup/rollup-openharmony-arm64": "4.62.4", + "@rollup/rollup-win32-arm64-msvc": "4.62.4", + "@rollup/rollup-win32-ia32-msvc": "4.62.4", + "@rollup/rollup-win32-x64-gnu": "4.62.4", + "@rollup/rollup-win32-x64-msvc": "4.62.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/vite": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", + "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.41.tgz", + "integrity": "sha512-2laE0p+aK+/AOPG/XL/WepOs/GlK755LJ1XECi9kDUrz1FKNw8rb2Xzlw9JS1rqEV55nb0ttsKxVlTCcd+R5cg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.41", + "@vue/compiler-sfc": "3.5.41", + "@vue/runtime-dom": "3.5.41", + "@vue/server-renderer": "3.5.41", + "@vue/shared": "3.5.41" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + } + } +} diff --git a/samples/projects/FiveTech_ERP/frontends/vue/package.json b/samples/projects/FiveTech_ERP/frontends/vue/package.json new file mode 100644 index 0000000..af6c0e4 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/vue/package.json @@ -0,0 +1,18 @@ +{ + "name": "web-vue", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "vue": "^3.5.13" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.3", + "vite": "^6.3.5" + } +} diff --git a/samples/projects/FiveTech_ERP/frontends/vue/src/App.vue b/samples/projects/FiveTech_ERP/frontends/vue/src/App.vue new file mode 100644 index 0000000..281ec8c --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/vue/src/App.vue @@ -0,0 +1,752 @@ + + + diff --git a/samples/projects/FiveTech_ERP/frontends/vue/src/main.js b/samples/projects/FiveTech_ERP/frontends/vue/src/main.js new file mode 100644 index 0000000..27a79bf --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/vue/src/main.js @@ -0,0 +1,5 @@ +import { createApp } from 'vue'; +import App from './App.vue'; +import './styles.css'; + +createApp(App).mount('#app'); diff --git a/samples/projects/FiveTech_ERP/frontends/vue/src/styles.css b/samples/projects/FiveTech_ERP/frontends/vue/src/styles.css new file mode 100644 index 0000000..49e310d --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/vue/src/styles.css @@ -0,0 +1,194 @@ +:root { + --bg: #0e1116; + --bg2: #161b23; + --bg3: #1e2530; + --line: #2a3342; + --txt: #e6ebf2; + --txt2: #8b98ab; + --acc: #3b82f6; + --acc2: #2563eb; + --ok: #22c55e; + --danger: #ef4444; +} +[data-theme="light"] { + --bg: #f1f5f9; + --bg2: #ffffff; + --bg3: #e2e8f0; + --line: #cbd5e1; + --txt: #0f172a; + --txt2: #64748b; + --acc: #2563eb; + --acc2: #1d4ed8; +} +* { margin: 0; padding: 0; box-sizing: border-box; } +body { background: var(--bg); color: var(--txt); font: 14px/1.45 "Segoe UI", system-ui, sans-serif; } +.hidden { display: none !important; } + +/* ---------- login ---------- */ +.login-wrap { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(1200px 600px at 50% -10%, #16233b 0%, var(--bg) 60%); } +.login-card { width: 340px; background: var(--bg2); border: 1px solid var(--line); border-radius: 14px; padding: 28px; box-shadow: 0 20px 60px rgba(0,0,0,.45); } +.login-brand { font-size: 22px; font-weight: 600; } +.login-sub { color: var(--txt2); font-size: 12px; margin: 4px 0 20px; } +.login-card label { display: block; color: var(--txt2); font-size: 12px; margin: 12px 0 4px; } +.login-card input { width: 100%; background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; outline: none; } +.login-card input:focus { border-color: var(--acc); } +.login-card button { width: 100%; margin-top: 18px; background: var(--acc); border: 0; color: #fff; padding: 10px; border-radius: 8px; font-size: 14px; cursor: pointer; } +.login-card button:hover { background: var(--acc2); } +.login-card button:disabled { opacity: .6; cursor: wait; } +.login-error { color: var(--danger); font-size: 12px; margin-top: 10px; min-height: 14px; } + +/* ---------- shell ---------- */ +.app { display: flex; flex-direction: column; height: 100vh; } +.topbar { height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; background: var(--bg2); border-bottom: 1px solid var(--line); } +.topbar-left { display: flex; align-items: center; gap: 10px; } +.brand { font-weight: 600; font-size: 15px; } +.branch-tag { font-size: 11px; color: var(--acc); border: 1px solid var(--acc2); border-radius: 999px; padding: 2px 9px; } +.topbar-right { display: flex; align-items: center; gap: 8px; } +.topbar select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 5px 8px; } +.user-chip { color: var(--txt2); font-size: 12px; margin-left: 6px; } +.btn-ghost { background: none; border: 1px solid var(--line); color: var(--txt); border-radius: 7px; padding: 5px 12px; cursor: pointer; } +.btn-ghost:hover { border-color: var(--danger); color: var(--danger); } + +.body { flex: 1; display: flex; min-height: 0; } +.btn-icon-bar { + background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px; + width: 36px; height: 34px; cursor: pointer; font-size: 16px; line-height: 1; flex-shrink: 0; +} +.btn-icon-bar:hover { border-color: var(--acc); } +.btn-dash { font-size: 12.5px; } +.sidebar { + width: 240px; min-width: 240px; background: var(--bg2); border-right: 1px solid var(--line); + overflow-x: hidden; overflow-y: auto; padding: 10px 8px; + transition: width .2s ease, min-width .2s ease, padding .2s ease, opacity .15s ease; + flex-shrink: 0; +} +.body.sidebar-collapsed .sidebar { + width: 0; min-width: 0; padding: 0; border: 0; opacity: 0; pointer-events: none; +} +.nav-pin { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); } +.nav-group { margin-bottom: 2px; } +.nav-section { + display: flex; align-items: center; justify-content: space-between; gap: 6px; + width: 100%; text-align: left; background: none; border: 0; color: var(--txt2); + font-size: 11px; text-transform: uppercase; letter-spacing: .08em; padding: 12px 10px 4px; + cursor: pointer; border-radius: 6px; +} +.nav-section:hover { color: var(--txt); background: var(--bg3); } +.nav-section .chev { font-size: 10px; opacity: .75; transition: transform .15s; } +.nav-group.collapsed .nav-section .chev { transform: rotate(-90deg); } +.nav-group.collapsed .nav-group-body { display: none; } +.nav-item { display: block; width: 100%; text-align: left; background: none; border: 0; color: var(--txt); padding: 7px 10px; border-radius: 7px; cursor: pointer; font-size: 13px; } +.nav-item:hover { background: var(--bg3); } +.nav-item.active { background: var(--acc2); color: #fff; } +.nav-item.sub { padding-left: 24px; color: var(--txt2); } +.nav-item.dash { color: var(--acc); font-weight: 500; } +@media (max-width: 720px) { + .sidebar { position: absolute; z-index: 30; height: calc(100% - 52px); box-shadow: 8px 0 24px rgba(0,0,0,.35); } + .body.sidebar-collapsed .sidebar { box-shadow: none; } +} + +.main { flex: 1; overflow: auto; padding: 18px 22px; } +.loading, .empty { color: var(--txt2); padding: 40px; text-align: center; } +.empty b { color: var(--txt); } +details pre { margin-top: 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 8px; padding: 12px; overflow: auto; font-size: 12px; } + +.screen-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; flex-wrap: wrap; } +.screen-head h2 { font-size: 19px; } +.layout-tag { color: var(--txt2); font-size: 12px; border: 1px solid var(--line); border-radius: 999px; padding: 2px 9px; margin-left: 10px; } + +.toolbar { display: flex; align-items: center; gap: 8px; } +.search { background: var(--bg3); border: 1px solid var(--line); color: var(--txt); border-radius: 8px; padding: 7px 11px; width: 260px; outline: none; } +.search:focus { border-color: var(--acc); } +.btn { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px; padding: 7px 13px; cursor: pointer; font-size: 13px; } +.btn:hover { border-color: var(--acc); } +.btn:disabled { opacity: .45; cursor: default; } +.btn.primary { background: var(--acc); border-color: var(--acc); color: #fff; } +.btn.primary:hover { background: var(--acc2); } +.btn.danger:hover { border-color: var(--danger); color: var(--danger); } +.rowcount { color: var(--txt2); font-size: 12px; margin-left: 6px; } + +.grid-wrap { border: 1px solid var(--line); border-radius: 10px; overflow: auto; background: var(--bg2); } +table { border-collapse: collapse; width: 100%; } +th, td { padding: 8px 12px; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; } +th { background: var(--bg3); color: var(--txt2); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; position: sticky; top: 0; } +th.right, td.right { text-align: right; } +tbody tr { cursor: pointer; } +tbody tr:hover { background: var(--bg3); } +tbody tr.sel { background: #1d3a5f; } + +/* ---------- modal ---------- */ +.overlay { position: fixed; inset: 0; background: rgba(0,0,0,.55); display: grid; place-items: center; z-index: 50; } +.modal { width: min(560px, 92vw); max-height: 86vh; overflow: auto; background: var(--bg2); border: 1px solid var(--line); border-radius: 12px; padding: 20px; } +.modal h3 { margin-bottom: 14px; } +.form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; } +.field label { display: block; color: var(--txt2); font-size: 12px; margin-bottom: 3px; } +.field input, .field select { width: 100%; background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 8px 10px; outline: none; } +.field input:focus, .field select:focus { border-color: var(--acc); } +.field input.ro { opacity: .6; } +.field.chk { display: flex; align-items: center; gap: 8px; } +.field.chk label { margin: 0; } +.field.chk input { width: auto; } +.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; } + +/* paridad FWH: boton de tema + procesos */ +.theme-fab { position: fixed; top: 14px; right: 14px; z-index: 60; background: var(--bg2); color: var(--txt); border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; cursor: pointer; } +.theme-fab:hover { border-color: var(--acc); } +input[type="date"] { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 5px 8px; } +.login-card input[type="date"] { width: 100%; } +.proc-list { display: flex; flex-direction: column; gap: 8px; max-width: 720px; } +.proc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; } +.proc-sub { color: var(--txt2); font-size: 12px; } +.proc-out { margin-top: 14px; background: var(--bg2); border: 1px solid var(--line); border-radius: 8px; padding: 12px; min-height: 60px; max-height: 320px; overflow: auto; font-size: 12px; color: var(--txt); } + +/* herramienta de cargue y ramas (login) */ +.tool-toggle { width: 100%; margin-top: 10px; background: none; border: 1px dashed var(--line); color: var(--txt2); border-radius: 8px; padding: 7px; cursor: pointer; font-size: 12.5px; } +.tool-toggle:hover { border-color: var(--acc); color: var(--txt); } +.tool-panel { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 12px; display: flex; flex-direction: column; gap: 10px; text-align: left; } +.tool-row { font-size: 12px; color: var(--txt2); display: flex; flex-direction: column; gap: 5px; } +.tool-row b { color: var(--txt); } +.tool-row code { background: var(--bg3); border: 1px solid var(--line); border-radius: 6px; padding: 4px 7px; font-size: 11px; color: var(--txt); word-break: break-all; } +.tool-links { display: flex; gap: 8px; flex-wrap: wrap; } +.tool-links a { color: var(--acc); text-decoration: none; border: 1px solid var(--line); border-radius: 999px; padding: 2px 10px; font-size: 12px; } +.tool-links a:hover { border-color: var(--acc); } +.tool-row .btn { align-self: flex-start; padding: 4px 10px; font-size: 11.5px; } + +.login-card .tool-toggle { background: none; border: 1px dashed var(--line); color: var(--txt2); } +.login-card .tool-toggle:hover { border-color: var(--acc); color: var(--txt); background: none; } + +.tool-ip { background: var(--bg3); border: 1px solid var(--line); color: var(--txt); border-radius: 999px; padding: 3px 10px; font-size: 12px; width: 130px; } +.form-layout { display: grid; grid-template-columns: 240px 1fr; flex: 1; min-height: 0; border-top: 1px solid var(--line); } +.form-nav { border-right: 1px solid var(--line); background: var(--bg2); overflow: auto; max-height: calc(100vh - 120px); } +.form-nav-title { padding: 10px 12px; font-size: 12px; color: var(--txt2); font-weight: 600; border-bottom: 1px solid var(--line); } +.form-nav-item { display: block; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--line); color: var(--txt); padding: 10px 12px; cursor: pointer; font-size: 12.5px; } +.form-nav-item.active, .form-nav-item:hover { background: var(--bg3); } +.form-main { display: flex; flex-direction: column; min-width: 0; overflow: auto; } +.form-tabs { display: flex; gap: 4px; padding: 10px 12px 0; flex-wrap: wrap; border-bottom: 1px solid var(--line); } +.form-tab { background: none; border: 1px solid transparent; color: var(--txt2); padding: 8px 12px; border-radius: 8px 8px 0 0; cursor: pointer; font-size: 12.5px; } +.form-tab.active { background: var(--bg2); color: var(--txt); border-color: var(--line); border-bottom-color: transparent; } +.form-body { padding: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; } +.checklist { display: flex; flex-wrap: wrap; gap: 8px 14px; } +.chk-item { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; } +.md-layout { display: grid; grid-template-rows: 1fr 1fr; flex: 1; min-height: 0; } +.md-master, .md-detail { display: flex; flex-direction: column; border-top: 1px solid var(--line); min-height: 0; } +.md-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; background: var(--bg2); flex-wrap: wrap; } +.md-master .grid-wrap, .md-detail .grid-wrap { flex: 1; overflow: auto; max-height: 36vh; } +.tool-note { font-size: 11px; opacity: .8; } +.list-filters { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin: 0 0 12px; padding: 10px 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 10px; } +.filter-chip { display: flex; flex-direction: column; gap: 3px; font-size: 11px; color: var(--txt2); } +.filter-chip select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 6px 8px; min-width: 120px; } +th.sortable { cursor: pointer; user-select: none; } +th.sortable:hover { color: var(--txt); } +th.sorted { color: var(--acc); } +.sort-ind { font-size: 9px; opacity: .85; margin-left: 2px; } +.empty-cell { text-align: center !important; color: var(--txt2); padding: 28px !important; cursor: default; } +.list-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 10px; padding: 8px 4px; } +.foot-left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; } +.foot-nav { display: flex; align-items: center; gap: 6px; } +.page-size { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--txt2); } +.page-size select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 4px 8px; } +.pg-info { font-size: 12px; color: var(--txt2); min-width: 72px; text-align: center; } +.btn-icon { padding: 5px 10px; min-width: 34px; font-size: 14px; line-height: 1; } +.modal-form { width: min(640px, 94vw); } +.modal-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; } +.modal-head h3 { margin: 0; } +.modal-nav { display: flex; align-items: center; gap: 4px; } diff --git a/samples/projects/FiveTech_ERP/frontends/vue/vite.config.js b/samples/projects/FiveTech_ERP/frontends/vue/vite.config.js new file mode 100644 index 0000000..cf95d44 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/vue/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite'; +import vue from '@vitejs/plugin-vue'; + +export default defineConfig({ + plugins: [vue()], + base: '/web-vue/' +}); diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/.editorconfig b/samples/projects/FiveTech_ERP/frontends/web-angular/.editorconfig new file mode 100644 index 0000000..f166060 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/.editorconfig @@ -0,0 +1,17 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single +ij_typescript_use_double_quotes = false + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/.gitignore b/samples/projects/FiveTech_ERP/frontends/web-angular/.gitignore new file mode 100644 index 0000000..854acd5 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/.gitignore @@ -0,0 +1,44 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/mcp.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings +__screenshots__/ + +# System files +.DS_Store +Thumbs.db diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/extensions.json b/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/extensions.json new file mode 100644 index 0000000..77b3745 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 + "recommendations": ["angular.ng-template"] +} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/launch.json b/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/launch.json new file mode 100644 index 0000000..925af83 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ng serve", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: start", + "url": "http://localhost:4200/" + }, + { + "name": "ng test", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: test", + "url": "http://localhost:9876/debug.html" + } + ] +} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/mcp.json b/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/mcp.json new file mode 100644 index 0000000..956af8c --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/mcp.json @@ -0,0 +1,9 @@ +{ + // For more information, visit: https://angular.dev/ai/mcp + "servers": { + "angular-cli": { + "command": "npx", + "args": ["-y", "@angular/cli", "mcp"] + } + } +} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/tasks.json b/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/tasks.json new file mode 100644 index 0000000..244306f --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "Changes detected" + }, + "endsPattern": { + "regexp": "bundle generation (complete|failed)" + } + } + } + }, + { + "type": "npm", + "script": "test", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "Changes detected" + }, + "endsPattern": { + "regexp": "bundle generation (complete|failed)" + } + } + } + } + ] +} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/README.md b/samples/projects/FiveTech_ERP/frontends/web-angular/README.md new file mode 100644 index 0000000..08c72c8 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/README.md @@ -0,0 +1,59 @@ +# WebAngular + +This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.1.2. + +## Development server + +To start a local development server, run: + +```bash +ng serve +``` + +Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files. + +## Code scaffolding + +Angular CLI includes powerful code scaffolding tools. To generate a new component, run: + +```bash +ng generate component component-name +``` + +For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run: + +```bash +ng generate --help +``` + +## Building + +To build the project run: + +```bash +ng build +``` + +This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed. + +## Running unit tests + +To execute unit tests with the [Vitest](https://vitest.dev/) test runner, use the following command: + +```bash +ng test +``` + +## Running end-to-end tests + +For end-to-end (e2e) testing, run: + +```bash +ng e2e +``` + +Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs. + +## Additional Resources + +For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/angular.json b/samples/projects/FiveTech_ERP/frontends/web-angular/angular.json new file mode 100644 index 0000000..1898dd8 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/angular.json @@ -0,0 +1,101 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "cli": { + "packageManager": "npm" + }, + "newProjectRoot": "projects", + "projects": { + "web-angular": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss", + "skipTests": true + }, + "@schematics/angular:class": { + "skipTests": true + }, + "@schematics/angular:directive": { + "skipTests": true + }, + "@schematics/angular:guard": { + "skipTests": true + }, + "@schematics/angular:interceptor": { + "skipTests": true + }, + "@schematics/angular:pipe": { + "skipTests": true + }, + "@schematics/angular:resolver": { + "skipTests": true + }, + "@schematics/angular:service": { + "skipTests": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular/build:application", + "options": { + "browser": "src/main.ts", + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "baseHref": "/web-angular/", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.scss" + ], + "polyfills": [ + "zone.js" + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "3mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "8kb", + "maximumError": "16kb" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular/build:dev-server", + "configurations": { + "production": { + "buildTarget": "web-angular:build:production" + }, + "development": { + "buildTarget": "web-angular:build:development" + } + }, + "defaultConfiguration": "development" + } + } + } + } +} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/package-lock.json b/samples/projects/FiveTech_ERP/frontends/web-angular/package-lock.json new file mode 100644 index 0000000..1e7b718 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/package-lock.json @@ -0,0 +1,7860 @@ +{ + "name": "web-angular", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web-angular", + "version": "0.0.0", + "dependencies": { + "@angular/cdk": "^21.2.14", + "@angular/common": "^21.1.0", + "@angular/compiler": "^21.1.0", + "@angular/core": "^21.1.0", + "@angular/forms": "^21.1.0", + "@angular/platform-browser": "^21.1.0", + "@angular/router": "^21.1.0", + "@primeuix/themes": "^3.0.0", + "primeicons": "^8.0.0", + "primeng": "^21.1.9", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "^0.16.2" + }, + "devDependencies": { + "@angular/build": "^21.1.2", + "@angular/cli": "^21.1.2", + "@angular/compiler-cli": "^21.1.0", + "typescript": "~5.9.2" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.14.1.tgz", + "integrity": "sha512-Dkj0BgPiLAaim9sbQ97UKDFHJE/880wgStAM18U++NaJ/2Cws34J5731ovJifr6E3Pv4T2CqvMXf8qLCC417Ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.48.1.tgz", + "integrity": "sha512-LV5qCJdj+/m9I+Aj91o+glYszrzd7CX6NgKaYdTOj4+tUYfbS62pwYgUfZprYNayhkQpVFcrW8x8ZlIHpS23Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.48.1.tgz", + "integrity": "sha512-/AVoMqHhPm14CcHq7mwB+bUJbfCv+jrxlNvRjXAuO+TQa+V37N8k1b0ijaRBPdmSjULMd8KtJbQyUyabXOu6Kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.48.1.tgz", + "integrity": "sha512-VXO+qu2Ep6ota28ktvBm3sG53wUHS2n7bgLWmce5jTskdlCD0/JrV4tnBm1l7qpla1CeoQb8D7ShFhad+UoSOw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.48.1.tgz", + "integrity": "sha512-zl+Qyb0nLg+Y5YvKp1Ij+u9OaPaKg2/EPzTwKNiVyOHnQJlFxmXyUZL1EInczAZsEY8hVpPCLtNfhMhfxluXKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.48.1.tgz", + "integrity": "sha512-r89Qf9Oo9mKWQXumRu/1LtvVJAmEDpn8mHZMc485pRfQUMAwSSrsnaw1tQ3sszqzEgAr1c7rw6fjBI+zrAXTOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.48.1.tgz", + "integrity": "sha512-TPKNPKfghKG/bMSc7mQYD9HxHRUkBZA4q1PEmHgICaSeHQscGqL4wBrKkhfPlDV1uYBKW02pbFMUhsOt7p4ZpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.48.1.tgz", + "integrity": "sha512-4Fu7dnzQyQmMFknYwTiN/HxPbH4DyxvQ1m+IxpPp5oslOgz8m6PG5qhiGbqJzH4HiT1I58ecDiCAC716UyVA8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.48.1.tgz", + "integrity": "sha512-/RFq3TqtXDUUawwic/A9xylA2P3LDMO8dNhphHAUOU51b1ZLHrmZ6YYJm3df1APz7xLY1aht6okCQf+/vmrV9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.48.1.tgz", + "integrity": "sha512-Of0jTeAZRyRhC7XzDSjJef0aBkgRcvRAaw0ooYRlOw57APii7lZdq+layuNdeL72BRq1snaJhoMMwkmLIpJScw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.48.1.tgz", + "integrity": "sha512-bE7JcpFXzxF5zHwj/vkl2eiCBvyR1zQ7aoUdO+GDXxGp0DGw7nI0p8Xj6u8VmRQ+RDuPcICFQcCwRIJT5tDJFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.48.1.tgz", + "integrity": "sha512-MK3wZ2koLDnvH/AmqIF1EKbJlhRS5j74OZGkLpxI4rYvNi9Jn/C7vb5DytBnQ4KUWts7QsmbdwHkxY5txQHXVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.48.1.tgz", + "integrity": "sha512-2oDT43Y5HWRSIQMPQI4tA/W+TN/N2tjggZCUsqQV440kxzzoPGsvv9QP1GhQ4CoDa+yn6ygUsGp6Dr+a9sPPSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.48.1.tgz", + "integrity": "sha512-xcaCqbhupVWhuBP1nwbk1XNvwrGljozutEiLx06mvqDf3o8cHyEgQSHS4fKJM+UAggaWVnnFW+Nne5aQ8SUJXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.2102.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.20.tgz", + "integrity": "sha512-s7wPFCMrt9mWMr+NWs4T8849snnOE4DcmLb9Set7KtbhV6Z8E7ZASs/wqPOS3KPxLjxTqM6CnkwKhc3Th6DniA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "21.2.20", + "rxjs": "7.8.2" + }, + "bin": { + "architect": "bin/cli.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "21.2.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.20.tgz", + "integrity": "sha512-QViRAYFj3jcElWND79hM6y4vTSYhMlJSOjy9nby9JsQaPgetkf039jI2u9Lp+PduE6lysewzf85d1UGsm3eI0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.18.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.4", + "rxjs": "7.8.2", + "source-map": "0.7.6" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^5.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "21.2.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.20.tgz", + "integrity": "sha512-XH0BtcqSwHlyLRzvbZccSEe5Hcl7Yex8fXfj3gMVBB5g+KBUm2OGtGN3lDOl5BtrwrZBVnNNXkg0ehNrWzxVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "21.2.20", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.21", + "ora": "9.3.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/build": { + "version": "21.2.20", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.20.tgz", + "integrity": "sha512-Dl9AX8e3mQpAl4RkmvoNnYRoRSpqMLQBqJYf/quupGLxMpQ55mOBhnGfzmoBLyETFhMUd329tvGtOcicPW/hdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.2102.20", + "@babel/core": "7.29.7", + "@babel/helper-annotate-as-pure": "7.27.3", + "@babel/helper-split-export-declaration": "7.24.7", + "@inquirer/confirm": "5.1.21", + "@vitejs/plugin-basic-ssl": "2.1.4", + "beasties": "0.4.1", + "browserslist": "^4.26.0", + "esbuild": "0.28.1", + "https-proxy-agent": "7.0.6", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", + "listr2": "9.0.5", + "magic-string": "0.30.21", + "mrmime": "2.0.1", + "parse5-html-rewriting-stream": "8.0.0", + "picomatch": "4.0.4", + "piscina": "5.2.0", + "rolldown": "1.0.0-rc.4", + "sass": "1.97.3", + "semver": "7.7.4", + "source-map-support": "0.5.21", + "tinyglobby": "0.2.15", + "undici": "7.28.0", + "vite": "7.3.6", + "watchpack": "2.5.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "lmdb": "3.5.1" + }, + "peerDependencies": { + "@angular/compiler": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/localize": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/platform-server": "^21.0.0", + "@angular/service-worker": "^21.0.0", + "@angular/ssr": "^21.2.20", + "karma": "^6.4.0", + "less": "^4.2.0", + "ng-packagr": "^21.0.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.9 <6.0", + "vitest": "^4.0.8" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + }, + "@angular/localize": { + "optional": true + }, + "@angular/platform-browser": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "@angular/ssr": { + "optional": true + }, + "karma": { + "optional": true + }, + "less": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@angular/cdk": { + "version": "21.2.14", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.14.tgz", + "integrity": "sha512-806REq/CLf37nEhmmd8Q+ILN8z/RVG2vk2n8YZ/4TdHpcBCi5ux4AxLbpMmduLwGPOzPagJ6ggRzE5fnX0rmcQ==", + "license": "MIT", + "dependencies": { + "parse5": "^8.0.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": "^21.0.0 || ^22.0.0", + "@angular/core": "^21.0.0 || ^22.0.0", + "@angular/platform-browser": "^21.0.0 || ^22.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/cli": { + "version": "21.2.20", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.20.tgz", + "integrity": "sha512-ATzRaKSDWIUVHQDU14mO3EVrkoEddfm0b4L/uUJraG2tIevRGYStuzT1jIKlPl8mg+O1cDVIjiqdX114kPHczw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.2102.20", + "@angular-devkit/core": "21.2.20", + "@angular-devkit/schematics": "21.2.20", + "@inquirer/prompts": "7.10.1", + "@listr2/prompt-adapter-inquirer": "3.0.5", + "@modelcontextprotocol/sdk": "1.26.0", + "@schematics/angular": "21.2.20", + "@yarnpkg/lockfile": "1.1.0", + "algoliasearch": "5.48.1", + "ini": "6.0.0", + "jsonc-parser": "3.3.1", + "listr2": "9.0.5", + "npm-package-arg": "13.0.2", + "pacote": "21.5.1", + "parse5-html-rewriting-stream": "8.0.0", + "semver": "7.7.4", + "yargs": "18.0.0", + "zod": "4.3.6" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "21.2.19", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.19.tgz", + "integrity": "sha512-Rvo/VXI0kUmfQT7+OeAjv526OJlf/WrLnJq1Tz84Jkyv9bs9SOMTCT6m4+boo8gxVNdrcxvGU3Q0o2jZzKceSg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/core": "21.2.19", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "21.2.19", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.19.tgz", + "integrity": "sha512-vuF5i1t14ftJiHXVVLgDYLWkT99QuajphcUHy1VZaMX3FiqSGXRV62g+R2RMxL0OJ5C1ai8xTHKPx9n1lQFyFg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@angular/compiler-cli": { + "version": "21.2.19", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.19.tgz", + "integrity": "sha512-QxWqUvhTWgyYPPkfpupOUIEa3Y5cbzMilaFgRNpkvFy6teARw5Izsd7RxUbj3Tp3xJOi1MtumNmkxLxmv3iv7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "7.29.7", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^5.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.2.0", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^18.0.0" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "21.2.19", + "typescript": ">=5.9 <6.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@angular/core": { + "version": "21.2.19", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.19.tgz", + "integrity": "sha512-PVoXD1kBexOJLkFzKx2zBY/0oZJXGru0eGn2hu0q5n3vkZlYsR1yRolfGenK1gZE48Qibiw/ttg/X/pAIPEZGg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "21.2.19", + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.15.0 || ~0.16.0" + }, + "peerDependenciesMeta": { + "@angular/compiler": { + "optional": true + }, + "zone.js": { + "optional": true + } + } + }, + "node_modules/@angular/forms": { + "version": "21.2.19", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.19.tgz", + "integrity": "sha512-tEw8cz2UU6VSB+ReJN86k87nRdLRXGi+8SZhoRl2dFu2iReIO3S6kJAVTH7Y9kdrokqTPhWG+KNEzWgqhdjXOg==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "21.2.19", + "@angular/core": "21.2.19", + "@angular/platform-browser": "21.2.19", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "21.2.19", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.19.tgz", + "integrity": "sha512-YMguYVhdkV8tr9MvbN+VpMjbdmsYq6g12M9WPvAYM51BkL2iREbWeoXDGmfCw9G0it6+0pMdgrSPFFUFuOqpAQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/animations": "21.2.19", + "@angular/common": "21.2.19", + "@angular/core": "21.2.19" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/router": { + "version": "21.2.19", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.19.tgz", + "integrity": "sha512-cKO/aq1xEMvgS29jFUc/Y3KsgEzHnwOw6sEL+UQZkZTmGD5YrYv8Yvj05GDMEUYbvDxBd5DixVVEbH38lyQKqA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "21.2.19", + "@angular/core": "21.2.19", + "@angular/platform-browser": "21.2.19", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz", + "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.8", + "@babel/types": "^7.29.8", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", + "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.8.tgz", + "integrity": "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.8", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.8", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.8", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@gar/promise-retry": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", + "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@harperfast/extended-iterable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@harperfast/extended-iterable/-/extended-iterable-1.0.3.tgz", + "integrity": "sha512-sSAYhQca3rDWtQUHSAPeO7axFIUJOI6hn1gjRC5APVE1a90tuyT8f5WIgRsFhhWA7htNkju2veB9eWL6YHi/Lw==", + "dev": true, + "license": "Apache-2.0", + "optional": true + }, + "node_modules/@hono/node-server": { + "version": "1.19.17", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.17.tgz", + "integrity": "sha512-dSneS5qhiauZWGDCeK4o695Xd9nUNjviSZCMQrj10eetr8Uln1ucn6bbphOM6UynAMMtNIzZNSpL9vnASJwrPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, + "node_modules/@inquirer/ansi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", + "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.2.tgz", + "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.21", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.21.tgz", + "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz", + "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.23", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz", + "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/external-editor": "^1.0.3", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.23.tgz", + "integrity": "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", + "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.3.1.tgz", + "integrity": "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.23.tgz", + "integrity": "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.23.tgz", + "integrity": "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.1.tgz", + "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.3.2", + "@inquirer/confirm": "^5.1.21", + "@inquirer/editor": "^4.2.23", + "@inquirer/expand": "^4.0.23", + "@inquirer/input": "^4.3.1", + "@inquirer/number": "^3.0.23", + "@inquirer/password": "^4.0.23", + "@inquirer/rawlist": "^4.1.11", + "@inquirer/search": "^3.2.2", + "@inquirer/select": "^4.4.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.11.tgz", + "integrity": "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.2.tgz", + "integrity": "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.2.tgz", + "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz", + "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", + "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.5.tgz", + "integrity": "sha512-WELs+hj6xcilkloBXYf9XXK8tYEnKsgLj01Xl5ONUJpKjmT5hGVUzNUS5tooUxs7pGMrw+jFD/41WpqW4V3LDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 8", + "listr2": "9.0.5" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.5.1.tgz", + "integrity": "sha512-tpfN4kKrrMpQ+If1l8bhmoNkECJi0iOu6AEdrTJvWVC+32sLxTARX5Rsu579mPImRP9YFWfWgeRQ5oav7zApQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.5.1.tgz", + "integrity": "sha512-+a2tTfc3rmWhLAolFUWRgJtpSuu+Fw/yjn4rF406NMxhfjbMuiOUTDRvRlMFV+DzyjkwnokisskHbCWkS3Ly5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.5.1.tgz", + "integrity": "sha512-0EgcE6reYr8InjD7V37EgXcYrloqpxVPINy3ig1MwDSbl6LF/vXTYRH9OE1Ti1D8YZnB35ZH9aTcdfSb5lql2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.5.1.tgz", + "integrity": "sha512-aoERa5B6ywXdyFeYGQ1gbQpkMkDbEo45qVoXE5QpIRavqjnyPwjOulMkmkypkmsbJ5z4Wi0TBztON8agCTG0Vg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.5.1.tgz", + "integrity": "sha512-SqNDY1+vpji7bh0sFH5wlWyFTOzjbDOl0/kB5RLLYDAFyd/uw3n7wyrmas3rYPpAW7z18lMOi1yKlTPv967E3g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-arm64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.5.1.tgz", + "integrity": "sha512-50v0O1Lt37cwrmR9vWZK5hRW0Aw+KEmxJJ75fge/zIYdvNKB/0bSMSVR5Uc2OV9JhosIUyklOmrEvavwNJ8D6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.5.1.tgz", + "integrity": "sha512-qwosvPyl+zpUlp3gRb7UcJ3H8S28XHCzkv0Y0EgQToXjQP91ZD67EHSCDmaLjtKhe+GVIW5om1KUpzVLA0l6pg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.26.0.tgz", + "integrity": "sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@hono/node-server": "^1.19.9", + "ajv": "^8.17.1", + "ajv-formats": "^3.0.1", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.2.1", + "express-rate-limit": "^8.2.1", + "hono": "^4.11.4", + "jose": "^6.1.3", + "json-schema-typed": "^8.0.2", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.25 || ^4.0", + "zod-to-json-schema": "^3.25.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@cfworker/json-schema": "^4.1.1", + "zod": "^3.25 || ^4.0" + }, + "peerDependenciesMeta": { + "@cfworker/json-schema": { + "optional": true + }, + "zod": { + "optional": false + } + } + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.4.tgz", + "integrity": "sha512-LCkGo6JDfaBhgST7UpPWgNgLINpcpabaHfyz5OBx75nUYxBsaEPxjnyNjWpeb/xBup/682QnBfRBy2/LvPutZQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.4.tgz", + "integrity": "sha512-zExlW9zUJKZH/tOtVMttwjKa4Xm/3KcNjnE3dPN92uCktwavMxpgCA3MoJK/DOnTWsQgo224OaST27/mPNAf+w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.4.tgz", + "integrity": "sha512-Tg3yX65f5GbtXLkrYEHE5oibZG9epyYWas7FogTTEJeDEF9JlXJzKgXaNhT3UXlTOeA+AfZpYZYZ0uPj7Cfquw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.4.tgz", + "integrity": "sha512-dgX0P/9wGPJeHFBG+ZmhgE6bmtMt7NP5CRBGyyktpopdk/mW4POnrpQsSLtKI1dwpc+pPLuXHDh6vvskyQE/sw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.4.tgz", + "integrity": "sha512-8TNXMEjJc3QEy7R/x1INhgiU+XakDAFUzBhaz7+Rbrs8NH5UQeHQxxmzsSBJGyV6I1jW79undiQm8tOI+D+8FQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.4.tgz", + "integrity": "sha512-CmCXPQrkbwExx3j946/PtHWHbYJiCRBRDl4BlkRQcJB/YOwQxJRTpoo7aTsortjgoJ1x7opzTSxn7C+ASSLVjQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.2.tgz", + "integrity": "sha512-JfB4kuJQjaoHuCTseIINHtHWeJnvgEcxjwA5t/Y00ZgaOO1Crz3fjT/p8kT28zA/Caz7oiUMn3d6H2yOVCVwuw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.3", + "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.3" + } + }, + "node_modules/@noble/ed25519": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-2.3.0.tgz", + "integrity": "sha512-M7dvXL2B92/M7dw9+gzuydL8qn/jiqNHaoR3Q+cb1q1GHV7uwE17WCyFMG+Y+TZb5izcaXk5TdJRrDUxHXL78A==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@npmcli/agent": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.2.tgz", + "integrity": "sha512-EUEuWAxnL07Sp5/iC/1X6Xj+XThUvnbei9zfRWZdEXa7lss9RTHMhAHBeg+MZ5To9s/gGaSI+UwZTPdYMvKSeg==", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^11.2.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@npmcli/fs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz", + "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.2.tgz", + "integrity": "sha512-oeolHDjExNAJAnlYP2qzNjMX/Xi9bmu78C9dIGr4xjobrSKbuMYCph8lTzn4vnW3NjIqVmw/f8BCfouqyJXlRg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@gar/promise-retry": "^1.0.0", + "@npmcli/promise-spawn": "^9.0.0", + "ini": "^6.0.0", + "lru-cache": "^11.2.1", + "npm-pick-manifest": "^11.0.1", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "which": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz", + "integrity": "sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^5.0.0", + "npm-normalize-package-bin": "^5.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-5.0.0.tgz", + "integrity": "sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.5.tgz", + "integrity": "sha512-iVuTlG3ORq2iaVa1IWUxAO/jIp77tUKBhoMjuzYW2kL4MLN1bi/ofqkZ7D7OOwh8coAx1/S2ge0rMdGv8sLSOQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^7.0.0", + "glob": "^13.0.0", + "hosted-git-info": "^9.0.0", + "json-parse-even-better-errors": "^5.0.0", + "proc-log": "^6.0.0", + "semver": "^7.5.3", + "spdx-expression-parse": "^4.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-9.0.1.tgz", + "integrity": "sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "which": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz", + "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz", + "integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^5.0.0", + "@npmcli/package-json": "^7.0.0", + "@npmcli/promise-spawn": "^9.0.0", + "node-gyp": "^12.1.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.113.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.113.0.tgz", + "integrity": "sha512-Tp3XmgxwNQ9pEN9vxgJBAqdRamHibi76iowQ38O2I4PMpcvNRQNVsU2n1x1nv9yh0XoTrGFzf7cZSGxmixxrhA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.6.0.tgz", + "integrity": "sha512-7FNeNl8NCE7aINx7WXiKQrPYZWC/hvrTsmk6zmxbI7LTXE7hVek/n8AfVgpe2y82zl3w0HvCHN0bVKMBoJcC0w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.6.0", + "@parcel/watcher-darwin-arm64": "2.6.0", + "@parcel/watcher-darwin-x64": "2.6.0", + "@parcel/watcher-freebsd-x64": "2.6.0", + "@parcel/watcher-linux-arm-glibc": "2.6.0", + "@parcel/watcher-linux-arm-musl": "2.6.0", + "@parcel/watcher-linux-arm64-glibc": "2.6.0", + "@parcel/watcher-linux-arm64-musl": "2.6.0", + "@parcel/watcher-linux-x64-glibc": "2.6.0", + "@parcel/watcher-linux-x64-musl": "2.6.0", + "@parcel/watcher-win32-arm64": "2.6.0", + "@parcel/watcher-win32-x64": "2.6.0" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.6.0.tgz", + "integrity": "sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.6.0.tgz", + "integrity": "sha512-Y3QV0gl7Q1zbfueunkWIERICbEojQFCgpyG7YqOGNFLsckXyI1xu9mAIUpKY9QBYzBtSkN8dBPwd3yiAO9ovMw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.6.0.tgz", + "integrity": "sha512-Ohv6OpzhUfKYD7Beb8kDvG0jbIxORCYY1JRdZnaBtnjjkJxgD7ZVL0nw2sCYd0yTMKTvz3nnTnOF3cDifK+kvw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.6.0.tgz", + "integrity": "sha512-5HmXvDgs8VK+74jF9y9/2FE3/OnlcKmc56tjmSrEuZjpSZOGL+fvAu+HKJBdPs9uwoP2hE6TlSUpXZ/C5jUFmQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.6.0.tgz", + "integrity": "sha512-Ps/hui3A+vMbjdqlqAowK2ZL8+BO8dBjxeWXj6npTBs3jx4wWmbPpaLuqwrQrSqIVMCnpWo238bJ1U37GhQOYg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.6.0.tgz", + "integrity": "sha512-9c6AUHgHoG+IY88MRIHupztQiQnrbqHYQjkM2btA+Bf/wQnQMuiD0Wfk1EVv3TlNT3x41uU71rn6E4xh/+zvkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.6.0.tgz", + "integrity": "sha512-yHRqS2owEXe6Hic9z6Mh1ECsCd+ODVOGvZDyciqRd21+v+o+DnXMOrw50DSpIG2sb8GPEaPPmfeCAWKPJdq46g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.6.0.tgz", + "integrity": "sha512-WhB2e/V7rqdHHWZusBSPuy5Ei8S6lSz6FE5TKKQz5h3a0O+C+mhY7vxU9b/stqvMb8beLnPY82ZrFTLKs+SrKA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.6.0.tgz", + "integrity": "sha512-ulGE6x6Oz6iAwg75T8YQSoguBWasniIbX+QWpaYPcCnDOpdWX3k+4xbEYPZVLxOuoJI+svJJPD3sEj8G7lrQ3A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.6.0.tgz", + "integrity": "sha512-tkBYKt7YQrjIJWYDnto2YgO8MRkjlMTSNoRHzsXinBqbLdeOM3L32wPZJvIZxqaLMfSlS/4sUjH/6STVP/XDLw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.6.0.tgz", + "integrity": "sha512-gIZAP23jaHjGWasY/TY6yL7NHFClf0Ga7FN+iINvk+KN94rhm94lYZhFsbYFNcA04/onvGD9kKmiJLJB2HbNwQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.6.0.tgz", + "integrity": "sha512-cA+/pXV2YkfxlIcXOQ5fSWqAzzPyD78/x5qbK/I0vUkrlYHA8TIz+MXjAbGouguKVSI4bOmkTSJ1/poVSsgt+A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@primeui/license-manager": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@primeui/license-manager/-/license-manager-1.0.0.tgz", + "integrity": "sha512-89J7r8cclEqoHVwjOX1adPcB/blFSocpzuYlzmd+6r0gxzg2Vd4jM54TKXt9/qwAT/kOv4vYnHKZ6hcP2GFtfA==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@noble/ed25519": "2.3.0", + "@noble/hashes": "2.2.0" + } + }, + "node_modules/@primeuix/motion": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@primeuix/motion/-/motion-0.0.10.tgz", + "integrity": "sha512-PsZwOPq79Scp7/ionshRcQ5xKVf9+zuLcyY5mf6onK8chHT5C9JGphmcIZ4CzcqxuGEpsm8AIbTGy+zS3RtzLA==", + "license": "MIT", + "dependencies": { + "@primeuix/utils": "^0.6.3" + }, + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@primeuix/motion/node_modules/@primeuix/utils": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@primeuix/utils/-/utils-0.6.4.tgz", + "integrity": "sha512-pZ5f+vj7wSzRhC7KoEQRU5fvYAe+RP9+m39CTscZ3UywCD1Y2o6Fe1rRgklMPSkzUcty2jzkA0zMYkiJBD1hgg==", + "license": "MIT", + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@primeuix/styled": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@primeuix/styled/-/styled-1.0.0.tgz", + "integrity": "sha512-6SXoeQWwKswSqTv1ygaXNfY7otHo6Rb9mxbKJK5WF8adWlZ6CtwmlNfIP+p8cH/zGccsei/5Bu7IetXlMoZGjQ==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@primeui/license-manager": "^1.0.0", + "@primeuix/utils": "^0.8.0" + }, + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@primeuix/styles": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@primeuix/styles/-/styles-2.0.3.tgz", + "integrity": "sha512-2ykAB6BaHzR/6TwF8ShpJTsZrid6cVIEBVlookSdvOdmlWuevGu5vWOScgIwqWwlZcvkFYAGR/SUV3OHCTBMdw==", + "license": "MIT", + "dependencies": { + "@primeuix/styled": "^0.7.4" + } + }, + "node_modules/@primeuix/styles/node_modules/@primeuix/styled": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@primeuix/styled/-/styled-0.7.4.tgz", + "integrity": "sha512-QSO/NpOQg8e9BONWRBx9y8VGMCMYz0J/uKfNJEya/RGEu7ARx0oYW0ugI1N3/KB1AAvyGxzKBzGImbwg0KUiOQ==", + "license": "MIT", + "dependencies": { + "@primeuix/utils": "^0.6.1" + }, + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@primeuix/styles/node_modules/@primeuix/utils": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@primeuix/utils/-/utils-0.6.4.tgz", + "integrity": "sha512-pZ5f+vj7wSzRhC7KoEQRU5fvYAe+RP9+m39CTscZ3UywCD1Y2o6Fe1rRgklMPSkzUcty2jzkA0zMYkiJBD1hgg==", + "license": "MIT", + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@primeuix/themes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@primeuix/themes/-/themes-3.0.0.tgz", + "integrity": "sha512-lNMOhorzu4vHRKbTDIU2/raS7/Z6Oyq2WXGfFDVhOwAIVDF4e7hCX75jlgfC7bo4D0Bl5f+oW5HPGZpG52r6lw==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@primeuix/styled": "^1.0.0" + } + }, + "node_modules/@primeuix/utils": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@primeuix/utils/-/utils-0.8.0.tgz", + "integrity": "sha512-dZSMKU2XJ7W7VDLuFMS/o4k+QYw4SYIpqSNhR/jdasMaaXl8eq0Gt7fTzTwwq7hgfmfOsI6V5xtzUUIvybOJ/w==", + "license": "SEE LICENSE IN LICENSE.md", + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-vRq9f4NzvbdZavhQbjkJBx7rRebDKYR9zHfO/Wg486+I7bSecdUapzCm5cyXoK+LHokTxgSq7A5baAXUZkIz0w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-kFgEvkWLqt3YCgKB5re9RlIrx9bRsvyVUnaTakEpOPuLGzLpLapYxE9BufJNvPg8GjT6mB1alN4yN1NjzoeM8Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.4.tgz", + "integrity": "sha512-JXmaOJGsL/+rsmMfutcDjxWM2fTaVgCHGoXS7nE8Z3c9NAYjGqHvXrAhMUZvMpHS/k7Mg+X7n/MVKb7NYWKKww==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.4.tgz", + "integrity": "sha512-ep3Catd6sPnHTM0P4hNEvIv5arnDvk01PfyJIJ+J3wVCG1eEaPo09tvFqdtcaTrkwQy0VWR24uz+cb4IsK53Qw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.4.tgz", + "integrity": "sha512-LwA5ayKIpnsgXJEwWc3h8wPiS33NMIHd9BhsV92T8VetVAbGe2qXlJwNVDGHN5cOQ22R9uYvbrQir2AB+ntT2w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.4.tgz", + "integrity": "sha512-AC1WsGdlV1MtGay/OQ4J9T7GRadVnpYRzTcygV1hKnypbYN20Yh4t6O1Sa2qRBMqv1etulUknqXjc3CTIsBu6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.4.tgz", + "integrity": "sha512-lU+6rgXXViO61B4EudxtVMXSOfiZONR29Sys5VGSetUY7X8mg9FCKIIjcPPj8xNDeYzKl+H8F/qSKOBVFJChCQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.4.tgz", + "integrity": "sha512-DZaN1f0PGp/bSvKhtw50pPsnln4T13ycDq1FrDWRiHmWt1JeW+UtYg9touPFf8yt993p8tS2QjybpzKNTxYEwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.4.tgz", + "integrity": "sha512-RnGxwZLN7fhMMAItnD6dZ7lvy+TI7ba+2V54UF4dhaWa/p8I/ys1E73KO6HmPmgz92ZkfD8TXS1IMV8+uhbR9g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-6lcI79+X8klGiGd8yHuTgQRjuuJYNggmEml+RsyN596P23l/zf9FVmJ7K0KVKkFAeYEdg0iMUKyIxiV5vebDNQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.4.tgz", + "integrity": "sha512-wz7ohsKCAIWy91blZ/1FlpPdqrsm1xpcEOQVveWoL6+aSPKL4VUcoYmmzuLTssyZxRpEwzuIxL/GDsvpjaBtOw==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.1.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.4.tgz", + "integrity": "sha512-cfiMrfuWCIgsFmcVG0IPuO6qTRHvF7NuG3wngX1RZzc6dU8FuBFb+J3MIR5WrdTNozlumfgL4cvz+R4ozBCvsQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.4.tgz", + "integrity": "sha512-p6UeR9y7ht82AH57qwGuFYn69S6CZ7LLKdCKy/8T3zS9VTrJei2/CGsTUV45Da4Z9Rbhc7G4gyWQ/Ioamqn09g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.4.tgz", + "integrity": "sha512-1BrrmTu0TWfOP1riA8uakjFc9bpIUGzVKETsOtzY39pPga8zELGDl8eu1Dx7/gjM5CAz14UknsUMpBO8L+YntQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.4.tgz", + "integrity": "sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.4.tgz", + "integrity": "sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.4.tgz", + "integrity": "sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.4.tgz", + "integrity": "sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.4.tgz", + "integrity": "sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.4.tgz", + "integrity": "sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.4.tgz", + "integrity": "sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.4.tgz", + "integrity": "sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.4.tgz", + "integrity": "sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.4.tgz", + "integrity": "sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.4.tgz", + "integrity": "sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.4.tgz", + "integrity": "sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.4.tgz", + "integrity": "sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.4.tgz", + "integrity": "sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.4.tgz", + "integrity": "sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.4.tgz", + "integrity": "sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.4.tgz", + "integrity": "sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.4.tgz", + "integrity": "sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.4.tgz", + "integrity": "sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.4.tgz", + "integrity": "sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.4.tgz", + "integrity": "sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.4.tgz", + "integrity": "sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.4.tgz", + "integrity": "sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.4.tgz", + "integrity": "sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.4.tgz", + "integrity": "sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@schematics/angular": { + "version": "21.2.20", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.20.tgz", + "integrity": "sha512-D0MFRofD144Gn+LMPgrRQKazv3sNxfB11kbdU19yN8JyXyRqmB3C8/k3lLA/+LyXVeyLwzIKs7Cw/PSzPUaAxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "21.2.20", + "@angular-devkit/schematics": "21.2.20", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-4.0.0.tgz", + "integrity": "sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.5.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/core": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.2.1.tgz", + "integrity": "sha512-qRsxPnCrbC/puegGxKuynfnxgLiHqWStrSjxkoB4YKqq3Z3s4cyZyj42ZdWFAEblNP65C+rBH8EuREHIXoi83g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.1.tgz", + "integrity": "sha512-/ScWUhhoFasJsSRGTVBwId1loQjjnjAfE4djL6ZhrXRpNCmPTnUKF5Jokd58ILseOMjzET3UrMOtJPS9sYeI0g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.1.tgz", + "integrity": "sha512-Hf4xglukg0XXQ2RiD5vSoLjdPe8OBUPA8XeVjUObheuDcWdYWrnH/BNmxZCzkAy68MzmNCxXLeurJvs6hcP2OQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@gar/promise-retry": "^1.0.2", + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.2.0", + "@sigstore/protobuf-specs": "^0.5.0", + "make-fetch-happen": "^15.0.4", + "proc-log": "^6.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.2.tgz", + "integrity": "sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.5.0", + "tuf-js": "^4.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.1.tgz", + "integrity": "sha512-qv7+G3J2cc6wwFj3yKvXOamzqhMwSk1ogPGmhpS8iXllcPrJaIIBA+4HbttlHVu1pqWTdmaCH/WE7UOC51kdoA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.2.1", + "@sigstore/protobuf-specs": "^0.5.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-4.1.0.tgz", + "integrity": "sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^10.1.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.4.tgz", + "integrity": "sha512-HXciTXN/sDBYWgeAD4V4s0DN0g72x5mlxQhHxtYu3Tt8BLa6MzcJZUyDVFCdtjNs3bfENVHVzOsmooTVuNgAAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/abbrev": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", + "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/algoliasearch": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.48.1.tgz", + "integrity": "sha512-Rf7xmeuIo7nb6S4mp4abW2faW8DauZyE2faBIKFaUfP3wnpOvNSbiI5AwVhqBNj0jPgBWEvhyCu0sLjN2q77Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.14.1", + "@algolia/client-abtesting": "5.48.1", + "@algolia/client-analytics": "5.48.1", + "@algolia/client-common": "5.48.1", + "@algolia/client-insights": "5.48.1", + "@algolia/client-personalization": "5.48.1", + "@algolia/client-query-suggestions": "5.48.1", + "@algolia/client-search": "5.48.1", + "@algolia/ingestion": "1.48.1", + "@algolia/monitoring": "1.48.1", + "@algolia/recommend": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", + "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.11.12", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.12.tgz", + "integrity": "sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/beasties": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.4.1.tgz", + "integrity": "sha512-2Imdcw3LznDuxAbJM26RHniOLAzE6WgrK8OuvVXCQtNBS8rsnD9zsSEa3fHl4hHpUY7BYTlrpvtPVbvu9G6neg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "css-select": "^6.0.0", + "css-what": "^7.0.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^10.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.49", + "postcss-media-query-parser": "^0.2.3", + "postcss-safe-parser": "^7.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/body-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", + "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^2.0.0", + "debug": "^4.4.3", + "http-errors": "^2.0.1", + "iconv-lite": "^0.7.2", + "on-finished": "^2.4.1", + "qs": "^6.15.2", + "raw-body": "^3.0.2", + "type-is": "^2.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/body-parser/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", + "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/browserslist": { + "version": "4.28.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz", + "integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.11.12", + "caniuse-lite": "^1.0.30001809", + "electron-to-chromium": "^1.5.402", + "node-releases": "^2.0.53", + "update-browserslist-db": "^1.3.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", + "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^5.0.0", + "fs-minipass": "^3.0.0", + "glob": "^13.0.0", + "lru-cache": "^11.1.0", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^13.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001809", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001809.tgz", + "integrity": "sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.2.0.tgz", + "integrity": "sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-3.4.0.tgz", + "integrity": "sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz", + "integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^8.0.0", + "string-width": "^8.2.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.402", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.402.tgz", + "integrity": "sha512-/oOpMaPT6Yg+6/1XQhyIPlzgj7Ye9zf+nNM2Uh6OcE2G2oNptWazFa+qB2Pdqqbsc9KnIDzgAntoYN0dbwOXwA==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.0.tgz", + "integrity": "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.6.2.tgz", + "integrity": "sha512-YH4ru+eOJxQABscKFfRCy9R7x9QFGdezclVMwwgFFndzS2Xnm0uo6B0ABZsLhcpeptGv2qvuJVWlQr9gQZoC3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "ip-address": "^10.2.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz", + "integrity": "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hono": { + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.1.tgz", + "integrity": "sha512-kdJoFVv2xmayw6cY09H7AbMJMt8Jn5jdlEdXsP7AGBdF2DIptVlKlOLKXP41yPip4/a3yQPv9gVcJYI8YY04dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/hosted-git-info": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.3.tgz", + "integrity": "sha512-Hc+ghLoSt6QaYZUv0WBiIvmMDZuZZ7oaDvdH8MbfOO4lOsxdXLEvuC6ePoGs9H1X9oCLyq6+NVN0MKqD+ydxyg==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^11.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/htmlparser2": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "entities": "^7.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz", + "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ignore-walk": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", + "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minimatch": "^10.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/immutable": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.9.tgz", + "integrity": "sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==", + "dev": true, + "license": "MIT" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz", + "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/ip-address": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.4.0.tgz", + "integrity": "sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jose": { + "version": "6.2.8", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.8.tgz", + "integrity": "sha512-Bsdjwm3Qsd/P0jR+BHDe3LytDfY7WBq2HmCCLIwuVRHMuEC9ae7/R474GIUdF1NgCyZjzVo/A9DOiOBtXq8ZoQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz", + "integrity": "sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-typed": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", + "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/listr2": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", + "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^5.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.5.1.tgz", + "integrity": "sha512-NYHA0MRPjvNX+vSw8Xxg6FLKxzAG+e7Pt8RqAQA/EehzHVXq9SxDqJIN3JL1hK0dweb884y8kIh6rkWvPyg9Wg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@harperfast/extended-iterable": "^1.0.3", + "msgpackr": "^1.11.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.5.3", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.5.1", + "@lmdb/lmdb-darwin-x64": "3.5.1", + "@lmdb/lmdb-linux-arm": "3.5.1", + "@lmdb/lmdb-linux-arm64": "3.5.1", + "@lmdb/lmdb-linux-x64": "3.5.1", + "@lmdb/lmdb-win32-arm64": "3.5.1", + "@lmdb/lmdb-win32-x64": "3.5.1" + } + }, + "node_modules/log-symbols": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-7.0.1.tgz", + "integrity": "sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0", + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/make-fetch-happen": { + "version": "15.0.6", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.6.tgz", + "integrity": "sha512-Je0fLJ0F5atA7F+eIlLzk+Wkcl57JDf4kf+EW8xiP5E31xOQxkIxTbgf1Oi1Lw9tRI9UEMRdI5Vz2xTzoNU1Jw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@gar/promise-retry": "^1.0.0", + "@npmcli/agent": "^4.0.0", + "@npmcli/redact": "^4.0.0", + "cacache": "^20.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^6.0.0", + "ssri": "^13.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.1.tgz", + "integrity": "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", + "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.8" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz", + "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^2.0.0", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + }, + "optionalDependencies": { + "iconv-lite": "^0.7.2" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", + "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-sized": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz", + "integrity": "sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/msgpackr": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.12.1.tgz", + "integrity": "sha512-4EUH9tQHnMmEgzW/MdAP0KIfa1T9AF+htl0ffe2n5vb2EKn9y2co8ccpgWko6S52Jy1PQZKwRnx5/KkYjtd9MQ==", + "dev": true, + "license": "MIT", + "optional": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.4.tgz", + "integrity": "sha512-4kmO/MdyUIkLIvTPr8VHLil4AtoKIoniWPIEk5+CDy0xnWC84azhSFmuJ7PxZdsYtiP5kEeQsORAVIeMgxT+Hw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.4" + } + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz", + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-gyp": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.4.0.tgz", + "integrity": "sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "nopt": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "tar": "^7.5.4", + "tinyglobby": "^0.2.12", + "undici": "^6.25.0", + "which": "^6.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/node-gyp/node_modules/undici": { + "version": "6.28.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.28.0.tgz", + "integrity": "sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.53", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.53.tgz", + "integrity": "sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/nopt": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", + "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^4.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-bundled": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-5.0.0.tgz", + "integrity": "sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^5.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-install-checks": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-8.0.0.tgz", + "integrity": "sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz", + "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-package-arg": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.2.tgz", + "integrity": "sha512-IciCE3SY3uE84Ld8WZU23gAPPV9rIYod4F+rc+vJ7h7cwAJt9Vk6TVsK60ry7Uj3SRS3bqRRIGuTp9YVlk6WNA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^7.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-packlist": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.4.tgz", + "integrity": "sha512-uMW73iajD8hiH4ZBxEV3HC+eTnppIqwakjOYuvgddnalIw2lJguKviK1pcUJDlIWm1wSJkchpDZDSVVsZEYRng==", + "dev": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^8.0.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz", + "integrity": "sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^8.0.0", + "npm-normalize-package-bin": "^5.0.0", + "npm-package-arg": "^13.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-19.1.1.tgz", + "integrity": "sha512-TakBap6OM1w0H73VZVDf44iFXsOS3h+L4wVMXmbWOQroZgFhMch0juN6XSzBNlD965yIKvWg2dfu7NSiaYLxtw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^4.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^15.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^13.0.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", + "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.6.2", + "cli-cursor": "^5.0.0", + "cli-spinners": "^3.2.0", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.1.0", + "log-symbols": "^7.0.1", + "stdin-discarder": "^0.3.1", + "string-width": "^8.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ordered-binary": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.1.tgz", + "integrity": "sha512-QkCdPooczexPLiXIrbVOPYkR3VO3T6v2OyKRkR1Xbhpy7/LAVXwahnRCgRp78Oe/Ehf0C/HATAxfSr6eA1oX+w==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/p-map": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.6.tgz", + "integrity": "sha512-I4Prw6ivkd6p8PiYR1tXASOAOBzIJwu0TB7fqaX0c/8c3QAehNYmX57EijyGGGBt3c/BIowGwV03RVBtXvHEVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pacote": { + "version": "21.5.1", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.5.1.tgz", + "integrity": "sha512-KvcJ9iy3crysCsgqc4+PknH/w6jkrp8JN36mpZBPwNaDRwTfMZD37YzRazNstiZUOhuF5pno9f78n9mEJBavwg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@gar/promise-retry": "^1.0.0", + "@npmcli/git": "^7.0.0", + "@npmcli/installed-package-contents": "^4.0.0", + "@npmcli/package-json": "^7.0.0", + "@npmcli/promise-spawn": "^9.0.0", + "@npmcli/run-script": "^10.0.0", + "cacache": "^20.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^13.0.0", + "npm-packlist": "^10.0.1", + "npm-pick-manifest": "^11.0.1", + "npm-registry-fetch": "^19.0.0", + "proc-log": "^6.0.0", + "sigstore": "^4.0.0", + "ssri": "^13.0.0", + "tar": "^7.4.3" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", + "license": "MIT", + "dependencies": { + "entities": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", + "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0", + "parse5": "^8.0.0", + "parse5-sax-parser": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", + "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/piscina": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.2.0.tgz", + "integrity": "sha512-DszUCKeVN/5G5QKo6jAVHL8fmKnkJvQ0ACiVgY7YGCq3TUB2oznAOayvZPIAdEThvhczkXR+qm3IHsNXpFCYfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.x" + }, + "optionalDependencies": { + "@napi-rs/nice": "^1.0.4" + } + }, + "node_modules/pkce-challenge": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", + "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/postcss": { + "version": "8.5.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz", + "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.17", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/primeicons": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/primeicons/-/primeicons-8.0.0.tgz", + "integrity": "sha512-eZGk+Mgb4fE+LkJi9LvllbnB4RVUF9kzmnLVnT3ZMY6stqKVh7TUJ0mFoMNIEgTnJSvhaGcJotDiSvtVvkHd7g==", + "license": "SEE LICENSE IN LICENSE.md" + }, + "node_modules/primeng": { + "version": "21.1.9", + "resolved": "https://registry.npmjs.org/primeng/-/primeng-21.1.9.tgz", + "integrity": "sha512-Z76PtF08X0PNSTCNMobao8Qm71vC56mtZSdUtX/gsn4+q4x0NbUUtkeK1pc33a+kxVm2zkmOwzUIEGmb9VdoIA==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@primeuix/motion": "^0.0.10", + "@primeuix/styled": "^0.7.4", + "@primeuix/styles": "^2.0.3", + "@primeuix/utils": "^0.7.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/cdk": "^21.0.0", + "@angular/common": "^21.0.0", + "@angular/core": "^21.0.7", + "@angular/forms": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/router": "^21.0.0", + "rxjs": "^6.0.0 || ^7.8.1" + } + }, + "node_modules/primeng/node_modules/@primeuix/styled": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@primeuix/styled/-/styled-0.7.4.tgz", + "integrity": "sha512-QSO/NpOQg8e9BONWRBx9y8VGMCMYz0J/uKfNJEya/RGEu7ARx0oYW0ugI1N3/KB1AAvyGxzKBzGImbwg0KUiOQ==", + "license": "MIT", + "dependencies": { + "@primeuix/utils": "^0.6.1" + }, + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/primeng/node_modules/@primeuix/styled/node_modules/@primeuix/utils": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@primeuix/utils/-/utils-0.6.4.tgz", + "integrity": "sha512-pZ5f+vj7wSzRhC7KoEQRU5fvYAe+RP9+m39CTscZ3UywCD1Y2o6Fe1rRgklMPSkzUcty2jzkA0zMYkiJBD1hgg==", + "license": "MIT", + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/primeng/node_modules/@primeuix/utils": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@primeuix/utils/-/utils-0.7.2.tgz", + "integrity": "sha512-pmEbSfP0Phf9W9RweiM66zXnkn73ZeKyYINElbX3uZ2+stzzaba2svLAl3B1pHVcRw5t43O0VciaGe4ye2EXKw==", + "license": "MIT", + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.15.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz", + "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rolldown": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.4.tgz", + "integrity": "sha512-V2tPDUrY3WSevrvU2E41ijZlpF+5PbZu4giH+VpNraaadsJGHa4fR6IFwsocVwEXDoAdIv5qgPPxgrvKAOIPtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.113.0", + "@rolldown/pluginutils": "1.0.0-rc.4" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-rc.4", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.4", + "@rolldown/binding-darwin-x64": "1.0.0-rc.4", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.4", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.4", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.4", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.4", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.4", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.4", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.4", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.4", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.4", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.4" + } + }, + "node_modules/rollup": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.4.tgz", + "integrity": "sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.62.4", + "@rollup/rollup-android-arm64": "4.62.4", + "@rollup/rollup-darwin-arm64": "4.62.4", + "@rollup/rollup-darwin-x64": "4.62.4", + "@rollup/rollup-freebsd-arm64": "4.62.4", + "@rollup/rollup-freebsd-x64": "4.62.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.4", + "@rollup/rollup-linux-arm-musleabihf": "4.62.4", + "@rollup/rollup-linux-arm64-gnu": "4.62.4", + "@rollup/rollup-linux-arm64-musl": "4.62.4", + "@rollup/rollup-linux-loong64-gnu": "4.62.4", + "@rollup/rollup-linux-loong64-musl": "4.62.4", + "@rollup/rollup-linux-ppc64-gnu": "4.62.4", + "@rollup/rollup-linux-ppc64-musl": "4.62.4", + "@rollup/rollup-linux-riscv64-gnu": "4.62.4", + "@rollup/rollup-linux-riscv64-musl": "4.62.4", + "@rollup/rollup-linux-s390x-gnu": "4.62.4", + "@rollup/rollup-linux-x64-gnu": "4.62.4", + "@rollup/rollup-linux-x64-musl": "4.62.4", + "@rollup/rollup-openbsd-x64": "4.62.4", + "@rollup/rollup-openharmony-arm64": "4.62.4", + "@rollup/rollup-win32-arm64-msvc": "4.62.4", + "@rollup/rollup-win32-ia32-msvc": "4.62.4", + "@rollup/rollup-win32-x64-gnu": "4.62.4", + "@rollup/rollup-win32-x64-msvc": "4.62.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-4.1.1.tgz", + "integrity": "sha512-endqECJkfhozrXMK5ngu/UAA0xVcVEFdnHJCElGaExypjW+HK5i6zu3NteLoaX/iFbRUbC3+DjttQs0GARr+5w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.2.1", + "@sigstore/protobuf-specs": "^0.5.0", + "@sigstore/sign": "^4.1.1", + "@sigstore/tuf": "^4.0.2", + "@sigstore/verify": "^3.1.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/slice-ansi": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz", + "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.3", + "is-fullwidth-code-point": "^5.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz", + "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^10.1.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/ssri": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz", + "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stdin-discarder": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.2.tgz", + "integrity": "sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/tar": { + "version": "7.5.22", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.22.tgz", + "integrity": "sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tuf-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-4.1.0.tgz", + "integrity": "sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "4.1.0", + "debug": "^4.4.3", + "make-fetch-happen": "^15.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/type-is": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", + "dev": true, + "license": "MIT", + "dependencies": { + "content-type": "^2.0.0", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.28.0.tgz", + "integrity": "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.0.tgz", + "integrity": "sha512-x/M6q3w4Ybp91CNaS4S69UnliqR3BzRpOT6LWbksjth0S/+jhfaPJsWjt/TewpT8j9eLIojUf5jr29WextHroA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-7.0.2.tgz", + "integrity": "sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.6.tgz", + "integrity": "sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.27.0 || ^0.28.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.2.0.tgz", + "integrity": "sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "zod": "^3.25.28 || ^4" + } + }, + "node_modules/zone.js": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.16.2.tgz", + "integrity": "sha512-Eky7p2Z1Ig3NnbfodSPoARCjKBSTFMnE/ACsP1L/XJEfY4SdOFce19BsUCWVwL6K5ABZFy5J3bjcMWffX+YM3Q==", + "license": "MIT" + } + } +} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/package.json b/samples/projects/FiveTech_ERP/frontends/web-angular/package.json new file mode 100644 index 0000000..90d8e86 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/package.json @@ -0,0 +1,46 @@ +{ + "name": "web-angular", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "prettier": { + "printWidth": 100, + "singleQuote": true, + "overrides": [ + { + "files": "*.html", + "options": { + "parser": "angular" + } + } + ] + }, + "private": true, + "packageManager": "npm@11.5.2", + "dependencies": { + "@angular/cdk": "^21.2.14", + "@angular/common": "^21.1.0", + "@angular/compiler": "^21.1.0", + "@angular/core": "^21.1.0", + "@angular/forms": "^21.1.0", + "@angular/platform-browser": "^21.1.0", + "@angular/router": "^21.1.0", + "@primeuix/themes": "^3.0.0", + "primeicons": "^8.0.0", + "primeng": "^21.1.9", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "^0.16.2" + }, + "devDependencies": { + "@angular/build": "^21.1.2", + "@angular/cli": "^21.1.2", + "@angular/compiler-cli": "^21.1.0", + "typescript": "~5.9.2" + } +} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/public/favicon.ico b/samples/projects/FiveTech_ERP/frontends/web-angular/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 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 Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/api.service.ts b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/api.service.ts new file mode 100644 index 0000000..76222bd --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/api.service.ts @@ -0,0 +1,89 @@ +import { HttpClient } from '@angular/common/http'; +import { Injectable, inject } from '@angular/core'; +import { firstValueFrom } from 'rxjs'; + +export interface MetaDoc { + id: string; + kind?: string; + layout?: string; + title?: string; + dataRef?: string; + keyField?: string; + searchFields?: string[]; + grid?: { columns: GridCol[] }; + toolbar?: string[]; + sections?: ModuleSection[]; + [k: string]: unknown; +} +export interface GridCol { + id: string; + label: string; + type?: string; + options?: string[]; + align?: string; + format?: string; +} +export interface ModuleSection { + id: string; + title: string; + items: { id: string; label: string; icon?: string; screen?: string; sub?: boolean; active?: boolean }[]; +} +export interface Ctx { + ok: boolean; + company?: string; + companyName?: string; + app?: string; + appLabel?: string; + isAdmin?: boolean; + companies?: { code: string; name?: string }[]; + apps?: { id: string; label?: string }[]; + canSwitchCompany?: boolean; + canSwitchApp?: boolean; +} + +@Injectable({ providedIn: 'root' }) +export class ApiService { + private http = inject(HttpClient); + + private async j(p: Promise): Promise { + return (await p) as T; + } + + login(user: string, password: string, workDate?: string) { + return this.j(firstValueFrom(this.http.post('/api/login', { user, password, workDate }))); + } + context() { + return this.j(firstValueFrom(this.http.get('/api/context'))); + } + meta(key: string) { + return this.j<{ ok: boolean; doc: MetaDoc; msg?: string }>( + firstValueFrom(this.http.get('/api/meta', { params: { key } })) + ); + } + dataset(key: string) { + return this.j<{ ok: boolean; rows: any[]; msg?: string }>( + firstValueFrom(this.http.get('/api/dataset', { params: { key } })) + ); + } + datasetPost(body: { key: string; action: string; row?: any; keyField?: string; keyValue?: string }) { + return this.j<{ ok: boolean; msg?: string }>(firstValueFrom(this.http.post('/api/dataset', body))); + } + processGet() { + return this.j<{ ok: boolean; items?: any[]; handlers?: any[] }>(firstValueFrom(this.http.get('/api/process'))); + } + processPost(body: { key: string; params?: any }) { + return this.j(firstValueFrom(this.http.post('/api/process', body))); + } + cmd(action: string, a1?: string, a2?: string) { + const p = new URLSearchParams({ action }); + if (a1 !== undefined) p.set('a1', a1); + if (a2 !== undefined) p.set('a2', a2); + return this.j<{ ok: boolean; msg?: string }>( + firstValueFrom( + this.http.post('/api/cmd', p.toString(), { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }) + ) + ); + } +} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.config.ts b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.config.ts new file mode 100644 index 0000000..495ae58 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.config.ts @@ -0,0 +1,22 @@ +import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZoneChangeDetection } from '@angular/core'; +import { provideRouter } from '@angular/router'; +import { provideHttpClient } from '@angular/common/http'; +import { providePrimeNG } from 'primeng/config'; +import Aura from '@primeuix/themes/aura'; + +import { routes } from './app.routes'; + +export const appConfig: ApplicationConfig = { + providers: [ + provideBrowserGlobalErrorListeners(), + provideZoneChangeDetection({ eventCoalescing: true }), + provideRouter(routes), + provideHttpClient(), + providePrimeNG({ + theme: { + preset: Aura, + options: { darkModeSelector: '.p-dark' } + } + }) + ] +}; diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.html b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.html new file mode 100644 index 0000000..ab2cf4e --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.html @@ -0,0 +1,379 @@ +@if (view() === 'login') { + +} @else { +
+
+
+ + FiveTech ERP + + +
+
+ + + + {{ ctx()?.company }} · {{ ctx()?.appLabel || ctx()?.app }} · {{ ctx()?.isAdmin ? 'admin' : 'usuario' }} + @if (version()) { · v{{ version() }} } + + + + +
+
+ +
+ + +
+ @if (procs(); as p) { +
+

Procesos

+ +
+
+ @for (it of p.items || []; track it.key) { +
+
{{ it.title || it.key }}
{{ it.key }} · handler: {{ it.handler || '—' }}
+ +
+ } +
+
{{ procOut() }}
+ } @else if (loading()) { +
Cargando…
+ } @else if (screen(); as doc) { +
+
+

{{ doc.title }}

+ +
+ @if (isListScreen(doc)) { +
+ + @if (hasTb('add')) { + + } + @if (hasTb('edit')) { + + } + @if (hasTb('delete')) { + + } + @if (hasTb('print')) { + + } + @if (hasTb('pdf')) { + + } + @if (hasTb('excel')) { + + } + @if (hasTb('refresh')) { + + } + {{ visibleRows().length }} / {{ rows().length }} filas +
+ } +
+ + @if (notice(); as n) { +
{{ n }}
+ } + + @if (isFormScreen(doc)) { +
+ +
+
+ @if (hasTb('add')) { } + + @if (hasTb('delete')) { } + @if (hasTb('refresh')) { } + {{ formNew() ? 'Nuevo' : ((rows().length ? formIdx() + 1 : 0) + ' / ' + rows().length) }} +
+
+ @for (t of formTabs(); track t.id) { + + } +
+
+ @for (f of formFieldsVisible(); track f.id) { +
+ + @if (f.type === 'checkbox') { + + } @else if (f.type === 'select') { + + } @else if (f.type === 'lookup') { + + } @else if (f.type === 'money' || f.format === 'money') { + + } @else { + + } +
+ } +
+
+
+ } @else if (isMasterDetail(doc)) { +
+
+
+ Maestro +
+ @if (hasTb('add')) { } + @if (hasTb('edit')) { } + @if (hasTb('delete')) { } + @if (hasTb('refresh')) { } + +
+
+ + @for (c of cols(); track c.id) { {{ c.label }} } + @for (c of cols(); track c.id) { {{ fmt(row[c.id], c) }} } + +
+
+
+ {{ $any(doc).detail?.title || 'Detalle' }} +
+ + + +
+
+ + @for (c of detailCols(); track c.id) { {{ c.label }} } + @for (c of detailCols(); track c.id) { {{ fmt(row[c.id], c) }} } + +
+
+ } @else if (isListScreen(doc)) { + @if (filterCols().length) { +
+ @for (c of filterCols(); track c.id) { + + } + +
+ } + + + + @for (c of cols(); track c.id) { + + {{ c.label }} + + + } + + + + + @for (c of cols(); track c.id) { + {{ fmt(row[c.id], c) }} + } + + + + Sin registros con los filtros actuales + + + } @else { +
+ Layout {{ doc.layout || 'especial' }}: lista, form y master-detail cubiertos en web 100%. + Dashboard, calendar, wizard y designers quedan en el shell HTTP FWH — ver docs/PROPUESTA y SUSTENTO. +
+ } + } @else { +
Selecciona un módulo.
+ } +
+
+
+} + +@if (edit(); as e) { + +
+ @for (c of (editScope === 'detail' ? detailCols() : cols()); track c.id) { +
+ + @if (c.type === 'checkbox') { + + } @else if (c.type === 'select') { + + } @else if (c.type === 'money' || c.format === 'money') { + + } @else { + + } +
+ } +
+ + + + +
+} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.routes.ts b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.routes.ts new file mode 100644 index 0000000..dc39edb --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.routes.ts @@ -0,0 +1,3 @@ +import { Routes } from '@angular/router'; + +export const routes: Routes = []; diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.scss b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.scss new file mode 100644 index 0000000..093b6de --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.scss @@ -0,0 +1,126 @@ +:host { display: block; height: 100vh; } + +.login-wrap { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(1200px 600px at 50% -10%, #16233b 0%, var(--bg, #0e1116) 60%); } +.login-card { width: 360px; background: #161b23; border: 1px solid #2a3342; border-radius: 14px; padding: 28px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45); } +.login-brand { font-size: 22px; font-weight: 600; } +.login-sub { color: #8b98ab; font-size: 12px; margin: 4px 0 20px; } +.login-card label { display: block; color: #8b98ab; font-size: 12px; margin: 12px 0 4px; } +.login-card input { width: 100%; } +.login-card p-button { display: block; margin-top: 16px; } +.login-error { color: #ef4444; font-size: 12px; margin-top: 10px; min-height: 14px; } + +.app { display: flex; flex-direction: column; height: 100vh; background: #0e1116; color: #e6ebf2; } +.topbar { height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; background: #161b23; border-bottom: 1px solid #2a3342; } +.topbar-left { display: flex; align-items: center; gap: 10px; } +.brand { font-weight: 600; font-size: 15px; } +.topbar-right { display: flex; align-items: center; gap: 8px; } +.user-chip { color: #8b98ab; font-size: 12px; margin: 0 6px; } + +.body { flex: 1; display: flex; min-height: 0; position: relative; } +.topbar-left { display: flex; align-items: center; gap: 10px; } +.btn-icon-bar { + background: #1e2530; color: #e6ebf2; border: 1px solid #2a3342; border-radius: 8px; + width: 36px; height: 34px; cursor: pointer; font-size: 16px; line-height: 1; flex-shrink: 0; +} +.btn-icon-bar:hover { border-color: #3b82f6; } +.btn-ghost { + background: none; border: 1px solid #2a3342; color: #e6ebf2; border-radius: 7px; padding: 5px 12px; cursor: pointer; font-size: 12.5px; +} +.btn-ghost:hover { border-color: #3b82f6; } +.btn-dash { font-size: 12.5px; } +.sidebar { + width: 240px; min-width: 240px; background: #161b23; border-right: 1px solid #2a3342; + overflow-x: hidden; overflow-y: auto; padding: 10px 8px; + transition: width .2s ease, min-width .2s ease, padding .2s ease, opacity .15s ease; + flex-shrink: 0; +} +.body.sidebar-collapsed .sidebar { + width: 0; min-width: 0; padding: 0; border: 0; opacity: 0; pointer-events: none; +} +.nav-pin { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid #2a3342; } +.nav-group { margin-bottom: 2px; } +.nav-section { + display: flex; align-items: center; justify-content: space-between; gap: 6px; + width: 100%; text-align: left; background: none; border: 0; color: #8b98ab; + font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; padding: 12px 10px 4px; + cursor: pointer; border-radius: 6px; +} +.nav-section:hover { color: #e6ebf2; background: #1e2530; } +.nav-section .chev { font-size: 10px; opacity: .75; transition: transform .15s; } +.nav-group.collapsed .nav-section .chev { transform: rotate(-90deg); } +.nav-group.collapsed .nav-group-body { display: none; } +.nav-item { display: block; width: 100%; text-align: left; background: none; border: 0; color: #e6ebf2; padding: 7px 10px; border-radius: 7px; cursor: pointer; font-size: 13px; } +.nav-item:hover { background: #1e2530; } +.nav-item.active { background: var(--p-button-primary-background, #3b82f6); color: #fff; } +.nav-item.sub { padding-left: 24px; color: #8b98ab; } +.nav-item.dash { color: #3b82f6; font-weight: 500; } +@media (max-width: 720px) { + .sidebar { position: absolute; z-index: 30; height: calc(100% - 56px); box-shadow: 8px 0 24px rgba(0,0,0,.35); } + .body.sidebar-collapsed .sidebar { box-shadow: none; } +} + +.main { flex: 1; overflow: auto; padding: 18px 22px; display: flex; flex-direction: column; gap: 12px; } +.loading, .empty { color: #8b98ab; padding: 40px; text-align: center; } +.empty b { color: #e6ebf2; } +.notice { color: #8b98ab; font-size: 12px; } + +.screen-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; } +.head-title { display: flex; align-items: center; gap: 10px; } +.head-title h2 { font-size: 19px; margin: 0; } +.toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } +.search { width: 240px; } +.rowcount { color: #8b98ab; font-size: 12px; } +th.right, td.right { text-align: right; } +.list-filters { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; padding: 10px 12px; background: #161b23; border: 1px solid #2a3342; border-radius: 10px; } +.filter-chip { display: flex; flex-direction: column; gap: 3px; font-size: 11px; color: #8b98ab; } +.filter-chip select { background: #1e2530; color: #e6ebf2; border: 1px solid #2a3342; border-radius: 7px; padding: 6px 8px; min-width: 120px; } +.btn { background: #1e2530; color: #e6ebf2; border: 1px solid #2a3342; border-radius: 8px; padding: 7px 13px; cursor: pointer; font-size: 13px; } +.empty-cell { text-align: center !important; color: #8b98ab; padding: 28px !important; } + +.form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; } +.form-layout { display: grid; grid-template-columns: 240px 1fr; flex: 1; min-height: 0; border: 1px solid #2a3342; border-radius: 10px; overflow: hidden; } +.form-nav { border-right: 1px solid #2a3342; background: #161b23; overflow: auto; max-height: calc(100vh - 140px); } +.form-nav-title { padding: 10px 12px; font-size: 12px; color: #8b98ab; font-weight: 600; border-bottom: 1px solid #2a3342; } +.form-nav-item { display: block; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid #2a3342; color: #e6ebf2; padding: 10px 12px; cursor: pointer; font-size: 12.5px; } +.form-nav-item.active, .form-nav-item:hover { background: #1e2530; } +.form-main { display: flex; flex-direction: column; min-width: 0; overflow: auto; } +.form-tabs { display: flex; gap: 4px; padding: 10px 12px 0; flex-wrap: wrap; border-bottom: 1px solid #2a3342; } +.form-tab { background: none; border: 1px solid transparent; color: #8b98ab; padding: 8px 12px; border-radius: 8px 8px 0 0; cursor: pointer; font-size: 12.5px; } +.form-tab.active { background: #161b23; color: #e6ebf2; border-color: #2a3342; } +.form-body { padding: 16px; } +.md-layout { display: grid; grid-template-rows: 1fr 1fr; gap: 10px; flex: 1; min-height: 0; } +.md-master, .md-detail { border: 1px solid #2a3342; border-radius: 10px; overflow: hidden; background: #161b23; } +.md-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; flex-wrap: wrap; border-bottom: 1px solid #2a3342; } +.field label { display: block; color: #8b98ab; font-size: 12px; margin-bottom: 4px; } +.field input, .field p-select, .field p-inputnumber { width: 100%; } +.field.chk { display: flex; align-items: center; gap: 8px; } +.field.chk label { margin: 0; } + +/* paridad FWH */ +.theme-fab { position: fixed; top: 14px; right: 14px; z-index: 60; background: #161b23; color: #e6ebf2; border: 1px solid #2a3342; border-radius: 999px; padding: 6px 14px; cursor: pointer; } +[data-theme="light"] .theme-fab { background: #fff; color: #0f172a; border-color: #cbd5e1; } +input.wd, .topbar input[type="date"] { background: #1e2530; color: #e6ebf2; border: 1px solid #2a3342; border-radius: 7px; padding: 5px 8px; } +[data-theme="light"] input.wd, [data-theme="light"] .topbar input[type="date"] { background: #e2e8f0; color: #0f172a; border-color: #cbd5e1; } +.proc-list { display: flex; flex-direction: column; gap: 8px; max-width: 720px; } +.proc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #161b23; border: 1px solid #2a3342; border-radius: 10px; padding: 10px 14px; } +[data-theme="light"] .proc-row { background: #fff; border-color: #cbd5e1; } +.proc-sub { color: #8b98ab; font-size: 12px; } +.proc-out { margin-top: 14px; background: #161b23; border: 1px solid #2a3342; border-radius: 8px; padding: 12px; min-height: 60px; max-height: 320px; overflow: auto; font-size: 12px; } +[data-theme="light"] .proc-out { background: #fff; border-color: #cbd5e1; color: #0f172a; } +[data-theme="light"] { .app { background: #f1f5f9; color: #0f172a; } .topbar, .sidebar { background: #fff; border-color: #cbd5e1; } .nav-item { color: #0f172a; } .nav-section, .user-chip, .empty, .loading { color: #64748b; } .main { background: #f1f5f9; } } + +/* herramienta cargue y ramas (login) */ +.tool-toggle { width: 100%; margin-top: 10px; background: none; border: 1px dashed #2a3342; color: #8b98ab; border-radius: 8px; padding: 7px; cursor: pointer; font-size: 12.5px; } +[data-theme="light"] .tool-toggle { border-color: #cbd5e1; color: #64748b; } +.tool-panel { margin-top: 12px; border-top: 1px solid #2a3342; padding-top: 12px; display: flex; flex-direction: column; gap: 10px; text-align: left; } +.tool-row { font-size: 12px; color: #8b98ab; display: flex; flex-direction: column; gap: 5px; } +.tool-row b { color: #e6ebf2; } +.tool-row code { background: #1e2530; border: 1px solid #2a3342; border-radius: 6px; padding: 4px 7px; font-size: 11px; color: #e6ebf2; word-break: break-all; } +[data-theme="light"] .tool-row code { background: #e2e8f0; color: #0f172a; border-color: #cbd5e1; } +.tool-links { display: flex; gap: 8px; flex-wrap: wrap; } +.tool-links a { color: #3b82f6; text-decoration: none; border: 1px solid #2a3342; border-radius: 999px; padding: 2px 10px; font-size: 12px; } +.tool-row .btn { align-self: flex-start; padding: 4px 10px; font-size: 11.5px; background: #1e2530; border: 1px solid #2a3342; color: #e6ebf2; border-radius: 7px; cursor: pointer; } + +.tool-ip { background: #1e2530; border: 1px solid #2a3342; color: #e6ebf2; border-radius: 999px; padding: 3px 10px; font-size: 12px; width: 130px; } +[data-theme="light"] .tool-ip { background: #e2e8f0; color: #0f172a; border-color: #cbd5e1; } +.tool-note { font-size: 11px; opacity: .8; } diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.ts b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.ts new file mode 100644 index 0000000..1bab754 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/src/app/app.ts @@ -0,0 +1,532 @@ +import { Component, computed, inject, signal } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { RouterOutlet } from '@angular/router'; +import { ButtonModule } from 'primeng/button'; +import { TableModule } from 'primeng/table'; +import { InputTextModule } from 'primeng/inputtext'; +import { InputNumberModule } from 'primeng/inputnumber'; +import { SelectModule } from 'primeng/select'; +import { CheckboxModule } from 'primeng/checkbox'; +import { DialogModule } from 'primeng/dialog'; +import { TagModule } from 'primeng/tag'; +import { ApiService, Ctx, GridCol, MetaDoc, ModuleSection } from './api.service'; + +interface Rama { + branch: 'pc' | 'hibrida' | 'web'; + webview: boolean; + nativeBridge: boolean; +} + +@Component({ + selector: 'app-root', + imports: [ + FormsModule, RouterOutlet, + ButtonModule, TableModule, InputTextModule, InputNumberModule, + SelectModule, CheckboxModule, DialogModule, TagModule + ], + templateUrl: './app.html', + styleUrl: './app.scss' +}) +export class App { + private api = inject(ApiService); + + readonly rama = signal(this.detectRama()); + readonly view = signal<'login' | 'app'>('login'); + readonly loginError = signal(''); + readonly busy = signal(false); + user = 'admin'; + pass = '1234'; + workDate = this.today(); + readonly theme = signal((() => { try { return localStorage.getItem('dw-theme') || 'dark'; } catch { return 'dark'; } })()); + readonly version = signal(''); + readonly procs = signal<{ items?: any[]; handlers?: any[] } | null>(null); + readonly procOut = signal(''); + readonly toolOpen = signal(false); + readonly sidebarCollapsed = signal((() => { + try { return localStorage.getItem('dw-sidebar') === '1'; } catch { return false; } + })()); + readonly secCollapsed = signal>((() => { + try { return JSON.parse(localStorage.getItem('dw-nav-sec') || '{}'); } catch { return {}; } + })()); + readonly copied = signal(false); + readonly mount = location.pathname.split('/')[1] || 'portal'; + readonly pcCmd = 'set ZWEB_FRONT=' + (location.pathname.split('/')[1] || 'portal') + ' && FiveTech_ERP_local.exe'; + + copyPc() { + navigator.clipboard.writeText(this.pcCmd).then(() => { + this.copied.set(true); + setTimeout(() => this.copied.set(false), 1200); + }); + } + + ip = (() => { + const h = location.hostname; + return !h || h === 'localhost' ? '127.0.0.1' : h; + })(); + readonly copiedUrl = signal(false); + get remoteUrl(): string { + return 'http://' + (this.ip.trim() || location.hostname || '127.0.0.1') + ':2222/portal/'; + } + ramaLabel(): string { + const b = this.rama().branch; + if (b === 'pc') return '1 · PC (escritorio)'; + if (b === 'hibrida') return '2 · WebView + HTTP'; + return '3 · Web 100%'; + } + /** Abre el navegador del sistema (como Edge con la dirección). No cambia esta ventana. */ + openExternal(url: string) { + try { url = new URL(url, location.href).href; } catch { /* keep */ } + const wv = (window as any).chrome?.webview; + if (wv) { + try { wv.postMessage(JSON.stringify({ cmd: 'open', url })); } catch { /* */ } + try { wv.postMessage('open:' + url); } catch { /* */ } + } + fetch('/api/open-browser', { + method: 'POST', + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + body: 'url=' + encodeURIComponent(url), + credentials: 'same-origin', + }).catch(() => {}); + if (!wv) window.open(url, '_blank', 'noopener'); + } + openRemote() { + this.openExternal(this.remoteUrl); + } + openLocal(ev?: Event) { + ev?.preventDefault(); + this.openExternal('http://127.0.0.1:2222/portal/'); + } + openMount(ev: Event, href: string) { + ev.preventDefault(); + this.openExternal(href); + } + copyRemote() { + navigator.clipboard.writeText(this.remoteUrl).then(() => { + this.copiedUrl.set(true); + setTimeout(() => this.copiedUrl.set(false), 1200); + }); + } + + readonly ctx = signal(null); + readonly modules = signal([]); + readonly activeScreenKey = signal(''); + readonly screen = signal(null); + readonly rows = signal([]); + readonly search = signal(''); + readonly colFilters = signal>({}); + readonly selected = signal(null); + readonly pageSize = 15; + readonly rowsPerPageOptions = [10, 15, 25, 50, 100]; + readonly loading = signal(false); + readonly edit = signal<{ isNew: boolean; row: Record } | null>(null); + readonly notice = signal(''); + readonly detailRows = signal([]); + readonly selectedDetail = signal(null); + readonly formIdx = signal(0); + readonly formNew = signal(false); + formDraft: Record = {}; + readonly formTab = signal('all'); + lookups: Record = {}; + editScope: 'master' | 'detail' = 'master'; + + readonly cols = computed(() => this.screen()?.grid?.columns ?? []); + readonly detailCols = computed(() => (this.screen() as any)?.detail?.grid?.columns ?? []); + readonly formFields = computed(() => (this.screen() as any)?.fields ?? []); + readonly formTabs = computed(() => { + const sc: any = this.screen(); + if (!sc) return []; + return sc.tabs?.length ? sc.tabs : [{ id: 'all', label: 'Datos', fields: (sc.fields || []).map((f: any) => f.id) }]; + }); + readonly formFieldsVisible = computed(() => { + const fields = this.formFields(); + const tab = this.formTabs().find((t: any) => t.id === this.formTab()) || this.formTabs()[0]; + const ids = tab?.fields || []; + return fields.filter((f: any) => ids.includes(f.id)); + }); + readonly detailVisible = computed(() => { + const sc: any = this.screen(); + const sel = this.selected(); + if (!sc?.detail || !sel) return []; + const mk = sc.detail.masterKey || this.keyFieldOf(sc); + return this.detailRows().filter((r) => String(r[mk]) === String(sel[this.keyFieldOf(sc)])); + }); + readonly filterCols = computed(() => + this.cols().filter((c: any) => c.type === 'select' && Array.isArray(c.options) && c.options.length) + ); + readonly visibleRows = computed(() => { + const f = this.search().toLowerCase().trim(); + const rows = this.rows(); + const fields = this.screen()?.searchFields ?? this.cols().map((c) => c.id); + const filters = this.colFilters(); + return rows.filter((r) => { + if (f && !fields.some((k) => String(r[k] ?? '').toLowerCase().includes(f))) return false; + for (const [cid, val] of Object.entries(filters)) { + if (val !== '' && val != null && String(r[cid] ?? '') !== String(val)) return false; + } + return true; + }); + }); + setColFilter(id: string, value: string) { + this.colFilters.update((m) => ({ ...m, [id]: value })); + } + clearListFilters() { + this.colFilters.set({}); + this.search.set(''); + } + optSelect(options: string[] | undefined) { + return (options || []).map((o) => ({ label: o, value: o })); + } + readonly companyOptions = computed(() => (this.ctx()?.companies ?? []).map((c) => ({ label: c.name || c.code, value: c.code }))); + readonly appOptions = computed(() => (this.ctx()?.apps ?? []).map((a) => ({ label: a.label || a.id, value: a.id }))); + + constructor() { + document.documentElement.classList.toggle('p-dark', this.theme() === 'dark'); + document.documentElement.setAttribute('data-theme', this.theme()); + this.boot(); + } + + private detectRama(): Rama { + const w = window as any; + const webview = !!(w.chrome && w.chrome.webview); + const nativeBridge = typeof w.SendToFWH === 'function'; + return { branch: webview ? (nativeBridge ? 'hibrida' : 'pc') : 'web', webview, nativeBridge }; + } + + private today(): string { + const d = new Date(); + return d.getFullYear() + '-' + String(d.getMonth() + 1).padStart(2, '0') + '-' + String(d.getDate()).padStart(2, '0'); + } + + toggleTheme() { + const t = this.theme() === 'dark' ? 'light' : 'dark'; + this.theme.set(t); + document.documentElement.setAttribute('data-theme', t); + document.documentElement.classList.toggle('p-dark', t === 'dark'); + document.documentElement.classList.toggle('light', t === 'light'); + try { localStorage.setItem('dw-theme', t); } catch { /* privado */ } + } + + goDashboard() { + location.href = '/dashboard.html'; + } + + toggleSidebar() { + const next = !this.sidebarCollapsed(); + this.sidebarCollapsed.set(next); + try { localStorage.setItem('dw-sidebar', next ? '1' : '0'); } catch { /* */ } + } + + toggleSec(id: string) { + const m = { ...this.secCollapsed() }; + m[id] = !m[id]; + this.secCollapsed.set(m); + try { localStorage.setItem('dw-nav-sec', JSON.stringify(m)); } catch { /* */ } + } + + secId(sec: ModuleSection): string { + return (sec as any).id || sec.title || 'sec'; + } + + isSecCollapsed(id: string): boolean { + return !!this.secCollapsed()[id]; + } + + onWorkdate(v: string) { + this.workDate = v; + this.api.cmd('workdate', v); + } + + async openProcesses() { + this.screen.set(null); + this.activeScreenKey.set('__procs'); + const j = await this.api.processGet(); + this.procs.set(j.ok ? j : { items: [], handlers: [] }); + this.procOut.set(''); + } + + async runProcess(it: any) { + this.procOut.set('Ejecutando ' + it.key + '…'); + const r = await this.api.processPost({ key: it.key, params: {} }); + this.procOut.set(JSON.stringify(r, null, 2)); + } + + private async boot() { + try { + const j = await this.api.context(); + if (j.ok) { this.ctx.set(j); await this.enterApp(); } + } catch { /* sin sesión */ } + } + + async onLogin() { + this.busy.set(true); + this.loginError.set(''); + try { + const j = await this.api.login(this.user.trim(), this.pass, this.workDate); + if (!j.ok) { this.loginError.set(j.msg || 'Credenciales inválidas'); return; } + this.ctx.set(await this.api.context()); + await this.enterApp(); + } catch (e: any) { + this.loginError.set(e?.message ?? 'Error de red'); + } finally { + this.busy.set(false); + } + } + + private async enterApp() { + this.view.set('app'); + const m = await this.api.meta('modules'); + const secs = m.ok ? (m.doc.sections ?? []) : []; + this.modules.set(secs); + const va = await this.api.meta('app'); + const ver = va.ok ? String(va.doc['version'] ?? '') : ''; + if (ver) this.version.set(ver); + const first = secs.flatMap((s) => s.items ?? []).find((i) => i.screen && !i.sub)?.screen; + if (first) this.openScreen(first); + } + + isMasterDetail(doc: MetaDoc | null | undefined): boolean { + return !!(doc && (doc.layout === 'master-detail' || doc.layout === 'document') && (doc as any).detail?.dataRef); + } + isFormScreen(doc: MetaDoc | null | undefined): boolean { + return !!(doc && doc.layout === 'form' && Array.isArray((doc as any).fields) && (doc as any).fields.length); + } + isListScreen(doc: MetaDoc | null | undefined): boolean { + if (!doc || this.isMasterDetail(doc) || this.isFormScreen(doc)) return false; + return doc.layout === 'list' || !!(doc.dataRef && doc.grid?.columns?.length); + } + toolbarIds(doc: MetaDoc | null | undefined): string[] { + const t = doc?.toolbar; + if (Array.isArray(t) && t.length) + return t.map((x: any) => typeof x === 'string' ? x : (x?.id || '')).filter(Boolean); + return ['add', 'edit', 'delete', 'refresh']; + } + hasTb(id: string): boolean { + return this.toolbarIds(this.screen()).includes(id); + } + keyFieldOf(doc: MetaDoc | null | undefined): string { + return doc?.keyField || doc?.grid?.columns?.[0]?.id || 'code'; + } + + async loadLookups(fields: any[]) { + for (const f of fields || []) { + if (f.type !== 'lookup' || !f.lookup || this.lookups[f.lookup]) continue; + try { + const lm = await this.api.meta(f.lookup); + if (!lm.ok) continue; + const vf = (lm.doc as any).valueField || 'code'; + const lf = (lm.doc as any).labelField || 'name'; + const dd = await this.api.dataset((lm.doc as any).dataRef); + this.lookups[f.lookup] = (dd.ok ? dd.rows : []).map((r: any) => ({ value: r[vf], label: r[lf] != null ? r[lf] : r[vf] })); + } catch { this.lookups[f.lookup] = []; } + } + } + + async openScreen(key: string) { + this.procs.set(null); + this.activeScreenKey.set(key); + this.loading.set(true); + this.selected.set(null); + this.selectedDetail.set(null); + this.detailRows.set([]); + this.formNew.set(false); + this.formIdx.set(0); + this.search.set(''); + this.colFilters.set({}); + try { + const m = await this.api.meta(key); + if (!m.ok) { this.screen.set(null); return; } + this.screen.set(m.doc); + const doc: any = m.doc; + if (this.isMasterDetail(m.doc)) { + const d = await this.api.dataset(doc.dataRef); + const masters = d.ok ? d.rows : []; + this.rows.set(masters); + this.selected.set(masters[0] || null); + const dd = await this.api.dataset(doc.detail.dataRef); + this.detailRows.set(dd.ok ? dd.rows : []); + } else if (this.isFormScreen(m.doc)) { + const d = await this.api.dataset(doc.dataRef); + const rs = d.ok ? d.rows : []; + this.rows.set(rs); + this.formDraft = rs[0] ? { ...rs[0] } : {}; + this.formTab.set(doc.tabs?.[0]?.id || 'all'); + await this.loadLookups(doc.fields || []); + } else if (this.isListScreen(m.doc) && m.doc.dataRef) { + const d = await this.api.dataset(m.doc.dataRef); + this.rows.set(d.ok ? d.rows : []); + } else { + this.rows.set([]); + } + } finally { + this.loading.set(false); + } + } + + selectFormRow(i: number) { + this.formNew.set(false); + this.formIdx.set(i); + this.formDraft = { ...this.rows()[i] }; + } + newFormRow() { + this.formNew.set(true); + this.formDraft = {}; + } + setFormField(id: string, value: any) { + this.formDraft = { ...this.formDraft, [id]: value }; + } + optList(opts?: string[]) { + return (opts || []).map((o) => ({ label: o, value: o })); + } + lookupOpts(key?: string) { + return (this.lookups[key || ''] || []).map((o) => ({ label: o.label + ' (' + o.value + ')', value: o.value })); + } + async saveForm() { + const sc = this.screen(); + if (!sc?.dataRef) return; + const kf = this.keyFieldOf(sc); + const body = this.formNew() + ? { key: sc.dataRef, action: 'add', row: this.formDraft } + : { key: sc.dataRef, action: 'update', keyField: kf, keyValue: String(this.rows()[this.formIdx()]?.[kf]), row: this.formDraft }; + const j = await this.api.datasetPost(body as any); + this.notice.set(j.ok ? 'Guardado' : (j.msg ?? 'Error')); + if (j.ok) await this.openScreen(sc.id); + } + async delForm() { + if (this.formNew()) return; + const sc = this.screen(); + const row = this.rows()[this.formIdx()]; + if (!sc?.dataRef || !row) return; + const kf = this.keyFieldOf(sc); + if (!confirm('¿Eliminar ' + row[kf] + '?')) return; + const j = await this.api.datasetPost({ key: sc.dataRef, action: 'delete', keyField: kf, keyValue: String(row[kf]) }); + this.notice.set(j.ok ? 'Eliminado' : (j.msg ?? 'Error')); + if (j.ok) await this.openScreen(sc.id); + } + + onCompanyChange(code: string) { this.switchCmd('company', code); } + onAppChange(id: string) { this.switchCmd('app', id); } + private async switchCmd(action: string, value: string) { + const j = await this.api.cmd(action, value); + if (j.ok) { + this.ctx.set(await this.api.context()); + await this.enterApp(); + } else { + this.notice.set(j.msg ?? 'No autorizado'); + } + } + + openNew(scope: 'master' | 'detail' = 'master') { + this.editScope = scope; + let row: any = {}; + if (scope === 'detail' && this.selected()) { + const sc: any = this.screen(); + const mk = sc?.detail?.masterKey || this.keyFieldOf(sc); + row[mk] = this.selected()[this.keyFieldOf(sc)]; + } + this.edit.set({ isNew: true, row }); + } + openEdit(row?: any, scope: 'master' | 'detail' = 'master') { + const r = row ?? (scope === 'detail' ? this.selectedDetail() : this.selected()); + if (!r) return; + this.editScope = scope; + this.edit.set({ isNew: false, row: { ...r } }); + } + openEditDetail(row?: any) { this.openEdit(row, 'detail'); } + async deleteDetail() { + const sc: any = this.screen(); + const row = this.selectedDetail(); + if (!sc?.detail || !row) return; + const kf = sc.detail.keyField || 'code'; + if (!confirm('¿Eliminar ' + row[kf] + '?')) return; + const j = await this.api.datasetPost({ key: sc.detail.dataRef, action: 'delete', keyField: kf, keyValue: String(row[kf]) }); + this.notice.set(j.ok ? 'Eliminado' : (j.msg ?? 'Error')); + if (j.ok) await this.openScreen(sc.id); + } + closeEdit() { + this.edit.set(null); + } + + async saveEdit() { + const e = this.edit(); + const sc: any = this.screen(); + if (!e || !sc) return; + const dataKey = this.editScope === 'detail' ? sc.detail?.dataRef : sc.dataRef; + const kf = this.editScope === 'detail' ? (sc.detail?.keyField || 'code') : this.keyFieldOf(sc); + if (!dataKey) return; + const body = e.isNew + ? { key: dataKey, action: 'add', row: e.row } + : { key: dataKey, action: 'update', keyField: kf, keyValue: String(e.row[kf]), row: e.row }; + const j = await this.api.datasetPost(body as any); + this.notice.set(j.ok ? 'Guardado' : (j.msg ?? 'Error al guardar')); + if (j.ok) { this.edit.set(null); await this.openScreen(sc.id); } + } + + async deleteSelected() { + const sc = this.screen(); + const row = this.selected(); + if (!sc?.dataRef || !row) return; + const kf = this.keyFieldOf(sc); + if (!confirm('¿Eliminar ' + row[kf] + '?')) return; + const j = await this.api.datasetPost({ key: sc.dataRef, action: 'delete', keyField: kf, keyValue: String(row[kf]) }); + this.notice.set(j.ok ? 'Eliminado' : (j.msg ?? 'Error')); + if (j.ok) await this.openScreen(sc.id); + } + + exportExcel() { + const sc = this.screen(); + const cols = this.cols(); + const rows = this.visibleRows(); + if (!sc || !cols.length) return; + const cell = (v: any) => { + const s = v == null ? '' : String(v); + return /[",\n\r]/.test(s) ? '"' + s.replace(/"/g, '""') + '"' : s; + }; + const lines = [cols.map((c) => cell(c.label || c.id)).join(',')]; + rows.forEach((r) => lines.push(cols.map((c) => cell(r[c.id])).join(','))); + const blob = new Blob(['\ufeff' + lines.join('\r\n')], { type: 'text/csv;charset=utf-8;' }); + const a = document.createElement('a'); + a.href = URL.createObjectURL(blob); + a.download = String(sc.title || sc.id).replace(/[^A-Za-z0-9_\-]+/g, '_') + '.csv'; + a.click(); + URL.revokeObjectURL(a.href); + this.notice.set('Excel/CSV exportado (' + rows.length + ' filas)'); + } + + printList() { + const sc = this.screen(); + const cols = this.cols(); + const rows = this.visibleRows(); + if (!sc) return; + const w = window.open('', '_blank'); + if (!w) { window.print(); return; } + const th = cols.map((c) => '' + (c.label || c.id) + '').join(''); + const body = rows.map((r) => '' + cols.map((c) => '' + this.fmt(r[c.id], c) + '').join('') + '').join(''); + w.document.write('' + (sc.title || '') + '' + + '' + + '

' + (sc.title || '') + '

' + th + '' + body + + '
'); + w.document.close(); + setTimeout(() => { try { w.print(); } catch { /* */ } }, 250); + } + + async logout() { + await this.api.cmd('logout'); + this.ctx.set(null); + this.modules.set([]); + this.screen.set(null); + this.view.set('login'); + } + + fmt(v: any, c: GridCol): string { + if (c.type === 'money' || c.format === 'money') + return v == null || v === '' ? '' : Number(v).toLocaleString('es', { minimumFractionDigits: 2, maximumFractionDigits: 2 }); + if (c.type === 'checkbox') return v ? 'Sí' : ''; + return v == null ? '' : String(v); + } + + setField(id: string, value: any) { + const e = this.edit(); + if (e) e.row[id] = value; + } +} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/src/index.html b/samples/projects/FiveTech_ERP/frontends/web-angular/src/index.html new file mode 100644 index 0000000..d4bb4d6 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/src/index.html @@ -0,0 +1,13 @@ + + + + + FiveTech ERP — Rama Web (Angular) + + + + + + + + diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/src/main.ts b/samples/projects/FiveTech_ERP/frontends/web-angular/src/main.ts new file mode 100644 index 0000000..5df75f9 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/src/main.ts @@ -0,0 +1,6 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { App } from './app/app'; + +bootstrapApplication(App, appConfig) + .catch((err) => console.error(err)); diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/src/styles.scss b/samples/projects/FiveTech_ERP/frontends/web-angular/src/styles.scss new file mode 100644 index 0000000..472cec7 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/src/styles.scss @@ -0,0 +1,4 @@ +html { background: #0e1116; } +body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; background: #0e1116; color: #e6ebf2; } +.mt-4 { margin-top: 1rem; } +.w-full { width: 100%; } diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.app.json b/samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.app.json new file mode 100644 index 0000000..264f459 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] +} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.json b/samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.json new file mode 100644 index 0000000..ad457fa --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.json @@ -0,0 +1,30 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.spec.json b/samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.spec.json new file mode 100644 index 0000000..d383706 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/web-angular/tsconfig.spec.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "vitest/globals" + ] + }, + "include": [ + "src/**/*.d.ts", + "src/**/*.spec.ts" + ] +} diff --git a/samples/projects/FiveTech_ERP/scripts/api-check.mjs b/samples/projects/FiveTech_ERP/scripts/api-check.mjs new file mode 100644 index 0000000..833db18 --- /dev/null +++ b/samples/projects/FiveTech_ERP/scripts/api-check.mjs @@ -0,0 +1,103 @@ +// api-check.mjs — Evidencia de la rama 100% web: recorrido completo del contrato HTTP +// Uso: node scripts/api-check.mjs [baseUrl] (default http://127.0.0.1:2222) +// Demuestra que TODO lo que hace el WebView de escritorio viaja por HTTP estándar: +// login (cookie HttpOnly) → contexto → menú (meta modules) → meta pantalla → dataset → CRUD. + +const BASE = process.argv[2] || 'http://127.0.0.1:2222'; +let cookie = ''; +const results = []; +const t0 = Date.now(); + +function ok(name, detail, ms) { results.push({ name, ok: true, detail, ms }); console.log(` OK ${name.padEnd(38)} ${String(ms).padStart(5)} ms ${detail}`); } +function fail(name, err) { results.push({ name, ok: false, detail: String(err) }); console.log(`FAIL ${name.padEnd(38)} ${err}`); } + +async function req(method, path, body, kind = 'json') { + const s = Date.now(); + const r = await fetch(BASE + path, { + method, + headers: { + ...(body && kind === 'json' ? { 'Content-Type': 'application/json' } : {}), + ...(body && kind === 'form' ? { 'Content-Type': 'application/x-www-form-urlencoded' } : {}), + ...(cookie ? { Cookie: cookie } : {}), + }, + body: body == null ? undefined : kind === 'json' ? JSON.stringify(body) : body, + }); + const sc = r.headers.get('set-cookie'); + if (sc) cookie = sc.split(';')[0]; + const j = await r.json(); + return { r, j, ms: Date.now() - s }; +} + +// 1. Login — la sesión queda en cookie DWSESS (HttpOnly): nunca en el JS del cliente +try { + const { j, ms } = await req('POST', '/api/login', { user: 'admin', password: '1234' }); + if (!j.ok) throw new Error(j.msg); + ok('POST /api/login', `user=${j.user} empresa=${j.company} app=${j.app} cookie=${cookie.split('=')[0]}`, ms); +} catch (e) { fail('POST /api/login', e.message); } + +// 2. Contexto multi-empresa / multi-app +try { + const { j, ms } = await req('GET', '/api/context'); + if (!j.ok) throw new Error(j.msg); + ok('GET /api/context', `empresas=${j.companies.length} apps=${j.apps.length} admin=${j.isAdmin}`, ms); +} catch (e) { fail('GET /api/context', e.message); } + +// 3. Menú desde meta (modules) — el sidebar no está hardcodeado +try { + const { j, ms } = await req('GET', '/api/meta?key=modules'); + if (!j.ok) throw new Error(j.msg); + const secs = j.doc.sections || []; + const items = secs.reduce((a, s) => a + (s.items?.length || 0), 0); + ok('GET /api/meta?key=modules', `secciones=${secs.length} items=${items}`, ms); +} catch (e) { fail('GET /api/meta?key=modules', e.message); } + +// 4. Meta de una pantalla list (contrato del renderer genérico) +try { + const { j, ms } = await req('GET', '/api/meta?key=screen.products'); + if (!j.ok) throw new Error(j.msg); + ok('GET /api/meta?key=screen.products', `layout=${j.doc.layout} dataRef=${j.doc.dataRef} cols=${j.doc.grid.columns.length}`, ms); +} catch (e) { fail('GET /api/meta?key=screen.products', e.message); } + +// 5. Dataset (datos reales) +let rowCount = 0; +try { + const { j, ms } = await req('GET', '/api/dataset?key=data.products'); + if (!j.ok) throw new Error(j.msg); + rowCount = j.rows.length; + ok('GET /api/dataset?key=data.products', `filas=${rowCount}`, ms); +} catch (e) { fail('GET /api/dataset?key=data.products', e.message); } + +// 6. CRUD de ida y vuelta sobre fila scratch (se autolimpia) +const scratch = { code: 'ZZ-PROTO-1', name: 'Fila evidencia rama web', category: 'Gift', price: 1.5, active: true }; +try { + let { j, ms } = await req('POST', '/api/dataset', { key: 'data.products', action: 'add', row: scratch }); + if (!j.ok) throw new Error('add: ' + j.msg); + const msAdd = ms; + ({ j, ms } = await req('POST', '/api/dataset', { key: 'data.products', action: 'update', keyField: 'code', keyValue: scratch.code, row: { ...scratch, price: 2.5 } })); + if (!j.ok) throw new Error('update: ' + j.msg); + const { j: jv } = await req('GET', '/api/dataset?key=data.products'); + const row = jv.rows.find((r) => r.code === scratch.code); + if (!row || row.price !== 2.5) throw new Error('verificación update falló'); + ({ j, ms } = await req('POST', '/api/dataset', { key: 'data.products', action: 'delete', keyField: 'code', keyValue: scratch.code })); + if (!j.ok) throw new Error('delete: ' + j.msg); + ok('POST /api/dataset CRUD add→update→delete', `add=${msAdd}ms · verificado price=2.5 · delete ok`, ms); +} catch (e) { fail('POST /api/dataset CRUD', e.message); } + +// 7. Logout +try { + const { j, ms } = await req('POST', '/api/cmd', 'action=logout', 'form'); + if (!j.ok) throw new Error(j.msg); + ok('POST /api/cmd action=logout', 'sesión cerrada', ms); +} catch (e) { fail('POST /api/cmd logout', e.message); } + +// 8. Sin cookie → API rechaza (la seguridad vive en el servidor) +try { + cookie = ''; + const { j, ms } = await req('GET', '/api/dataset?key=data.products'); + if (j.ok) throw new Error('¡debió rechazar sin sesión!'); + ok('GET /api/dataset sin sesión', `rechazado: "${j.msg}"`, ms); +} catch (e) { fail('control sin sesión', e.message); } + +const fails = results.filter((r) => !r.ok).length; +console.log(`\n${fails === 0 ? 'CONTRATO COMPLETO VALIDADO' : 'FALLAS: ' + fails} · ${results.length} pruebas · ${Date.now() - t0} ms totales · base=${BASE}`); +process.exit(fails === 0 ? 0 : 1); diff --git a/samples/projects/FiveTech_ERP/scripts/concurrency-write.py b/samples/projects/FiveTech_ERP/scripts/concurrency-write.py new file mode 100644 index 0000000..a01a001 --- /dev/null +++ b/samples/projects/FiveTech_ERP/scripts/concurrency-write.py @@ -0,0 +1,73 @@ +# concurrency-write.py — Estrés de ESCRITURA concurrente sobre el contrato web. +# N sesiones hacen login y cada una agrega/actualiza/elimina filas propias +# (prefijo ZZW), sin pisarse. Al final se verifica integridad del dataset: +# mismo número de filas de partida y cero residuos ZZW. +# Uso: python scripts/concurrency-write.py [sesiones] [filas_por_sesion] [base] +import json, sys, threading, time, urllib.request + +BASE = sys.argv[3] if len(sys.argv) > 3 else "http://127.0.0.1:2222" +N = int(sys.argv[1]) if len(sys.argv) > 1 else 10 +K = int(sys.argv[2]) if len(sys.argv) > 2 else 3 +KEY = "data.products" +results, lock = [], threading.Lock() + +def req(path, body=None, cookie=None): + data = json.dumps(body).encode() if body is not None else None + r = urllib.request.Request(BASE + path, data=data) + if body is not None: + r.add_header("Content-Type", "application/json") + if cookie: + r.add_header("Cookie", cookie) + with urllib.request.urlopen(r, timeout=60) as resp: + sc = resp.headers.get("Set-Cookie") + return json.loads(resp.read().decode()), (sc.split(";")[0] if sc else None) + +def baseline(): + j, cookie = req("/api/login", {"user": "admin", "password": "1234"}) + j2, _ = req("/api/dataset?key=" + KEY, cookie=cookie) + return len(j2["rows"]), cookie + +def worker(i): + t0 = time.time() + try: + j, cookie = req("/api/login", {"user": "admin", "password": "1234"}) + assert j.get("ok") + ops = 0 + for k in range(K): + code = f"ZZW{i:02d}{k}" + j, _ = req("/api/dataset", {"key": KEY, "action": "add", + "row": {"code": code, "name": f"escritura {i}-{k}", "category": "Gift", + "price": 1.0, "active": True}}, cookie) + assert j.get("ok"), "add: " + str(j.get("msg")) + ops += 1 + j, _ = req("/api/dataset", {"key": KEY, "action": "update", "keyField": "code", + "keyValue": code, "row": {"code": code, "name": f"escritura {i}-{k} upd", + "category": "Gift", "price": 2.0, "active": True}}, cookie) + assert j.get("ok"), "update: " + str(j.get("msg")) + ops += 1 + j, _ = req("/api/dataset", {"key": KEY, "action": "delete", + "keyField": "code", "keyValue": code}, cookie) + assert j.get("ok"), "delete: " + str(j.get("msg")) + ops += 1 + with lock: + results.append({"i": i, "ok": True, "ops": ops, "ms": round((time.time() - t0) * 1000)}) + except Exception as e: + with lock: + results.append({"i": i, "ok": False, "error": str(e)}) + +n0, _ = baseline() +t0 = time.time() +ths = [threading.Thread(target=worker, args=(i,)) for i in range(N)] +[t.start() for t in ths] +[t.join() for t in ths] +total = round((time.time() - t0) * 1000) +n1, _ = baseline() + +oks = [r for r in results if r["ok"]] +errs = [r for r in results if not r["ok"]] +ops = sum(r.get("ops", 0) for r in oks) +print(f"sesiones: {N} x {K} filas · OK: {len(oks)} · errores: {len(errs)} · ops CRUD: {ops} · {total} ms") +print(f"integridad: filas antes={n0} despues={n1} -> {'OK' if n0 == n1 else 'CORRUPCION'}") +for e in errs[:5]: + print(f" ERR sesion {e['i']}: {e['error']}") +sys.exit(0 if (not errs and n0 == n1) else 1) diff --git a/samples/projects/FiveTech_ERP/scripts/concurrency.py b/samples/projects/FiveTech_ERP/scripts/concurrency.py new file mode 100644 index 0000000..e3fc1ae --- /dev/null +++ b/samples/projects/FiveTech_ERP/scripts/concurrency.py @@ -0,0 +1,61 @@ +# concurrency.py — Evidencia multi-sesión de la rama 100% web +# N sesiones simultáneas (cada una con su cookie DWSESS propia) hacen +# login + contexto + dataset, como lo harían N navegadores reales. +# Uso: python scripts/concurrency.py [sesiones] [base] +import json, sys, threading, time, urllib.request + +BASE = sys.argv[2] if len(sys.argv) > 2 else "http://127.0.0.1:2222" +N = int(sys.argv[1]) if len(sys.argv) > 1 else 10 +results = [] +lock = threading.Lock() + +def req(path, body=None, cookie=None): + data = json.dumps(body).encode() if body is not None else None + r = urllib.request.Request(BASE + path, data=data) + if body is not None: + r.add_header("Content-Type", "application/json") + if cookie: + r.add_header("Cookie", cookie) + with urllib.request.urlopen(r, timeout=30) as resp: + sc = resp.headers.get("Set-Cookie") + return json.loads(resp.read().decode()), (sc.split(";")[0] if sc else None) + +def worker(i): + t0 = time.time() + try: + j, cookie = req("/api/login", {"user": "admin", "password": "1234"}) + assert j.get("ok"), j.get("msg") + t_login = time.time() - t0 + t1 = time.time() + j, _ = req("/api/context", cookie=cookie) + assert j.get("ok"), j.get("msg") + j, _ = req("/api/meta?key=modules", cookie=cookie) + assert j.get("ok"), j.get("msg") + j, _ = req("/api/dataset?key=data.products", cookie=cookie) + assert j.get("ok"), j.get("msg") + rows = len(j.get("rows", [])) + t_data = time.time() - t1 + with lock: + results.append({"i": i, "ok": True, "login_ms": round(t_login * 1000), + "data_ms": round(t_data * 1000), "rows": rows}) + except Exception as e: + with lock: + results.append({"i": i, "ok": False, "error": str(e)}) + +t0 = time.time() +threads = [threading.Thread(target=worker, args=(i,)) for i in range(N)] +[t.start() for t in threads] +[t.join() for t in threads] +total = round((time.time() - t0) * 1000) + +oks = [r for r in results if r["ok"]] +errs = [r for r in results if not r["ok"]] +print(f"sesiones: {N} · OK: {len(oks)} · errores: {len(errs)} · total: {total} ms") +if oks: + lg = sorted(r["login_ms"] for r in oks) + dt = sorted(r["data_ms"] for r in oks) + print(f"login min/med/max: {lg[0]}/{lg[len(lg)//2]}/{lg[-1]} ms") + print(f"datos min/med/max: {dt[0]}/{dt[len(dt)//2]}/{dt[-1]} ms (context+modules+dataset)") +for e in errs[:5]: + print(f" ERR sesion {e['i']}: {e['error']}") +sys.exit(0 if not errs else 1) diff --git a/samples/projects/FiveTech_ERP/scripts/evidence.cjs b/samples/projects/FiveTech_ERP/scripts/evidence.cjs new file mode 100644 index 0000000..55a4066 --- /dev/null +++ b/samples/projects/FiveTech_ERP/scripts/evidence.cjs @@ -0,0 +1,88 @@ +// evidence.cjs — Captura evidencia visual de la rama 100% web en los 4 frontends. +// Flujo por frontend: login (admin/1234) → switch app "ferreteria" → pantalla Products (grid CRUD). +// Uso: node scripts/evidence.cjs +const { chromium } = require('playwright'); +const path = require('path'); + +const BASE = 'http://127.0.0.1:2222'; +const OUT = path.join(__dirname, '..', 'docs', 'evidencia'); + +const targets = [ + { + name: 'web-vanilla', + user: '#login-user', pass: '#login-pass', submit: '#login-form button[type=submit]', + appSelect: { kind: 'select', sel: '#sel-app' }, + }, + { + name: 'web-angular', + user: 'input[name=user]', pass: 'input[name=pass]', submit: 'button[type=submit]', + appSelect: { kind: 'primeng' }, + }, + { + name: 'web-react', + user: '.login-card input:not([type=password])', pass: '.login-card input[type=password]', submit: '.login-card button[type=submit]', + appSelect: { kind: 'select', sel: '.topbar-right select' , nth: 1 }, + }, + { + name: 'web-vue', + user: '.login-card input:not([type=password])', pass: '.login-card input[type=password]', submit: '.login-card button[type=submit]', + appSelect: { kind: 'select', sel: '.topbar-right select', nth: 1 }, + }, +]; + +(async () => { + const browser = await chromium.launch(); + const results = []; + for (const t of targets) { + const page = await browser.newPage({ viewport: { width: 1440, height: 900 } }); + const rec = { name: t.name }; + try { + const t0 = Date.now(); + await page.goto(`${BASE}/${t.name}/index.html`, { waitUntil: 'networkidle' }); + await page.waitForSelector(t.user, { timeout: 15000 }); + await page.screenshot({ path: path.join(OUT, `${t.name}-login.png`) }); + await page.fill(t.user, 'admin'); + await page.fill(t.pass, '1234'); + await Promise.all([ + page.waitForSelector('.nav-item', { timeout: 20000 }), + page.click(t.submit), + ]); + rec.loginMs = Date.now() - t0; + + // cambio de app a ferreteria (contiene Products con CRUD) + if (t.appSelect.kind === 'select') { + const sel = t.appSelect.nth + ? page.locator(t.appSelect.sel).nth(t.appSelect.nth) + : page.locator(t.appSelect.sel); + await sel.selectOption('ferreteria'); + } else { + const sel = page.locator('.topbar-right p-select').nth(1); + await sel.click(); + await page.locator('.p-select-option', { hasText: /Ferreter/ }).first().click(); + } + await page.waitForTimeout(1200); + await page.waitForSelector('.nav-item', { timeout: 15000 }); + + const prod = page.locator('.nav-item', { hasText: /Products|Productos|Artículos/ }).first(); + if (await prod.count()) { + await prod.click(); + await page.waitForSelector('table', { timeout: 15000 }); + await page.waitForTimeout(600); + } + await page.screenshot({ path: path.join(OUT, `${t.name}-app.png`) }); + rec.ok = true; + } catch (e) { + rec.ok = false; + rec.error = String(e.message || e).split('\n')[0]; + try { await page.screenshot({ path: path.join(OUT, `${t.name}-error.png`) }); } catch {} + } finally { + await page.close(); + } + results.push(rec); + console.log(`${rec.ok ? 'OK ' : 'FAIL'} ${t.name}${rec.loginMs ? ' login+shell ' + rec.loginMs + ' ms' : ''}${rec.error ? ' ' + rec.error : ''}`); + } + await browser.close(); + const fails = results.filter((r) => !r.ok).length; + console.log(fails === 0 ? 'EVIDENCIA COMPLETA' : 'FALLAS: ' + fails); + process.exit(fails ? 1 : 0); +})(); diff --git a/samples/projects/FiveTech_ERP/www/portal/index.html b/samples/projects/FiveTech_ERP/www/portal/index.html new file mode 100644 index 0000000..ebe16da --- /dev/null +++ b/samples/projects/FiveTech_ERP/www/portal/index.html @@ -0,0 +1,104 @@ + + + + + +FiveTech ERP — Opciones de vista + + + + +
+

FiveTech ERP — Opciones de vista

+

Elija cómo quiere trabajar. En todos los casos son los mismos datos y el mismo usuario; solo cambia la forma de ver la pantalla.

+ +
+

1 · Login directo — versión PC

+

+ Entrada clásica en la aplicación de este equipo (ventana del programa). + Ideal si trabaja siempre en el mismo PC de la oficina. +

+ Ir al login PC +
+ +
+

2 · Opción WebView + HTTP

+

+ Combina la app de escritorio con el navegador: la ventana del programa + sigue activa y puede abrir el portal en Edge/Chrome + (igual que escribir localhost:2222/portal). + Útil cuando conviven pantallas de escritorio y pantallas web. +

+ Login escritorio + Abrir vista web (Angular) +
+ +
+

3 · Opción web 100% solo navegador

+

+ Sin instalar nada en el puesto: abra el navegador y elija la vista. + Sirve en PC, tablet o celular (si la red lo permite). +

+ +
+ +
+ Acceso por la red

+ Intranet (oficina / red local): + en otro PC o celular de la misma red abra el navegador y entre a + http://<IP-del-servidor>:2222/portal/ + (por ejemplo http://192.168.1.20:2222/portal/). + Usuario y clave son los de siempre.

+ Remoto (internet): + desde fuera de la oficina hace falta que el área de sistemas habilite + el acceso seguro (VPN, dirección pública o túnel con certificado). + Sin esa configuración, el sistema solo responde dentro de la red de la empresa. +
+ +

+ Prueba del prototipo: usuario admin + / clave 1234 +

+
+ + + diff --git a/samples/projects/FiveTech_ERP/www/web-angular/favicon.ico b/samples/projects/FiveTech_ERP/www/web-angular/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 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 Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/www/web-angular/index.html b/samples/projects/FiveTech_ERP/www/web-angular/index.html new file mode 100644 index 0000000..90d3d23 --- /dev/null +++ b/samples/projects/FiveTech_ERP/www/web-angular/index.html @@ -0,0 +1,13 @@ + + + + + FiveTech ERP — Rama Web (Angular) + + + + + + + + diff --git a/samples/projects/FiveTech_ERP/www/web-angular/main-ORSDDJMH.js b/samples/projects/FiveTech_ERP/www/web-angular/main-ORSDDJMH.js new file mode 100644 index 0000000..ef42900 --- /dev/null +++ b/samples/projects/FiveTech_ERP/www/web-angular/main-ORSDDJMH.js @@ -0,0 +1,3773 @@ +var VE=Object.defineProperty,zE=Object.defineProperties;var jE=Object.getOwnPropertyDescriptors;var El=Object.getOwnPropertySymbols;var f0=Object.prototype.hasOwnProperty,h0=Object.prototype.propertyIsEnumerable;var p0=(t,i,e)=>i in t?VE(t,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[i]=e,T=(t,i)=>{for(var e in i||={})f0.call(i,e)&&p0(t,e,i[e]);if(El)for(var e of El(i))h0.call(i,e)&&p0(t,e,i[e]);return t},ie=(t,i)=>zE(t,jE(i));var Xu=(t,i)=>{var e={};for(var n in t)f0.call(t,n)&&i.indexOf(n)<0&&(e[n]=t[n]);if(t!=null&&El)for(var n of El(t))i.indexOf(n)<0&&h0.call(t,n)&&(e[n]=t[n]);return e};var Ce=(t,i,e)=>new Promise((n,o)=>{var r=l=>{try{s(e.next(l))}catch(c){o(c)}},a=l=>{try{s(e.throw(l))}catch(c){o(c)}},s=l=>l.done?n(l.value):Promise.resolve(l.value).then(r,a);s((e=e.apply(t,i)).next())});var Qt=null,Il=!1,Ju=1,HE=null,Ut=Symbol("SIGNAL");function le(t){let i=Qt;return Qt=t,i}function Rl(){return Qt}var Ro={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Oo(t){if(Il)throw new Error("");if(Qt===null)return;Qt.consumerOnSignalRead(t);let i=Qt.producersTail;if(i!==void 0&&i.producer===t)return;let e,n=Qt.recomputing;if(n&&(e=i!==void 0?i.nextProducer:Qt.producers,e!==void 0&&e.producer===t)){Qt.producersTail=e,e.lastReadVersion=t.version;return}let o=t.consumersTail;if(o!==void 0&&o.consumer===Qt&&(!n||UE(o,Qt)))return;let r=_r(Qt),a={producer:t,consumer:Qt,nextProducer:e,prevConsumer:o,lastReadVersion:t.version,nextConsumer:void 0};Qt.producersTail=a,i!==void 0?i.nextProducer=a:Qt.producers=a,r&&y0(t,a)}function g0(){Ju++}function Ol(t){if(!(_r(t)&&!t.dirty)&&!(!t.dirty&&t.lastCleanEpoch===Ju)){if(!t.producerMustRecompute(t)&&!yr(t)){Ml(t);return}t.producerRecomputeValue(t),Ml(t)}}function ep(t){if(t.consumers===void 0)return;let i=Il;Il=!0;try{for(let e=t.consumers;e!==void 0;e=e.nextConsumer){let n=e.consumer;n.dirty||$E(n)}}finally{Il=i}}function tp(){return Qt?.consumerAllowSignalWrites!==!1}function $E(t){t.dirty=!0,ep(t),t.consumerMarkedDirty?.(t)}function Ml(t){t.dirty=!1,t.lastCleanEpoch=Ju}function Xi(t){return t&&m0(t),le(t)}function m0(t){t.producersTail=void 0,t.recomputing=!0}function Ao(t,i){le(i),t&&b0(t)}function b0(t){t.recomputing=!1;let i=t.producersTail,e=i!==void 0?i.nextProducer:t.producers;if(e!==void 0){if(_r(t))do e=np(e);while(e!==void 0);i!==void 0?i.nextProducer=void 0:t.producers=void 0}}function yr(t){for(let i=t.producers;i!==void 0;i=i.nextProducer){let e=i.producer,n=i.lastReadVersion;if(n!==e.version||(Ol(e),n!==e.version))return!0}return!1}function Ji(t){if(_r(t)){let i=t.producers;for(;i!==void 0;)i=np(i)}t.producers=void 0,t.producersTail=void 0,t.consumers=void 0,t.consumersTail=void 0}function y0(t,i){let e=t.consumersTail,n=_r(t);if(e!==void 0?(i.nextConsumer=e.nextConsumer,e.nextConsumer=i):(i.nextConsumer=void 0,t.consumers=i),i.prevConsumer=e,t.consumersTail=i,!n)for(let o=t.producers;o!==void 0;o=o.nextProducer)y0(o.producer,o)}function np(t){let i=t.producer,e=t.nextProducer,n=t.nextConsumer,o=t.prevConsumer;if(t.nextConsumer=void 0,t.prevConsumer=void 0,n!==void 0?n.prevConsumer=o:i.consumersTail=o,o!==void 0)o.nextConsumer=n;else if(i.consumers=n,!_r(i)){let r=i.producers;for(;r!==void 0;)r=np(r)}return e}function _r(t){return t.consumerIsAlwaysLive||t.consumers!==void 0}function Al(t){HE?.(t)}function UE(t,i){let e=i.producersTail;if(e!==void 0){let n=i.producers;do{if(n===t)return!0;if(n===e)break;n=n.nextProducer}while(n!==void 0)}return!1}function Nl(t,i){return Object.is(t,i)}function Fl(t,i){let e=Object.create(WE);e.computation=t,i!==void 0&&(e.equal=i);let n=()=>{if(Ol(e),Oo(e),e.value===Ra)throw e.error;return e.value};return n[Ut]=e,Al(e),n}var Sl=Symbol("UNSET"),kl=Symbol("COMPUTING"),Ra=Symbol("ERRORED"),WE=ie(T({},Ro),{value:Sl,dirty:!0,error:null,equal:Nl,kind:"computed",producerMustRecompute(t){return t.value===Sl||t.value===kl},producerRecomputeValue(t){if(t.value===kl)throw new Error("");let i=t.value;t.value=kl;let e=Xi(t),n,o=!1;try{n=t.computation(),le(null),o=i!==Sl&&i!==Ra&&n!==Ra&&t.equal(i,n)}catch(r){n=Ra,t.error=r}finally{Ao(t,e)}if(o){t.value=i;return}t.value=n,t.version++}});function GE(){throw new Error}var _0=GE;function v0(t){_0(t)}function ip(t){_0=t}var qE=null;function op(t,i){let e=Object.create(Oa);e.value=t,i!==void 0&&(e.equal=i);let n=()=>C0(e);return n[Ut]=e,Al(e),[n,a=>vr(e,a),a=>rp(e,a)]}function C0(t){return Oo(t),t.value}function vr(t,i){tp()||v0(t),t.equal(t.value,i)||(t.value=i,KE(t))}function rp(t,i){tp()||v0(t),vr(t,i(t.value))}var Oa=ie(T({},Ro),{equal:Nl,value:void 0,kind:"signal"});function KE(t){t.version++,g0(),ep(t),qE?.(t)}var ap=ie(T({},Ro),{consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,dirty:!0,kind:"effect"});function sp(t){if(t.dirty=!1,t.version>0&&!yr(t))return;t.version++;let i=Xi(t);try{t.cleanup(),t.fn()}finally{Ao(t,i)}}function Ee(t){return typeof t=="function"}function Cr(t){let e=t(n=>{Error.call(n),n.stack=new Error().stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}var Pl=Cr(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription: +${e.map((n,o)=>`${o+1}) ${n.toString()}`).join(` + `)}`:"",this.name="UnsubscriptionError",this.errors=e});function Aa(t,i){if(t){let e=t.indexOf(i);0<=e&&t.splice(e,1)}}var St=class t{constructor(i){this.initialTeardown=i,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let i;if(!this.closed){this.closed=!0;let{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(let r of e)r.remove(this);else e.remove(this);let{initialTeardown:n}=this;if(Ee(n))try{n()}catch(r){i=r instanceof Pl?r.errors:[r]}let{_finalizers:o}=this;if(o){this._finalizers=null;for(let r of o)try{w0(r)}catch(a){i=i??[],a instanceof Pl?i=[...i,...a.errors]:i.push(a)}}if(i)throw new Pl(i)}}add(i){var e;if(i&&i!==this)if(this.closed)w0(i);else{if(i instanceof t){if(i.closed||i._hasParent(this))return;i._addParent(this)}(this._finalizers=(e=this._finalizers)!==null&&e!==void 0?e:[]).push(i)}}_hasParent(i){let{_parentage:e}=this;return e===i||Array.isArray(e)&&e.includes(i)}_addParent(i){let{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(i),e):e?[e,i]:i}_removeParent(i){let{_parentage:e}=this;e===i?this._parentage=null:Array.isArray(e)&&Aa(e,i)}remove(i){let{_finalizers:e}=this;e&&Aa(e,i),i instanceof t&&i._removeParent(this)}};St.EMPTY=(()=>{let t=new St;return t.closed=!0,t})();var lp=St.EMPTY;function Ll(t){return t instanceof St||t&&"closed"in t&&Ee(t.remove)&&Ee(t.add)&&Ee(t.unsubscribe)}function w0(t){Ee(t)?t():t.unsubscribe()}var Wn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var wr={setTimeout(t,i,...e){let{delegate:n}=wr;return n?.setTimeout?n.setTimeout(t,i,...e):setTimeout(t,i,...e)},clearTimeout(t){let{delegate:i}=wr;return(i?.clearTimeout||clearTimeout)(t)},delegate:void 0};function Bl(t){wr.setTimeout(()=>{let{onUnhandledError:i}=Wn;if(i)i(t);else throw t})}function Na(){}var x0=cp("C",void 0,void 0);function T0(t){return cp("E",void 0,t)}function D0(t){return cp("N",t,void 0)}function cp(t,i,e){return{kind:t,value:i,error:e}}var No=null;function xr(t){if(Wn.useDeprecatedSynchronousErrorHandling){let i=!No;if(i&&(No={errorThrown:!1,error:null}),t(),i){let{errorThrown:e,error:n}=No;if(No=null,e)throw n}}else t()}function E0(t){Wn.useDeprecatedSynchronousErrorHandling&&No&&(No.errorThrown=!0,No.error=t)}var Fo=class extends St{constructor(i){super(),this.isStopped=!1,i?(this.destination=i,Ll(i)&&i.add(this)):this.destination=ZE}static create(i,e,n){return new eo(i,e,n)}next(i){this.isStopped?up(D0(i),this):this._next(i)}error(i){this.isStopped?up(T0(i),this):(this.isStopped=!0,this._error(i))}complete(){this.isStopped?up(x0,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(i){this.destination.next(i)}_error(i){try{this.destination.error(i)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},YE=Function.prototype.bind;function dp(t,i){return YE.call(t,i)}var pp=class{constructor(i){this.partialObserver=i}next(i){let{partialObserver:e}=this;if(e.next)try{e.next(i)}catch(n){Vl(n)}}error(i){let{partialObserver:e}=this;if(e.error)try{e.error(i)}catch(n){Vl(n)}else Vl(i)}complete(){let{partialObserver:i}=this;if(i.complete)try{i.complete()}catch(e){Vl(e)}}},eo=class extends Fo{constructor(i,e,n){super();let o;if(Ee(i)||!i)o={next:i??void 0,error:e??void 0,complete:n??void 0};else{let r;this&&Wn.useDeprecatedNextContext?(r=Object.create(i),r.unsubscribe=()=>this.unsubscribe(),o={next:i.next&&dp(i.next,r),error:i.error&&dp(i.error,r),complete:i.complete&&dp(i.complete,r)}):o=i}this.destination=new pp(o)}};function Vl(t){Wn.useDeprecatedSynchronousErrorHandling?E0(t):Bl(t)}function QE(t){throw t}function up(t,i){let{onStoppedNotification:e}=Wn;e&&wr.setTimeout(()=>e(t,i))}var ZE={closed:!0,next:Na,error:QE,complete:Na};var Tr=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Gn(t){return t}function fp(...t){return hp(t)}function hp(t){return t.length===0?Gn:t.length===1?t[0]:function(e){return t.reduce((n,o)=>o(n),e)}}var Be=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){let n=new t;return n.source=this,n.operator=e,n}subscribe(e,n,o){let r=JE(e)?e:new eo(e,n,o);return xr(()=>{let{operator:a,source:s}=this;r.add(a?a.call(r,s):s?this._subscribe(r):this._trySubscribe(r))}),r}_trySubscribe(e){try{return this._subscribe(e)}catch(n){e.error(n)}}forEach(e,n){return n=I0(n),new n((o,r)=>{let a=new eo({next:s=>{try{e(s)}catch(l){r(l),a.unsubscribe()}},error:r,complete:o});this.subscribe(a)})}_subscribe(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)}[Tr](){return this}pipe(...e){return hp(e)(this)}toPromise(e){return e=I0(e),new e((n,o)=>{let r;this.subscribe(a=>r=a,a=>o(a),()=>n(r))})}}return t.create=i=>new t(i),t})();function I0(t){var i;return(i=t??Wn.Promise)!==null&&i!==void 0?i:Promise}function XE(t){return t&&Ee(t.next)&&Ee(t.error)&&Ee(t.complete)}function JE(t){return t&&t instanceof Fo||XE(t)&&Ll(t)}function eI(t){return Ee(t?.lift)}function He(t){return i=>{if(eI(i))return i.lift(function(e){try{return t(e,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function $e(t,i,e,n,o){return new gp(t,i,e,n,o)}var gp=class extends Fo{constructor(i,e,n,o,r,a){super(i),this.onFinalize=r,this.shouldUnsubscribe=a,this._next=e?function(s){try{e(s)}catch(l){i.error(l)}}:super._next,this._error=o?function(s){try{o(s)}catch(l){i.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(s){i.error(s)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var i;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:e}=this;super.unsubscribe(),!e&&((i=this.onFinalize)===null||i===void 0||i.call(this))}}};var S0=Cr(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var Ue=(()=>{class t extends Be{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){let n=new zl(this,this);return n.operator=e,n}_throwIfClosed(){if(this.closed)throw new S0}next(e){xr(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let n of this.currentObservers)n.next(e)}})}error(e){xr(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;let{observers:n}=this;for(;n.length;)n.shift().error(e)}})}complete(){xr(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return((e=this.observers)===null||e===void 0?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){let{hasError:n,isStopped:o,observers:r}=this;return n||o?lp:(this.currentObservers=null,r.push(e),new St(()=>{this.currentObservers=null,Aa(r,e)}))}_checkFinalizedStatuses(e){let{hasError:n,thrownError:o,isStopped:r}=this;n?e.error(o):r&&e.complete()}asObservable(){let e=new Be;return e.source=this,e}}return t.create=(i,e)=>new zl(i,e),t})(),zl=class extends Ue{constructor(i,e){super(),this.destination=i,this.source=e}next(i){var e,n;(n=(e=this.destination)===null||e===void 0?void 0:e.next)===null||n===void 0||n.call(e,i)}error(i){var e,n;(n=(e=this.destination)===null||e===void 0?void 0:e.error)===null||n===void 0||n.call(e,i)}complete(){var i,e;(e=(i=this.destination)===null||i===void 0?void 0:i.complete)===null||e===void 0||e.call(i)}_subscribe(i){var e,n;return(n=(e=this.source)===null||e===void 0?void 0:e.subscribe(i))!==null&&n!==void 0?n:lp}};var Wt=class extends Ue{constructor(i){super(),this._value=i}get value(){return this.getValue()}_subscribe(i){let e=super._subscribe(i);return!e.closed&&i.next(this._value),e}getValue(){let{hasError:i,thrownError:e,_value:n}=this;if(i)throw e;return this._throwIfClosed(),n}next(i){super.next(this._value=i)}};var Gt=new Be(t=>t.complete());function k0(t){return t&&Ee(t.schedule)}function M0(t){return t[t.length-1]}function jl(t){return Ee(M0(t))?t.pop():void 0}function to(t){return k0(M0(t))?t.pop():void 0}function O0(t,i,e,n){function o(r){return r instanceof e?r:new e(function(a){a(r)})}return new(e||(e=Promise))(function(r,a){function s(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?r(u.value):o(u.value).then(s,l)}c((n=n.apply(t,i||[])).next())})}function R0(t){var i=typeof Symbol=="function"&&Symbol.iterator,e=i&&t[i],n=0;if(e)return e.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")}function Po(t){return this instanceof Po?(this.v=t,this):new Po(t)}function A0(t,i,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=e.apply(t,i||[]),o,r=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",a),o[Symbol.asyncIterator]=function(){return this},o;function a(m){return function(x){return Promise.resolve(x).then(m,h)}}function s(m,x){n[m]&&(o[m]=function(E){return new Promise(function(k,z){r.push([m,E,k,z])>1||l(m,E)})},x&&(o[m]=x(o[m])))}function l(m,x){try{c(n[m](x))}catch(E){g(r[0][3],E)}}function c(m){m.value instanceof Po?Promise.resolve(m.value.v).then(u,h):g(r[0][2],m)}function u(m){l("next",m)}function h(m){l("throw",m)}function g(m,x){m(x),r.shift(),r.length&&l(r[0][0],r[0][1])}}function N0(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t[Symbol.asyncIterator],e;return i?i.call(t):(t=typeof R0=="function"?R0(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(a){return new Promise(function(s,l){a=t[r](a),o(s,l,a.done,a.value)})}}function o(r,a,s,l){Promise.resolve(l).then(function(c){r({value:c,done:s})},a)}}var Hl=t=>t&&typeof t.length=="number"&&typeof t!="function";function $l(t){return Ee(t?.then)}function Ul(t){return Ee(t[Tr])}function Wl(t){return Symbol.asyncIterator&&Ee(t?.[Symbol.asyncIterator])}function Gl(t){return new TypeError(`You provided ${t!==null&&typeof t=="object"?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function tI(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var ql=tI();function Kl(t){return Ee(t?.[ql])}function Yl(t){return A0(this,arguments,function*(){let e=t.getReader();try{for(;;){let{value:n,done:o}=yield Po(e.read());if(o)return yield Po(void 0);yield yield Po(n)}}finally{e.releaseLock()}})}function Ql(t){return Ee(t?.getReader)}function wt(t){if(t instanceof Be)return t;if(t!=null){if(Ul(t))return nI(t);if(Hl(t))return iI(t);if($l(t))return oI(t);if(Wl(t))return F0(t);if(Kl(t))return rI(t);if(Ql(t))return aI(t)}throw Gl(t)}function nI(t){return new Be(i=>{let e=t[Tr]();if(Ee(e.subscribe))return e.subscribe(i);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function iI(t){return new Be(i=>{for(let e=0;e{t.then(e=>{i.closed||(i.next(e),i.complete())},e=>i.error(e)).then(null,Bl)})}function rI(t){return new Be(i=>{for(let e of t)if(i.next(e),i.closed)return;i.complete()})}function F0(t){return new Be(i=>{sI(t,i).catch(e=>i.error(e))})}function aI(t){return F0(Yl(t))}function sI(t,i){var e,n,o,r;return O0(this,void 0,void 0,function*(){try{for(e=N0(t);n=yield e.next(),!n.done;){let a=n.value;if(i.next(a),i.closed)return}}catch(a){o={error:a}}finally{try{n&&!n.done&&(r=e.return)&&(yield r.call(e))}finally{if(o)throw o.error}}i.complete()})}function dn(t,i,e,n=0,o=!1){let r=i.schedule(function(){e(),o?t.add(this.schedule(null,n)):this.unsubscribe()},n);if(t.add(r),!o)return r}function Zl(t,i=0){return He((e,n)=>{e.subscribe($e(n,o=>dn(n,t,()=>n.next(o),i),()=>dn(n,t,()=>n.complete(),i),o=>dn(n,t,()=>n.error(o),i)))})}function Xl(t,i=0){return He((e,n)=>{n.add(t.schedule(()=>e.subscribe(n),i))})}function P0(t,i){return wt(t).pipe(Xl(i),Zl(i))}function L0(t,i){return wt(t).pipe(Xl(i),Zl(i))}function B0(t,i){return new Be(e=>{let n=0;return i.schedule(function(){n===t.length?e.complete():(e.next(t[n++]),e.closed||this.schedule())})})}function V0(t,i){return new Be(e=>{let n;return dn(e,i,()=>{n=t[ql](),dn(e,i,()=>{let o,r;try{({value:o,done:r}=n.next())}catch(a){e.error(a);return}r?e.complete():e.next(o)},0,!0)}),()=>Ee(n?.return)&&n.return()})}function Jl(t,i){if(!t)throw new Error("Iterable cannot be null");return new Be(e=>{dn(e,i,()=>{let n=t[Symbol.asyncIterator]();dn(e,i,()=>{n.next().then(o=>{o.done?e.complete():e.next(o.value)})},0,!0)})})}function z0(t,i){return Jl(Yl(t),i)}function j0(t,i){if(t!=null){if(Ul(t))return P0(t,i);if(Hl(t))return B0(t,i);if($l(t))return L0(t,i);if(Wl(t))return Jl(t,i);if(Kl(t))return V0(t,i);if(Ql(t))return z0(t,i)}throw Gl(t)}function ft(t,i){return i?j0(t,i):wt(t)}function Pe(...t){let i=to(t);return ft(t,i)}function mp(t,i){let e=Ee(t)?t:()=>t,n=o=>o.error(e());return new Be(i?o=>i.schedule(n,0,o):n)}function ec(t){return!!t&&(t instanceof Be||Ee(t.lift)&&Ee(t.subscribe))}var Ni=Cr(t=>function(){t(this),this.name="EmptyError",this.message="no elements in sequence"});function gi(t,i){let e=typeof i=="object";return new Promise((n,o)=>{let r=new eo({next:a=>{n(a),r.unsubscribe()},error:o,complete:()=>{e?n(i.defaultValue):o(new Ni)}});t.subscribe(r)})}function Ze(t,i){return He((e,n)=>{let o=0;e.subscribe($e(n,r=>{n.next(t.call(i,r,o++))}))})}var{isArray:lI}=Array;function cI(t,i){return lI(i)?t(...i):t(i)}function tc(t){return Ze(i=>cI(t,i))}var{isArray:dI}=Array,{getPrototypeOf:uI,prototype:pI,keys:fI}=Object;function nc(t){if(t.length===1){let i=t[0];if(dI(i))return{args:i,keys:null};if(hI(i)){let e=fI(i);return{args:e.map(n=>i[n]),keys:e}}}return{args:t,keys:null}}function hI(t){return t&&typeof t=="object"&&uI(t)===pI}function ic(t,i){return t.reduce((e,n,o)=>(e[n]=i[o],e),{})}function bp(...t){let i=to(t),e=jl(t),{args:n,keys:o}=nc(t);if(n.length===0)return ft([],i);let r=new Be(gI(n,i,o?a=>ic(o,a):Gn));return e?r.pipe(tc(e)):r}function gI(t,i,e=Gn){return n=>{H0(i,()=>{let{length:o}=t,r=new Array(o),a=o,s=o;for(let l=0;l{let c=ft(t[l],i),u=!1;c.subscribe($e(n,h=>{r[l]=h,u||(u=!0,s--),s||n.next(e(r.slice()))},()=>{--a||n.complete()}))},n)},n)}}function H0(t,i,e){t?dn(e,t,i):i()}function $0(t,i,e,n,o,r,a,s){let l=[],c=0,u=0,h=!1,g=()=>{h&&!l.length&&!c&&i.complete()},m=E=>c{r&&i.next(E),c++;let k=!1;wt(e(E,u++)).subscribe($e(i,z=>{o?.(z),r?m(z):i.next(z)},()=>{k=!0},void 0,()=>{if(k)try{for(c--;l.length&&cx(z)):x(z)}g()}catch(z){i.error(z)}}))};return t.subscribe($e(i,m,()=>{h=!0,g()})),()=>{s?.()}}function nn(t,i,e=1/0){return Ee(i)?nn((n,o)=>Ze((r,a)=>i(n,r,o,a))(wt(t(n,o))),e):(typeof i=="number"&&(e=i),He((n,o)=>$0(n,o,t,e)))}function U0(t=1/0){return nn(Gn,t)}function W0(){return U0(1)}function Dr(...t){return W0()(ft(t,to(t)))}function Fa(t){return new Be(i=>{wt(t()).subscribe(i)})}function yp(...t){let i=jl(t),{args:e,keys:n}=nc(t),o=new Be(r=>{let{length:a}=e;if(!a){r.complete();return}let s=new Array(a),l=a,c=a;for(let u=0;u{h||(h=!0,c--),s[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||r.next(n?ic(n,s):s),r.complete())}))}});return i?o.pipe(tc(i)):o}function qn(t,i){return He((e,n)=>{let o=0;e.subscribe($e(n,r=>t.call(i,r,o++)&&n.next(r)))})}function Pa(t){return He((i,e)=>{let n=null,o=!1,r;n=i.subscribe($e(e,void 0,void 0,a=>{r=wt(t(a,Pa(t)(i))),n?(n.unsubscribe(),n=null,r.subscribe(e)):o=!0})),o&&(n.unsubscribe(),n=null,r.subscribe(e))})}function Er(t,i){return Ee(i)?nn(t,i,1):nn(t,1)}function G0(t){return He((i,e)=>{let n=!1;i.subscribe($e(e,o=>{n=!0,e.next(o)},()=>{n||e.next(t),e.complete()}))})}function Fi(t){return t<=0?()=>Gt:He((i,e)=>{let n=0;i.subscribe($e(e,o=>{++n<=t&&(e.next(o),t<=n&&e.complete())}))})}function q0(t=mI){return He((i,e)=>{let n=!1;i.subscribe($e(e,o=>{n=!0,e.next(o)},()=>n?e.complete():e.error(t())))})}function mI(){return new Ni}function La(t){return He((i,e)=>{try{i.subscribe(e)}finally{e.add(t)}})}function Pi(t,i){let e=arguments.length>=2;return n=>n.pipe(t?qn((o,r)=>t(o,r,n)):Gn,Fi(1),e?G0(i):q0(()=>new Ni))}function oc(t){return t<=0?()=>Gt:He((i,e)=>{let n=[];i.subscribe($e(e,o=>{n.push(o),t{for(let o of n)e.next(o);e.complete()},void 0,()=>{n=null}))})}function _p(...t){let i=to(t);return He((e,n)=>{(i?Dr(t,e,i):Dr(t,e)).subscribe(n)})}function gn(t,i){return He((e,n)=>{let o=null,r=0,a=!1,s=()=>a&&!o&&n.complete();e.subscribe($e(n,l=>{o?.unsubscribe();let c=0,u=r++;wt(t(l,u)).subscribe(o=$e(n,h=>n.next(i?i(l,h,u,c++):h),()=>{o=null,s()}))},()=>{a=!0,s()}))})}function Ba(t){return He((i,e)=>{wt(t).subscribe($e(e,()=>e.complete(),Na)),!e.closed&&i.subscribe(e)})}function Rn(t,i,e){let n=Ee(t)||i||e?{next:t,error:i,complete:e}:t;return n?He((o,r)=>{var a;(a=n.subscribe)===null||a===void 0||a.call(n);let s=!0;o.subscribe($e(r,l=>{var c;(c=n.next)===null||c===void 0||c.call(n,l),r.next(l)},()=>{var l;s=!1,(l=n.complete)===null||l===void 0||l.call(n),r.complete()},l=>{var c;s=!1,(c=n.error)===null||c===void 0||c.call(n,l),r.error(l)},()=>{var l,c;s&&((l=n.unsubscribe)===null||l===void 0||l.call(n)),(c=n.finalize)===null||c===void 0||c.call(n)}))}):Gn}var vp;function rc(){return vp}function mi(t){let i=vp;return vp=t,i}var K0=Symbol("NotFound");function Ir(t){return t===K0||t?.name==="\u0275NotFound"}function Y0(t){let i=le(null);try{return t()}finally{le(i)}}var Ap="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss",X=class extends Error{code;constructor(i,e){super(Bi(i,e)),this.code=i}};function bI(t){return`NG0${Math.abs(t)}`}function Bi(t,i){return`${bI(t)}${i?": "+i:""}`}function We(t){for(let i in t)if(t[i]===We)return i;throw Error("")}function eb(t,i){for(let e in i)i.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=i[e])}function Wa(t){if(typeof t=="string")return t;if(Array.isArray(t))return`[${t.map(Wa).join(", ")}]`;if(t==null)return""+t;let i=t.overriddenName||t.name;if(i)return`${i}`;let e=t.toString();if(e==null)return""+e;let n=e.indexOf(` +`);return n>=0?e.slice(0,n):e}function pc(t,i){return t?i?`${t} ${i}`:t:i||""}var yI=We({__forward_ref__:We});function at(t){return t.__forward_ref__=at,t}function kt(t){return Np(t)?t():t}function Np(t){return typeof t=="function"&&t.hasOwnProperty(yI)&&t.__forward_ref__===at}function F(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function ce(t){return{providers:t.providers||[],imports:t.imports||[]}}function Ga(t){return _I(t,fc)}function Fp(t){return Ga(t)!==null}function _I(t,i){return t.hasOwnProperty(i)&&t[i]||null}function vI(t){let i=t?.[fc]??null;return i||null}function wp(t){return t&&t.hasOwnProperty(sc)?t[sc]:null}var fc=We({\u0275prov:We}),sc=We({\u0275inj:We}),B=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(i,e){this._desc=i,this.\u0275prov=void 0,typeof e=="number"?this.__NG_ELEMENT_ID__=e:e!==void 0&&(this.\u0275prov=F({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Pp(t){return t&&!!t.\u0275providers}var qa=We({\u0275cmp:We}),Ka=We({\u0275dir:We}),Lp=We({\u0275pipe:We}),Bp=We({\u0275mod:We}),za=We({\u0275fac:We}),Ho=We({__NG_ELEMENT_ID__:We}),Q0=We({__NG_ENV_ID__:We});function Vp(t){return gc(t,"@NgModule"),t[Bp]||null}function oo(t){return gc(t,"@Component"),t[qa]||null}function hc(t){return gc(t,"@Directive"),t[Ka]||null}function tb(t){return gc(t,"@Pipe"),t[Lp]||null}function gc(t,i){if(t==null)throw new X(-919,!1)}function ro(t){return typeof t=="string"?t:t==null?"":String(t)}var nb=We({ngErrorCode:We}),CI=We({ngErrorMessage:We}),wI=We({ngTokenPath:We});function zp(t,i){return ib("",-200,i)}function mc(t,i){throw new X(-201,!1)}function ib(t,i,e){let n=new X(i,t);return n[nb]=i,n[CI]=t,e&&(n[wI]=e),n}function xI(t){return t[nb]}var xp;function ob(){return xp}function mn(t){let i=xp;return xp=t,i}function jp(t,i,e){let n=Ga(t);if(n&&n.providedIn=="root")return n.value===void 0?n.value=n.factory():n.value;if(e&8)return null;if(i!==void 0)return i;mc(t,"")}var TI={},Lo=TI,DI="__NG_DI_FLAG__",Tp=class{injector;constructor(i){this.injector=i}retrieve(i,e){let n=Bo(e)||0;try{return this.injector.get(i,n&8?null:Lo,n)}catch(o){if(Ir(o))return o;throw o}}};function EI(t,i=0){let e=rc();if(e===void 0)throw new X(-203,!1);if(e===null)return jp(t,void 0,i);{let n=II(i),o=e.retrieve(t,n);if(Ir(o)){if(n.optional)return null;throw o}return o}}function ye(t,i=0){return(ob()||EI)(kt(t),i)}function v(t,i){return ye(t,Bo(i))}function Bo(t){return typeof t>"u"||typeof t=="number"?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function II(t){return{optional:!!(t&8),host:!!(t&1),self:!!(t&2),skipSelf:!!(t&4)}}function Dp(t){let i=[];for(let e=0;eArray.isArray(e)?bc(e,i):i(e))}function Hp(t,i,e){i>=t.length?t.push(e):t.splice(i,0,e)}function Ya(t,i){return i>=t.length-1?t.pop():t.splice(i,1)[0]}function sb(t,i){let e=[];for(let n=0;ni;){let r=o-2;t[o]=t[r],o--}t[i]=e,t[i+1]=n}}function Qa(t,i,e){let n=kr(t,i);return n>=0?t[n|1]=e:(n=~n,lb(t,n,i,e)),n}function yc(t,i){let e=kr(t,i);if(e>=0)return t[e|1]}function kr(t,i){return kI(t,i,1)}function kI(t,i,e){let n=0,o=t.length>>e;for(;o!==n;){let r=n+(o-n>>1),a=t[r<i?o=r:n=r+1}return~(o<{e.push(a)};return bc(i,a=>{let s=a;lc(s,r,[],n)&&(o||=[],o.push(s))}),o!==void 0&&ub(o,r),e}function ub(t,i){for(let e=0;e{i(r,n)})}}function lc(t,i,e,n){if(t=kt(t),!t)return!1;let o=null,r=wp(t),a=!r&&oo(t);if(!r&&!a){let l=t.ngModule;if(r=wp(l),r)o=l;else return!1}else{if(a&&!a.standalone)return!1;o=t}let s=n.has(o);if(a){if(s)return!1;if(n.add(o),a.dependencies){let l=typeof a.dependencies=="function"?a.dependencies():a.dependencies;for(let c of l)lc(c,i,e,n)}}else if(r){if(r.imports!=null&&!s){n.add(o);let c;bc(r.imports,u=>{lc(u,i,e,n)&&(c||=[],c.push(u))}),c!==void 0&&ub(c,i)}if(!s){let c=Vo(o)||(()=>new o);i({provide:o,useFactory:c,deps:on},o),i({provide:Up,useValue:o,multi:!0},o),i({provide:Vi,useValue:()=>ye(o),multi:!0},o)}let l=r.providers;if(l!=null&&!s){let c=t;Gp(l,u=>{i(u,c)})}}else return!1;return o!==t&&t.providers!==void 0}function Gp(t,i){for(let e of t)Pp(e)&&(e=e.\u0275providers),Array.isArray(e)?Gp(e,i):i(e)}var MI=We({provide:String,useValue:We});function pb(t){return t!==null&&typeof t=="object"&&MI in t}function RI(t){return!!(t&&t.useExisting)}function OI(t){return!!(t&&t.useFactory)}function zo(t){return typeof t=="function"}function fb(t){return!!t.useClass}var Za=new B(""),ac={},Z0={},Cp;function Xa(){return Cp===void 0&&(Cp=new ja),Cp}var ht=class{},jo=class extends ht{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(i,e,n,o){super(),this.parent=e,this.source=n,this.scopes=o,Ip(i,a=>this.processProvider(a)),this.records.set($p,Sr(void 0,this)),o.has("environment")&&this.records.set(ht,Sr(void 0,this));let r=this.records.get(Za);r!=null&&typeof r.value=="string"&&this.scopes.add(r.value),this.injectorDefTypes=new Set(this.get(Up,on,{self:!0}))}retrieve(i,e){let n=Bo(e)||0;try{return this.get(i,Lo,n)}catch(o){if(Ir(o))return o;throw o}}destroy(){Va(this),this._destroyed=!0;let i=le(null);try{for(let n of this._ngOnDestroyHooks)n.ngOnDestroy();let e=this._onDestroyHooks;this._onDestroyHooks=[];for(let n of e)n()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),le(i)}}onDestroy(i){return Va(this),this._onDestroyHooks.push(i),()=>this.removeOnDestroy(i)}runInContext(i){Va(this);let e=mi(this),n=mn(void 0),o;try{return i()}finally{mi(e),mn(n)}}get(i,e=Lo,n){if(Va(this),i.hasOwnProperty(Q0))return i[Q0](this);let o=Bo(n),r,a=mi(this),s=mn(void 0);try{if(!(o&4)){let c=this.records.get(i);if(c===void 0){let u=LI(i)&&Ga(i);u&&this.injectableDefInScope(u)?c=Sr(Ep(i),ac):c=null,this.records.set(i,c)}if(c!=null)return this.hydrate(i,c,o)}let l=o&2?Xa():this.parent;return e=o&8&&e===Lo?null:e,l.get(i,e)}catch(l){let c=xI(l);throw c===-200||c===-201?new X(c,null):l}finally{mn(s),mi(a)}}resolveInjectorInitializers(){let i=le(null),e=mi(this),n=mn(void 0),o;try{let r=this.get(Vi,on,{self:!0});for(let a of r)a()}finally{mi(e),mn(n),le(i)}}toString(){return"R3Injector[...]"}processProvider(i){i=kt(i);let e=zo(i)?i:kt(i&&i.provide),n=NI(i);if(!zo(i)&&i.multi===!0){let o=this.records.get(e);o||(o=Sr(void 0,ac,!0),o.factory=()=>Dp(o.multi),this.records.set(e,o)),e=i,o.multi.push(i)}this.records.set(e,n)}hydrate(i,e,n){let o=le(null);try{if(e.value===Z0)throw zp("");return e.value===ac&&(e.value=Z0,e.value=e.factory(void 0,n)),typeof e.value=="object"&&e.value&&PI(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}finally{le(o)}}injectableDefInScope(i){if(!i.providedIn)return!1;let e=kt(i.providedIn);return typeof e=="string"?e==="any"||this.scopes.has(e):this.injectorDefTypes.has(e)}removeOnDestroy(i){let e=this._onDestroyHooks.indexOf(i);e!==-1&&this._onDestroyHooks.splice(e,1)}};function Ep(t){let i=Ga(t),e=i!==null?i.factory:Vo(t);if(e!==null)return e;if(t instanceof B)throw new X(-204,!1);if(t instanceof Function)return AI(t);throw new X(-204,!1)}function AI(t){if(t.length>0)throw new X(-204,!1);let e=vI(t);return e!==null?()=>e.factory(t):()=>new t}function NI(t){if(pb(t))return Sr(void 0,t.useValue);{let i=qp(t);return Sr(i,ac)}}function qp(t,i,e){let n;if(zo(t)){let o=kt(t);return Vo(o)||Ep(o)}else if(pb(t))n=()=>kt(t.useValue);else if(OI(t))n=()=>t.useFactory(...Dp(t.deps||[]));else if(RI(t))n=(o,r)=>ye(kt(t.useExisting),r!==void 0&&r&8?8:void 0);else{let o=kt(t&&(t.useClass||t.provide));if(FI(t))n=()=>new o(...Dp(t.deps));else return Vo(o)||Ep(o)}return n}function Va(t){if(t.destroyed)throw new X(-205,!1)}function Sr(t,i,e=!1){return{factory:t,value:i,multi:e?[]:void 0}}function FI(t){return!!t.deps}function PI(t){return t!==null&&typeof t=="object"&&typeof t.ngOnDestroy=="function"}function LI(t){return typeof t=="function"||typeof t=="object"&&t.ngMetadataName==="InjectionToken"}function Ip(t,i){for(let e of t)Array.isArray(e)?Ip(e,i):e&&Pp(e)?Ip(e.\u0275providers,i):i(e)}function zt(t,i){let e;t instanceof jo?(Va(t),e=t):e=new Tp(t);let n,o=mi(e),r=mn(void 0);try{return i()}finally{mi(o),mn(r)}}function hb(){return ob()!==void 0||rc()!=null}var Qn=0,ue=1,we=2,Mt=3,Nn=4,rn=5,$o=6,Mr=7,vt=8,an=9,bi=10,Xe=11,Rr=12,Kp=13,Uo=14,sn=15,ao=16,Wo=17,yi=18,_i=19,Yp=20,Li=21,_c=22,no=23,bn=24,Go=25,vi=26,gt=27,gb=1,Qp=6,so=7,Ja=8,qo=9,mt=10;function zi(t){return Array.isArray(t)&&typeof t[gb]=="object"}function Zn(t){return Array.isArray(t)&&t[gb]===!0}function Zp(t){return(t.flags&4)!==0}function ji(t){return t.componentOffset>-1}function Or(t){return(t.flags&1)===1}function Xn(t){return!!t.template}function Ar(t){return(t[we]&512)!==0}function Ko(t){return(t[we]&256)===256}var Xp="svg",mb="math";function Fn(t){for(;Array.isArray(t);)t=t[Qn];return t}function Jp(t,i){return Fn(i[t])}function yn(t,i){return Fn(i[t.index])}function vc(t,i){return t.data[i]}function bb(t,i){return t[i]}function Pn(t,i){let e=i[t];return zi(e)?e:e[Qn]}function yb(t){return(t[we]&4)===4}function Cc(t){return(t[we]&128)===128}function _b(t){return Zn(t[Mt])}function Ln(t,i){return i==null?null:t[i]}function ef(t){t[Wo]=0}function tf(t){t[we]&1024||(t[we]|=1024,Cc(t)&&Yo(t))}function vb(t,i){for(;t>0;)i=i[Uo],t--;return i}function es(t){return!!(t[we]&9216||t[bn]?.dirty)}function wc(t){t[bi].changeDetectionScheduler?.notify(8),t[we]&64&&(t[we]|=1024),es(t)&&Yo(t)}function Yo(t){t[bi].changeDetectionScheduler?.notify(0);let i=io(t);for(;i!==null&&!(i[we]&8192||(i[we]|=8192,!Cc(i)));)i=io(i)}function nf(t,i){if(Ko(t))throw new X(911,!1);t[Li]===null&&(t[Li]=[]),t[Li].push(i)}function Cb(t,i){if(t[Li]===null)return;let e=t[Li].indexOf(i);e!==-1&&t[Li].splice(e,1)}function io(t){let i=t[Mt];return Zn(i)?i[Mt]:i}function of(t){return t[Mr]??=[]}function rf(t){return t.cleanup??=[]}function wb(t,i,e,n){let o=of(i);o.push(e),t.firstCreatePass&&rf(t).push(n,o.length-1)}var Ae={lFrame:Ab(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var Sp=!1;function xb(){return Ae.lFrame.elementDepthCount}function Tb(){Ae.lFrame.elementDepthCount++}function af(){Ae.lFrame.elementDepthCount--}function xc(){return Ae.bindingsEnabled}function sf(){return Ae.skipHydrationRootTNode!==null}function lf(t){return Ae.skipHydrationRootTNode===t}function cf(){Ae.skipHydrationRootTNode=null}function ae(){return Ae.lFrame.lView}function pt(){return Ae.lFrame.tView}function C(t){return Ae.lFrame.contextLView=t,t[vt]}function w(t){return Ae.lFrame.contextLView=null,t}function Rt(){let t=df();for(;t!==null&&t.type===64;)t=t.parent;return t}function df(){return Ae.lFrame.currentTNode}function Db(){let t=Ae.lFrame,i=t.currentTNode;return t.isParent?i:i.parent}function Nr(t,i){let e=Ae.lFrame;e.currentTNode=t,e.isParent=i}function uf(){return Ae.lFrame.isParent}function pf(){Ae.lFrame.isParent=!1}function Eb(){return Ae.lFrame.contextLView}function ff(){return Sp}function Ha(t){let i=Sp;return Sp=t,i}function Ci(){let t=Ae.lFrame,i=t.bindingRootIndex;return i===-1&&(i=t.bindingRootIndex=t.tView.bindingStartIndex),i}function hf(){return Ae.lFrame.bindingIndex}function Ib(t){return Ae.lFrame.bindingIndex=t}function lo(){return Ae.lFrame.bindingIndex++}function ts(t){let i=Ae.lFrame,e=i.bindingIndex;return i.bindingIndex=i.bindingIndex+t,e}function Sb(){return Ae.lFrame.inI18n}function kb(t,i){let e=Ae.lFrame;e.bindingIndex=e.bindingRootIndex=t,Tc(i)}function Mb(){return Ae.lFrame.currentDirectiveIndex}function Tc(t){Ae.lFrame.currentDirectiveIndex=t}function Rb(t){let i=Ae.lFrame.currentDirectiveIndex;return i===-1?null:t[i]}function gf(){return Ae.lFrame.currentQueryIndex}function Dc(t){Ae.lFrame.currentQueryIndex=t}function BI(t){let i=t[ue];return i.type===2?i.declTNode:i.type===1?t[rn]:null}function mf(t,i,e){if(e&4){let o=i,r=t;for(;o=o.parent,o===null&&!(e&1);)if(o=BI(r),o===null||(r=r[Uo],o.type&10))break;if(o===null)return!1;i=o,t=r}let n=Ae.lFrame=Ob();return n.currentTNode=i,n.lView=t,!0}function Ec(t){let i=Ob(),e=t[ue];Ae.lFrame=i,i.currentTNode=e.firstChild,i.lView=t,i.tView=e,i.contextLView=t,i.bindingIndex=e.bindingStartIndex,i.inI18n=!1}function Ob(){let t=Ae.lFrame,i=t===null?null:t.child;return i===null?Ab(t):i}function Ab(t){let i={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return t!==null&&(t.child=i),i}function Nb(){let t=Ae.lFrame;return Ae.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}var bf=Nb;function Ic(){let t=Nb();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Fb(t){return(Ae.lFrame.contextLView=vb(t,Ae.lFrame.contextLView))[vt]}function Jn(){return Ae.lFrame.selectedIndex}function co(t){Ae.lFrame.selectedIndex=t}function ns(){let t=Ae.lFrame;return vc(t.tView,t.selectedIndex)}function j(){Ae.lFrame.currentNamespace=Xp}function yf(){return Ae.lFrame.currentNamespace}var Pb=!0;function Sc(){return Pb}function is(t){Pb=t}function kp(t,i=null,e=null,n){let o=_f(t,i,e,n);return o.resolveInjectorInitializers(),o}function _f(t,i=null,e=null,n,o=new Set){let r=[e||on,db(t)],a;return new jo(r,i||Xa(),a||null,o)}var ut=class t{static THROW_IF_NOT_FOUND=Lo;static NULL=new ja;static create(i,e){if(Array.isArray(i))return kp({name:""},e,i,"");{let n=i.name??"";return kp({name:n},i.parent,i.providers,n)}}static \u0275prov=F({token:t,providedIn:"any",factory:()=>ye($p)});static __NG_ELEMENT_ID__=-1},ze=new B(""),Zt=(()=>{class t{static __NG_ELEMENT_ID__=VI;static __NG_ENV_ID__=e=>e}return t})(),cc=class extends Zt{_lView;constructor(i){super(),this._lView=i}get destroyed(){return Ko(this._lView)}onDestroy(i){let e=this._lView;return nf(e,i),()=>Cb(e,i)}};function VI(){return new cc(ae())}var vf=!1,Lb=new B(""),wi=(()=>{class t{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new Wt(!1);debugTaskTracker=v(Lb,{optional:!0});get hasPendingTasks(){return this.destroyed?!1:this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new Be(e=>{e.next(!1),e.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let e=this.taskId++;return this.pendingTasks.add(e),this.debugTaskTracker?.add(e),e}has(e){return this.pendingTasks.has(e)}remove(e){this.pendingTasks.delete(e),this.debugTaskTracker?.remove(e),this.pendingTasks.size===0&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static \u0275prov=F({token:t,providedIn:"root",factory:()=>new t})}return t})(),Mp=class extends Ue{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(i=!1){super(),this.__isAsync=i,hb()&&(this.destroyRef=v(Zt,{optional:!0})??void 0,this.pendingTasks=v(wi,{optional:!0})??void 0)}emit(i){let e=le(null);try{super.next(i)}finally{le(e)}}subscribe(i,e,n){let o=i,r=e||(()=>null),a=n;if(i&&typeof i=="object"){let l=i;o=l.next?.bind(l),r=l.error?.bind(l),a=l.complete?.bind(l)}this.__isAsync&&(r=this.wrapInTimeout(r),o&&(o=this.wrapInTimeout(o)),a&&(a=this.wrapInTimeout(a)));let s=super.subscribe({next:o,error:r,complete:a});return i instanceof St&&i.add(s),s}wrapInTimeout(i){return e=>{let n=this.pendingTasks?.add();setTimeout(()=>{try{i(e)}finally{n!==void 0&&this.pendingTasks?.remove(n)}})}}},P=Mp;function dc(...t){}function Cf(t){let i,e;function n(){t=dc;try{e!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(e),i!==void 0&&clearTimeout(i)}catch(o){}}return i=setTimeout(()=>{t(),n()}),typeof requestAnimationFrame=="function"&&(e=requestAnimationFrame(()=>{t(),n()})),()=>n()}function Bb(t){return queueMicrotask(()=>t()),()=>{t=dc}}var wf="isAngularZone",$a=wf+"_ID",zI=0,Ne=class t{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new P(!1);onMicrotaskEmpty=new P(!1);onStable=new P(!1);onError=new P(!1);constructor(i){let{enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:o=!1,scheduleInRootZone:r=vf}=i;if(typeof Zone>"u")throw new X(908,!1);Zone.assertZonePatched();let a=this;a._nesting=0,a._outer=a._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(a._inner=a._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(a._inner=a._inner.fork(Zone.longStackTraceZoneSpec)),a.shouldCoalesceEventChangeDetection=!o&&n,a.shouldCoalesceRunChangeDetection=o,a.callbackScheduled=!1,a.scheduleInRootZone=r,$I(a)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(wf)===!0}static assertInAngularZone(){if(!t.isInAngularZone())throw new X(909,!1)}static assertNotInAngularZone(){if(t.isInAngularZone())throw new X(909,!1)}run(i,e,n){return this._inner.run(i,e,n)}runTask(i,e,n,o){let r=this._inner,a=r.scheduleEventTask("NgZoneEvent: "+o,i,jI,dc,dc);try{return r.runTask(a,e,n)}finally{r.cancelTask(a)}}runGuarded(i,e,n){return this._inner.runGuarded(i,e,n)}runOutsideAngular(i){return this._outer.run(i)}},jI={};function xf(t){if(t._nesting==0&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function HI(t){if(t.isCheckStableRunning||t.callbackScheduled)return;t.callbackScheduled=!0;function i(){Cf(()=>{t.callbackScheduled=!1,Rp(t),t.isCheckStableRunning=!0,xf(t),t.isCheckStableRunning=!1})}t.scheduleInRootZone?Zone.root.run(()=>{i()}):t._outer.run(()=>{i()}),Rp(t)}function $I(t){let i=()=>{HI(t)},e=zI++;t._inner=t._inner.fork({name:"angular",properties:{[wf]:!0,[$a]:e,[$a+e]:!0},onInvokeTask:(n,o,r,a,s,l)=>{if(UI(l))return n.invokeTask(r,a,s,l);try{return X0(t),n.invokeTask(r,a,s,l)}finally{(t.shouldCoalesceEventChangeDetection&&a.type==="eventTask"||t.shouldCoalesceRunChangeDetection)&&i(),J0(t)}},onInvoke:(n,o,r,a,s,l,c)=>{try{return X0(t),n.invoke(r,a,s,l,c)}finally{t.shouldCoalesceRunChangeDetection&&!t.callbackScheduled&&!WI(l)&&i(),J0(t)}},onHasTask:(n,o,r,a)=>{n.hasTask(r,a),o===r&&(a.change=="microTask"?(t._hasPendingMicrotasks=a.microTask,Rp(t),xf(t)):a.change=="macroTask"&&(t.hasPendingMacrotasks=a.macroTask))},onHandleError:(n,o,r,a)=>(n.handleError(r,a),t.runOutsideAngular(()=>t.onError.emit(a)),!1)})}function Rp(t){t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&t.callbackScheduled===!0?t.hasPendingMicrotasks=!0:t.hasPendingMicrotasks=!1}function X0(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function J0(t){t._nesting--,xf(t)}var Ua=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new P;onMicrotaskEmpty=new P;onStable=new P;onError=new P;run(i,e,n){return i.apply(e,n)}runGuarded(i,e,n){return i.apply(e,n)}runOutsideAngular(i){return i()}runTask(i,e,n,o){return i.apply(e,n)}};function UI(t){return Vb(t,"__ignore_ng_zone__")}function WI(t){return Vb(t,"__scheduler_tick__")}function Vb(t,i){return!Array.isArray(t)||t.length!==1?!1:t[0]?.data?.[i]===!0}var On=class{_console=console;handleError(i){this._console.error("ERROR",i)}},_n=new B("",{factory:()=>{let t=v(Ne),i=v(ht),e;return n=>{t.runOutsideAngular(()=>{i.destroyed&&!e?setTimeout(()=>{throw n}):(e??=i.get(On),e.handleError(n))})}}}),zb={provide:Vi,useValue:()=>{let t=v(On,{optional:!0})},multi:!0},GI=new B("",{factory:()=>{let t=v(ze).defaultView;if(!t)return;let i=v(_n),e=r=>{i(r.reason),r.preventDefault()},n=r=>{r.error?i(r.error):i(new Error(r.message,{cause:r})),r.preventDefault()},o=()=>{t.addEventListener("unhandledrejection",e),t.addEventListener("error",n)};typeof Zone<"u"?Zone.root.run(o):o(),v(Zt).onDestroy(()=>{t.removeEventListener("error",n),t.removeEventListener("unhandledrejection",e)})}});function Tf(){return An([cb(()=>{v(GI)})])}function Y(t,i){let[e,n,o]=op(t,i?.equal),r=e,a=r[Ut];return r.set=n,r.update=o,r.asReadonly=Df.bind(r),r}function Df(){let t=this[Ut];if(t.readonlyFn===void 0){let i=()=>this();i[Ut]=t,t.readonlyFn=i}return t.readonlyFn}var Fr=(()=>{class t{view;node;constructor(e,n){this.view=e,this.node=n}static __NG_ELEMENT_ID__=qI}return t})();function qI(){return new Fr(ae(),Rt())}var Kn=class{},Pr=new B("",{factory:()=>!0});var kc=new B(""),os=(()=>{class t{internalPendingTasks=v(wi);scheduler=v(Kn);errorHandler=v(_n);add(){let e=this.internalPendingTasks.add();return()=>{this.internalPendingTasks.has(e)&&(this.scheduler.notify(11),this.internalPendingTasks.remove(e))}}run(e){let n=this.add();e().catch(this.errorHandler).finally(n)}static \u0275prov=F({token:t,providedIn:"root",factory:()=>new t})}return t})(),Mc=(()=>{class t{static \u0275prov=F({token:t,providedIn:"root",factory:()=>new Op})}return t})(),Op=class{dirtyEffectCount=0;queues=new Map;add(i){this.enqueue(i),this.schedule(i)}schedule(i){i.dirty&&this.dirtyEffectCount++}remove(i){let e=i.zone,n=this.queues.get(e);n.has(i)&&(n.delete(i),i.dirty&&this.dirtyEffectCount--)}enqueue(i){let e=i.zone;this.queues.has(e)||this.queues.set(e,new Set);let n=this.queues.get(e);n.has(i)||n.add(i)}flush(){for(;this.dirtyEffectCount>0;){let i=!1;for(let[e,n]of this.queues)e===null?i||=this.flushQueue(n):i||=e.run(()=>this.flushQueue(n));i||(this.dirtyEffectCount=0)}}flushQueue(i){let e=!1;for(let n of i)n.dirty&&(this.dirtyEffectCount--,e=!0,n.run());return e}},uc=class{[Ut];constructor(i){this[Ut]=i}destroy(){this[Ut].destroy()}};function it(t,i){let e=i?.injector??v(ut),n=i?.manualCleanup!==!0?e.get(Zt):null,o,r=e.get(Fr,null,{optional:!0}),a=e.get(Kn);return r!==null?(o=QI(r.view,a,t),n instanceof cc&&n._lView===r.view&&(n=null)):o=ZI(t,e.get(Mc),a),o.injector=e,n!==null&&(o.onDestroyFns=[n.onDestroy(()=>o.destroy())]),new uc(o)}var jb=ie(T({},ap),{cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let t=Ha(!1);try{sp(this)}finally{Ha(t)}},cleanup(){if(!this.cleanupFns?.length)return;let t=le(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],le(t)}}}),KI=ie(T({},jb),{consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(Ji(this),this.onDestroyFns!==null)for(let t of this.onDestroyFns)t();this.cleanup(),this.scheduler.remove(this)}}),YI=ie(T({},jb),{consumerMarkedDirty(){this.view[we]|=8192,Yo(this.view),this.notifier.notify(13)},destroy(){if(Ji(this),this.onDestroyFns!==null)for(let t of this.onDestroyFns)t();this.cleanup(),this.view[no]?.delete(this)}});function QI(t,i,e){let n=Object.create(YI);return n.view=t,n.zone=typeof Zone<"u"?Zone.current:null,n.notifier=i,n.fn=Hb(n,e),t[no]??=new Set,t[no].add(n),n.consumerMarkedDirty(n),n}function ZI(t,i,e){let n=Object.create(KI);return n.fn=Hb(n,t),n.scheduler=i,n.notifier=e,n.zone=typeof Zone<"u"?Zone.current:null,n.scheduler.add(n),n.notifier.notify(12),n}function Hb(t,i){return()=>{i(e=>(t.cleanupFns??=[]).push(e))}}function bs(t){return{toString:t}.toString()}function aS(t){return typeof t=="function"}function Iy(t,i,e,n){i!==null?i.applyValueToInputSignal(i,n):t[e]=n}var Pc=class{previousValue;currentValue;firstChange;constructor(i,e,n){this.previousValue=i,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}},Hi=(()=>{let t=()=>Sy;return t.ngInherit=!0,t})();function Sy(t){return t.type.prototype.ngOnChanges&&(t.setInput=lS),sS}function sS(){let t=My(this),i=t?.current;if(i){let e=t.previous;if(e===Yn)t.previous=i;else for(let n in i)e[n]=i[n];t.current=null,this.ngOnChanges(i)}}function lS(t,i,e,n,o){let r=this.declaredInputs[n],a=My(t)||cS(t,{previous:Yn,current:null}),s=a.current||(a.current={}),l=a.previous,c=l[r];s[r]=new Pc(c&&c.currentValue,e,l===Yn),Iy(t,i,o,e)}var ky="__ngSimpleChanges__";function My(t){return t[ky]||null}function cS(t,i){return t[ky]=i}var $b=[];var Ge=function(t,i=null,e){for(let n=0;n<$b.length;n++){let o=$b[n];o(t,i,e)}},Ve=(function(t){return t[t.TemplateCreateStart=0]="TemplateCreateStart",t[t.TemplateCreateEnd=1]="TemplateCreateEnd",t[t.TemplateUpdateStart=2]="TemplateUpdateStart",t[t.TemplateUpdateEnd=3]="TemplateUpdateEnd",t[t.LifecycleHookStart=4]="LifecycleHookStart",t[t.LifecycleHookEnd=5]="LifecycleHookEnd",t[t.OutputStart=6]="OutputStart",t[t.OutputEnd=7]="OutputEnd",t[t.BootstrapApplicationStart=8]="BootstrapApplicationStart",t[t.BootstrapApplicationEnd=9]="BootstrapApplicationEnd",t[t.BootstrapComponentStart=10]="BootstrapComponentStart",t[t.BootstrapComponentEnd=11]="BootstrapComponentEnd",t[t.ChangeDetectionStart=12]="ChangeDetectionStart",t[t.ChangeDetectionEnd=13]="ChangeDetectionEnd",t[t.ChangeDetectionSyncStart=14]="ChangeDetectionSyncStart",t[t.ChangeDetectionSyncEnd=15]="ChangeDetectionSyncEnd",t[t.AfterRenderHooksStart=16]="AfterRenderHooksStart",t[t.AfterRenderHooksEnd=17]="AfterRenderHooksEnd",t[t.ComponentStart=18]="ComponentStart",t[t.ComponentEnd=19]="ComponentEnd",t[t.DeferBlockStateStart=20]="DeferBlockStateStart",t[t.DeferBlockStateEnd=21]="DeferBlockStateEnd",t[t.DynamicComponentStart=22]="DynamicComponentStart",t[t.DynamicComponentEnd=23]="DynamicComponentEnd",t[t.HostBindingsUpdateStart=24]="HostBindingsUpdateStart",t[t.HostBindingsUpdateEnd=25]="HostBindingsUpdateEnd",t})(Ve||{});function dS(t,i,e){let{ngOnChanges:n,ngOnInit:o,ngDoCheck:r}=i.type.prototype;if(n){let a=Sy(i);(e.preOrderHooks??=[]).push(t,a),(e.preOrderCheckHooks??=[]).push(t,a)}o&&(e.preOrderHooks??=[]).push(0-t,o),r&&((e.preOrderHooks??=[]).push(t,r),(e.preOrderCheckHooks??=[]).push(t,r))}function Ry(t,i){for(let e=i.directiveStart,n=i.directiveEnd;e=n)break}else i[l]<0&&(t[Wo]+=65536),(s>14>16&&(t[we]&3)===i&&(t[we]+=16384,Ub(s,r)):Ub(s,r)}var Br=-1,Jo=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(i,e,n,o){this.factory=i,this.name=o,this.canSeeViewProviders=e,this.injectImpl=n}};function pS(t){return(t.flags&8)!==0}function fS(t){return(t.flags&16)!==0}function hS(t,i,e){let n=0;for(;ni){a=r-1;break}}}for(;r>16}function Bc(t,i){let e=bS(t),n=i;for(;e>0;)n=n[Uo],e--;return n}var Lf=!0;function Gb(t){let i=Lf;return Lf=t,i}var yS=256,Ny=yS-1,Fy=5,_S=0,xi={};function vS(t,i,e){let n;typeof e=="string"?n=e.charCodeAt(0)||0:e.hasOwnProperty(Ho)&&(n=e[Ho]),n==null&&(n=e[Ho]=_S++);let o=n&Ny,r=1<>Fy)]|=r}function Vc(t,i){let e=Py(t,i);if(e!==-1)return e;let n=i[ue];n.firstCreatePass&&(t.injectorIndex=i.length,If(n.data,t),If(i,null),If(n.blueprint,null));let o=ph(t,i),r=t.injectorIndex;if(Ay(o)){let a=Lc(o),s=Bc(o,i),l=s[ue].data;for(let c=0;c<8;c++)i[r+c]=s[a+c]|l[a+c]}return i[r+8]=o,r}function If(t,i){t.push(0,0,0,0,0,0,0,0,i)}function Py(t,i){return t.injectorIndex===-1||t.parent&&t.parent.injectorIndex===t.injectorIndex||i[t.injectorIndex+8]===null?-1:t.injectorIndex}function ph(t,i){if(t.parent&&t.parent.injectorIndex!==-1)return t.parent.injectorIndex;let e=0,n=null,o=i;for(;o!==null;){if(n=jy(o),n===null)return Br;if(e++,o=o[Uo],n.injectorIndex!==-1)return n.injectorIndex|e<<16}return Br}function Bf(t,i,e){vS(t,i,e)}function Ly(t,i,e){if(e&8||t!==void 0)return t;mc(i,"NodeInjector")}function By(t,i,e,n){if(e&8&&n===void 0&&(n=null),(e&3)===0){let o=t[an],r=mn(void 0);try{return o?o.get(i,n,e&8):jp(i,n,e&8)}finally{mn(r)}}return Ly(n,i,e)}function Vy(t,i,e,n=0,o){if(t!==null){if(i[we]&2048&&!(n&2)){let a=TS(t,i,e,n,xi);if(a!==xi)return a}let r=zy(t,i,e,n,xi);if(r!==xi)return r}return By(i,e,n,o)}function zy(t,i,e,n,o){let r=wS(e);if(typeof r=="function"){if(!mf(i,t,n))return n&1?Ly(o,e,n):By(i,e,n,o);try{let a;if(a=r(n),a==null&&!(n&8))mc(e);else return a}finally{bf()}}else if(typeof r=="number"){let a=null,s=Py(t,i),l=Br,c=n&1?i[sn][rn]:null;for((s===-1||n&4)&&(l=s===-1?ph(t,i):i[s+8],l===Br||!Kb(n,!1)?s=-1:(a=i[ue],s=Lc(l),i=Bc(l,i)));s!==-1;){let u=i[ue];if(qb(r,s,u.data)){let h=CS(s,i,e,a,n,c);if(h!==xi)return h}l=i[s+8],l!==Br&&Kb(n,i[ue].data[s+8]===c)&&qb(r,s,i)?(a=u,s=Lc(l),i=Bc(l,i)):s=-1}}return o}function CS(t,i,e,n,o,r){let a=i[ue],s=a.data[t+8],l=n==null?ji(s)&&Lf:n!=a&&(s.type&3)!==0,c=o&1&&r===s,u=Nc(s,a,e,l,c);return u!==null?ls(i,a,u,s,o):xi}function Nc(t,i,e,n,o){let r=t.providerIndexes,a=i.data,s=r&1048575,l=t.directiveStart,c=t.directiveEnd,u=r>>20,h=n?s:s+u,g=o?s+u:c;for(let m=h;m=l&&x.type===e)return m}if(o){let m=a[l];if(m&&Xn(m)&&m.type===e)return l}return null}function ls(t,i,e,n,o){let r=t[e],a=i.data;if(r instanceof Jo){let s=r;if(s.resolving)throw zp("");let l=Gb(s.canSeeViewProviders);s.resolving=!0;let c=a[e].type||a[e],u,h=s.injectImpl?mn(s.injectImpl):null,g=mf(t,n,0);try{r=t[e]=s.factory(void 0,o,a,t,n),i.firstCreatePass&&e>=n.directiveStart&&dS(e,a[e],i)}finally{h!==null&&mn(h),Gb(l),s.resolving=!1,bf()}}return r}function wS(t){if(typeof t=="string")return t.charCodeAt(0)||0;let i=t.hasOwnProperty(Ho)?t[Ho]:void 0;return typeof i=="number"?i>=0?i&Ny:xS:i}function qb(t,i,e){let n=1<>Fy)]&n)}function Kb(t,i){return!(t&2)&&!(t&1&&i)}var Zo=class{_tNode;_lView;constructor(i,e){this._tNode=i,this._lView=e}get(i,e,n){return Vy(this._tNode,this._lView,i,Bo(n),e)}};function xS(){return new Zo(Rt(),ae())}function O(t){return bs(()=>{let i=t.prototype.constructor,e=i[za]||Vf(i),n=Object.prototype,o=Object.getPrototypeOf(t.prototype).constructor;for(;o&&o!==n;){let r=o[za]||Vf(o);if(r&&r!==e)return r;o=Object.getPrototypeOf(o)}return r=>new r})}function Vf(t){return Np(t)?()=>{let i=Vf(kt(t));return i&&i()}:Vo(t)}function TS(t,i,e,n,o){let r=t,a=i;for(;r!==null&&a!==null&&a[we]&2048&&!Ar(a);){let s=zy(r,a,e,n|2,xi);if(s!==xi)return s;let l=r.parent;if(!l){let c=a[Yp];if(c){let u=c.get(e,xi,n&-5);if(u!==xi)return u}l=jy(a),a=a[Uo]}r=l}return o}function jy(t){let i=t[ue],e=i.type;return e===2?i.declTNode:e===1?t[rn]:null}function DS(){return Yr(Rt(),ae())}function Yr(t,i){return new Ct(yn(t,i))}var Ct=(()=>{class t{nativeElement;constructor(e){this.nativeElement=e}static __NG_ELEMENT_ID__=DS}return t})();function ES(t){return t instanceof Ct?t.nativeElement:t}function IS(){return this._results[Symbol.iterator]()}var zc=class{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new Ue}constructor(i=!1){this._emitDistinctChangesOnly=i}get(i){return this._results[i]}map(i){return this._results.map(i)}filter(i){return this._results.filter(i)}find(i){return this._results.find(i)}reduce(i,e){return this._results.reduce(i,e)}forEach(i){this._results.forEach(i)}some(i){return this._results.some(i)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(i,e){this.dirty=!1;let n=ab(i);(this._changesDetected=!rb(this._results,n,e))&&(this._results=n,this.length=n.length,this.last=n[this.length-1],this.first=n[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(i){this._onDirty=i}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=IS};function Hy(t){return(t.flags&128)===128}var fh=(function(t){return t[t.OnPush=0]="OnPush",t[t.Eager=1]="Eager",t[t.Default=1]="Default",t})(fh||{}),$y=new Map,SS=0;function kS(){return SS++}function MS(t){$y.set(t[_i],t)}function zf(t){$y.delete(t[_i])}var Yb="__ngContext__";function Hr(t,i){zi(i)?(t[Yb]=i[_i],MS(i)):t[Yb]=i}function Uy(t){return Gy(t[Rr])}function Wy(t){return Gy(t[Nn])}function Gy(t){for(;t!==null&&!Zn(t);)t=t[Nn];return t}var RS;function hh(t){RS=t}var ed=new B("",{factory:()=>OS}),OS="ng";var td=new B(""),vn=new B("",{providedIn:"platform",factory:()=>"unknown"});var ys=new B("",{factory:()=>v(ze).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var qy="r";var Ky="di";var Yy=!1,Qy=new B("",{factory:()=>Yy});var Qb=new WeakMap;function AS(t,i){if(t==null||typeof t!="object")return;let e=Qb.get(t);e||(e=new WeakSet,Qb.set(t,e)),e.add(i)}var NS=(t,i,e,n)=>{};function FS(t,i,e,n){NS(t,i,e,n)}function nd(t){return(t.flags&32)===32}var PS=()=>null;function Zy(t,i,e=!1){return PS(t,i,e)}function Xy(t,i){let e=t.contentQueries;if(e!==null){let n=le(null);try{for(let o=0;o|^->||--!>|)/g,VS="\u200B$1\u200B";function zS(t){return t.replace(LS,i=>i.replace(BS,VS))}function jS(t,i){return t.createText(i)}function HS(t,i,e){t.setValue(i,e)}function $S(t,i){return t.createComment(zS(i))}function Jy(t,i,e){return t.createElement(i,e)}function jc(t,i,e,n,o){t.insertBefore(i,e,n,o)}function e_(t,i,e){t.appendChild(i,e)}function Zb(t,i,e,n,o){n!==null?jc(t,i,e,n,o):e_(t,i,e)}function t_(t,i,e,n){t.removeChild(null,i,e,n)}function US(t,i,e){t.setAttribute(i,"style",e)}function WS(t,i,e){e===""?t.removeAttribute(i,"class"):t.setAttribute(i,"class",e)}function n_(t,i,e){let{mergedAttrs:n,classes:o,styles:r}=e;n!==null&&hS(t,i,n),o!==null&&WS(t,i,o),r!==null&&US(t,i,r)}function i_(t){return t instanceof Function?t():t}function GS(t,i,e){let n=t.length;for(;;){let o=t.indexOf(i,e);if(o===-1)return o;if(o===0||t.charCodeAt(o-1)<=32){let r=i.length;if(o+r===n||t.charCodeAt(o+r)<=32)return o}e=o+1}}var o_="ng-template";function qS(t,i,e,n){let o=0;if(n){for(;o-1){let r;for(;++or?h="":h=o[u+1].toLowerCase(),n&2&&c!==h){if(ei(n))return!1;a=!0}}}}return ei(n)||a}function ei(t){return(t&1)===0}function QS(t,i,e,n){if(i===null)return-1;let o=0;if(n||!e){let r=!1;for(;o-1)for(e++;e0?'="'+s+'"':"")+"]"}else n&8?o+="."+a:n&4&&(o+=" "+a);else o!==""&&!ei(a)&&(i+=Xb(r,o),o=""),n=a,r=r||!ei(n);e++}return o!==""&&(i+=Xb(r,o)),i}function nk(t){return t.map(tk).join(",")}function ik(t){let i=[],e=[],n=1,o=2;for(;n!1});var lk=!1,_s=typeof document<"u"&&typeof document?.documentElement?.getAnimations=="function";function d_(t){return t[an].get(c_,lk)}function ck(t,i,e){let n=$r.get(t);if(n){for(let o of i)n.classList.push(o);for(let o of e)n.cleanupFns.push(o)}else $r.set(t,{classList:i,cleanupFns:e})}function Ch(t){let i=$r.get(t);if(i){for(let e of i.cleanupFns)e();$r.delete(t)}Xo.delete(t)}var $r=new WeakMap,Xo=new WeakMap,cs=new WeakMap,rs=new WeakSet;function Jb(t,i){let e=cs.get(t);if(e&&e.length>0){let n=e.findIndex(o=>o===i);n>-1&&e.splice(n,1)}e?.length===0&&cs.delete(t)}function dk(t,i){let e=cs.get(t);if(!e||e.length===0)return;let n=i.parentNode,o=i.previousSibling;for(let r=e.length-1;r>=0;r--){let a=e[r],s=a.parentNode;a===i?(e.splice(r,1),rs.add(a),a.dispatchEvent(new CustomEvent("animationend",{detail:{cancel:!0}}))):(o&&a===o||s&&n&&s!==n)&&(e.splice(r,1),a.dispatchEvent(new CustomEvent("animationend",{detail:{cancel:!0}})),a.parentNode?.removeChild(a))}}function u_(t,i){let e=cs.get(t);e?e.includes(i)||e.push(i):cs.set(t,[i])}function ey(t){let i=t[vi]??={};return i.enter??=new Map}function rd(t){let i=t[vi]??={};return i.leave??=new Map}function p_(t){let i=typeof t=="function"?t():t,e=Array.isArray(i)?i:null;return typeof i=="string"&&(e=i.trim().split(/\s+/).filter(n=>n)),e}function uk(t,i){if(!_s)return;let e=$r.get(t);if(e&&e.classList.length>0&&pk(t,e.classList))for(let n of e.classList)i.removeClass(t,n);Ch(t)}function pk(t,i){for(let e of i)if(t.classList.contains(e))return!0;return!1}function ds(t){return t.composedPath?t.composedPath()[0]:t.target}function wh(t,i){let e=Xo.get(i);return e===void 0?!0:i===ds(t)&&(e.animationName!==void 0&&t.animationName===e.animationName||e.propertyName!==void 0&&(e.propertyName==="all"||t.propertyName===e.propertyName))}function f_(t,i,e){let n=t.get(i.index)??{animateFns:[]};n.animateFns.push(e),t.set(i.index,n)}function ty(t,i){if(t)for(let e of t)e();for(let e of i)e()}function ny(t,i){let e=rd(t).get(i.index);e&&(e.resolvers=void 0)}function Hc(t){if(!t)return 0;let i=t.toLowerCase().indexOf("ms")>-1?1:1e3;return parseFloat(t)*i}function Qo(t,i){return t.getPropertyValue(i).split(",").map(n=>n.trim())}function fk(t){let i=Qo(t,"transition-property"),e=Qo(t,"transition-duration"),n=Qo(t,"transition-delay"),o={propertyName:"",duration:0,animationName:void 0};for(let r=0;ro.duration&&(o.propertyName=i[r],o.duration=a)}return o}function hk(t){let i=Qo(t,"animation-name"),e=Qo(t,"animation-delay"),n=Qo(t,"animation-duration"),o=Qo(t,"animation-iteration-count"),r={animationName:"",propertyName:void 0,duration:0};for(let a=0;ar.duration&&l!=="infinite"&&(r.animationName=i[a],r.duration=s)}return r}function h_(t,i){return t!==void 0&&t.duration>i.duration}function g_(t){return(t.animationName!=null||t.propertyName!=null)&&t.duration>0}function gk(t,i){let e=getComputedStyle(t),n=hk(e),o=fk(e),r=n.duration>o.duration?n:o;h_(i.get(t),r)||g_(r)&&i.set(t,r)}function m_(t,i,e){if(!e)return;let n=t.getAnimations();return n.length===0?gk(t,i):mk(t,i,n)}function mk(t,i,e){let n={animationName:void 0,propertyName:void 0,duration:0};for(let o of e){let r=o.effect?.getTiming();if(r?.iterations===1/0)continue;let a=typeof r?.duration=="number"?r.duration:0,s=(r?.delay??0)+a,l=o.playbackRate;l!==void 0&&l!==0&&l!==1&&(s/=Math.abs(l));let c,u;o.animationName?u=o.animationName:c=o.transitionProperty,s>=n.duration&&(n={animationName:u,propertyName:c,duration:s})}h_(i.get(t),n)||g_(n)&&i.set(t,n)}var uo=new Set,ad=(function(t){return t[t.CHANGE_DETECTION=0]="CHANGE_DETECTION",t[t.AFTER_NEXT_RENDER=1]="AFTER_NEXT_RENDER",t})(ad||{}),ii=new B(""),iy=new Set;function oi(t){iy.has(t)||(iy.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}var sd=(()=>{class t{impl=null;execute(){this.impl?.execute()}static \u0275prov=F({token:t,providedIn:"root",factory:()=>new t})}return t})(),xh=[0,1,2,3],Th=(()=>{class t{ngZone=v(Ne);scheduler=v(Kn);errorHandler=v(On,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){v(ii,{optional:!0})}execute(){let e=this.sequences.size>0;e&&Ge(Ve.AfterRenderHooksStart),this.executing=!0;for(let n of xh)for(let o of this.sequences)if(!(o.erroredOrDestroyed||!o.hooks[n]))try{o.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>{let r=o.hooks[n];return r(o.pipelinedValue)},o.snapshot))}catch(r){o.erroredOrDestroyed=!0,this.errorHandler?.handleError(r)}this.executing=!1;for(let n of this.sequences)n.afterRun(),n.once&&(this.sequences.delete(n),n.destroy());for(let n of this.deferredRegistrations)this.sequences.add(n);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),e&&Ge(Ve.AfterRenderHooksEnd)}register(e){let{view:n}=e;n!==void 0?((n[Go]??=[]).push(e),Yo(n),n[we]|=8192):this.executing?this.deferredRegistrations.add(e):this.addSequence(e)}addSequence(e){this.sequences.add(e),this.scheduler.notify(7)}unregister(e){this.executing&&this.sequences.has(e)?(e.erroredOrDestroyed=!0,e.pipelinedValue=void 0,e.once=!0):(this.sequences.delete(e),this.deferredRegistrations.delete(e))}maybeTrace(e,n){return n?n.run(ad.AFTER_NEXT_RENDER,e):e()}static \u0275prov=F({token:t,providedIn:"root",factory:()=>new t})}return t})(),us=class{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(i,e,n,o,r,a=null){this.impl=i,this.hooks=e,this.view=n,this.once=o,this.snapshot=a,this.unregisterOnDestroy=r?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();let i=this.view?.[Go];i&&(this.view[Go]=i.filter(e=>e!==this))}};function Qr(t,i){let e=i?.injector??v(ut);return oi("NgAfterNextRender"),yk(t,e,i,!0)}function bk(t){return t instanceof Function?[void 0,void 0,t,void 0]:[t.earlyRead,t.write,t.mixedReadWrite,t.read]}function yk(t,i,e,n){let o=i.get(sd);o.impl??=i.get(Th);let r=i.get(ii,null,{optional:!0}),a=e?.manualCleanup!==!0?i.get(Zt):null,s=i.get(Fr,null,{optional:!0}),l=new us(o.impl,bk(t),s?.view,n,a,r?.snapshot(null));return o.impl.register(l),l}var ld=new B("",{factory:()=>({queue:new Set,isScheduled:!1,scheduler:null,injector:v(ht)})});function b_(t,i,e){let n=t.get(ld);if(Array.isArray(i))for(let o of i)n.queue.add(o),e?.detachedLeaveAnimationFns?.push(o);else n.queue.add(i),e?.detachedLeaveAnimationFns?.push(i);n.scheduler&&n.scheduler(t)}function _k(t,i){let e=t.get(ld);if(i.detachedLeaveAnimationFns){for(let n of i.detachedLeaveAnimationFns)e.queue.delete(n);i.detachedLeaveAnimationFns=void 0}}function vk(t){let i=t.get(ld);i.isScheduled||(Qr(()=>{i.isScheduled=!1;for(let e of i.queue)e();i.queue.clear()},{injector:i.injector}),i.isScheduled=!0)}function y_(t){let i=t.get(ld);i.scheduler=vk,i.scheduler(t)}function __(t,i){for(let[e,n]of i)b_(t,n.animateFns)}function oy(t,i,e,n){let o=t?.[vi]?.enter;i!==null&&o&&o.has(e.index)&&__(n,o)}function Lr(t,i,e,n,o,r,a,s){if(o!=null){let l,c=!1;Zn(o)?l=o:zi(o)&&(c=!0,o=o[Qn]);let u=Fn(o);t===0&&n!==null?(oy(s,n,r,e),a==null?e_(i,n,u):jc(i,n,u,a||null,!0)):t===1&&n!==null?(oy(s,n,r,e),jc(i,n,u,a||null,!0),dk(r,u)):t===2?(s?.[vi]?.leave?.has(r.index)&&u_(r,u),rs.delete(u),ry(s,r,e,h=>{if(rs.has(u)){rs.delete(u);return}t_(i,u,c,h)})):t===3&&(rs.delete(u),ry(s,r,e,()=>{i.destroyNode(u)})),l!=null&&Rk(i,t,e,l,r,n,a)}}function Ck(t,i){v_(t,i),i[Qn]=null,i[rn]=null}function wk(t,i,e,n,o,r){n[Qn]=o,n[rn]=i,dd(t,n,e,1,o,r)}function v_(t,i){i[bi].changeDetectionScheduler?.notify(9),dd(t,i,i[Xe],2,null,null)}function xk(t){let i=t[Rr];if(!i)return Sf(t[ue],t);for(;i;){let e=null;if(zi(i))e=i[Rr];else{let n=i[mt];n&&(e=n)}if(!e){for(;i&&!i[Nn]&&i!==t;)zi(i)&&Sf(i[ue],i),i=i[Mt];i===null&&(i=t),zi(i)&&Sf(i[ue],i),e=i&&i[Nn]}i=e}}function Dh(t,i){let e=t[qo],n=e.indexOf(i);e.splice(n,1)}function cd(t,i){if(Ko(i))return;let e=i[Xe];e.destroyNode&&dd(t,i,e,3,null,null),xk(i)}function Sf(t,i){if(Ko(i))return;let e=le(null);try{i[we]&=-129,i[we]|=256,i[bn]&&Ji(i[bn]),Ek(t,i),Dk(t,i),i[ue].type===1&&i[Xe].destroy();let n=i[ao];if(n!==null&&Zn(i[Mt])){n!==i[Mt]&&Dh(n,i);let o=i[yi];o!==null&&o.detachView(t)}zf(i)}finally{le(e)}}function ry(t,i,e,n){let o=t?.[vi];if(o==null||o.leave==null||!o.leave.has(i.index))return n(!1);t&&uo.add(t[_i]),b_(e,()=>{if(o.leave&&o.leave.has(i.index)){let a=o.leave.get(i.index),s=[];if(a){for(let l=0;l{t[vi].running=void 0,uo.delete(t[_i]),i(!0)});return}i(!1)}function Dk(t,i){let e=t.cleanup,n=i[Mr];if(e!==null)for(let a=0;a=0?n[s]():n[-s].unsubscribe(),a+=2}else{let s=n[e[a+1]];e[a].call(s)}n!==null&&(i[Mr]=null);let o=i[Li];if(o!==null){i[Li]=null;for(let a=0;agt&&l_(t,i,gt,!1);let s=a?Ve.TemplateUpdateStart:Ve.TemplateCreateStart;Ge(s,o,e),e(n,o)}finally{co(r);let s=a?Ve.TemplateUpdateEnd:Ve.TemplateCreateEnd;Ge(s,o,e)}}function ud(t,i,e){Bk(t,i,e),(e.flags&64)===64&&Vk(t,i,e)}function vs(t,i,e=yn){let n=i.localNames;if(n!==null){let o=i.index+1;for(let r=0;rnull;function Pk(t){return t==="class"?"className":t==="for"?"htmlFor":t==="formaction"?"formAction":t==="innerHtml"?"innerHTML":t==="readonly"?"readOnly":t==="tabindex"?"tabIndex":t}function E_(t,i,e,n,o,r){let a=i[ue];if(Rh(t,a,i,e,n)){ji(t)&&Lk(i,t.index);return}t.type&3&&(e=Pk(e)),I_(t,i,e,n,o,r)}function I_(t,i,e,n,o,r){if(t.type&3){let a=yn(t,i);n=r!=null?r(n,t.value||"",e):n,o.setProperty(a,e,n)}else t.type&12}function Lk(t,i){let e=Pn(i,t);e[we]&16||(e[we]|=64)}function Bk(t,i,e){let n=e.directiveStart,o=e.directiveEnd;ji(e)&&ak(i,e,t.data[n+e.componentOffset]),t.firstCreatePass||Vc(e,i);let r=e.initialInputs;for(let a=n;a{Yo(t.lView)},consumerOnSignalRead(){this.lView[bn]=this}});function Xk(t){let i=t[bn]??Object.create(Jk);return i.lView=t,i}var Jk=ie(T({},Ro),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:t=>{let i=io(t.lView);for(;i&&!R_(i[ue]);)i=io(i);i&&tf(i)},consumerOnSignalRead(){this.lView[bn]=this}});function R_(t){return t.type!==2}function O_(t){if(t[no]===null)return;let i=!0;for(;i;){let e=!1;for(let n of t[no])n.dirty&&(e=!0,n.zone===null||Zone.current===n.zone?n.run():n.zone.run(()=>n.run()));i=e&&!!(t[we]&8192)}}var e2=100;function A_(t,i=0){let n=t[bi].rendererFactory,o=!1;o||n.begin?.();try{t2(t,i)}finally{o||n.end?.()}}function t2(t,i){let e=ff();try{Ha(!0),Wf(t,i);let n=0;for(;es(t);){if(n===e2)throw new X(103,!1);n++,Wf(t,1)}}finally{Ha(e)}}function n2(t,i,e,n){if(Ko(i))return;let o=i[we],r=!1,a=!1;Ec(i);let s=!0,l=null,c=null;r||(R_(t)?(c=Kk(i),l=Xi(c)):Rl()===null?(s=!1,c=Xk(i),l=Xi(c)):i[bn]&&(Ji(i[bn]),i[bn]=null));try{ef(i),Ib(t.bindingStartIndex),e!==null&&D_(t,i,e,2,n);let u=(o&3)===3;if(!r)if(u){let m=t.preOrderCheckHooks;m!==null&&Oc(i,m,null)}else{let m=t.preOrderHooks;m!==null&&Ac(i,m,0,null),Ef(i,0)}if(a||i2(i),O_(i),N_(i,0),t.contentQueries!==null&&Xy(t,i),!r)if(u){let m=t.contentCheckHooks;m!==null&&Oc(i,m)}else{let m=t.contentHooks;m!==null&&Ac(i,m,1),Ef(i,1)}r2(t,i);let h=t.components;h!==null&&P_(i,h,0);let g=t.viewQuery;if(g!==null&&jf(2,g,n),!r)if(u){let m=t.viewCheckHooks;m!==null&&Oc(i,m)}else{let m=t.viewHooks;m!==null&&Ac(i,m,2),Ef(i,2)}if(t.firstUpdatePass===!0&&(t.firstUpdatePass=!1),i[_c]){for(let m of i[_c])m();i[_c]=null}r||(k_(i),i[we]&=-73)}catch(u){throw r||Yo(i),u}finally{c!==null&&(Ao(c,l),s&&Qk(c)),Ic()}}function N_(t,i){for(let e=Uy(t);e!==null;e=Wy(e))for(let n=mt;n0&&(t[e-1][Nn]=n[Nn]);let r=Ya(t,mt+i);Ck(n[ue],n);let a=r[yi];a!==null&&a.detachView(r[ue]),n[Mt]=null,n[Nn]=null,n[we]&=-129}return n}function a2(t,i,e,n){let o=mt+n,r=e.length;n>0&&(e[o-1][Nn]=i),n-1&&(fs(i,n),Ya(e,n))}this._attachedToViewContainer=!1}cd(this._lView[ue],this._lView)}onDestroy(i){nf(this._lView,i)}markForCheck(){Ah(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[we]&=-129}reattach(){wc(this._lView),this._lView[we]|=128}detectChanges(){this._lView[we]|=1024,A_(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new X(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let i=Ar(this._lView),e=this._lView[ao];e!==null&&!i&&Dh(e,this._lView),v_(this._lView[ue],this._lView)}attachToAppRef(i){if(this._attachedToViewContainer)throw new X(902,!1);this._appRef=i;let e=Ar(this._lView),n=this._lView[ao];n!==null&&!e&&z_(n,this._lView),wc(this._lView)}};var Ti=(()=>{class t{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=s2;constructor(e,n,o){this._declarationLView=e,this._declarationTContainer=n,this.elementRef=o}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(e,n){return this.createEmbeddedViewImpl(e,n)}createEmbeddedViewImpl(e,n,o){let r=Cs(this._declarationLView,this._declarationTContainer,e,{embeddedViewInjector:n,dehydratedView:o});return new po(r)}}return t})();function s2(){return pd(Rt(),ae())}function pd(t,i){return t.type&4?new Ti(i,t,Yr(t,i)):null}function Zr(t,i,e,n,o){let r=t.data[i];if(r===null)r=l2(t,i,e,n,o),Sb()&&(r.flags|=32);else if(r.type&64){r.type=e,r.value=n,r.attrs=o;let a=Db();r.injectorIndex=a===null?-1:a.injectorIndex}return Nr(r,!0),r}function l2(t,i,e,n,o){let r=df(),a=uf(),s=a?r:r&&r.parent,l=t.data[i]=d2(t,s,e,i,n,o);return c2(t,l,r,a),l}function c2(t,i,e,n){t.firstChild===null&&(t.firstChild=i),e!==null&&(n?e.child==null&&i.parent!==null&&(e.child=i):e.next===null&&(e.next=i,i.prev=e))}function d2(t,i,e,n,o,r){let a=i?i.injectorIndex:-1,s=0;return sf()&&(s|=128),{type:e,index:n,insertBeforeIndex:null,injectorIndex:a,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,controlDirectiveIndex:-1,customControlIndex:-1,propertyBindings:null,flags:s,providerIndexes:0,value:o,namespace:yf(),attrs:r,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:i,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}function u2(t){let i=t[Qp]??[],n=t[Mt][Xe],o=[];for(let r of i)r.data[Ky]!==void 0?o.push(r):p2(r,n);t[Qp]=o}function p2(t,i){let e=0,n=t.firstChild;if(n){let o=t.data[qy];for(;enull,h2=()=>null;function $c(t,i){return f2(t,i)}function j_(t,i,e){return h2(t,i,e)}var H_=class{},fd=class{},Gf=class{resolveComponentFactory(i){throw new X(917,!1)}},xs=class{static NULL=new Gf},er=class{},Cn=(()=>{class t{destroyNode=null;static __NG_ELEMENT_ID__=()=>g2()}return t})();function g2(){let t=ae(),i=Rt(),e=Pn(i.index,t);return(zi(e)?e:t)[Xe]}var $_=(()=>{class t{static \u0275prov=F({token:t,providedIn:"root",factory:()=>null})}return t})();var Fc={},qf=class{injector;parentInjector;constructor(i,e){this.injector=i,this.parentInjector=e}get(i,e,n){let o=this.injector.get(i,Fc,n);return o!==Fc||e===Fc?o:this.parentInjector.get(i,e,n)}};function Uc(t,i,e){let n=e?t.styles:null,o=e?t.classes:null,r=0;if(i!==null)for(let a=0;a0&&(e.directiveToIndex=new Map);for(let g=0;g0;){let e=t[--i];if(typeof e=="number"&&e<0)return e}return 0}function x2(t,i,e){if(e){if(i.exportAs)for(let n=0;nn(Fn(E[t.index])):t.index;q_(x,i,e,r,s,m,!1)}}return c}function I2(t){return t.startsWith("animation")||t.startsWith("transition")}function S2(t,i,e,n){let o=t.cleanup;if(o!=null)for(let r=0;rl?s[l]:null}typeof a=="string"&&(r+=2)}return null}function q_(t,i,e,n,o,r,a){let s=i.firstCreatePass?rf(i):null,l=of(e),c=l.length;l.push(o,r),s&&s.push(n,t,c,(c+1)*(a?-1:1))}function uy(t,i,e,n,o,r){let a=i[e],s=i[ue],c=s.data[e].outputs[n],h=a[c].subscribe(r);q_(t.index,s,i,o,r,h,!0)}var Kf=Symbol("BINDING");function K_(t){return t.debugInfo?.className||t.type.name||null}var Wc=class extends xs{ngModule;constructor(i){super(),this.ngModule=i}resolveComponentFactory(i){let e=oo(i);return new Gr(e,this.ngModule)}};function k2(t){return Object.keys(t).map(i=>{let[e,n,o]=t[i],r={propName:e,templateName:i,isSignal:(n&od.SignalBased)!==0};return o&&(r.transform=o),r})}function M2(t){return Object.keys(t).map(i=>({propName:t[i],templateName:i}))}function R2(t,i,e){let n=i instanceof ht?i:i?.injector;return n&&t.getStandaloneInjector!==null&&(n=t.getStandaloneInjector(n)||n),n?new qf(e,n):e}function O2(t){let i=t.get(er,null);if(i===null)throw new X(407,!1);let e=t.get($_,null),n=t.get(Kn,null),o=t.get(ii,null,{optional:!0});return{rendererFactory:i,sanitizer:e,changeDetectionScheduler:n,ngReflect:!1,tracingService:o}}function A2(t,i){let e=Y_(t);return Jy(i,e,e==="svg"?Xp:e==="math"?mb:null)}function N2(t){if(t?.toLowerCase()==="script")throw new X(905,!1)}function Y_(t){return(t.selectors[0][0]||"div").toLowerCase()}var Gr=class extends fd{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=k2(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=M2(this.componentDef.outputs),this.cachedOutputs}constructor(i,e){super(),this.componentDef=i,this.ngModule=e,this.componentType=i.type,this.selector=nk(i.selectors),this.ngContentSelectors=i.ngContentSelectors??[],this.isBoundToModule=!!e}create(i,e,n,o,r,a){Ge(Ve.DynamicComponentStart);let s=le(null);try{let l=this.componentDef,c=R2(l,o||this.ngModule,i),u=O2(c),h=u.tracingService;return h&&h.componentCreate?h.componentCreate(K_(l),()=>this.createComponentRef(u,c,e,n,r,a)):this.createComponentRef(u,c,e,n,r,a)}finally{le(s)}}createComponentRef(i,e,n,o,r,a){let s=this.componentDef,l=F2(o,s,a,r),c=i.rendererFactory.createRenderer(null,s),u=o?Ak(c,o,s.encapsulation,e):A2(s,c);N2(u?.tagName);let h=a?.some(py)||r?.some(x=>typeof x!="function"&&x.bindings.some(py)),g=yh(null,l,null,512|a_(s),null,null,i,c,e,null,Zy(u,e,!0));g[gt]=u,Ec(g);let m=null;try{let x=Nh(gt,g,2,"#host",()=>l.directiveRegistry,!0,0);n_(c,u,x),Hr(u,g),ud(l,g,x),gh(l,x,g),Fh(l,x),n!==void 0&&L2(x,this.ngContentSelectors,n),m=Pn(x.index,g),g[vt]=m[vt],Oh(l,g,null)}catch(x){throw m!==null&&zf(m),zf(g),x}finally{Ge(Ve.DynamicComponentEnd),Ic()}return new Gc(this.componentType,g,!!h)}};function F2(t,i,e,n){let o=t?["ng-version","21.2.19"]:ik(i.selectors[0]),r=null,a=null,s=0;if(e)for(let u of e)s+=u[Kf].requiredVars,u.create&&(u.targetIdx=0,(r??=[]).push(u)),u.update&&(u.targetIdx=0,(a??=[]).push(u));if(n)for(let u=0;u{if(e&1&&t)for(let n of t)n.create();if(e&2&&i)for(let n of i)n.update()}}function py(t){let i=t[Kf].kind;return i==="input"||i==="twoWay"}var Gc=class extends H_{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(i,e,n){super(),this._rootLView=e,this._hasInputBindings=n,this._tNode=vc(e[ue],gt),this.location=Yr(this._tNode,e),this.instance=Pn(this._tNode.index,e)[vt],this.hostView=this.changeDetectorRef=new po(e,void 0),this.componentType=i}setInput(i,e){this._hasInputBindings;let n=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(i)&&Object.is(this.previousInputValues.get(i),e))return;let o=this._rootLView,r=Rh(n,o[ue],o,i,e);this.previousInputValues.set(i,e);let a=Pn(n.index,o);Ah(a,1)}get injector(){return new Zo(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(i){this.hostView.onDestroy(i)}};function L2(t,i,e){let n=t.projection=[];for(let o=0;o{class t{static __NG_ELEMENT_ID__=B2}return t})();function B2(){let t=Rt();return Q_(t,ae())}var Yf=class t extends Bn{_lContainer;_hostTNode;_hostLView;constructor(i,e,n){super(),this._lContainer=i,this._hostTNode=e,this._hostLView=n}get element(){return Yr(this._hostTNode,this._hostLView)}get injector(){return new Zo(this._hostTNode,this._hostLView)}get parentInjector(){let i=ph(this._hostTNode,this._hostLView);if(Ay(i)){let e=Bc(i,this._hostLView),n=Lc(i),o=e[ue].data[n+8];return new Zo(o,e)}else return new Zo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(i){let e=fy(this._lContainer);return e!==null&&e[i]||null}get length(){return this._lContainer.length-mt}createEmbeddedView(i,e,n){let o,r;typeof n=="number"?o=n:n!=null&&(o=n.index,r=n.injector);let a=$c(this._lContainer,i.ssrId),s=i.createEmbeddedViewImpl(e||{},r,a);return this.insertImpl(s,o,Ur(this._hostTNode,a)),s}createComponent(i,e,n,o,r,a,s){let l=i&&!aS(i),c;if(l)c=e;else{let k=e||{};c=k.index,n=k.injector,o=k.projectableNodes,r=k.environmentInjector||k.ngModuleRef,a=k.directives,s=k.bindings}let u=l?i:new Gr(oo(i)),h=n||this.parentInjector;if(!r&&u.ngModule==null){let z=(l?h:this.parentInjector).get(ht,null);z&&(r=z)}let g=oo(u.componentType??{}),m=$c(this._lContainer,g?.id??null),x=m?.firstChild??null,E=u.create(h,o,x,r,a,s);return this.insertImpl(E.hostView,c,Ur(this._hostTNode,m)),E}insert(i,e){return this.insertImpl(i,e,!0)}insertImpl(i,e,n){let o=i._lView;if(_b(o)){let s=this.indexOf(i);if(s!==-1)this.detach(s);else{let l=o[Mt],c=new t(l,l[rn],l[Mt]);c.detach(c.indexOf(i))}}let r=this._adjustIndex(e),a=this._lContainer;return ws(a,o,r,n),i.attachToViewContainerRef(),Hp(Mf(a),r,i),i}move(i,e){return this.insert(i,e)}indexOf(i){let e=fy(this._lContainer);return e!==null?e.indexOf(i):-1}remove(i){let e=this._adjustIndex(i,-1),n=fs(this._lContainer,e);n&&(Ya(Mf(this._lContainer),e),cd(n[ue],n))}detach(i){let e=this._adjustIndex(i,-1),n=fs(this._lContainer,e);return n&&Ya(Mf(this._lContainer),e)!=null?new po(n):null}_adjustIndex(i,e=0){return i??this.length+e}};function fy(t){return t[Ja]}function Mf(t){return t[Ja]||(t[Ja]=[])}function Q_(t,i){let e,n=i[t.index];return Zn(n)?e=n:(e=L_(n,i,null,t),i[t.index]=e,_h(i,e)),z2(e,i,t,n),new Yf(e,t,i)}function V2(t,i){let e=t[Xe],n=e.createComment(""),o=yn(i,t),r=e.parentNode(o);return jc(e,r,n,e.nextSibling(o),!1),n}var z2=$2,j2=()=>!1;function H2(t,i,e){return j2(t,i,e)}function $2(t,i,e,n){if(t[so])return;let o;e.type&8?o=Fn(n):o=V2(i,e),t[so]=o}var Qf=class t{queryList;matches=null;constructor(i){this.queryList=i}clone(){return new t(this.queryList)}setDirty(){this.queryList.setDirty()}},Zf=class t{queries;constructor(i=[]){this.queries=i}createEmbeddedView(i){let e=i.queries;if(e!==null){let n=i.contentQueries!==null?i.contentQueries[0]:e.length,o=[];for(let r=0;r0)n.push(a[s/2]);else{let c=r[s+1],u=i[-l];for(let h=mt;hi.trim())}function J_(t,i,e){t.queries===null&&(t.queries=new Xf),t.queries.track(new Jf(i,e))}function X2(t,i){let e=t.contentQueries||(t.contentQueries=[]),n=e.length?e[e.length-1]:-1;i!==n&&e.push(t.queries.length-1,i)}function Bh(t,i){return t.queries.getByIndex(i)}function J2(t,i){let e=t[ue],n=Bh(e,i);return n.crossesNgTemplate?eh(e,t,i,[]):Z_(e,t,n,i)}var tr=class{},md=class{};var Kc=class extends tr{ngModuleType;_parent;_bootstrapComponents=[];_r3Injector;instance;destroyCbs=[];componentFactoryResolver=new Wc(this);constructor(i,e,n,o=!0){super(),this.ngModuleType=i,this._parent=e;let r=Vp(i);this._bootstrapComponents=i_(r.bootstrap),this._r3Injector=_f(i,e,[{provide:tr,useValue:this},{provide:xs,useValue:this.componentFactoryResolver},...n],Wa(i),new Set(["environment"])),o&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}get injector(){return this._r3Injector}destroy(){let i=this._r3Injector;!i.destroyed&&i.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(i){this.destroyCbs.push(i)}},Yc=class extends md{moduleType;constructor(i){super(),this.moduleType=i}create(i){return new Kc(this.moduleType,i,[])}};var hs=class extends tr{injector;componentFactoryResolver=new Wc(this);instance=null;constructor(i){super();let e=new jo([...i.providers,{provide:tr,useValue:this},{provide:xs,useValue:this.componentFactoryResolver}],i.parent||Xa(),i.debugName,new Set(["environment"]));this.injector=e,i.runEnvironmentInitializers&&e.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(i){this.injector.onDestroy(i)}};function Ds(t,i,e=null){return new hs({providers:t,parent:i,debugName:e,runEnvironmentInitializers:!0}).injector}var eM=(()=>{class t{_injector;cachedInjectors=new Map;constructor(e){this._injector=e}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e)){let n=Wp(!1,e.type),o=n.length>0?Ds([n],this._injector,""):null;this.cachedInjectors.set(e,o)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(let e of this.cachedInjectors.values())e!==null&&e.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=F({token:t,providedIn:"environment",factory:()=>new t(ye(ht))})}return t})();function H(t){return bs(()=>{let i=ev(t),e=ie(T({},i),{decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===fh.OnPush,directiveDefs:null,pipeDefs:null,dependencies:i.standalone&&t.dependencies||null,getStandaloneInjector:i.standalone?o=>o.get(eM).getOrCreateStandaloneInjector(e):null,getExternalStyles:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||ti.Emulated,styles:t.styles||on,_:null,schemas:t.schemas||null,tView:null,id:""});i.standalone&&oi("NgStandalone"),tv(e);let n=t.dependencies;return e.directiveDefs=hy(n,tM),e.pipeDefs=hy(n,tb),e.id=oM(e),e})}function tM(t){return oo(t)||hc(t)}function pe(t){return bs(()=>({type:t.type,bootstrap:t.bootstrap||on,declarations:t.declarations||on,imports:t.imports||on,exports:t.exports||on,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function nM(t,i){if(t==null)return Yn;let e={};for(let n in t)if(t.hasOwnProperty(n)){let o=t[n],r,a,s,l;Array.isArray(o)?(s=o[0],r=o[1],a=o[2]??r,l=o[3]||null):(r=o,a=o,s=od.None,l=null),e[r]=[n,s,l],i[r]=a}return e}function iM(t){if(t==null)return Yn;let i={};for(let e in t)t.hasOwnProperty(e)&&(i[t[e]]=e);return i}function ge(t){return bs(()=>{let i=ev(t);return tv(i),i})}function ev(t){let i={};return{type:t.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:i,inputConfig:t.inputs||Yn,exportAs:t.exportAs||null,standalone:t.standalone??!0,signals:t.signals===!0,selectors:t.selectors||on,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,controlDef:null,inputs:nM(t.inputs,i),outputs:iM(t.outputs),debugInfo:null}}function tv(t){t.features?.forEach(i=>i(t))}function hy(t,i){return t?()=>{let e=typeof t=="function"?t():t,n=[];for(let o of e){let r=i(o);r!==null&&n.push(r)}return n}:null}function oM(t){let i=0,e=typeof t.consts=="function"?"":t.consts,n=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,e,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery];for(let r of n.join("|"))i=Math.imul(31,i)+r.charCodeAt(0)<<0;return i+=2147483648,"c"+i}function Fe(t){let i=e=>{let n=Array.isArray(t);e.hostDirectives===null?(e.resolveHostDirectives=rM,e.hostDirectives=n?t.map(th):[t]):n?e.hostDirectives.unshift(...t.map(th)):e.hostDirectives.unshift(t)};return i.ngInherit=!0,i}function rM(t){let i=[],e=!1,n=null,o=null;for(let r=0;r=0;n--){let o=t[n];o.hostVars=i+=o.hostVars,o.hostAttrs=jr(o.hostAttrs,e=jr(e,o.hostAttrs))}}function Rf(t){return t===Yn?{}:t===on?[]:t}function dM(t,i){let e=t.viewQuery;e?t.viewQuery=(n,o)=>{i(n,o),e(n,o)}:t.viewQuery=i}function uM(t,i){let e=t.contentQueries;e?t.contentQueries=(n,o,r)=>{i(n,o,r),e(n,o,r)}:t.contentQueries=i}function pM(t,i){let e=t.hostBindings;e?t.hostBindings=(n,o)=>{i(n,o),e(n,o)}:t.hostBindings=i}function iv(t,i,e,n,o,r,a,s){if(e.firstCreatePass){t.mergedAttrs=jr(t.mergedAttrs,t.attrs);let u=t.tView=bh(2,t,o,r,a,e.directiveRegistry,e.pipeRegistry,null,e.schemas,e.consts,null);e.queries!==null&&(e.queries.template(e,t),u.queries=e.queries.embeddedTView(t))}s&&(t.flags|=s),Nr(t,!1);let l=hM(e,i,t,n);Sc()&&Eh(e,i,l,t),Hr(l,i);let c=L_(l,i,l,t);i[n+gt]=c,_h(i,c),H2(c,t,i)}function fM(t,i,e,n,o,r,a,s,l,c,u){let h=e+gt,g;return i.firstCreatePass?(g=Zr(i,h,4,a||null,s||null),xc()&&U_(i,t,g,Ln(i.consts,c),Sh),Ry(i,g)):g=i.data[h],iv(g,t,i,e,n,o,r,l),Or(g)&&ud(i,t,g),c!=null&&vs(t,g,u),g}function gs(t,i,e,n,o,r,a,s,l,c,u){let h=e+gt,g;if(i.firstCreatePass){if(g=Zr(i,h,4,a||null,s||null),c!=null){let m=Ln(i.consts,c);g.localNames=[];for(let x=0;x{class t{log(e){console.log(e)}warn(e){console.warn(e)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();function zh(t){return typeof t=="function"&&t[Ut]!==void 0}function jh(t){return zh(t)&&typeof t.set=="function"}var Hh=new B("");function fo(t){return!!t&&typeof t.then=="function"}function $h(t){return!!t&&typeof t.subscribe=="function"}var Uh=new B("");function bd(t){return An([{provide:Uh,multi:!0,useValue:t}])}var Wh=(()=>{class t{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((e,n)=>{this.resolve=e,this.reject=n});appInits=v(Uh,{optional:!0})??[];injector=v(ut);constructor(){}runInitializers(){if(this.initialized)return;let e=[];for(let o of this.appInits){let r=zt(this.injector,o);if(fo(r))e.push(r);else if($h(r)){let a=new Promise((s,l)=>{r.subscribe({complete:s,error:l})});e.push(a)}}let n=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{n()}).catch(o=>{this.reject(o)}),e.length===0&&n(),this.initialized=!0}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),yd=new B("");function ov(){ip(()=>{let t="";throw new X(600,t)})}function rv(t){return t.isBoundToModule}var mM=10;var Ui=(()=>{class t{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=v(_n);afterRenderManager=v(sd);zonelessEnabled=v(Pr);rootEffectScheduler=v(Mc);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new Ue;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=v(wi);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(Ze(e=>!e))}constructor(){v(ii,{optional:!0})}whenStable(){let e;return new Promise(n=>{e=this.isStable.subscribe({next:o=>{o&&n()}})}).finally(()=>{e.unsubscribe()})}_injector=v(ht);_rendererFactory=null;get injector(){return this._injector}bootstrap(e,n){return this.bootstrapImpl(e,n)}bootstrapImpl(e,n,o=ut.NULL){return this._injector.get(Ne).run(()=>{Ge(Ve.BootstrapComponentStart);let a=e instanceof fd;if(!this._injector.get(Wh).done){let x="";throw new X(405,x)}let l;a?l=e:l=this._injector.get(xs).resolveComponentFactory(e),this.componentTypes.push(l.componentType);let c=rv(l)?void 0:this._injector.get(tr),u=n||l.selector,h=l.create(o,[],u,c),g=h.location.nativeElement,m=h.injector.get(Hh,null);return m?.registerApplication(g),h.onDestroy(()=>{this.detachView(h.hostView),ss(this.components,h),m?.unregisterApplication(g)}),this._loadComponent(h),Ge(Ve.BootstrapComponentEnd,h),h})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){Ge(Ve.ChangeDetectionStart),this.tracingSnapshot!==null?this.tracingSnapshot.run(ad.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw Ge(Ve.ChangeDetectionEnd),new X(101,!1);let e=le(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,le(e),this.afterTick.next(),Ge(Ve.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(er,null,{optional:!0}));let e=0;for(;this.dirtyFlags!==0&&e++es(e))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(e){let n=e;this._views.push(n),n.attachToAppRef(this)}detachView(e){let n=e;ss(this._views,n),n.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView);try{this.tick()}catch(o){this.internalErrorHandler(o)}this.components.push(e),this._injector.get(yd,[]).forEach(o=>o(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>ss(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new X(406,!1);let e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ss(t,i){let e=t.indexOf(i);e>-1&&t.splice(e,1)}function Gh(){let t,i;return{promise:new Promise((n,o)=>{t=n,i=o}),resolve:t,reject:i}}function N(t,i,e,n){let o=ae(),r=lo();if(un(o,r,i)){let a=pt(),s=ns();jk(s,o,t,i,e,n)}return N}function Vr(t){if(oi("NgAnimateEnter"),!_s)return Vr;let i=ae();if(d_(i))return Vr;let e=Rt(),n=i[an].get(Ne);return f_(ey(i),e,()=>bM(i,e,t,n)),y_(i[an]),__(i[an],ey(i)),Vr}function bM(t,i,e,n){let o=yn(i,t),r=t[Xe],a=p_(e),s=[],l=!1,c=h=>{if(ds(h)!==o)return;let g=h instanceof AnimationEvent?"animationend":"transitionend";n.runOutsideAngular(()=>{r.listen(o,g,u)})},u=h=>{ds(h)===o&&(wh(h,o)&&(l=!0),yM(h,o,r))};if(a&&a.length>0){n.runOutsideAngular(()=>{s.push(r.listen(o,"animationstart",c)),s.push(r.listen(o,"transitionstart",c))}),ck(o,a,s);for(let h of a)r.addClass(o,h);n.runOutsideAngular(()=>{requestAnimationFrame(()=>{if(!l&&(m_(o,Xo,_s),!Xo.has(o))){for(let h of a)r.removeClass(o,h);Ch(o)}})})}}function yM(t,i,e){let n=$r.get(i);if(!(ds(t)!==i||!n)&&wh(t,i)){t.stopPropagation();for(let o of n.classList)e.removeClass(i,o);Ch(i)}}function zr(t){if(oi("NgAnimateLeave"),!_s)return zr;let i=ae();if(d_(i))return zr;let n=Rt(),o=i[an].get(Ne);return f_(rd(i),n,()=>_M(i,n,t,o)),y_(i[an]),zr}function _M(t,i,e,n){let{promise:o,resolve:r}=Gh(),a=yn(i,t),s=t[Xe];uo.add(t[_i]),(rd(t).get(i.index).resolvers??=[]).push(r);let l=p_(e);return l&&l.length>0?vM(a,i,t,l,s,n):r(),{promise:o,resolve:r}}function vM(t,i,e,n,o,r){uk(t,o);let a=[],s=rd(e).get(i.index)?.resolvers,l,c=!1,u=h=>{if(!(ds(h)!==t&&h.type!=="animation-fallback")&&(h.type==="animation-fallback"||wh(h,t))){if(c=!0,l&&clearTimeout(l),h.type!=="animation-fallback"&&h.stopPropagation(),Xo.delete(t),Jb(i,t),Array.isArray(i.projection))for(let m of n)o.removeClass(t,m);ty(s,a),ny(e,i)}};r.runOutsideAngular(()=>{a.push(o.listen(t,"animationend",u)),a.push(o.listen(t,"transitionend",u))}),u_(i,t);for(let h of n)o.addClass(t,h);r.runOutsideAngular(()=>{requestAnimationFrame(()=>{if(c)return;m_(t,Xo,_s);let h=Xo.get(t);h?(l=setTimeout(()=>{u(new CustomEvent("animation-fallback"))},h.duration+50),a.push(()=>clearTimeout(l))):(Jb(i,t),ty(s,a),ny(e,i))})})}var nh=class{destroy(i){}updateValue(i,e){}swap(i,e){let n=Math.min(i,e),o=Math.max(i,e),r=this.detach(o);if(o-n>1){let a=this.detach(n);this.attach(n,r),this.attach(o,a)}else this.attach(n,r)}move(i,e){this.attach(e,this.detach(i))}};function Of(t,i,e,n,o){return t===e&&Object.is(i,n)?1:Object.is(o(t,i),o(e,n))?-1:0}function CM(t,i,e,n){let o,r,a=0,s=t.length-1,l=void 0;if(Array.isArray(i)){le(n);let c=i.length-1;for(le(null);a<=s&&a<=c;){let u=t.at(a),h=i[a],g=Of(a,u,a,h,e);if(g!==0){g<0&&t.updateValue(a,h),a++;continue}let m=t.at(s),x=i[c],E=Of(s,m,c,x,e);if(E!==0){E<0&&t.updateValue(s,x),s--,c--;continue}let k=e(a,u),z=e(s,m),Q=e(a,h);if(Object.is(Q,z)){let se=e(c,x);Object.is(se,k)?(t.swap(a,s),t.updateValue(s,x),c--,s--):t.move(s,a),t.updateValue(a,h),a++;continue}if(o??=new Qc,r??=yy(t,a,s,e),ih(t,o,a,Q))t.updateValue(a,h),a++,s++;else if(r.has(Q))o.set(k,t.detach(a)),s--;else{let se=t.create(a,i[a]);t.attach(a,se),a++,s++}}for(;a<=c;)by(t,o,e,a,i[a]),a++}else if(i!=null){le(n);let c=i[Symbol.iterator]();le(null);let u=c.next();for(;!u.done&&a<=s;){let h=t.at(a),g=u.value,m=Of(a,h,a,g,e);if(m!==0)m<0&&t.updateValue(a,g),a++,u=c.next();else{o??=new Qc,r??=yy(t,a,s,e);let x=e(a,g);if(ih(t,o,a,x))t.updateValue(a,g),a++,s++,u=c.next();else if(!r.has(x))t.attach(a,t.create(a,g)),a++,s++,u=c.next();else{let E=e(a,h);o.set(E,t.detach(a)),s--}}}for(;!u.done;)by(t,o,e,t.length,u.value),u=c.next()}for(;a<=s;)t.destroy(t.detach(s--));o?.forEach(c=>{t.destroy(c)})}function ih(t,i,e,n){return i!==void 0&&i.has(n)?(t.attach(e,i.get(n)),i.delete(n),!0):!1}function by(t,i,e,n,o){if(ih(t,i,n,e(n,o)))t.updateValue(n,o);else{let r=t.create(n,o);t.attach(n,r)}}function yy(t,i,e,n){let o=new Set;for(let r=i;r<=e;r++)o.add(n(r,t.at(r)));return o}var Qc=class{kvMap=new Map;_vMap=void 0;has(i){return this.kvMap.has(i)}delete(i){if(!this.has(i))return!1;let e=this.kvMap.get(i);return this._vMap!==void 0&&this._vMap.has(e)?(this.kvMap.set(i,this._vMap.get(e)),this._vMap.delete(e)):this.kvMap.delete(i),!0}get(i){return this.kvMap.get(i)}set(i,e){if(this.kvMap.has(i)){let n=this.kvMap.get(i);this._vMap===void 0&&(this._vMap=new Map);let o=this._vMap;for(;o.has(n);)n=o.get(n);o.set(n,e)}else this.kvMap.set(i,e)}forEach(i){for(let[e,n]of this.kvMap)if(i(n,e),this._vMap!==void 0){let o=this._vMap;for(;o.has(n);)n=o.get(n),i(n,e)}}};function _e(t,i,e,n,o,r,a,s){oi("NgControlFlow");let l=ae(),c=pt(),u=Ln(c.consts,r);return gs(l,c,t,i,e,n,o,u,256,a,s),qh}function qh(t,i,e,n,o,r,a,s){oi("NgControlFlow");let l=ae(),c=pt(),u=Ln(c.consts,r);return gs(l,c,t,i,e,n,o,u,512,a,s),qh}function ve(t,i){oi("NgControlFlow");let e=ae(),n=lo(),o=e[n]!==jt?e[n]:-1,r=o!==-1?Zc(e,gt+o):void 0,a=0;if(un(e,n,t)){let s=le(null);try{if(r!==void 0&&V_(r,a),t!==-1){let l=gt+t,c=Zc(e,l),u=sh(e[ue],l),h=j_(c,u,e),g=Cs(e,u,i,{dehydratedView:h});ws(c,g,a,Ur(u,h))}}finally{le(s)}}else if(r!==void 0){let s=B_(r,a);s!==void 0&&(s[vt]=i)}}var oh=class{lContainer;$implicit;$index;constructor(i,e,n){this.lContainer=i,this.$implicit=e,this.$index=n}get $count(){return this.lContainer.length-mt}};function Kh(t){return t}function Yh(t,i){return i}var rh=class{hasEmptyBlock;trackByFn;liveCollection;constructor(i,e,n){this.hasEmptyBlock=i,this.trackByFn=e,this.liveCollection=n}};function At(t,i,e,n,o,r,a,s,l,c,u,h,g){oi("NgControlFlow");let m=ae(),x=pt(),E=l!==void 0,k=ae(),z=s?a.bind(k[sn][vt]):a,Q=new rh(E,z);k[gt+t]=Q,gs(m,x,t+1,i,e,n,o,Ln(x.consts,r),256),E&&gs(m,x,t+2,l,c,u,h,Ln(x.consts,g),512)}var ah=class extends nh{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(i,e,n){super(),this.lContainer=i,this.hostLView=e,this.templateTNode=n}get length(){return this.lContainer.length-mt}at(i){return this.getLView(i)[vt].$implicit}attach(i,e){let n=e[$o];this.needsIndexUpdate||=i!==this.length,ws(this.lContainer,e,i,Ur(this.templateTNode,n)),wM(this.lContainer,i)}detach(i){return this.needsIndexUpdate||=i!==this.length-1,xM(this.lContainer,i),TM(this.lContainer,i)}create(i,e){let n=$c(this.lContainer,this.templateTNode.tView.ssrId);return Cs(this.hostLView,this.templateTNode,new oh(this.lContainer,e,i),{dehydratedView:n})}destroy(i){cd(i[ue],i)}updateValue(i,e){this.getLView(i)[vt].$implicit=e}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let i=0;i0){let r=n[an];_k(r,o),uo.delete(n[_i]),o.detachedLeaveAnimationFns=void 0}}function xM(t,i){if(t.length<=mt)return;let e=mt+i,n=t[e],o=n?n[vi]:void 0;o&&o.leave&&o.leave.size>0&&(o.detachedLeaveAnimationFns=[])}function TM(t,i){return fs(t,i)}function DM(t,i){return B_(t,i)}function sh(t,i){return vc(t,i)}function p(t,i,e){let n=ae(),o=lo();if(un(n,o,i)){let r=pt(),a=ns();E_(a,n,t,i,n[Xe],e)}return p}function lh(t,i,e,n,o){Rh(i,t,e,o?"class":"style",n)}function b(t,i,e,n){let o=ae(),r=o[ue],a=t+gt,s=r.firstCreatePass?Nh(a,o,2,i,Sh,xc(),e,n):r.data[a];if(ji(s)){let l=o[bi].tracingService;if(l&&l.componentCreate){let c=r.data[s.directiveStart+s.componentOffset];return l.componentCreate(K_(c),()=>(_y(t,i,o,s,n),b))}}return _y(t,i,o,s,n),b}function _y(t,i,e,n,o){if(kh(n,e,t,i,av),Or(n)){let r=e[ue];ud(r,e,n),gh(r,n,e)}o!=null&&vs(e,n)}function y(){let t=pt(),i=Rt(),e=Mh(i);return t.firstCreatePass&&Fh(t,e),lf(e)&&cf(),af(),e.classesWithoutHost!=null&&pS(e)&&lh(t,e,ae(),e.classesWithoutHost,!0),e.stylesWithoutHost!=null&&fS(e)&&lh(t,e,ae(),e.stylesWithoutHost,!1),y}function W(t,i,e,n){return b(t,i,e,n),y(),W}function Re(t,i,e,n){let o=ae(),r=o[ue],a=t+gt,s=r.firstCreatePass?D2(a,r,2,i,e,n):r.data[a];return kh(s,o,t,i,av),n!=null&&vs(o,s),Re}function Oe(){let t=Rt(),i=Mh(t);return lf(i)&&cf(),af(),Oe}function J(t,i,e,n){return Re(t,i,e,n),Oe(),J}var av=(t,i,e,n,o)=>(is(!0),Jy(i[Xe],n,yf()));function q(t,i,e){let n=ae(),o=n[ue],r=t+gt,a=o.firstCreatePass?Nh(r,n,8,"ng-container",Sh,xc(),i,e):o.data[r];if(kh(a,n,t,"ng-container",EM),Or(a)){let s=n[ue];ud(s,n,a),gh(s,a,n)}return e!=null&&vs(n,a),q}function K(){let t=pt(),i=Rt(),e=Mh(i);return t.firstCreatePass&&Fh(t,e),K}function G(t,i,e){return q(t,i,e),K(),G}var EM=(t,i,e,n,o)=>(is(!0),$S(i[Xe],""));function $(){return ae()}function je(t,i,e){let n=ae(),o=lo();if(un(n,o,i)){let r=pt(),a=ns();I_(a,n,t,i,n[Xe],e)}return je}var Es="en-US";var IM=Es;function sv(t){typeof t=="string"&&(IM=t.toLowerCase().replace(/_/g,"-"))}function I(t,i,e){let n=ae(),o=pt(),r=Rt();return lv(o,n,n[Xe],r,t,i,e),I}function lv(t,i,e,n,o,r,a){let s=!0,l=null;if((n.type&3||a)&&(l??=kf(n,i,r),E2(n,t,i,a,e,o,r,l)&&(s=!1)),s){let c=n.outputs?.[o],u=n.hostDirectiveOutputs?.[o];if(u&&u.length)for(let h=0;h>17&32767}function MM(t){return(t&2)==2}function RM(t,i){return t&131071|i<<17}function ch(t){return t|2}function qr(t){return(t&131068)>>2}function Af(t,i){return t&-131069|i<<2}function OM(t){return(t&1)===1}function dh(t){return t|1}function AM(t,i,e,n,o,r){let a=r?i.classBindings:i.styleBindings,s=nr(a),l=qr(a);t[n]=e;let c=!1,u;if(Array.isArray(e)){let h=e;u=h[1],(u===null||kr(h,u)>0)&&(c=!0)}else u=e;if(o)if(l!==0){let g=nr(t[s+1]);t[n+1]=Rc(g,s),g!==0&&(t[g+1]=Af(t[g+1],n)),t[s+1]=RM(t[s+1],n)}else t[n+1]=Rc(s,0),s!==0&&(t[s+1]=Af(t[s+1],n)),s=n;else t[n+1]=Rc(l,0),s===0?s=n:t[l+1]=Af(t[l+1],n),l=n;c&&(t[n+1]=ch(t[n+1])),vy(t,u,n,!0),vy(t,u,n,!1),NM(i,u,t,n,r),a=Rc(s,l),r?i.classBindings=a:i.styleBindings=a}function NM(t,i,e,n,o){let r=o?t.residualClasses:t.residualStyles;r!=null&&typeof i=="string"&&kr(r,i)>=0&&(e[n+1]=dh(e[n+1]))}function vy(t,i,e,n){let o=t[e+1],r=i===null,a=n?nr(o):qr(o),s=!1;for(;a!==0&&(s===!1||r);){let l=t[a],c=t[a+1];FM(l,i)&&(s=!0,t[a+1]=n?dh(c):ch(c)),a=n?nr(c):qr(c)}s&&(t[e+1]=n?ch(o):dh(o))}function FM(t,i){return t===null||i==null||(Array.isArray(t)?t[1]:t)===i?!0:Array.isArray(t)&&typeof i=="string"?kr(t,i)>=0:!1}var Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function cv(t){return t.substring(Ot.key,Ot.keyEnd)}function PM(t){return t.substring(Ot.value,Ot.valueEnd)}function LM(t){return pv(t),dv(t,Kr(t,0,Ot.textEnd))}function dv(t,i){let e=Ot.textEnd;return e===i?-1:(i=Ot.keyEnd=VM(t,Ot.key=i,e),Kr(t,i,e))}function BM(t){return pv(t),uv(t,Kr(t,0,Ot.textEnd))}function uv(t,i){let e=Ot.textEnd,n=Ot.key=Kr(t,i,e);return e===n?-1:(n=Ot.keyEnd=zM(t,n,e),n=Cy(t,n,e,58),n=Ot.value=Kr(t,n,e),n=Ot.valueEnd=jM(t,n,e),Cy(t,n,e,59))}function pv(t){Ot.key=0,Ot.keyEnd=0,Ot.value=0,Ot.valueEnd=0,Ot.textEnd=t.length}function Kr(t,i,e){for(;i32;)i++;return i}function zM(t,i,e){let n;for(;i=65&&(n&-33)<=90||n>=48&&n<=57);)i++;return i}function Cy(t,i,e,n){return i=Kr(t,i,e),i32&&(s=a),r=o,o=n,n=l&-33}return s}function wy(t,i,e,n){let o=-1,r=e;for(;r=0;e=uv(i,e))bv(t,cv(i),PM(i))}function D(t){hv(YM,$M,t,!0)}function $M(t,i){for(let e=LM(i);e>=0;e=dv(i,e))Qa(t,cv(i),!0)}function fv(t,i,e,n){let o=ae(),r=pt(),a=ts(2);if(r.firstUpdatePass&&mv(r,t,a,n),i!==jt&&un(o,a,i)){let s=r.data[Jn()];yv(r,s,o,o[Xe],t,o[a+1]=ZM(i,e),n,a)}}function hv(t,i,e,n){let o=pt(),r=ts(2);o.firstUpdatePass&&mv(o,null,r,n);let a=ae();if(e!==jt&&un(a,r,e)){let s=o.data[Jn()];if(_v(s,n)&&!gv(o,r)){let l=n?s.classesWithoutHost:s.stylesWithoutHost;l!==null&&(e=pc(l,e||"")),lh(o,s,a,e,n)}else QM(o,s,a,a[Xe],a[r+1],a[r+1]=KM(t,i,e),n,r)}}function gv(t,i){return i>=t.expandoStartIndex}function mv(t,i,e,n){let o=t.data;if(o[e+1]===null){let r=o[Jn()],a=gv(t,e);_v(r,n)&&i===null&&!a&&(i=!1),i=UM(o,r,i,n),AM(o,r,i,e,a,n)}}function UM(t,i,e,n){let o=Rb(t),r=n?i.residualClasses:i.residualStyles;if(o===null)(n?i.classBindings:i.styleBindings)===0&&(e=Nf(null,t,i,e,n),e=ms(e,i.attrs,n),r=null);else{let a=i.directiveStylingLast;if(a===-1||t[a]!==o)if(e=Nf(o,t,i,e,n),r===null){let l=WM(t,i,n);l!==void 0&&Array.isArray(l)&&(l=Nf(null,t,i,l[1],n),l=ms(l,i.attrs,n),GM(t,i,n,l))}else r=qM(t,i,n)}return r!==void 0&&(n?i.residualClasses=r:i.residualStyles=r),e}function WM(t,i,e){let n=e?i.classBindings:i.styleBindings;if(qr(n)!==0)return t[nr(n)]}function GM(t,i,e,n){let o=e?i.classBindings:i.styleBindings;t[nr(o)]=n}function qM(t,i,e){let n,o=i.directiveEnd;for(let r=1+i.directiveStylingLast;r0;){let l=t[o],c=Array.isArray(l),u=c?l[1]:l,h=u===null,g=e[o+1];g===jt&&(g=h?on:void 0);let m=h?yc(g,n):u===n?g:void 0;if(c&&!Xc(m)&&(m=yc(l,n)),Xc(m)&&(s=m,a))return s;let x=t[o+1];o=a?nr(x):qr(x)}if(i!==null){let l=r?i.residualClasses:i.residualStyles;l!=null&&(s=yc(l,n))}return s}function Xc(t){return t!==void 0}function ZM(t,i){return t==null||t===""||(typeof i=="string"?t=t+i:typeof t=="object"&&(t=Wa(id(t)))),t}function _v(t,i){return(t.flags&(i?8:16))!==0}function L(t,i=""){let e=ae(),n=pt(),o=t+gt,r=n.firstCreatePass?Zr(n,o,1,i,null):n.data[o],a=XM(n,e,r,i);e[o]=a,Sc()&&Eh(n,e,a,r),Nr(r,!1)}var XM=(t,i,e,n)=>(is(!0),jS(i[Xe],n));function vv(t,i,e,n=""){return un(t,lo(),e)?i+ro(e)+n:jt}function JM(t,i,e,n,o,r=""){let a=hf(),s=Wr(t,a,e,o);return ts(2),s?i+ro(e)+n+ro(o)+r:jt}function eR(t,i,e,n,o,r,a,s=""){let l=hf(),c=Lh(t,l,e,o,a);return ts(3),c?i+ro(e)+n+ro(o)+r+ro(a)+s:jt}function de(t){return ct("",t),de}function ct(t,i,e){let n=ae(),o=vv(n,t,i,e);return o!==jt&&Qh(n,Jn(),o),ct}function ho(t,i,e,n,o){let r=ae(),a=JM(r,t,i,e,n,o);return a!==jt&&Qh(r,Jn(),a),ho}function _d(t,i,e,n,o,r,a){let s=ae(),l=eR(s,t,i,e,n,o,r,a);return l!==jt&&Qh(s,Jn(),l),_d}function Qh(t,i,e){let n=Jp(i,t);HS(t[Xe],n,e)}function Vn(t,i,e){jh(i)&&(i=i());let n=ae(),o=lo();if(un(n,o,i)){let r=pt(),a=ns();E_(a,n,t,i,n[Xe],e)}return Vn}function ri(t,i){let e=jh(t);return e&&t.set(i),e}function zn(t,i){let e=ae(),n=pt(),o=Rt();return lv(n,e,e[Xe],o,t,i),zn}function Is(t,i,e=""){return vv(ae(),t,i,e)}function Zh(t,i,e){let n=Ci()+t,o=ae();return o[n]===jt?$i(o,n,i(e,o)):Ts(o,n)}function Ty(t,i,e){let n=pt();n.firstCreatePass&&Cv(i,n.data,n.blueprint,Xn(t),e)}function Cv(t,i,e,n,o){if(t=kt(t),Array.isArray(t))for(let r=0;r>20;if(zo(t)||!t.multi){let m=new Jo(c,o,ee,null),x=Pf(l,i,o?u:u+g,h);x===-1?(Bf(Vc(s,a),r,l),Ff(r,t,i.length),i.push(l),s.directiveStart++,s.directiveEnd++,o&&(s.providerIndexes+=1048576),e.push(m),a.push(m)):(e[x]=m,a[x]=m)}else{let m=Pf(l,i,u+g,h),x=Pf(l,i,u,u+g),E=m>=0&&e[m],k=x>=0&&e[x];if(o&&!k||!o&&!E){Bf(Vc(s,a),r,l);let z=iR(o?nR:tR,e.length,o,n,c,t);!o&&k&&(e[x].providerFactory=z),Ff(r,t,i.length,0),i.push(l),s.directiveStart++,s.directiveEnd++,o&&(s.providerIndexes+=1048576),e.push(z),a.push(z)}else{let z=wv(e[o?x:m],c,!o&&n);Ff(r,t,m>-1?m:x,z)}!o&&n&&k&&e[x].componentProviders++}}}function Ff(t,i,e,n){let o=zo(i),r=fb(i);if(o||r){let l=(r?kt(i.useClass):i).prototype.ngOnDestroy;if(l){let c=t.destroyHooks||(t.destroyHooks=[]);if(!o&&i.multi){let u=c.indexOf(e);u===-1?c.push(e,[n,l]):c[u+1].push(n,l)}else c.push(e,l)}}}function wv(t,i,e){return e&&t.componentProviders++,t.multi.push(i)-1}function Pf(t,i,e,n){for(let o=e;o{e.providersResolver=(n,o)=>Ty(n,o?o(t):t,!1),i&&(e.viewProvidersResolver=(n,o)=>Ty(n,o?o(i):i,!0))}}function wn(t,i){let e=Ci()+t,n=ae();return n[e]===jt?$i(n,e,i()):Ts(n,e)}function be(t,i,e){return oR(ae(),Ci(),t,i,e)}function bt(t,i,e,n){return rR(ae(),Ci(),t,i,e,n)}function Xh(t,i,e,n,o){return aR(ae(),Ci(),t,i,e,n,o)}function vd(t,i,e,n,o,r,a){return sR(ae(),Ci(),t,i,e,n,o,r)}function Ss(t,i,e,n,o,r,a){let s=Ci()+t,l=ae(),c=gd(l,s,e,n,o,r);return un(l,s+4,a)||c?$i(l,s+5,i(e,n,o,r,a)):Ts(l,s+5)}function Xr(t,i,e,n,o,r,a,s){let l=Ci()+t,c=ae(),u=gd(c,l,e,n,o,r);return Wr(c,l+4,a,s)||u?$i(c,l+6,i(e,n,o,r,a,s)):Ts(c,l+6)}function Jh(t,i,e,n,o,r,a,s,l){let c=Ci()+t,u=ae(),h=gd(u,c,e,n,o,r);return Lh(u,c+4,a,s,l)||h?$i(u,c+7,i(e,n,o,r,a,s,l)):Ts(u,c+7)}function Cd(t,i){let e=t[i];return e===jt?void 0:e}function oR(t,i,e,n,o,r){let a=i+e;return un(t,a,o)?$i(t,a+1,r?n.call(r,o):n(o)):Cd(t,a+1)}function rR(t,i,e,n,o,r,a){let s=i+e;return Wr(t,s,o,r)?$i(t,s+2,a?n.call(a,o,r):n(o,r)):Cd(t,s+2)}function aR(t,i,e,n,o,r,a,s){let l=i+e;return Lh(t,l,o,r,a)?$i(t,l+3,s?n.call(s,o,r,a):n(o,r,a)):Cd(t,l+3)}function sR(t,i,e,n,o,r,a,s,l){let c=i+e;return gd(t,c,o,r,a,s)?$i(t,c+4,l?n.call(l,o,r,a,s):n(o,r,a,s)):Cd(t,c+4)}function Ie(t,i){return pd(t,i)}var Jc=class{ngModuleFactory;componentFactories;constructor(i,e){this.ngModuleFactory=i,this.componentFactories=e}},eg=(()=>{class t{compileModuleSync(e){return new Yc(e)}compileModuleAsync(e){return Promise.resolve(this.compileModuleSync(e))}compileModuleAndAllComponentsSync(e){let n=this.compileModuleSync(e),o=Vp(e),r=i_(o.declarations).reduce((a,s)=>{let l=oo(s);return l&&a.push(new Gr(l)),a},[]);return new Jc(n,r)}compileModuleAndAllComponentsAsync(e){return Promise.resolve(this.compileModuleAndAllComponentsSync(e))}clearCache(){}clearCacheFor(e){}getModuleId(e){}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var xv=(()=>{class t{applicationErrorHandler=v(_n);appRef=v(Ui);taskService=v(wi);ngZone=v(Ne);zonelessEnabled=v(Pr);tracing=v(ii,{optional:!0});zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new St;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get($a):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(v(kc,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{let e=this.taskService.add();if(!this.runningTick&&(this.cleanup(),!this.zonelessEnabled||this.appRef.includeAllTestViews)){this.taskService.remove(e);return}this.switchToMicrotaskScheduler(),this.taskService.remove(e)})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}switchToMicrotaskScheduler(){this.ngZone.runOutsideAngular(()=>{let e=this.taskService.add();this.useMicrotaskScheduler=!0,queueMicrotask(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(e)})})}notify(e){if(!this.zonelessEnabled&&e===5)return;switch(e){case 0:{this.appRef.dirtyFlags|=2;break}case 3:case 2:case 4:case 5:case 1:{this.appRef.dirtyFlags|=4;break}case 6:{this.appRef.dirtyFlags|=2;break}case 12:{this.appRef.dirtyFlags|=16;break}case 13:{this.appRef.dirtyFlags|=2;break}case 11:break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick())return;let n=this.useMicrotaskScheduler?Bb:Cf;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>n(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>n(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get($a+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let e=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(n){this.applicationErrorHandler(n)}finally{this.taskService.remove(e),this.cleanup()}}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let e=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(e)}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Tv(){return[{provide:Kn,useExisting:xv},{provide:Ne,useClass:Ua},{provide:Pr,useValue:!0}]}function lR(){return typeof $localize<"u"&&$localize.locale||Es}var wd=new B("",{factory:()=>v(wd,{optional:!0,skipSelf:!0})||lR()});var xd=class{destroyed=!1;listeners=null;errorHandler=v(On,{optional:!0});destroyRef=v(Zt);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(i){if(this.destroyed)throw new X(953,!1);return(this.listeners??=[]).push(i),{unsubscribe:()=>{let e=this.listeners?.indexOf(i);e!==void 0&&e!==-1&&this.listeners?.splice(e,1)}}}emit(i){if(this.destroyed){console.warn(Bi(953,!1));return}if(this.listeners===null)return;let e=le(null);try{for(let n of this.listeners)try{n(i)}catch(o){this.errorHandler?.handleError(o)}}finally{le(e)}}};function yt(t){return Y0(t)}function te(t,i){return Fl(t,i?.equal)}var kv=Symbol("InputSignalNode#UNSET"),MR=ie(T({},Oa),{transformFn:void 0,applyValueToInputSignal(t,i){vr(t,i)}});function Mv(t,i){let e=Object.create(MR);e.value=t,e.transformFn=i?.transform;function n(){if(Oo(e),e.value===kv){let o=null;throw new X(-950,o)}return e.value}return n[Ut]=e,n}function qt(t){return new xd}function Dv(t,i){return Mv(t,i)}function RR(t){return Mv(kv,t)}var V=(Dv.required=RR,Dv);var OR=(()=>{class t{zone=v(Ne);changeDetectionScheduler=v(Kn);applicationRef=v(Ui);applicationErrorHandler=v(_n);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{try{this.applicationRef.dirtyFlags|=1,this.applicationRef._tick()}catch(e){this.applicationErrorHandler(e)}})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),AR=new B("",{factory:()=>!1});function NR({ngZoneFactory:t,scheduleInRootZone:i}){return t??=()=>new Ne(ie(T({},Ov()),{scheduleInRootZone:i})),[{provide:Pr,useValue:!1},{provide:Ne,useFactory:t},{provide:Vi,multi:!0,useFactory:()=>{let e=v(OR,{optional:!0});return()=>e.initialize()}},{provide:Vi,multi:!0,useFactory:()=>{let e=v(FR);return()=>{e.initialize()}}},{provide:kc,useValue:i??vf}]}function Rv(t){let i=t?.scheduleInRootZone,e=NR({ngZoneFactory:()=>{let n=Ov(t);return n.scheduleInRootZone=i,n.shouldCoalesceEventChangeDetection&&oi("NgZone_CoalesceEvent"),new Ne(n)},scheduleInRootZone:i});return An([{provide:AR,useValue:!0},e])}function Ov(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}var FR=(()=>{class t{subscription=new St;initialized=!1;zone=v(Ne);pendingTasks=v(wi);initialize(){if(this.initialized)return;this.initialized=!0;let e=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(e=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{Ne.assertNotInAngularZone(),queueMicrotask(()=>{e!==null&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(e),e=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{Ne.assertInAngularZone(),e??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var ng=new B(""),PR=new B("");function ks(t){return!t.moduleRef}function LR(t){let i=ks(t)?t.r3Injector:t.moduleRef.injector,e=i.get(Ne);return e.run(()=>{ks(t)?t.r3Injector.resolveInjectorInitializers():t.moduleRef.resolveInjectorInitializers();let n=i.get(_n),o;if(e.runOutsideAngular(()=>{o=e.onError.subscribe({next:n})}),ks(t)){let r=()=>i.destroy(),a=t.platformInjector.get(ng);a.add(r),i.onDestroy(()=>{o.unsubscribe(),a.delete(r)})}else{let r=()=>t.moduleRef.destroy(),a=t.platformInjector.get(ng);a.add(r),t.moduleRef.onDestroy(()=>{ss(t.allPlatformModules,t.moduleRef),o.unsubscribe(),a.delete(r)})}return VR(n,e,()=>{let r=i.get(wi),a=r.add(),s=i.get(Wh);return s.runInitializers(),s.donePromise.then(()=>{let l=i.get(wd,Es);if(sv(l||Es),!i.get(PR,!0))return ks(t)?i.get(Ui):(t.allPlatformModules.push(t.moduleRef),t.moduleRef);if(ks(t)){let u=i.get(Ui);return t.rootComponent!==void 0&&u.bootstrap(t.rootComponent),u}else return BR?.(t.moduleRef,t.allPlatformModules),t.moduleRef}).finally(()=>{r.remove(a)})})})}var BR;function VR(t,i,e){try{let n=e();return fo(n)?n.catch(o=>{throw i.runOutsideAngular(()=>t(o)),o}):n}catch(n){throw i.runOutsideAngular(()=>t(n)),n}}var Td=null;function zR(t=[],i){return ut.create({name:i,providers:[{provide:Za,useValue:"platform"},{provide:ng,useValue:new Set([()=>Td=null])},...t]})}function jR(t=[]){if(Td)return Td;let i=zR(t);return Td=i,ov(),HR(i),i}function HR(t){let i=t.get(td,null);zt(t,()=>{i?.forEach(e=>e())})}var $R=1e4;var nde=$R-1e3;var Di=(()=>{class t{static __NG_ELEMENT_ID__=UR}return t})();function UR(t){return WR(Rt(),ae(),(t&16)===16)}function WR(t,i,e){if(ji(t)&&!e){let n=Pn(t.index,i);return new po(n,n)}else if(t.type&175){let n=i[sn];return new po(n,i)}return null}var ig=class{supports(i){return Ph(i)}create(i){return new og(i)}},GR=(t,i)=>i,og=class{length=0;collection;_linkedRecords=null;_unlinkedRecords=null;_previousItHead=null;_itHead=null;_itTail=null;_additionsHead=null;_additionsTail=null;_movesHead=null;_movesTail=null;_removalsHead=null;_removalsTail=null;_identityChangesHead=null;_identityChangesTail=null;_trackByFn;constructor(i){this._trackByFn=i||GR}forEachItem(i){let e;for(e=this._itHead;e!==null;e=e._next)i(e)}forEachOperation(i){let e=this._itHead,n=this._removalsHead,o=0,r=null;for(;e||n;){let a=!n||e&&e.currentIndex{a=this._trackByFn(o,s),e===null||!Object.is(e.trackById,a)?(e=this._mismatch(e,s,a,o),n=!0):(n&&(e=this._verifyReinsertion(e,s,a,o)),Object.is(e.item,s)||this._addIdentityChange(e,s)),e=e._next,o++}),this.length=o;return this._truncate(e),this.collection=i,this.isDirty}get isDirty(){return this._additionsHead!==null||this._movesHead!==null||this._removalsHead!==null||this._identityChangesHead!==null}_reset(){if(this.isDirty){let i;for(i=this._previousItHead=this._itHead;i!==null;i=i._next)i._nextPrevious=i._next;for(i=this._additionsHead;i!==null;i=i._nextAdded)i.previousIndex=i.currentIndex;for(this._additionsHead=this._additionsTail=null,i=this._movesHead;i!==null;i=i._nextMoved)i.previousIndex=i.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(i,e,n,o){let r;return i===null?r=this._itTail:(r=i._prev,this._remove(i)),i=this._unlinkedRecords===null?null:this._unlinkedRecords.get(n,null),i!==null?(Object.is(i.item,e)||this._addIdentityChange(i,e),this._reinsertAfter(i,r,o)):(i=this._linkedRecords===null?null:this._linkedRecords.get(n,o),i!==null?(Object.is(i.item,e)||this._addIdentityChange(i,e),this._moveAfter(i,r,o)):i=this._addAfter(new rg(e,n),r,o)),i}_verifyReinsertion(i,e,n,o){let r=this._unlinkedRecords===null?null:this._unlinkedRecords.get(n,null);return r!==null?i=this._reinsertAfter(r,i._prev,o):i.currentIndex!=o&&(i.currentIndex=o,this._addToMoves(i,o)),i}_truncate(i){for(;i!==null;){let e=i._next;this._addToRemovals(this._unlink(i)),i=e}this._unlinkedRecords!==null&&this._unlinkedRecords.clear(),this._additionsTail!==null&&(this._additionsTail._nextAdded=null),this._movesTail!==null&&(this._movesTail._nextMoved=null),this._itTail!==null&&(this._itTail._next=null),this._removalsTail!==null&&(this._removalsTail._nextRemoved=null),this._identityChangesTail!==null&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(i,e,n){this._unlinkedRecords!==null&&this._unlinkedRecords.remove(i);let o=i._prevRemoved,r=i._nextRemoved;return o===null?this._removalsHead=r:o._nextRemoved=r,r===null?this._removalsTail=o:r._prevRemoved=o,this._insertAfter(i,e,n),this._addToMoves(i,n),i}_moveAfter(i,e,n){return this._unlink(i),this._insertAfter(i,e,n),this._addToMoves(i,n),i}_addAfter(i,e,n){return this._insertAfter(i,e,n),this._additionsTail===null?this._additionsTail=this._additionsHead=i:this._additionsTail=this._additionsTail._nextAdded=i,i}_insertAfter(i,e,n){let o=e===null?this._itHead:e._next;return i._next=o,i._prev=e,o===null?this._itTail=i:o._prev=i,e===null?this._itHead=i:e._next=i,this._linkedRecords===null&&(this._linkedRecords=new Dd),this._linkedRecords.put(i),i.currentIndex=n,i}_remove(i){return this._addToRemovals(this._unlink(i))}_unlink(i){this._linkedRecords!==null&&this._linkedRecords.remove(i);let e=i._prev,n=i._next;return e===null?this._itHead=n:e._next=n,n===null?this._itTail=e:n._prev=e,i}_addToMoves(i,e){return i.previousIndex===e||(this._movesTail===null?this._movesTail=this._movesHead=i:this._movesTail=this._movesTail._nextMoved=i),i}_addToRemovals(i){return this._unlinkedRecords===null&&(this._unlinkedRecords=new Dd),this._unlinkedRecords.put(i),i.currentIndex=null,i._nextRemoved=null,this._removalsTail===null?(this._removalsTail=this._removalsHead=i,i._prevRemoved=null):(i._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=i),i}_addIdentityChange(i,e){return i.item=e,this._identityChangesTail===null?this._identityChangesTail=this._identityChangesHead=i:this._identityChangesTail=this._identityChangesTail._nextIdentityChange=i,i}},rg=class{item;trackById;currentIndex=null;previousIndex=null;_nextPrevious=null;_prev=null;_next=null;_prevDup=null;_nextDup=null;_prevRemoved=null;_nextRemoved=null;_nextAdded=null;_nextMoved=null;_nextIdentityChange=null;constructor(i,e){this.item=i,this.trackById=e}},ag=class{_head=null;_tail=null;add(i){this._head===null?(this._head=this._tail=i,i._nextDup=null,i._prevDup=null):(this._tail._nextDup=i,i._prevDup=this._tail,i._nextDup=null,this._tail=i)}get(i,e){let n;for(n=this._head;n!==null;n=n._nextDup)if((e===null||e<=n.currentIndex)&&Object.is(n.trackById,i))return n;return null}remove(i){let e=i._prevDup,n=i._nextDup;return e===null?this._head=n:e._nextDup=n,n===null?this._tail=e:n._prevDup=e,this._head===null}},Dd=class{map=new Map;put(i){let e=i.trackById,n=this.map.get(e);n||(n=new ag,this.map.set(e,n)),n.add(i)}get(i,e){let n=i,o=this.map.get(n);return o?o.get(i,e):null}remove(i){let e=i.trackById;return this.map.get(e).remove(i)&&this.map.delete(e),i}get isEmpty(){return this.map.size===0}clear(){this.map.clear()}};function Ev(t,i,e){let n=t.previousIndex;if(n===null)return n;let o=0;return e&&n{if(e&&e.key===o)this._maybeAddToChanges(e,n),this._appendAfter=e,e=e._next;else{let r=this._getOrCreateRecordForKey(o,n);e=this._insertBeforeOrAppend(e,r)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let n=e;n!==null;n=n._nextRemoved)n===this._mapHead&&(this._mapHead=null),this._records.delete(n.key),n._nextRemoved=n._next,n.previousValue=n.currentValue,n.currentValue=null,n._prev=null,n._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(i,e){if(i){let n=i._prev;return e._next=i,e._prev=n,i._prev=e,n&&(n._next=e),i===this._mapHead&&(this._mapHead=e),this._appendAfter=i,i}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(i,e){if(this._records.has(i)){let o=this._records.get(i);this._maybeAddToChanges(o,e);let r=o._prev,a=o._next;return r&&(r._next=a),a&&(a._prev=r),o._next=null,o._prev=null,o}let n=new cg(i);return this._records.set(i,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let i;for(this._previousMapHead=this._mapHead,i=this._previousMapHead;i!==null;i=i._next)i._nextPrevious=i._next;for(i=this._changesHead;i!==null;i=i._nextChanged)i.previousValue=i.currentValue;for(i=this._additionsHead;i!=null;i=i._nextAdded)i.previousValue=i.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(i,e){Object.is(e,i.currentValue)||(i.previousValue=i.currentValue,i.currentValue=e,this._addToChanges(i))}_addToAdditions(i){this._additionsHead===null?this._additionsHead=this._additionsTail=i:(this._additionsTail._nextAdded=i,this._additionsTail=i)}_addToChanges(i){this._changesHead===null?this._changesHead=this._changesTail=i:(this._changesTail._nextChanged=i,this._changesTail=i)}_forEach(i,e){i instanceof Map?i.forEach(e):Object.keys(i).forEach(n=>e(i[n],n))}},cg=class{key;previousValue=null;currentValue=null;_nextPrevious=null;_next=null;_prev=null;_nextAdded=null;_nextRemoved=null;_nextChanged=null;constructor(i){this.key=i}};function Iv(){return new ug([new ig])}var ug=(()=>{class t{factories;static \u0275prov=F({token:t,providedIn:"root",factory:Iv});constructor(e){this.factories=e}static create(e,n){if(n!=null){let o=n.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:()=>{let n=v(t,{optional:!0,skipSelf:!0});return t.create(e,n||Iv())}}}find(e){let n=this.factories.find(o=>o.supports(e));if(n!=null)return n;throw new X(901,!1)}}return t})();function Sv(){return new pg([new sg])}var pg=(()=>{class t{static \u0275prov=F({token:t,providedIn:"root",factory:Sv});factories;constructor(e){this.factories=e}static create(e,n){if(n){let o=n.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:()=>{let n=v(t,{optional:!0,skipSelf:!0});return t.create(e,n||Sv())}}}find(e){let n=this.factories.find(o=>o.supports(e));if(n)return n;throw new X(901,!1)}}return t})();function Av(t){let{rootComponent:i,appProviders:e,platformProviders:n,platformRef:o}=t;Ge(Ve.BootstrapApplicationStart);try{let r=o?.injector??jR(n),a=[Tv(),zb,...e||[]],s=new hs({providers:a,parent:r,debugName:"",runEnvironmentInitializers:!1});return LR({r3Injector:s.injector,platformInjector:r,rootComponent:i})}catch(r){return Promise.reject(r)}finally{Ge(Ve.BootstrapApplicationEnd)}}function S(t){return typeof t=="boolean"?t:t!=null&&t!=="false"}function xe(t,i=NaN){return!isNaN(parseFloat(t))&&!isNaN(Number(t))?Number(t):i}var tg=Symbol("NOT_SET"),Nv=new Set,qR=ie(T({},Oa),{kind:"afterRenderEffectPhase",consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,value:tg,cleanup:null,consumerMarkedDirty(){if(this.sequence.impl.executing){if(this.sequence.lastPhase===null||this.sequence.lastPhase(Oo(c),c.value),c.signal[Ut]=c,c.registerCleanupFn=u=>(c.cleanup??=new Set).add(u),this.nodes[s]=c,this.hooks[s]=u=>c.phaseFn(u)}}afterRun(){super.afterRun(),this.lastPhase=null}destroy(){if(this.onDestroyFns!==null)for(let i of this.onDestroyFns)i();super.destroy();for(let i of this.nodes)if(i)try{for(let e of i.cleanup??Nv)e()}finally{Ji(i)}}};function fg(t,i){let e=i?.injector??v(ut),n=e.get(Kn),o=e.get(sd),r=e.get(ii,null,{optional:!0});o.impl??=e.get(Th);let a=t;typeof a=="function"&&(a={mixedReadWrite:t});let s=e.get(Fr,null,{optional:!0}),l=new dg(o.impl,[a.earlyRead,a.write,a.mixedReadWrite,a.read],s?.view,n,e,r?.snapshot(null));return o.impl.register(l),l}var Fv=null;function jn(){return Fv}function hg(t){Fv??=t}var Ms=class{},Jr=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:()=>v(Pv),providedIn:"platform"})}return t})();var Pv=(()=>{class t extends Jr{_location;_history;_doc=v(ze);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return jn().getBaseHref(this._doc)}onPopState(e){let n=jn().getGlobalEventTarget(this._doc,"window");return n.addEventListener("popstate",e,!1),()=>n.removeEventListener("popstate",e)}onHashChange(e){let n=jn().getGlobalEventTarget(this._doc,"window");return n.addEventListener("hashchange",e,!1),()=>n.removeEventListener("hashchange",e)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(e){this._location.pathname=e}pushState(e,n,o){this._history.pushState(e,n,o)}replaceState(e,n,o){this._history.replaceState(e,n,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:()=>new t,providedIn:"platform"})}return t})();function Vv(t,i){return t?i?t.endsWith("/")?i.startsWith("/")?t+i.slice(1):t+i:i.startsWith("/")?t+i:`${t}/${i}`:t:i}function Lv(t){let i=t.search(/#|\?|$/);return t[i-1]==="/"?t.slice(0,i-1)+t.slice(i):t}function go(t){return t&&t[0]!=="?"?`?${t}`:t}var Ed=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:()=>v(YR),providedIn:"root"})}return t})(),KR=new B(""),YR=(()=>{class t extends Ed{_platformLocation;_baseHref;_removeListenerFns=[];constructor(e,n){super(),this._platformLocation=e,this._baseHref=n??this._platformLocation.getBaseHrefFromDOM()??v(ze).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return Vv(this._baseHref,e)}path(e=!1){let n=this._platformLocation.pathname+go(this._platformLocation.search),o=this._platformLocation.hash;return o&&e?`${n}${o}`:n}pushState(e,n,o,r){let a=this.prepareExternalUrl(o+go(r));this._platformLocation.pushState(e,n,a)}replaceState(e,n,o,r){let a=this.prepareExternalUrl(o+go(r));this._platformLocation.replaceState(e,n,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static \u0275fac=function(n){return new(n||t)(ye(Jr),ye(KR,8))};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var ea=(()=>{class t{_subject=new Ue;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(e){this._locationStrategy=e;let n=this._locationStrategy.getBaseHref();this._basePath=XR(Lv(Bv(n))),this._locationStrategy.onPopState(o=>{this._subject.next({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,n=""){return this.path()==this.normalize(e+go(n))}normalize(e){return t.stripTrailingSlash(ZR(this._basePath,Bv(e)))}prepareExternalUrl(e){return e&&e[0]!=="/"&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,n="",o=null){this._locationStrategy.pushState(o,"",e,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+go(n)),o)}replaceState(e,n="",o=null){this._locationStrategy.replaceState(o,"",e,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+go(n)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription??=this.subscribe(n=>{this._notifyUrlChangeListeners(n.url,n.state)}),()=>{let n=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(n,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",n){this._urlChangeListeners.forEach(o=>o(e,n))}subscribe(e,n,o){return this._subject.subscribe({next:e,error:n??void 0,complete:o??void 0})}static normalizeQueryParams=go;static joinWithSlash=Vv;static stripTrailingSlash=Lv;static \u0275fac=function(n){return new(n||t)(ye(Ed))};static \u0275prov=F({token:t,factory:()=>QR(),providedIn:"root"})}return t})();function QR(){return new ea(ye(Ed))}function ZR(t,i){if(!t||!i.startsWith(t))return i;let e=i.substring(t.length);return e===""||["/",";","?","#"].includes(e[0])?e:i}function Bv(t){return t.replace(/\/index\.html$/,"")}function XR(t){if(new RegExp("^(https?:)?//").test(t)){let[,e]=t.split(/\/\/[^\/]+/);return e}return t}var gg=/\s+/,zv=[],xn=(()=>{class t{_ngEl;_renderer;initialClasses=zv;rawClass;stateMap=new Map;constructor(e,n){this._ngEl=e,this._renderer=n}set klass(e){this.initialClasses=e!=null?e.trim().split(gg):zv}set ngClass(e){this.rawClass=typeof e=="string"?e.trim().split(gg):e}ngDoCheck(){for(let n of this.initialClasses)this._updateState(n,!0);let e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(let n of e)this._updateState(n,!0);else if(e!=null)for(let n of Object.keys(e))this._updateState(n,!!e[n]);this._applyStateDiff()}_updateState(e,n){let o=this.stateMap.get(e);o!==void 0?(o.enabled!==n&&(o.changed=!0,o.enabled=n),o.touched=!0):this.stateMap.set(e,{enabled:n,changed:!0,touched:!0})}_applyStateDiff(){for(let e of this.stateMap){let n=e[0],o=e[1];o.changed?(this._toggleClass(n,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(n,!1),this.stateMap.delete(n)),o.touched=!1}}_toggleClass(e,n){e=e.trim(),e.length>0&&e.split(gg).forEach(o=>{n?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static \u0275fac=function(n){return new(n||t)(ee(Ct),ee(Cn))};static \u0275dir=ge({type:t,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return t})();var Id=class{$implicit;ngForOf;index;count;constructor(i,e,n,o){this.$implicit=i,this.ngForOf=e,this.index=n,this.count=o}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},Hn=(()=>{class t{_viewContainer;_template;_differs;set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}_ngForOf=null;_ngForOfDirty=!0;_differ=null;_trackByFn;constructor(e,n,o){this._viewContainer=e,this._template=n,this._differs=o}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){let e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){let n=this._viewContainer;e.forEachOperation((o,r,a)=>{if(o.previousIndex==null)n.createEmbeddedView(this._template,new Id(o.item,this._ngForOf,-1,-1),a===null?void 0:a);else if(a==null)n.remove(r===null?void 0:r);else if(r!==null){let s=n.get(r);n.move(s,a),jv(s,o)}});for(let o=0,r=n.length;o{let r=n.get(o.currentIndex);jv(r,o)})}static ngTemplateContextGuard(e,n){return!0}static \u0275fac=function(n){return new(n||t)(ee(Bn),ee(Ti),ee(ug))};static \u0275dir=ge({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}})}return t})();function jv(t,i){t.context.$implicit=i.item}var ot=(()=>{class t{_viewContainer;_context=new Sd;_thenTemplateRef=null;_elseTemplateRef=null;_thenViewRef=null;_elseViewRef=null;constructor(e,n){this._viewContainer=e,this._thenTemplateRef=n}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){Hv(e,!1),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){Hv(e,!1),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngIfUseIfTypeGuard;static ngTemplateGuard_ngIf;static ngTemplateContextGuard(e,n){return!0}static \u0275fac=function(n){return new(n||t)(ee(Bn),ee(Ti))};static \u0275dir=ge({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}})}return t})(),Sd=class{$implicit=null;ngIf=null};function Hv(t,i){if(t&&!t.createEmbeddedView)throw new X(2020,!1)}var Jt=(()=>{class t{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(e,n,o){this._ngEl=e,this._differs=n,this._renderer=o}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){let e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,n){let[o,r]=e.split("."),a=o.indexOf("-")===-1?void 0:ni.DashCase;n!=null?this._renderer.setStyle(this._ngEl.nativeElement,o,r?`${n}${r}`:n,a):this._renderer.removeStyle(this._ngEl.nativeElement,o,a)}_applyChanges(e){e.forEachRemovedItem(n=>this._setStyle(n.key,null)),e.forEachAddedItem(n=>this._setStyle(n.key,n.currentValue)),e.forEachChangedItem(n=>this._setStyle(n.key,n.currentValue))}static \u0275fac=function(n){return new(n||t)(ee(Ct),ee(pg),ee(Cn))};static \u0275dir=ge({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return t})(),qe=(()=>{class t{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;injector=v(ut);constructor(e){this._viewContainerRef=e}ngOnChanges(e){if(this._shouldRecreateView(e)){let n=this._viewContainerRef;if(this._viewRef&&n.remove(n.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let o=this._createContextForwardProxy();this._viewRef=n.createEmbeddedView(this.ngTemplateOutlet,o,{injector:this._getInjector()})}}_getInjector(){return this.ngTemplateOutletInjector==="outlet"?this.injector:this.ngTemplateOutletInjector??void 0}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,n,o)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,n,o):!1,get:(e,n,o)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,n,o)}})}static \u0275fac=function(n){return new(n||t)(ee(Bn))};static \u0275dir=ge({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[Hi]})}return t})();var De=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({})}return t})();function Rs(t,i){i=encodeURIComponent(i);for(let e of t.split(";")){let n=e.indexOf("="),[o,r]=n==-1?[e,""]:[e.slice(0,n),e.slice(n+1)];if(o.trim()===i)return decodeURIComponent(r)}return null}var ir=class{};var mg="browser",tO="server";function _t(t){return t===mg}function bg(t){return t===tO}var Os=class{_doc;constructor(i){this._doc=i}manager},kd=(()=>{class t extends Os{constructor(e){super(e)}supports(e){return!0}addEventListener(e,n,o,r){return e.addEventListener(n,o,r),()=>this.removeEventListener(e,n,o,r)}removeEventListener(e,n,o,r){return e.removeEventListener(n,o,r)}static \u0275fac=function(n){return new(n||t)(ye(ze))};static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})(),Od=new B(""),Cg=(()=>{class t{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,n){this._zone=n,e.forEach(a=>{a.manager=this});let o=e.filter(a=>!(a instanceof kd));this._plugins=o.slice().reverse();let r=e.find(a=>a instanceof kd);r&&this._plugins.push(r)}addEventListener(e,n,o,r){return this._findPluginFor(n).addEventListener(e,n,o,r)}getZone(){return this._zone}_findPluginFor(e){let n=this._eventNameToPlugin.get(e);if(n)return n;if(n=this._plugins.find(r=>r.supports(e)),!n)throw new X(5101,!1);return this._eventNameToPlugin.set(e,n),n}static \u0275fac=function(n){return new(n||t)(ye(Od),ye(Ne))};static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})(),yg="ng-app-id";function $v(t){for(let i of t)i.remove()}function Uv(t,i){let e=i.createElement("style");return e.textContent=t,e}function nO(t,i,e,n){let o=t.head?.querySelectorAll(`style[${yg}="${i}"],link[${yg}="${i}"]`);if(o)for(let r of o)r.removeAttribute(yg),r instanceof HTMLLinkElement?n.set(r.href.slice(r.href.lastIndexOf("/")+1),{usage:0,elements:[r]}):r.textContent&&e.set(r.textContent,{usage:0,elements:[r]})}function vg(t,i){let e=i.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",t),e}var wg=(()=>{class t{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,n,o,r={}){this.doc=e,this.appId=n,this.nonce=o,nO(e,n,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,n){for(let o of e)this.addUsage(o,this.inline,Uv);n?.forEach(o=>this.addUsage(o,this.external,vg))}removeStyles(e,n){for(let o of e)this.removeUsage(o,this.inline);n?.forEach(o=>this.removeUsage(o,this.external))}addUsage(e,n,o){let r=n.get(e);r?r.usage++:n.set(e,{usage:1,elements:[...this.hosts].map(a=>this.addElement(a,o(e,this.doc)))})}removeUsage(e,n){let o=n.get(e);o&&(o.usage--,o.usage<=0&&($v(o.elements),n.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])$v(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[n,{elements:o}]of this.inline)o.push(this.addElement(e,Uv(n,this.doc)));for(let[n,{elements:o}]of this.external)o.push(this.addElement(e,vg(n,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,n){return this.nonce&&n.setAttribute("nonce",this.nonce),e.appendChild(n)}static \u0275fac=function(n){return new(n||t)(ye(ze),ye(ed),ye(ys,8),ye(vn))};static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})(),_g={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},xg=/%COMP%/g;var Gv="%COMP%",iO=`_nghost-${Gv}`,oO=`_ngcontent-${Gv}`,rO=!0,aO=new B("",{factory:()=>rO});function sO(t){return oO.replace(xg,t)}function lO(t){return iO.replace(xg,t)}function qv(t,i){return i.map(e=>e.replace(xg,t))}var Tg=(()=>{class t{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;constructor(e,n,o,r,a,s,l=null,c=null){this.eventManager=e,this.sharedStylesHost=n,this.appId=o,this.removeStylesOnCompDestroy=r,this.doc=a,this.ngZone=s,this.nonce=l,this.tracingService=c,this.defaultRenderer=new As(e,a,s,this.tracingService)}createRenderer(e,n){if(!e||!n)return this.defaultRenderer;let o=this.getOrCreateRenderer(e,n);return o instanceof Rd?o.applyToHost(e):o instanceof Ns&&o.applyStyles(),o}getOrCreateRenderer(e,n){let o=this.rendererByCompId,r=o.get(n.id);if(!r){let a=this.doc,s=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,h=this.tracingService;switch(n.encapsulation){case ti.Emulated:r=new Rd(l,c,n,this.appId,u,a,s,h);break;case ti.ShadowDom:return new Md(l,e,n,a,s,this.nonce,h,c);case ti.ExperimentalIsolatedShadowDom:return new Md(l,e,n,a,s,this.nonce,h);default:r=new Ns(l,c,n,u,a,s,h);break}o.set(n.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(n){return new(n||t)(ye(Cg),ye(wg),ye(ed),ye(aO),ye(ze),ye(Ne),ye(ys),ye(ii,8))};static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})(),As=class{eventManager;doc;ngZone;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(i,e,n,o){this.eventManager=i,this.doc=e,this.ngZone=n,this.tracingService=o}destroy(){}destroyNode=null;createElement(i,e){return e?this.doc.createElementNS(_g[e]||e,i):this.doc.createElement(i)}createComment(i){return this.doc.createComment(i)}createText(i){return this.doc.createTextNode(i)}appendChild(i,e){(Wv(i)?i.content:i).appendChild(e)}insertBefore(i,e,n){i&&(Wv(i)?i.content:i).insertBefore(e,n)}removeChild(i,e){e.remove()}selectRootElement(i,e){let n=typeof i=="string"?this.doc.querySelector(i):i;if(!n)throw new X(-5104,!1);return e||(n.textContent=""),n}parentNode(i){return i.parentNode}nextSibling(i){return i.nextSibling}setAttribute(i,e,n,o){if(o){e=o+":"+e;let r=_g[o];r?i.setAttributeNS(r,e,n):i.setAttribute(e,n)}else i.setAttribute(e,n)}removeAttribute(i,e,n){if(n){let o=_g[n];o?i.removeAttributeNS(o,e):i.removeAttribute(`${n}:${e}`)}else i.removeAttribute(e)}addClass(i,e){i.classList.add(e)}removeClass(i,e){i.classList.remove(e)}setStyle(i,e,n,o){o&(ni.DashCase|ni.Important)?i.style.setProperty(e,n,o&ni.Important?"important":""):i.style[e]=n}removeStyle(i,e,n){n&ni.DashCase?i.style.removeProperty(e):i.style[e]=""}setProperty(i,e,n){i!=null&&(i[e]=n)}setValue(i,e){i.nodeValue=e}listen(i,e,n,o){if(typeof i=="string"&&(i=jn().getGlobalEventTarget(this.doc,i),!i))throw new X(5102,!1);let r=this.decoratePreventDefault(n);return this.tracingService?.wrapEventListener&&(r=this.tracingService.wrapEventListener(i,e,r)),this.eventManager.addEventListener(i,e,r,o)}decoratePreventDefault(i){return e=>{if(e==="__ngUnwrap__")return i;i(e)===!1&&e.preventDefault()}}};function Wv(t){return t.tagName==="TEMPLATE"&&t.content!==void 0}var Md=class extends As{hostEl;sharedStylesHost;shadowRoot;constructor(i,e,n,o,r,a,s,l){super(i,o,r,s),this.hostEl=e,this.sharedStylesHost=l,this.shadowRoot=e.attachShadow({mode:"open"}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let c=n.styles;c=qv(n.id,c);for(let h of c){let g=document.createElement("style");a&&g.setAttribute("nonce",a),g.textContent=h,this.shadowRoot.appendChild(g)}let u=n.getExternalStyles?.();if(u)for(let h of u){let g=vg(h,o);a&&g.setAttribute("nonce",a),this.shadowRoot.appendChild(g)}}nodeOrShadowRoot(i){return i===this.hostEl?this.shadowRoot:i}appendChild(i,e){return super.appendChild(this.nodeOrShadowRoot(i),e)}insertBefore(i,e,n){return super.insertBefore(this.nodeOrShadowRoot(i),e,n)}removeChild(i,e){return super.removeChild(null,e)}parentNode(i){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(i)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},Ns=class extends As{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(i,e,n,o,r,a,s,l){super(i,r,a,s),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=o;let c=n.styles;this.styles=l?qv(l,c):c,this.styleUrls=n.getExternalStyles?.(l)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&uo.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},Rd=class extends Ns{contentAttr;hostAttr;constructor(i,e,n,o,r,a,s,l){let c=o+"-"+n.id;super(i,e,n,r,a,s,l,c),this.contentAttr=sO(c),this.hostAttr=lO(c)}applyToHost(i){this.applyStyles(),this.setAttribute(i,this.hostAttr,"")}createElement(i,e){let n=super.createElement(i,e);return super.setAttribute(n,this.contentAttr,""),n}};var Ad=class t extends Ms{supportsDOMEvents=!0;static makeCurrent(){hg(new t)}onAndCancel(i,e,n,o){return i.addEventListener(e,n,o),()=>{i.removeEventListener(e,n,o)}}dispatchEvent(i,e){i.dispatchEvent(e)}remove(i){i.remove()}createElement(i,e){return e=e||this.getDefaultDocument(),e.createElement(i)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(i){return i.nodeType===Node.ELEMENT_NODE}isShadowRoot(i){return i instanceof DocumentFragment}getGlobalEventTarget(i,e){return e==="window"?window:e==="document"?i:e==="body"?i.body:null}getBaseHref(i){let e=cO();return e==null?null:dO(e)}resetBaseElement(){Fs=null}getUserAgent(){return window.navigator.userAgent}getCookie(i){return Rs(document.cookie,i)}},Fs=null;function cO(){return Fs=Fs||document.head.querySelector("base"),Fs?Fs.getAttribute("href"):null}function dO(t){return new URL(t,document.baseURI).pathname}var uO=(()=>{class t{build(){return new XMLHttpRequest}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})(),Kv=["alt","control","meta","shift"],pO={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},fO={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey},Yv=(()=>{class t extends Os{constructor(e){super(e)}supports(e){return t.parseEventName(e)!=null}addEventListener(e,n,o,r){let a=t.parseEventName(n),s=t.eventCallback(a.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>jn().onAndCancel(e,a.domEventName,s,r))}static parseEventName(e){let n=e.toLowerCase().split("."),o=n.shift();if(n.length===0||!(o==="keydown"||o==="keyup"))return null;let r=t._normalizeKey(n.pop()),a="",s=n.indexOf("code");if(s>-1&&(n.splice(s,1),a="code."),Kv.forEach(c=>{let u=n.indexOf(c);u>-1&&(n.splice(u,1),a+=c+".")}),a+=r,n.length!=0||r.length===0)return null;let l={};return l.domEventName=o,l.fullKey=a,l}static matchEventFullKeyCode(e,n){let o=pO[e.key]||e.key,r="";return n.indexOf("code.")>-1&&(o=e.code,r="code."),o==null||!o?!1:(o=o.toLowerCase(),o===" "?o="space":o==="."&&(o="dot"),Kv.forEach(a=>{if(a!==o){let s=fO[a];s(e)&&(r+=a+".")}}),r+=o,r===n)}static eventCallback(e,n,o){return r=>{t.matchEventFullKeyCode(r,e)&&o.runGuarded(()=>n(r))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(n){return new(n||t)(ye(ze))};static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();function Dg(t,i,e){return Ce(this,null,function*(){let n=T({rootComponent:t},hO(i,e));return Av(n)})}function hO(t,i){return{platformRef:i?.platformRef,appProviders:[..._O,...t?.providers??[]],platformProviders:yO}}function gO(){Ad.makeCurrent()}function mO(){return new On}function bO(){return hh(document),document}var yO=[{provide:vn,useValue:mg},{provide:td,useValue:gO,multi:!0},{provide:ze,useFactory:bO}];var _O=[{provide:Za,useValue:"root"},{provide:On,useFactory:mO},{provide:Od,useClass:kd,multi:!0},{provide:Od,useClass:Yv,multi:!0},Tg,wg,Cg,{provide:er,useExisting:Tg},{provide:ir,useClass:uO},[]];var mo=class t{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(i){i?typeof i=="string"?this.lazyInit=()=>{this.headers=new Map,i.split(` +`).forEach(e=>{let n=e.indexOf(":");if(n>0){let o=e.slice(0,n),r=e.slice(n+1).trim();this.addHeaderEntry(o,r)}})}:typeof Headers<"u"&&i instanceof Headers?(this.headers=new Map,i.forEach((e,n)=>{this.addHeaderEntry(n,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(i).forEach(([e,n])=>{this.setHeaderEntries(e,n)})}:this.headers=new Map}has(i){return this.init(),this.headers.has(i.toLowerCase())}get(i){this.init();let e=this.headers.get(i.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(i){return this.init(),this.headers.get(i.toLowerCase())||null}append(i,e){return this.clone({name:i,value:e,op:"a"})}set(i,e){return this.clone({name:i,value:e,op:"s"})}delete(i,e){return this.clone({name:i,value:e,op:"d"})}maybeSetNormalizedName(i,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,i)}init(){this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(i=>this.applyUpdate(i)),this.lazyUpdate=null))}copyFrom(i){i.init(),Array.from(i.headers.keys()).forEach(e=>{this.headers.set(e,i.headers.get(e)),this.normalizedNames.set(e,i.normalizedNames.get(e))})}clone(i){let e=new t;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([i]),e}applyUpdate(i){let e=i.name.toLowerCase();switch(i.op){case"a":case"s":let n=i.value;if(typeof n=="string"&&(n=[n]),n.length===0)return;this.maybeSetNormalizedName(i.name,e);let o=(i.op==="a"?this.headers.get(e):void 0)||[];o.push(...n),this.headers.set(e,o);break;case"d":let r=i.value;if(!r)this.headers.delete(e),this.normalizedNames.delete(e);else{let a=this.headers.get(e);if(!a)return;a=a.filter(s=>r.indexOf(s)===-1),a.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,a)}break}}addHeaderEntry(i,e){let n=i.toLowerCase();this.maybeSetNormalizedName(i,n),this.headers.has(n)?this.headers.get(n).push(e):this.headers.set(n,[e])}setHeaderEntries(i,e){let n=(Array.isArray(e)?e:[e]).map(r=>r.toString()),o=i.toLowerCase();this.headers.set(o,n),this.maybeSetNormalizedName(i,o)}forEach(i){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>i(this.normalizedNames.get(e),this.headers.get(e)))}};var Fd=class{map=new Map;set(i,e){return this.map.set(i,e),this}get(i){return this.map.has(i)||this.map.set(i,i.defaultValue()),this.map.get(i)}delete(i){return this.map.delete(i),this}has(i){return this.map.has(i)}keys(){return this.map.keys()}},Pd=class{encodeKey(i){return Qv(i)}encodeValue(i){return Qv(i)}decodeKey(i){return decodeURIComponent(i)}decodeValue(i){return decodeURIComponent(i)}};function vO(t,i){let e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(o=>{let r=o.indexOf("="),[a,s]=r==-1?[i.decodeKey(o),""]:[i.decodeKey(o.slice(0,r)),i.decodeValue(o.slice(r+1))],l=e.get(a)||[];l.push(s),e.set(a,l)}),e}var CO=/%(\d[a-f0-9])/gi,wO={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Qv(t){return encodeURIComponent(t).replace(CO,(i,e)=>wO[e]??i)}function Nd(t){return`${t}`}var Wi=class t{map;encoder;updates=null;cloneFrom=null;constructor(i={}){if(this.encoder=i.encoder||new Pd,i.fromString){if(i.fromObject)throw new X(2805,!1);this.map=vO(i.fromString,this.encoder)}else i.fromObject?(this.map=new Map,Object.keys(i.fromObject).forEach(e=>{let n=i.fromObject[e],o=Array.isArray(n)?n.map(Nd):[Nd(n)];this.map.set(e,o)})):this.map=null}has(i){return this.init(),this.map.has(i)}get(i){this.init();let e=this.map.get(i);return e?e[0]:null}getAll(i){return this.init(),this.map.get(i)||null}keys(){return this.init(),Array.from(this.map.keys())}append(i,e){return this.clone({param:i,value:e,op:"a"})}appendAll(i){let e=[];return Object.keys(i).forEach(n=>{let o=i[n];Array.isArray(o)?o.forEach(r=>{e.push({param:n,value:r,op:"a"})}):e.push({param:n,value:o,op:"a"})}),this.clone(e)}set(i,e){return this.clone({param:i,value:e,op:"s"})}delete(i,e){return this.clone({param:i,value:e,op:"d"})}toString(){return this.init(),this.keys().map(i=>{let e=this.encoder.encodeKey(i);return this.map.get(i).map(n=>e+"="+this.encoder.encodeValue(n)).join("&")}).filter(i=>i!=="").join("&")}clone(i){let e=new t({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(i),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(i=>this.map.set(i,this.cloneFrom.map.get(i))),this.updates.forEach(i=>{switch(i.op){case"a":case"s":let e=(i.op==="a"?this.map.get(i.param):void 0)||[];e.push(Nd(i.value)),this.map.set(i.param,e);break;case"d":if(i.value!==void 0){let n=this.map.get(i.param)||[],o=n.indexOf(Nd(i.value));o!==-1&&n.splice(o,1),n.length>0?this.map.set(i.param,n):this.map.delete(i.param)}else{this.map.delete(i.param);break}}}),this.cloneFrom=this.updates=null)}};function xO(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function Zv(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function Xv(t){return typeof Blob<"u"&&t instanceof Blob}function Jv(t){return typeof FormData<"u"&&t instanceof FormData}function TO(t){return typeof URLSearchParams<"u"&&t instanceof URLSearchParams}var e1="Content-Type",t1="Accept",n1="text/plain",i1="application/json",DO=`${i1}, ${n1}, */*`,ta=class t{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;credentials;keepalive=!1;cache;priority;mode;redirect;referrer;integrity;referrerPolicy;responseType="json";method;params;urlWithParams;transferCache;timeout;constructor(i,e,n,o){this.url=e,this.method=i.toUpperCase();let r;if(xO(this.method)||o?(this.body=n!==void 0?n:null,r=o):r=n,r){if(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,this.keepalive=!!r.keepalive,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params),r.priority&&(this.priority=r.priority),r.cache&&(this.cache=r.cache),r.credentials&&(this.credentials=r.credentials),typeof r.timeout=="number"){if(r.timeout<1||!Number.isInteger(r.timeout))throw new X(2822,"");this.timeout=r.timeout}r.mode&&(this.mode=r.mode),r.redirect&&(this.redirect=r.redirect),r.integrity&&(this.integrity=r.integrity),r.referrer!==void 0&&(this.referrer=r.referrer),r.referrerPolicy&&(this.referrerPolicy=r.referrerPolicy),this.transferCache=r.transferCache}if(this.headers??=new mo,this.context??=new Fd,!this.params)this.params=new Wi,this.urlWithParams=e;else{let a=this.params.toString();if(a.length===0)this.urlWithParams=e;else{let s=e.indexOf("?"),l=s===-1?"?":sdt.set($t,i.setHeaders[$t]),se)),i.setParams&&(Me=Object.keys(i.setParams).reduce((dt,$t)=>dt.set($t,i.setParams[$t]),Me)),new t(e,n,k,{params:Me,headers:se,context:nt,reportProgress:Q,responseType:o,withCredentials:z,transferCache:x,keepalive:r,cache:s,priority:a,timeout:E,mode:l,redirect:c,credentials:u,referrer:h,integrity:g,referrerPolicy:m})}},or=(function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t})(or||{}),ia=class{headers;status;statusText;url;ok;type;redirected;responseType;constructor(i,e=200,n="OK"){this.headers=i.headers||new mo,this.status=i.status!==void 0?i.status:e,this.statusText=i.statusText||n,this.url=i.url||null,this.redirected=i.redirected,this.responseType=i.responseType,this.ok=this.status>=200&&this.status<300}},Ld=class t extends ia{constructor(i={}){super(i)}type=or.ResponseHeader;clone(i={}){return new t({headers:i.headers||this.headers,status:i.status!==void 0?i.status:this.status,statusText:i.statusText||this.statusText,url:i.url||this.url||void 0})}},Ps=class t extends ia{body;constructor(i={}){super(i),this.body=i.body!==void 0?i.body:null}type=or.Response;clone(i={}){return new t({body:i.body!==void 0?i.body:this.body,headers:i.headers||this.headers,status:i.status!==void 0?i.status:this.status,statusText:i.statusText||this.statusText,url:i.url||this.url||void 0,redirected:i.redirected??this.redirected,responseType:i.responseType??this.responseType})}},na=class extends ia{name="HttpErrorResponse";message;error;ok=!1;constructor(i){super(i,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${i.url||"(unknown url)"}`:this.message=`Http failure response for ${i.url||"(unknown url)"}: ${i.status} ${i.statusText}`,this.error=i.error||null}},EO=200,IO=204;var SO=new B("");var kO=/^\)\]\}',?\n/;var Ig=(()=>{class t{xhrFactory;tracingService=v(ii,{optional:!0});constructor(e){this.xhrFactory=e}maybePropagateTrace(e){return this.tracingService?.propagate?this.tracingService.propagate(e):e}handle(e){if(e.method==="JSONP")throw new X(-2800,!1);let n=this.xhrFactory;return Pe(null).pipe(gn(()=>new Be(r=>{let a=n.build();if(a.open(e.method,e.urlWithParams),e.withCredentials&&(a.withCredentials=!0),e.headers.forEach((k,z)=>a.setRequestHeader(k,z.join(","))),e.headers.has(t1)||a.setRequestHeader(t1,DO),!e.headers.has(e1)){let k=e.detectContentTypeHeader();k!==null&&a.setRequestHeader(e1,k)}if(e.timeout&&(a.timeout=e.timeout),e.responseType){let k=e.responseType.toLowerCase();a.responseType=k!=="json"?k:"text"}let s=e.serializeBody(),l=null,c=()=>{if(l!==null)return l;let k=a.statusText||"OK",z=new mo(a.getAllResponseHeaders()),Q=a.responseURL||e.url;return l=new Ld({headers:z,status:a.status,statusText:k,url:Q}),l},u=this.maybePropagateTrace(()=>{let{headers:k,status:z,statusText:Q,url:se}=c(),Me=null;z!==IO&&(Me=typeof a.response>"u"?a.responseText:a.response),z===0&&(z=Me?EO:0);let nt=z>=200&&z<300;if(e.responseType==="json"&&typeof Me=="string"){let dt=Me;Me=Me.replace(kO,"");try{Me=Me!==""?JSON.parse(Me):null}catch($t){Me=dt,nt&&(nt=!1,Me={error:$t,text:Me})}}nt?(r.next(new Ps({body:Me,headers:k,status:z,statusText:Q,url:se||void 0})),r.complete()):r.error(new na({error:Me,headers:k,status:z,statusText:Q,url:se||void 0}))}),h=this.maybePropagateTrace(k=>{let{url:z}=c(),Q=new na({error:k,status:a.status||0,statusText:a.statusText||"Unknown Error",url:z||void 0});r.error(Q)}),g=h;e.timeout&&(g=this.maybePropagateTrace(k=>{let{url:z}=c(),Q=new na({error:new DOMException("Request timed out","TimeoutError"),status:a.status||0,statusText:a.statusText||"Request timeout",url:z||void 0});r.error(Q)}));let m=!1,x=this.maybePropagateTrace(k=>{m||(r.next(c()),m=!0);let z={type:or.DownloadProgress,loaded:k.loaded};k.lengthComputable&&(z.total=k.total),e.responseType==="text"&&a.responseText&&(z.partialText=a.responseText),r.next(z)}),E=this.maybePropagateTrace(k=>{let z={type:or.UploadProgress,loaded:k.loaded};k.lengthComputable&&(z.total=k.total),r.next(z)});return a.addEventListener("load",u),a.addEventListener("error",h),a.addEventListener("timeout",g),a.addEventListener("abort",h),e.reportProgress&&(a.addEventListener("progress",x),s!==null&&a.upload&&a.upload.addEventListener("progress",E)),a.send(s),r.next({type:or.Sent}),()=>{a.removeEventListener("error",h),a.removeEventListener("abort",h),a.removeEventListener("load",u),a.removeEventListener("timeout",g),e.reportProgress&&(a.removeEventListener("progress",x),s!==null&&a.upload&&a.upload.removeEventListener("progress",E)),a.readyState!==a.DONE&&a.abort()}})))}static \u0275fac=function(n){return new(n||t)(ye(ir))};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),MO=new B("",{factory:()=>!0}),RO="XSRF-TOKEN",OO=new B("",{factory:()=>RO}),AO="X-XSRF-TOKEN",NO=new B("",{factory:()=>AO}),FO=(()=>{class t{cookieName=v(OO);doc=v(ze);lastCookieString="";lastToken=null;parseCount=0;getToken(){let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Rs(e,this.cookieName),this.lastCookieString=e),this.lastToken}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),o1=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:function(n){let o=null;return n?o=new(n||t):o=ye(FO),o},providedIn:"root"})}return t})();function r1(t,i){if(!v(MO)||t.method==="GET"||t.method==="HEAD")return i(t);try{let o=v(Jr).href,{origin:r}=new URL(o),{origin:a}=new URL(t.url,r);if(r!==a)return i(t)}catch(o){return i(t)}let e=v(o1).getToken(),n=v(NO);return e!=null&&!t.headers.has(n)&&(t=t.clone({headers:t.headers.set(n,e)})),i(t)}function PO(t,i){return i(t)}function LO(t,i,e){return(n,o)=>zt(e,()=>i(n,r=>t(r,o)))}var a1=new B("",{factory:()=>[r1]}),s1=new B(""),l1=new B("",{factory:()=>!0});var Sg=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:function(n){let o=null;return n?o=new(n||t):o=ye(Ig),o},providedIn:"root"})}return t})();var Bd=(()=>{class t{backend;injector;chain=null;pendingTasks=v(os);contributeToStability=v(l1);constructor(e,n){this.backend=e,this.injector=n}handle(e){if(this.chain===null){let n=Array.from(new Set([...this.injector.get(a1),...this.injector.get(s1,[])]));this.chain=n.reduceRight((o,r)=>LO(o,r,this.injector),PO)}if(this.contributeToStability){let n=this.pendingTasks.add();return this.chain(e,o=>this.backend.handle(o)).pipe(La(n))}else return this.chain(e,n=>this.backend.handle(n))}static \u0275fac=function(n){return new(n||t)(ye(Sg),ye(ht))};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),kg=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:function(n){let o=null;return n?o=new(n||t):o=ye(Bd),o},providedIn:"root"})}return t})();function Eg(t,i){return{body:i,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials,credentials:t.credentials,transferCache:t.transferCache,timeout:t.timeout,keepalive:t.keepalive,priority:t.priority,cache:t.cache,mode:t.mode,redirect:t.redirect,integrity:t.integrity,referrer:t.referrer,referrerPolicy:t.referrerPolicy}}var Vd=(()=>{class t{handler;constructor(e){this.handler=e}request(e,n,o={}){let r;if(e instanceof ta)r=e;else{let l;o.headers instanceof mo?l=o.headers:l=new mo(o.headers);let c;o.params&&(o.params instanceof Wi?c=o.params:c=new Wi({fromObject:o.params})),r=new ta(e,n,o.body!==void 0?o.body:null,{headers:l,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache,keepalive:o.keepalive,priority:o.priority,cache:o.cache,mode:o.mode,redirect:o.redirect,credentials:o.credentials,referrer:o.referrer,referrerPolicy:o.referrerPolicy,integrity:o.integrity,timeout:o.timeout})}let a=Pe(r).pipe(Er(l=>this.handler.handle(l)));if(e instanceof ta||o.observe==="events")return a;let s=a.pipe(qn(l=>l instanceof Ps));switch(o.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return s.pipe(Ze(l=>{if(l.body!==null&&!(l.body instanceof ArrayBuffer))throw new X(2806,!1);return l.body}));case"blob":return s.pipe(Ze(l=>{if(l.body!==null&&!(l.body instanceof Blob))throw new X(2807,!1);return l.body}));case"text":return s.pipe(Ze(l=>{if(l.body!==null&&typeof l.body!="string")throw new X(2808,!1);return l.body}));default:return s.pipe(Ze(l=>l.body))}case"response":return s;default:throw new X(2809,!1)}}delete(e,n={}){return this.request("DELETE",e,n)}get(e,n={}){return this.request("GET",e,n)}head(e,n={}){return this.request("HEAD",e,n)}jsonp(e,n){return this.request("JSONP",e,{params:new Wi().append(n,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,n={}){return this.request("OPTIONS",e,n)}patch(e,n,o={}){return this.request("PATCH",e,Eg(o,n))}post(e,n,o={}){return this.request("POST",e,Eg(o,n))}put(e,n,o={}){return this.request("PUT",e,Eg(o,n))}static \u0275fac=function(n){return new(n||t)(ye(kg))};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Mg(...t){let i=[Vd,Bd,{provide:kg,useExisting:Bd},{provide:Sg,useFactory:()=>v(SO,{optional:!0})??v(Ig)},{provide:a1,useValue:r1,multi:!0}];for(let e of t)i.push(...e.\u0275providers);return An(i)}var c1=(()=>{class t{_doc;constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static \u0275fac=function(n){return new(n||t)(ye(ze))};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Se="primary",Ks=Symbol("RouteTitle"),Fg=class{params;constructor(i){this.params=i||{}}has(i){return Object.prototype.hasOwnProperty.call(this.params,i)}get(i){if(this.has(i)){let e=this.params[i];return Array.isArray(e)?e[0]:e}return null}getAll(i){if(this.has(i)){let e=this.params[i];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function sa(t){return new Fg(t)}function Rg(t,i,e){for(let n=0;nt.length||e.pathMatch==="full"&&(i.hasChildren()||n.lengtht.length||e.pathMatch==="full"&&i.hasChildren()&&e.path!=="**")return null;let s={};return!Rg(r,t.slice(0,r.length),s)||!Rg(a,t.slice(t.length-a.length),s)?null:{consumed:t,posParams:s}}function Wd(t){return new Promise((i,e)=>{t.pipe(Pi()).subscribe({next:n=>i(n),error:n=>e(n)})})}function zO(t,i){if(t.length!==i.length)return!1;for(let e=0;en[r]===o)}else return t===i}function jO(t){return t.length>0?t[t.length-1]:null}function cr(t){return ec(t)?t:fo(t)?ft(Promise.resolve(t)):Pe(t)}function y1(t){return ec(t)?Wd(t):Promise.resolve(t)}var HO={exact:C1,subset:w1},_1={exact:$O,subset:UO,ignored:()=>!0},v1={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Lg={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function d1(t,i,e){return HO[e.paths](t.root,i.root,e.matrixParams)&&_1[e.queryParams](t.queryParams,i.queryParams)&&!(e.fragment==="exact"&&t.fragment!==i.fragment)}function $O(t,i){return Ei(t,i)}function C1(t,i,e){if(!ar(t.segments,i.segments)||!Hd(t.segments,i.segments,e)||t.numberOfChildren!==i.numberOfChildren)return!1;for(let n in i.children)if(!t.children[n]||!C1(t.children[n],i.children[n],e))return!1;return!0}function UO(t,i){return Object.keys(i).length<=Object.keys(t).length&&Object.keys(i).every(e=>b1(t[e],i[e]))}function w1(t,i,e){return x1(t,i,i.segments,e)}function x1(t,i,e,n){if(t.segments.length>e.length){let o=t.segments.slice(0,e.length);return!(!ar(o,e)||i.hasChildren()||!Hd(o,e,n))}else if(t.segments.length===e.length){if(!ar(t.segments,e)||!Hd(t.segments,e,n))return!1;for(let o in i.children)if(!t.children[o]||!w1(t.children[o],i.children[o],n))return!1;return!0}else{let o=e.slice(0,t.segments.length),r=e.slice(t.segments.length);return!ar(t.segments,o)||!Hd(t.segments,o,n)||!t.children[Se]?!1:x1(t.children[Se],i,r,n)}}function Hd(t,i,e){return i.every((n,o)=>_1[e](t[o].parameters,n.parameters))}var li=class{root;queryParams;fragment;_queryParamMap;constructor(i=new Ke([],{}),e={},n=null){this.root=i,this.queryParams=e,this.fragment=n}get queryParamMap(){return this._queryParamMap??=sa(this.queryParams),this._queryParamMap}toString(){return qO.serialize(this)}},Ke=class{segments;children;parent=null;constructor(i,e){this.segments=i,this.children=e,Object.values(e).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return $d(this)}},rr=class{path;parameters;_parameterMap;constructor(i,e){this.path=i,this.parameters=e}get parameterMap(){return this._parameterMap??=sa(this.parameters),this._parameterMap}toString(){return D1(this)}};function WO(t,i){return ar(t,i)&&t.every((e,n)=>Ei(e.parameters,i[n].parameters))}function ar(t,i){return t.length!==i.length?!1:t.every((e,n)=>e.path===i[n].path)}function GO(t,i){let e=[];return Object.entries(t.children).forEach(([n,o])=>{n===Se&&(e=e.concat(i(o,n)))}),Object.entries(t.children).forEach(([n,o])=>{n!==Se&&(e=e.concat(i(o,n)))}),e}var tu=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:()=>new sr,providedIn:"root"})}return t})(),sr=class{parse(i){let e=new Vg(i);return new li(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(i){let e=`/${Ls(i.root,!0)}`,n=QO(i.queryParams),o=typeof i.fragment=="string"?`#${KO(i.fragment)}`:"";return`${e}${n}${o}`}},qO=new sr;function $d(t){return t.segments.map(i=>D1(i)).join("/")}function Ls(t,i){if(!t.hasChildren())return $d(t);if(i){let e=t.children[Se]?Ls(t.children[Se],!1):"",n=[];return Object.entries(t.children).forEach(([o,r])=>{o!==Se&&n.push(`${o}:${Ls(r,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}else{let e=GO(t,(n,o)=>o===Se?[Ls(t.children[Se],!1)]:[`${o}:${Ls(n,!1)}`]);return Object.keys(t.children).length===1&&t.children[Se]!=null?`${$d(t)}/${e[0]}`:`${$d(t)}/(${e.join("//")})`}}function T1(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function zd(t){return T1(t).replace(/%3B/gi,";")}function KO(t){return encodeURI(t)}function Bg(t){return T1(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ud(t){return decodeURIComponent(t)}function u1(t){return Ud(t.replace(/\+/g,"%20"))}function D1(t){return`${Bg(t.path)}${YO(t.parameters)}`}function YO(t){return Object.entries(t).map(([i,e])=>`;${Bg(i)}=${Bg(e)}`).join("")}function QO(t){let i=Object.entries(t).map(([e,n])=>Array.isArray(n)?n.map(o=>`${zd(e)}=${zd(o)}`).join("&"):`${zd(e)}=${zd(n)}`).filter(e=>e);return i.length?`?${i.join("&")}`:""}var ZO=/^[^\/()?;#]+/;function Og(t){let i=t.match(ZO);return i?i[0]:""}var XO=/^[^\/()?;=#]+/;function JO(t){let i=t.match(XO);return i?i[0]:""}var eA=/^[^=?&#]+/;function tA(t){let i=t.match(eA);return i?i[0]:""}var nA=/^[^&#]+/;function iA(t){let i=t.match(nA);return i?i[0]:""}var Vg=class{url;remaining;constructor(i){this.url=i,this.remaining=i}parseRootSegment(){for(;this.consumeOptional("/"););return this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new Ke([],{}):new Ke([],this.parseChildren())}parseQueryParams(){let i={};if(this.consumeOptional("?"))do this.parseQueryParam(i);while(this.consumeOptional("&"));return i}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(i=0){if(i>50)throw new X(4010,!1);if(this.remaining==="")return{};this.consumeOptional("/");let e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let n={};this.peekStartsWith("/(")&&(this.capture("/"),n=this.parseParens(!0,i));let o={};return this.peekStartsWith("(")&&(o=this.parseParens(!1,i)),(e.length>0||Object.keys(n).length>0)&&(o[Se]=new Ke(e,n)),o}parseSegment(){let i=Og(this.remaining);if(i===""&&this.peekStartsWith(";"))throw new X(4009,!1);return this.capture(i),new rr(Ud(i),this.parseMatrixParams())}parseMatrixParams(){let i={};for(;this.consumeOptional(";");)this.parseParam(i);return i}parseParam(i){let e=JO(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let o=Og(this.remaining);o&&(n=o,this.capture(n))}i[Ud(e)]=Ud(n)}parseQueryParam(i){let e=tA(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let a=iA(this.remaining);a&&(n=a,this.capture(n))}let o=u1(e),r=u1(n);if(i.hasOwnProperty(o)){let a=i[o];Array.isArray(a)||(a=[a],i[o]=a),a.push(r)}else i[o]=r}parseParens(i,e){let n={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let o=Og(this.remaining),r=this.remaining[o.length];if(r!=="/"&&r!==")"&&r!==";")throw new X(4010,!1);let a;o.indexOf(":")>-1?(a=o.slice(0,o.indexOf(":")),this.capture(a),this.capture(":")):i&&(a=Se);let s=this.parseChildren(e+1);n[a??Se]=Object.keys(s).length===1&&s[Se]?s[Se]:new Ke([],s),this.consumeOptional("//")}return n}peekStartsWith(i){return this.remaining.startsWith(i)}consumeOptional(i){return this.peekStartsWith(i)?(this.remaining=this.remaining.substring(i.length),!0):!1}capture(i){if(!this.consumeOptional(i))throw new X(4011,!1)}};function E1(t){return t.segments.length>0?new Ke([],{[Se]:t}):t}function I1(t){let i={};for(let[n,o]of Object.entries(t.children)){let r=I1(o);if(n===Se&&r.segments.length===0&&r.hasChildren())for(let[a,s]of Object.entries(r.children))i[a]=s;else(r.segments.length>0||r.hasChildren())&&(i[n]=r)}let e=new Ke(t.segments,i);return oA(e)}function oA(t){if(t.numberOfChildren===1&&t.children[Se]){let i=t.children[Se];return new Ke(t.segments.concat(i.segments),i.children)}return t}function la(t){return t instanceof li}function rA(t,i,e=null,n=null,o=new sr){let r=S1(t);return k1(r,i,e,n,o)}function S1(t){let i;function e(r){let a={};for(let l of r.children){let c=e(l);a[l.outlet]=c}let s=new Ke(r.url,a);return r===t&&(i=s),s}let n=e(t.root),o=E1(n);return i??o}function k1(t,i,e,n,o){let r=t;for(;r.parent;)r=r.parent;if(i.length===0)return Ag(r,r,r,e,n,o);let a=aA(i);if(a.toRoot())return Ag(r,r,new Ke([],{}),e,n,o);let s=sA(a,r,t),l=s.processChildren?Vs(s.segmentGroup,s.index,a.commands):R1(s.segmentGroup,s.index,a.commands);return Ag(r,s.segmentGroup,l,e,n,o)}function Gd(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Hs(t){return typeof t=="object"&&t!=null&&t.outlets}function p1(t,i,e){t||="\u0275";let n=new li;return n.queryParams={[t]:i},e.parse(e.serialize(n)).queryParams[t]}function Ag(t,i,e,n,o,r){let a={};for(let[c,u]of Object.entries(n??{}))a[c]=Array.isArray(u)?u.map(h=>p1(c,h,r)):p1(c,u,r);let s;t===i?s=e:s=M1(t,i,e);let l=E1(I1(s));return new li(l,a,o)}function M1(t,i,e){let n={};return Object.entries(t.children).forEach(([o,r])=>{r===i?n[o]=e:n[o]=M1(r,i,e)}),new Ke(t.segments,n)}var qd=class{isAbsolute;numberOfDoubleDots;commands;constructor(i,e,n){if(this.isAbsolute=i,this.numberOfDoubleDots=e,this.commands=n,i&&n.length>0&&Gd(n[0]))throw new X(4003,!1);let o=n.find(Hs);if(o&&o!==jO(n))throw new X(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function aA(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new qd(!0,0,t);let i=0,e=!1,n=t.reduce((o,r,a)=>{if(typeof r=="object"&&r!=null){if(r.outlets){let s={};return Object.entries(r.outlets).forEach(([l,c])=>{s[l]=typeof c=="string"?c.split("/"):c}),[...o,{outlets:s}]}if(r.segmentPath)return[...o,r.segmentPath]}return typeof r!="string"?[...o,r]:a===0?(r.split("/").forEach((s,l)=>{l==0&&s==="."||(l==0&&s===""?e=!0:s===".."?i++:s!=""&&o.push(s))}),o):[...o,r]},[]);return new qd(e,i,n)}var ra=class{segmentGroup;processChildren;index;constructor(i,e,n){this.segmentGroup=i,this.processChildren=e,this.index=n}};function sA(t,i,e){if(t.isAbsolute)return new ra(i,!0,0);if(!e)return new ra(i,!1,NaN);if(e.parent===null)return new ra(e,!0,0);let n=Gd(t.commands[0])?0:1,o=e.segments.length-1+n;return lA(e,o,t.numberOfDoubleDots)}function lA(t,i,e){let n=t,o=i,r=e;for(;r>o;){if(r-=o,n=n.parent,!n)throw new X(4005,!1);o=n.segments.length}return new ra(n,!1,o-r)}function cA(t){return Hs(t[0])?t[0].outlets:{[Se]:t}}function R1(t,i,e){if(t??=new Ke([],{}),t.segments.length===0&&t.hasChildren())return Vs(t,i,e);let n=dA(t,i,e),o=e.slice(n.commandIndex);if(n.match&&n.pathIndexr!==Se)&&t.children[Se]&&t.numberOfChildren===1&&t.children[Se].segments.length===0){let r=Vs(t.children[Se],i,e);return new Ke(t.segments,r.children)}return Object.entries(n).forEach(([r,a])=>{typeof a=="string"&&(a=[a]),a!==null&&(o[r]=R1(t.children[r],i,a))}),Object.entries(t.children).forEach(([r,a])=>{n[r]===void 0&&(o[r]=a)}),new Ke(t.segments,o)}}function dA(t,i,e){let n=0,o=i,r={match:!1,pathIndex:0,commandIndex:0};for(;o=e.length)return r;let a=t.segments[o],s=e[n];if(Hs(s))break;let l=`${s}`,c=n0&&l===void 0)break;if(l&&c&&typeof c=="object"&&c.outlets===void 0){if(!h1(l,c,a))return r;n+=2}else{if(!h1(l,{},a))return r;n++}o++}return{match:!0,pathIndex:o,commandIndex:n}}function zg(t,i,e){let n=t.segments.slice(0,i),o=0;for(;o{typeof n=="string"&&(n=[n]),n!==null&&(i[e]=zg(new Ke([],{}),0,n))}),i}function f1(t){let i={};return Object.entries(t).forEach(([e,n])=>i[e]=`${n}`),i}function h1(t,i,e){return t==e.path&&Ei(i,e.parameters)}var zs="imperative",Kt=(function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t})(Kt||{}),$n=class{id;url;constructor(i,e){this.id=i,this.url=e}},ca=class extends $n{type=Kt.NavigationStart;navigationTrigger;restoredState;constructor(i,e,n="imperative",o=null){super(i,e),this.navigationTrigger=n,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},bo=class extends $n{urlAfterRedirects;type=Kt.NavigationEnd;constructor(i,e,n){super(i,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},ln=(function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t})(ln||{}),Kd=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(Kd||{}),ai=class extends $n{reason;code;type=Kt.NavigationCancel;constructor(i,e,n,o){super(i,e),this.reason=n,this.code=o}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}};function O1(t){return t instanceof ai&&(t.code===ln.Redirect||t.code===ln.SupersededByNewNavigation)}var yo=class extends $n{reason;code;type=Kt.NavigationSkipped;constructor(i,e,n,o){super(i,e),this.reason=n,this.code=o}},da=class extends $n{error;target;type=Kt.NavigationError;constructor(i,e,n,o){super(i,e),this.error=n,this.target=o}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},Yd=class extends $n{urlAfterRedirects;state;type=Kt.RoutesRecognized;constructor(i,e,n,o){super(i,e),this.urlAfterRedirects=n,this.state=o}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},jg=class extends $n{urlAfterRedirects;state;type=Kt.GuardsCheckStart;constructor(i,e,n,o){super(i,e),this.urlAfterRedirects=n,this.state=o}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Hg=class extends $n{urlAfterRedirects;state;shouldActivate;type=Kt.GuardsCheckEnd;constructor(i,e,n,o,r){super(i,e),this.urlAfterRedirects=n,this.state=o,this.shouldActivate=r}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},$g=class extends $n{urlAfterRedirects;state;type=Kt.ResolveStart;constructor(i,e,n,o){super(i,e),this.urlAfterRedirects=n,this.state=o}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Ug=class extends $n{urlAfterRedirects;state;type=Kt.ResolveEnd;constructor(i,e,n,o){super(i,e),this.urlAfterRedirects=n,this.state=o}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Wg=class{route;type=Kt.RouteConfigLoadStart;constructor(i){this.route=i}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},Gg=class{route;type=Kt.RouteConfigLoadEnd;constructor(i){this.route=i}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},qg=class{snapshot;type=Kt.ChildActivationStart;constructor(i){this.snapshot=i}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Kg=class{snapshot;type=Kt.ChildActivationEnd;constructor(i){this.snapshot=i}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Yg=class{snapshot;type=Kt.ActivationStart;constructor(i){this.snapshot=i}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Qg=class{snapshot;type=Kt.ActivationEnd;constructor(i){this.snapshot=i}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var ua=class{},$s=class{},pa=class{url;navigationBehaviorOptions;constructor(i,e){this.url=i,this.navigationBehaviorOptions=e}};function pA(t){return!(t instanceof ua)&&!(t instanceof pa)&&!(t instanceof $s)}var Zg=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return this.route?.snapshot._environmentInjector??this.rootInjector}constructor(i){this.rootInjector=i,this.children=new Ys(this.rootInjector)}},Ys=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,n){let o=this.getOrCreateContext(e);o.outlet=n,this.contexts.set(e,o)}onChildOutletDestroyed(e){let n=this.getContext(e);n&&(n.outlet=null,n.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let n=this.getContext(e);return n||(n=new Zg(this.rootInjector),this.contexts.set(e,n)),n}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(n){return new(n||t)(ye(ht))};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Qd=class{_root;constructor(i){this._root=i}get root(){return this._root.value}parent(i){let e=this.pathFromRoot(i);return e.length>1?e[e.length-2]:null}children(i){let e=Xg(i,this._root);return e?e.children.map(n=>n.value):[]}firstChild(i){let e=Xg(i,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(i){let e=Jg(i,this._root);return e.length<2?[]:e[e.length-2].children.map(o=>o.value).filter(o=>o!==i)}pathFromRoot(i){return Jg(i,this._root).map(e=>e.value)}};function Xg(t,i){if(t===i.value)return i;for(let e of i.children){let n=Xg(t,e);if(n)return n}return null}function Jg(t,i){if(t===i.value)return[i];for(let e of i.children){let n=Jg(t,e);if(n.length)return n.unshift(i),n}return[]}var Dn=class{value;children;constructor(i,e){this.value=i,this.children=e}toString(){return`TreeNode(${this.value})`}};function oa(t){let i={};return t&&t.children.forEach(e=>i[e.value.outlet]=e),i}var Zd=class extends Qd{snapshot;constructor(i,e){super(i),this.snapshot=e,cm(this,i)}toString(){return this.snapshot.toString()}};function A1(t,i){let e=fA(t,i),n=new Wt([new rr("",{})]),o=new Wt({}),r=new Wt({}),a=new Wt({}),s=new Wt(""),l=new lr(n,o,a,s,r,Se,t,e.root);return l.snapshot=e.root,new Zd(new Dn(l,[]),e)}function fA(t,i){let e={},n={},o={},a=new Us([],e,o,"",n,Se,t,null,{},i);return new Xd("",new Dn(a,[]))}var lr=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(i,e,n,o,r,a,s,l){this.urlSubject=i,this.paramsSubject=e,this.queryParamsSubject=n,this.fragmentSubject=o,this.dataSubject=r,this.outlet=a,this.component=s,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(Ze(c=>c[Ks]))??Pe(void 0),this.url=i,this.params=e,this.queryParams=n,this.fragment=o,this.data=r}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(Ze(i=>sa(i))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(Ze(i=>sa(i))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function lm(t,i,e="emptyOnly"){let n,{routeConfig:o}=t;return i!==null&&(e==="always"||o?.path===""||!i.component&&!i.routeConfig?.loadComponent)?n={params:T(T({},i.params),t.params),data:T(T({},i.data),t.data),resolve:T(T(T(T({},t.data),i.data),o?.data),t._resolvedData)}:n={params:T({},t.params),data:T({},t.data),resolve:T(T({},t.data),t._resolvedData??{})},o&&F1(o)&&(n.resolve[Ks]=o.title),n}var Us=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;_environmentInjector;get title(){return this.data?.[Ks]}constructor(i,e,n,o,r,a,s,l,c,u){this.url=i,this.params=e,this.queryParams=n,this.fragment=o,this.data=r,this.outlet=a,this.component=s,this.routeConfig=l,this._resolve=c,this._environmentInjector=u}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=sa(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=sa(this.queryParams),this._queryParamMap}toString(){let i=this.url.map(n=>n.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${i}', path:'${e}')`}},Xd=class extends Qd{url;constructor(i,e){super(e),this.url=i,cm(this,e)}toString(){return N1(this._root)}};function cm(t,i){i.value._routerState=t,i.children.forEach(e=>cm(t,e))}function N1(t){let i=t.children.length>0?` { ${t.children.map(N1).join(", ")} } `:"";return`${t.value}${i}`}function Ng(t){if(t.snapshot){let i=t.snapshot,e=t._futureSnapshot;t.snapshot=e,Ei(i.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),i.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),Ei(i.params,e.params)||t.paramsSubject.next(e.params),zO(i.url,e.url)||t.urlSubject.next(e.url),Ei(i.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function em(t,i){let e=Ei(t.params,i.params)&&WO(t.url,i.url),n=!t.parent!=!i.parent;return e&&!n&&(!t.parent||em(t.parent,i.parent))}function F1(t){return typeof t.title=="string"||t.title===null}var hA=new B(""),P1=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=Se;activateEvents=new P;deactivateEvents=new P;attachEvents=new P;detachEvents=new P;routerOutletData=V();parentContexts=v(Ys);location=v(Bn);changeDetector=v(Di);inputBinder=v(nu,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:n,previousValue:o}=e.name;if(n)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new X(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new X(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new X(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,n){this.activated=e,this._activatedRoute=n,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,n){if(this.isActivated)throw new X(4013,!1);this._activatedRoute=e;let o=this.location,a=e.snapshot.component,s=this.parentContexts.getOrCreateContext(this.name).children,l=new tm(e,s,o.injector,this.routerOutletData);this.activated=o.createComponent(a,{index:o.length,injector:l,environmentInjector:n}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(n){return new(n||t)};static \u0275dir=ge({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Hi]})}return t})(),tm=class{route;childContexts;parent;outletData;constructor(i,e,n,o){this.route=i,this.childContexts=e,this.parent=n,this.outletData=o}get(i,e){return i===lr?this.route:i===Ys?this.childContexts:i===hA?this.outletData:this.parent.get(i,e)}},nu=new B("");var L1=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=H({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(n,o){n&1&&W(0,"router-outlet")},dependencies:[P1],encapsulation:2})}return t})();function dm(t){let i=t.children&&t.children.map(dm),e=i?ie(T({},t),{children:i}):T({},t);return!e.component&&!e.loadComponent&&(i||e.loadChildren)&&e.outlet&&e.outlet!==Se&&(e.component=L1),e}function gA(t,i,e){let n=Ws(t,i._root,e?e._root:void 0);return new Zd(n,i)}function Ws(t,i,e){if(e&&t.shouldReuseRoute(i.value,e.value.snapshot)){let n=e.value;n._futureSnapshot=i.value;let o=mA(t,i,e);return new Dn(n,o)}else{if(t.shouldAttach(i.value)){let r=t.retrieve(i.value);if(r!==null){let a=r.route;return a.value._futureSnapshot=i.value,a.children=i.children.map(s=>Ws(t,s)),a}}let n=bA(i.value),o=i.children.map(r=>Ws(t,r));return new Dn(n,o)}}function mA(t,i,e){return i.children.map(n=>{for(let o of e.children)if(t.shouldReuseRoute(n.value,o.value.snapshot))return Ws(t,n,o);return Ws(t,n)})}function bA(t){return new lr(new Wt(t.url),new Wt(t.params),new Wt(t.queryParams),new Wt(t.fragment),new Wt(t.data),t.outlet,t.component,t)}var Gs=class{redirectTo;navigationBehaviorOptions;constructor(i,e){this.redirectTo=i,this.navigationBehaviorOptions=e}},B1="ngNavigationCancelingError";function Jd(t,i){let{redirectTo:e,navigationBehaviorOptions:n}=la(i)?{redirectTo:i,navigationBehaviorOptions:void 0}:i,o=V1(!1,ln.Redirect);return o.url=e,o.navigationBehaviorOptions=n,o}function V1(t,i){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[B1]=!0,e.cancellationCode=i,e}function yA(t){return z1(t)&&la(t.url)}function z1(t){return!!t&&t[B1]}var nm=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(i,e,n,o,r){this.routeReuseStrategy=i,this.futureState=e,this.currState=n,this.forwardEvent=o,this.inputBindingEnabled=r}activate(i){let e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,i),Ng(this.futureState.root),this.activateChildRoutes(e,n,i)}deactivateChildRoutes(i,e,n){let o=oa(e);i.children.forEach(r=>{let a=r.value.outlet;this.deactivateRoutes(r,o[a],n),delete o[a]}),Object.values(o).forEach(r=>{this.deactivateRouteAndItsChildren(r,n)})}deactivateRoutes(i,e,n){let o=i.value,r=e?e.value:null;if(o===r)if(o.component){let a=n.getContext(o.outlet);a&&this.deactivateChildRoutes(i,e,a.children)}else this.deactivateChildRoutes(i,e,n);else r&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(i,e){i.value.component&&this.routeReuseStrategy.shouldDetach(i.value.snapshot)?this.detachAndStoreRouteSubtree(i,e):this.deactivateRouteAndOutlet(i,e)}detachAndStoreRouteSubtree(i,e){let n=e.getContext(i.value.outlet),o=n&&i.value.component?n.children:e,r=oa(i);for(let a of Object.values(r))this.deactivateRouteAndItsChildren(a,o);if(n&&n.outlet){let a=n.outlet.detach(),s=n.children.onOutletDeactivated();this.routeReuseStrategy.store(i.value.snapshot,{componentRef:a,route:i,contexts:s})}}deactivateRouteAndOutlet(i,e){let n=e.getContext(i.value.outlet),o=n&&i.value.component?n.children:e,r=oa(i);for(let a of Object.values(r))this.deactivateRouteAndItsChildren(a,o);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(i,e,n){let o=oa(e);i.children.forEach(r=>{this.activateRoutes(r,o[r.value.outlet],n),this.forwardEvent(new Qg(r.value.snapshot))}),i.children.length&&this.forwardEvent(new Kg(i.value.snapshot))}activateRoutes(i,e,n){let o=i.value,r=e?e.value:null;if(Ng(o),o===r)if(o.component){let a=n.getOrCreateContext(o.outlet);this.activateChildRoutes(i,e,a.children)}else this.activateChildRoutes(i,e,n);else if(o.component){let a=n.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){let s=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),a.children.onOutletReAttached(s.contexts),a.attachRef=s.componentRef,a.route=s.route.value,a.outlet&&a.outlet.attach(s.componentRef,s.route.value),Ng(s.route.value),this.activateChildRoutes(i,null,a.children)}else a.attachRef=null,a.route=o,a.outlet&&a.outlet.activateWith(o,a.injector),this.activateChildRoutes(i,null,a.children)}else this.activateChildRoutes(i,null,n)}},eu=class{path;route;constructor(i){this.path=i,this.route=this.path[this.path.length-1]}},aa=class{component;route;constructor(i,e){this.component=i,this.route=e}};function _A(t,i,e){let n=t._root,o=i?i._root:null;return Bs(n,o,e,[n.value])}function vA(t){let i=t.routeConfig?t.routeConfig.canActivateChild:null;return!i||i.length===0?null:{node:t,guards:i}}function ha(t,i){let e=Symbol(),n=i.get(t,e);return n===e?typeof t=="function"&&!Fp(t)?t:i.get(t):n}function Bs(t,i,e,n,o={canDeactivateChecks:[],canActivateChecks:[]}){let r=oa(i);return t.children.forEach(a=>{CA(a,r[a.value.outlet],e,n.concat([a.value]),o),delete r[a.value.outlet]}),Object.entries(r).forEach(([a,s])=>js(s,e.getContext(a),o)),o}function CA(t,i,e,n,o={canDeactivateChecks:[],canActivateChecks:[]}){let r=t.value,a=i?i.value:null,s=e?e.getContext(t.value.outlet):null;if(a&&r.routeConfig===a.routeConfig){let l=wA(a,r,r.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new eu(n)):(r.data=a.data,r._resolvedData=a._resolvedData),r.component?Bs(t,i,s?s.children:null,n,o):Bs(t,i,e,n,o),l&&s&&s.outlet&&s.outlet.isActivated&&o.canDeactivateChecks.push(new aa(s.outlet.component,a))}else a&&js(i,s,o),o.canActivateChecks.push(new eu(n)),r.component?Bs(t,null,s?s.children:null,n,o):Bs(t,null,e,n,o);return o}function wA(t,i,e){if(typeof e=="function")return zt(i._environmentInjector,()=>e(t,i));switch(e){case"pathParamsChange":return!ar(t.url,i.url);case"pathParamsOrQueryParamsChange":return!ar(t.url,i.url)||!Ei(t.queryParams,i.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!em(t,i)||!Ei(t.queryParams,i.queryParams);default:return!em(t,i)}}function js(t,i,e){let n=oa(t),o=t.value;Object.entries(n).forEach(([r,a])=>{o.component?i?js(a,i.children.getContext(r),e):js(a,null,e):js(a,i,e)}),o.component?i&&i.outlet&&i.outlet.isActivated?e.canDeactivateChecks.push(new aa(i.outlet.component,o)):e.canDeactivateChecks.push(new aa(null,o)):e.canDeactivateChecks.push(new aa(null,o))}function Qs(t){return typeof t=="function"}function xA(t){return typeof t=="boolean"}function TA(t){return t&&Qs(t.canLoad)}function DA(t){return t&&Qs(t.canActivate)}function EA(t){return t&&Qs(t.canActivateChild)}function IA(t){return t&&Qs(t.canDeactivate)}function SA(t){return t&&Qs(t.canMatch)}function j1(t){return t instanceof Ni||t?.name==="EmptyError"}var jd=Symbol("INITIAL_VALUE");function fa(){return gn(t=>bp(t.map(i=>i.pipe(Fi(1),_p(jd)))).pipe(Ze(i=>{for(let e of i)if(e!==!0){if(e===jd)return jd;if(e===!1||kA(e))return e}return!0}),qn(i=>i!==jd),Fi(1)))}function kA(t){return la(t)||t instanceof Gs}function H1(t){return t.aborted?Pe(void 0).pipe(Fi(1)):new Be(i=>{let e=()=>{i.next(),i.complete()};return t.addEventListener("abort",e),()=>t.removeEventListener("abort",e)})}function $1(t){return Ba(H1(t))}function MA(t){return nn(i=>{let{targetSnapshot:e,currentSnapshot:n,guards:{canActivateChecks:o,canDeactivateChecks:r}}=i;return r.length===0&&o.length===0?Pe(ie(T({},i),{guardsResult:!0})):RA(r,e,n).pipe(nn(a=>a&&xA(a)?OA(e,o,t):Pe(a)),Ze(a=>ie(T({},i),{guardsResult:a})))})}function RA(t,i,e){return ft(t).pipe(nn(n=>LA(n.component,n.route,e,i)),Pi(n=>n!==!0,!0))}function OA(t,i,e){return ft(i).pipe(Er(n=>Dr(NA(n.route.parent,e),AA(n.route,e),PA(t,n.path),FA(t,n.route))),Pi(n=>n!==!0,!0))}function AA(t,i){return t!==null&&i&&i(new Yg(t)),Pe(!0)}function NA(t,i){return t!==null&&i&&i(new qg(t)),Pe(!0)}function FA(t,i){let e=i.routeConfig?i.routeConfig.canActivate:null;if(!e||e.length===0)return Pe(!0);let n=e.map(o=>Fa(()=>{let r=i._environmentInjector,a=ha(o,r),s=DA(a)?a.canActivate(i,t):zt(r,()=>a(i,t));return cr(s).pipe(Pi())}));return Pe(n).pipe(fa())}function PA(t,i){let e=i[i.length-1],o=i.slice(0,i.length-1).reverse().map(r=>vA(r)).filter(r=>r!==null).map(r=>Fa(()=>{let a=r.guards.map(s=>{let l=r.node._environmentInjector,c=ha(s,l),u=EA(c)?c.canActivateChild(e,t):zt(l,()=>c(e,t));return cr(u).pipe(Pi())});return Pe(a).pipe(fa())}));return Pe(o).pipe(fa())}function LA(t,i,e,n){let o=i&&i.routeConfig?i.routeConfig.canDeactivate:null;if(!o||o.length===0)return Pe(!0);let r=o.map(a=>{let s=i._environmentInjector,l=ha(a,s),c=IA(l)?l.canDeactivate(t,i,e,n):zt(s,()=>l(t,i,e,n));return cr(c).pipe(Pi())});return Pe(r).pipe(fa())}function BA(t,i,e,n,o){let r=i.canLoad;if(r===void 0||r.length===0)return Pe(!0);let a=r.map(s=>{let l=ha(s,t),c=TA(l)?l.canLoad(i,e):zt(t,()=>l(i,e)),u=cr(c);return o?u.pipe($1(o)):u});return Pe(a).pipe(fa(),U1(n))}function U1(t){return fp(Rn(i=>{if(typeof i!="boolean")throw Jd(t,i)}),Ze(i=>i===!0))}function VA(t,i,e,n,o,r){let a=i.canMatch;if(!a||a.length===0)return Pe(!0);let s=a.map(l=>{let c=ha(l,t),u=SA(c)?c.canMatch(i,e,o):zt(t,()=>c(i,e,o));return cr(u).pipe($1(r))});return Pe(s).pipe(fa(),U1(n))}var Gi=class t extends Error{segmentGroup;constructor(i){super(),this.segmentGroup=i||null,Object.setPrototypeOf(this,t.prototype)}},qs=class t extends Error{urlTree;constructor(i){super(),this.urlTree=i,Object.setPrototypeOf(this,t.prototype)}};function zA(t){throw new X(4e3,!1)}function jA(t){throw V1(!1,ln.GuardRejected)}var im=class{urlSerializer;urlTree;constructor(i,e){this.urlSerializer=i,this.urlTree=e}lineralizeSegments(i,e){return Ce(this,null,function*(){let n=[],o=e.root;for(;;){if(n=n.concat(o.segments),o.numberOfChildren===0)return n;if(o.numberOfChildren>1||!o.children[Se])throw zA(`${i.redirectTo}`);o=o.children[Se]}})}applyRedirectCommands(i,e,n,o,r){return Ce(this,null,function*(){let a=yield HA(e,o,r);if(a instanceof li)throw new qs(a);let s=this.applyRedirectCreateUrlTree(a,this.urlSerializer.parse(a),i,n);if(a[0]==="/")throw new qs(s);return s})}applyRedirectCreateUrlTree(i,e,n,o){let r=this.createSegmentGroup(i,e.root,n,o);return new li(r,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(i,e){let n={};return Object.entries(i).forEach(([o,r])=>{if(typeof r=="string"&&r[0]===":"){let s=r.substring(1);n[o]=e[s]}else n[o]=r}),n}createSegmentGroup(i,e,n,o){let r=this.createSegments(i,e.segments,n,o),a={};return Object.entries(e.children).forEach(([s,l])=>{a[s]=this.createSegmentGroup(i,l,n,o)}),new Ke(r,a)}createSegments(i,e,n,o){return e.map(r=>r.path[0]===":"?this.findPosParam(i,r,o):this.findOrReturn(r,n))}findPosParam(i,e,n){let o=n[e.path.substring(1)];if(!o)throw new X(4001,!1);return o}findOrReturn(i,e){let n=0;for(let o of e){if(o.path===i.path)return e.splice(n),o;n++}return i}};function HA(t,i,e){if(typeof t=="string")return Promise.resolve(t);let n=t;return Wd(cr(zt(e,()=>n(i))))}function $A(t,i){return t.providers&&!t._injector&&(t._injector=Ds(t.providers,i,`Route: ${t.path}`)),t._injector??i}function si(t){return t.outlet||Se}function UA(t,i){let e=t.filter(n=>si(n)===i);return e.push(...t.filter(n=>si(n)!==i)),e}var om={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function W1(t){return{routeConfig:t.routeConfig,url:t.url,params:t.params,queryParams:t.queryParams,fragment:t.fragment,data:t.data,outlet:t.outlet,title:t.title,paramMap:t.paramMap,queryParamMap:t.queryParamMap}}function WA(t,i,e,n,o,r,a){let s=G1(t,i,e);if(!s.matched)return Pe(s);let l=W1(r(s));return n=$A(i,n),VA(n,i,e,o,l,a).pipe(Ze(c=>c===!0?s:T({},om)))}function G1(t,i,e){if(i.path==="")return i.pathMatch==="full"&&(t.hasChildren()||e.length>0)?T({},om):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let o=(i.matcher||VO)(e,t,i);if(!o)return T({},om);let r={};Object.entries(o.posParams??{}).forEach(([s,l])=>{r[s]=l.path});let a=o.consumed.length>0?T(T({},r),o.consumed[o.consumed.length-1].parameters):r;return{matched:!0,consumedSegments:o.consumed,remainingSegments:e.slice(o.consumed.length),parameters:a,positionalParamSegments:o.posParams??{}}}function g1(t,i,e,n,o){return e.length>0&&KA(t,e,n,o)?{segmentGroup:new Ke(i,qA(n,new Ke(e,t.children))),slicedSegments:[]}:e.length===0&&YA(t,e,n)?{segmentGroup:new Ke(t.segments,GA(t,e,n,t.children)),slicedSegments:e}:{segmentGroup:new Ke(t.segments,t.children),slicedSegments:e}}function GA(t,i,e,n){let o={};for(let r of e)if(iu(t,i,r)&&!n[si(r)]){let a=new Ke([],{});o[si(r)]=a}return T(T({},n),o)}function qA(t,i){let e={};e[Se]=i;for(let n of t)if(n.path===""&&si(n)!==Se){let o=new Ke([],{});e[si(n)]=o}return e}function KA(t,i,e,n){return e.some(o=>!iu(t,i,o)||!(si(o)!==Se)?!1:!(n!==void 0&&si(o)===n))}function YA(t,i,e){return e.some(n=>iu(t,i,n))}function iu(t,i,e){return(t.hasChildren()||i.length>0)&&e.pathMatch==="full"?!1:e.path===""}function QA(t,i,e){return i.length===0&&!t.children[e]}var rm=class{};function ZA(t,i,e,n,o,r,a="emptyOnly",s){return Ce(this,null,function*(){return new am(t,i,e,n,o,a,r,s).recognize()})}var XA=31,am=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(i,e,n,o,r,a,s,l){this.injector=i,this.configLoader=e,this.rootComponentType=n,this.config=o,this.urlTree=r,this.paramsInheritanceStrategy=a,this.urlSerializer=s,this.abortSignal=l,this.applyRedirects=new im(this.urlSerializer,this.urlTree)}noMatchError(i){return new X(4002,`'${i.segmentGroup}'`)}recognize(){return Ce(this,null,function*(){let i=g1(this.urlTree.root,[],[],this.config).segmentGroup,{children:e,rootSnapshot:n}=yield this.match(i),o=new Dn(n,e),r=new Xd("",o),a=rA(n,[],this.urlTree.queryParams,this.urlTree.fragment);return a.queryParams=this.urlTree.queryParams,r.url=this.urlSerializer.serialize(a),{state:r,tree:a}})}match(i){return Ce(this,null,function*(){let e=new Us([],Object.freeze({}),Object.freeze(T({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),Se,this.rootComponentType,null,{},this.injector);try{return{children:yield this.processSegmentGroup(this.injector,this.config,i,Se,e),rootSnapshot:e}}catch(n){if(n instanceof qs)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof Gi?this.noMatchError(n):n}})}processSegmentGroup(i,e,n,o,r){return Ce(this,null,function*(){if(n.segments.length===0&&n.hasChildren())return this.processChildren(i,e,n,r);let a=yield this.processSegment(i,e,n,n.segments,o,!0,r);return a instanceof Dn?[a]:[]})}processChildren(i,e,n,o){return Ce(this,null,function*(){let r=[];for(let l of Object.keys(n.children))l==="primary"?r.unshift(l):r.push(l);let a=[];for(let l of r){let c=n.children[l],u=UA(e,l),h=yield this.processSegmentGroup(i,u,c,l,o);a.push(...h)}let s=q1(a);return JA(s),s})}processSegment(i,e,n,o,r,a,s){return Ce(this,null,function*(){for(let l of e)try{return yield this.processSegmentAgainstRoute(l._injector??i,e,l,n,o,r,a,s)}catch(c){if(c instanceof Gi||j1(c))continue;throw c}if(QA(n,o,r))return new rm;throw new Gi(n)})}processSegmentAgainstRoute(i,e,n,o,r,a,s,l){return Ce(this,null,function*(){if(si(n)!==a&&(a===Se||!iu(o,r,n)))throw new Gi(o);if(n.redirectTo===void 0)return this.matchSegmentAgainstRoute(i,o,n,r,a,l);if(this.allowRedirects&&s)return this.expandSegmentAgainstRouteUsingRedirect(i,o,e,n,r,a,l);throw new Gi(o)})}expandSegmentAgainstRouteUsingRedirect(i,e,n,o,r,a,s){return Ce(this,null,function*(){let{matched:l,parameters:c,consumedSegments:u,positionalParamSegments:h,remainingSegments:g}=G1(e,o,r);if(!l)throw new Gi(e);typeof o.redirectTo=="string"&&o.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>XA&&(this.allowRedirects=!1));let m=this.createSnapshot(i,o,r,c,s);if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let x=yield this.applyRedirects.applyRedirectCommands(u,o.redirectTo,h,W1(m),i),E=yield this.applyRedirects.lineralizeSegments(o,x);return this.processSegment(i,n,e,E.concat(g),a,!1,s)})}createSnapshot(i,e,n,o,r){let a=new Us(n,o,Object.freeze(T({},this.urlTree.queryParams)),this.urlTree.fragment,t3(e),si(e),e.component??e._loadedComponent??null,e,n3(e),i),s=lm(a,r,this.paramsInheritanceStrategy);return a.params=Object.freeze(s.params),a.data=Object.freeze(s.data),a}matchSegmentAgainstRoute(i,e,n,o,r,a){return Ce(this,null,function*(){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let s=se=>this.createSnapshot(i,n,se.consumedSegments,se.parameters,a),l=yield Wd(WA(e,n,o,i,this.urlSerializer,s,this.abortSignal));if(n.path==="**"&&(e.children={}),!l?.matched)throw new Gi(e);i=n._injector??i;let{routes:c}=yield this.getChildConfig(i,n,o),u=n._loadedInjector??i,{parameters:h,consumedSegments:g,remainingSegments:m}=l,x=this.createSnapshot(i,n,g,h,a),{segmentGroup:E,slicedSegments:k}=g1(e,g,m,c,r);if(k.length===0&&E.hasChildren()){let se=yield this.processChildren(u,c,E,x);return new Dn(x,se)}if(c.length===0&&k.length===0)return new Dn(x,[]);let z=si(n)===r,Q=yield this.processSegment(u,c,E,k,z?Se:r,!0,x);return new Dn(x,Q instanceof Dn?[Q]:[])})}getChildConfig(i,e,n){return Ce(this,null,function*(){if(e.children)return{routes:e.children,injector:i};if(e.loadChildren){if(e._loadedRoutes!==void 0){let r=e._loadedNgModuleFactory;return r&&!e._loadedInjector&&(e._loadedInjector=r.create(i).injector),{routes:e._loadedRoutes,injector:e._loadedInjector}}if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(yield Wd(BA(i,e,n,this.urlSerializer,this.abortSignal))){let r=yield this.configLoader.loadChildren(i,e);return e._loadedRoutes=r.routes,e._loadedInjector=r.injector,e._loadedNgModuleFactory=r.factory,r}throw jA(e)}return{routes:[],injector:i}})}};function JA(t){t.sort((i,e)=>i.value.outlet===Se?-1:e.value.outlet===Se?1:i.value.outlet.localeCompare(e.value.outlet))}function e3(t){let i=t.value.routeConfig;return i&&i.path===""}function q1(t){let i=[],e=new Set;for(let n of t){if(!e3(n)){i.push(n);continue}let o=i.find(r=>n.value.routeConfig===r.value.routeConfig);o!==void 0?(o.children.push(...n.children),e.add(o)):i.push(n)}for(let n of e){let o=q1(n.children);i.push(new Dn(n.value,o))}return i.filter(n=>!e.has(n))}function t3(t){return t.data||{}}function n3(t){return t.resolve||{}}function i3(t,i,e,n,o,r,a){return nn(s=>Ce(null,null,function*(){let{state:l,tree:c}=yield ZA(t,i,e,n,s.extractedUrl,o,r,a);return ie(T({},s),{targetSnapshot:l,urlAfterRedirects:c})}))}function o3(t){return nn(i=>{let{targetSnapshot:e,guards:{canActivateChecks:n}}=i;if(!n.length)return Pe(i);let o=new Set(n.map(s=>s.route)),r=new Set;for(let s of o)if(!r.has(s))for(let l of K1(s))r.add(l);let a=0;return ft(r).pipe(Er(s=>o.has(s)?r3(s,e,t):(s.data=lm(s,s.parent,t).resolve,Pe(void 0))),Rn(()=>a++),oc(1),nn(s=>a===r.size?Pe(i):Gt))})}function K1(t){let i=t.children.map(e=>K1(e)).flat();return[t,...i]}function r3(t,i,e){let n=t.routeConfig,o=t._resolve;return n?.title!==void 0&&!F1(n)&&(o[Ks]=n.title),Fa(()=>(t.data=lm(t,t.parent,e).resolve,a3(o,t,i).pipe(Ze(r=>(t._resolvedData=r,t.data=T(T({},t.data),r),null)))))}function a3(t,i,e){let n=Pg(t);if(n.length===0)return Pe({});let o={};return ft(n).pipe(nn(r=>s3(t[r],i,e).pipe(Pi(),Rn(a=>{if(a instanceof Gs)throw Jd(new sr,a);o[r]=a}))),oc(1),Ze(()=>o),Pa(r=>j1(r)?Gt:mp(r)))}function s3(t,i,e){let n=i._environmentInjector,o=ha(t,n),r=o.resolve?o.resolve(i,e):zt(n,()=>o(i,e));return cr(r)}function m1(t){return gn(i=>{let e=t(i);return e?ft(e).pipe(Ze(()=>i)):Pe(i)})}var Y1=(()=>{class t{buildTitle(e){let n,o=e.root;for(;o!==void 0;)n=this.getResolvedTitleForRoute(o)??n,o=o.children.find(r=>r.outlet===Se);return n}getResolvedTitleForRoute(e){return e.data[Ks]}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:()=>v(l3),providedIn:"root"})}return t})(),l3=(()=>{class t extends Y1{title;constructor(e){super(),this.title=e}updateTitle(e){let n=this.buildTitle(e);n!==void 0&&this.title.setTitle(n)}static \u0275fac=function(n){return new(n||t)(ye(c1))};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ou=new B("",{factory:()=>({})}),ru=new B(""),Q1=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=v(eg);loadComponent(e,n){return Ce(this,null,function*(){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return Promise.resolve(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);let o=Ce(this,null,function*(){try{let r=yield y1(zt(e,()=>n.loadComponent())),a=yield X1(Z1(r));return this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=a,a}finally{this.componentLoaders.delete(n)}});return this.componentLoaders.set(n,o),o})}loadChildren(e,n){if(this.childrenLoaders.get(n))return this.childrenLoaders.get(n);if(n._loadedRoutes)return Promise.resolve({routes:n._loadedRoutes,injector:n._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(n);let o=Ce(this,null,function*(){try{let r=yield c3(n,this.compiler,e,this.onLoadEndListener);return n._loadedRoutes=r.routes,n._loadedInjector=r.injector,n._loadedNgModuleFactory=r.factory,r}finally{this.childrenLoaders.delete(n)}});return this.childrenLoaders.set(n,o),o}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function c3(t,i,e,n){return Ce(this,null,function*(){let o=yield y1(zt(e,()=>t.loadChildren())),r=yield X1(Z1(o)),a;r instanceof md||Array.isArray(r)?a=r:a=yield i.compileModuleAsync(r),n&&n(t);let s,l,c=!1,u;return Array.isArray(a)?(l=a,c=!0):(s=a.create(e).injector,u=a,l=s.get(ru,[],{optional:!0,self:!0}).flat()),{routes:l.map(dm),injector:s,factory:u}})}function d3(t){return t&&typeof t=="object"&&"default"in t}function Z1(t){return d3(t)?t.default:t}function X1(t){return Ce(this,null,function*(){return t})}var um=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:()=>v(u3),providedIn:"root"})}return t})(),u3=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,n){return e}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),J1=new B("");var p3=()=>{},eC=new B(""),tC=(()=>{class t{currentNavigation=Y(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=Y(null);events=new Ue;transitionAbortWithErrorSubject=new Ue;configLoader=v(Q1);environmentInjector=v(ht);destroyRef=v(Zt);urlSerializer=v(tu);rootContexts=v(Ys);location=v(ea);inputBindingEnabled=v(nu,{optional:!0})!==null;titleStrategy=v(Y1);options=v(ou,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=v(um);createViewTransition=v(J1,{optional:!0});navigationErrorHandler=v(eC,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>Pe(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=o=>this.events.next(new Wg(o)),n=o=>this.events.next(new Gg(o));this.configLoader.onLoadEndListener=n,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let n=++this.navigationId;yt(()=>{this.transitions?.next(ie(T({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:n,routesRecognizeHandler:{},beforeActivateHandler:{}}))})}setupNavigations(e){return this.transitions=new Wt(null),this.transitions.pipe(qn(n=>n!==null),gn(n=>{let o=!1,r=new AbortController,a=()=>!o&&this.currentTransition?.id===n.id;return Pe(n).pipe(gn(s=>{if(this.navigationId>n.id)return this.cancelNavigationTransition(n,"",ln.SupersededByNewNavigation),Gt;this.currentTransition=n;let l=this.lastSuccessfulNavigation();this.currentNavigation.set({id:s.id,initialUrl:s.rawUrl,extractedUrl:s.extractedUrl,targetBrowserUrl:typeof s.extras.browserUrl=="string"?this.urlSerializer.parse(s.extras.browserUrl):s.extras.browserUrl,trigger:s.source,extras:s.extras,previousNavigation:l?ie(T({},l),{previousNavigation:null}):null,abort:()=>r.abort(),routesRecognizeHandler:s.routesRecognizeHandler,beforeActivateHandler:s.beforeActivateHandler});let c=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),u=s.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!c&&u!=="reload")return this.events.next(new yo(s.id,this.urlSerializer.serialize(s.rawUrl),"",Kd.IgnoredSameUrlNavigation)),s.resolve(!1),Gt;if(this.urlHandlingStrategy.shouldProcessUrl(s.rawUrl))return Pe(s).pipe(gn(h=>(this.events.next(new ca(h.id,this.urlSerializer.serialize(h.extractedUrl),h.source,h.restoredState)),h.id!==this.navigationId?Gt:Promise.resolve(h))),i3(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy,r.signal),Rn(h=>{n.targetSnapshot=h.targetSnapshot,n.urlAfterRedirects=h.urlAfterRedirects,this.currentNavigation.update(g=>(g.finalUrl=h.urlAfterRedirects,g)),this.events.next(new $s)}),gn(h=>ft(n.routesRecognizeHandler.deferredHandle??Pe(void 0)).pipe(Ze(()=>h))),Rn(()=>{let h=new Yd(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(h)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(s.currentRawUrl)){let{id:h,extractedUrl:g,source:m,restoredState:x,extras:E}=s,k=new ca(h,this.urlSerializer.serialize(g),m,x);this.events.next(k);let z=A1(this.rootComponentType,this.environmentInjector).snapshot;return this.currentTransition=n=ie(T({},s),{targetSnapshot:z,urlAfterRedirects:g,extras:ie(T({},E),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(Q=>(Q.finalUrl=g,Q)),Pe(n)}else return this.events.next(new yo(s.id,this.urlSerializer.serialize(s.extractedUrl),"",Kd.IgnoredByUrlHandlingStrategy)),s.resolve(!1),Gt}),Ze(s=>{let l=new jg(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);return this.events.next(l),this.currentTransition=n=ie(T({},s),{guards:_A(s.targetSnapshot,s.currentSnapshot,this.rootContexts)}),n}),MA(s=>this.events.next(s)),gn(s=>{if(n.guardsResult=s.guardsResult,s.guardsResult&&typeof s.guardsResult!="boolean")throw Jd(this.urlSerializer,s.guardsResult);let l=new Hg(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot,!!s.guardsResult);if(this.events.next(l),!a())return Gt;if(!s.guardsResult)return this.cancelNavigationTransition(s,"",ln.GuardRejected),Gt;if(s.guards.canActivateChecks.length===0)return Pe(s);let c=new $g(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);if(this.events.next(c),!a())return Gt;let u=!1;return Pe(s).pipe(o3(this.paramsInheritanceStrategy),Rn({next:()=>{u=!0;let h=new Ug(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(h)},complete:()=>{u||this.cancelNavigationTransition(s,"",ln.NoDataFromResolver)}}))}),m1(s=>{let l=u=>{let h=[];if(u.routeConfig?._loadedComponent)u.component=u.routeConfig?._loadedComponent;else if(u.routeConfig?.loadComponent){let g=u._environmentInjector;h.push(this.configLoader.loadComponent(g,u.routeConfig).then(m=>{u.component=m}))}for(let g of u.children)h.push(...l(g));return h},c=l(s.targetSnapshot.root);return c.length===0?Pe(s):ft(Promise.all(c).then(()=>s))}),m1(()=>this.afterPreactivation()),gn(()=>{let{currentSnapshot:s,targetSnapshot:l}=n,c=this.createViewTransition?.(this.environmentInjector,s.root,l.root);return c?ft(c).pipe(Ze(()=>n)):Pe(n)}),Fi(1),gn(s=>{let l=gA(e.routeReuseStrategy,s.targetSnapshot,s.currentRouterState);this.currentTransition=n=s=ie(T({},s),{targetRouterState:l}),this.currentNavigation.update(u=>(u.targetRouterState=l,u)),this.events.next(new ua);let c=n.beforeActivateHandler.deferredHandle;return c?ft(c.then(()=>s)):Pe(s)}),Rn(s=>{new nm(e.routeReuseStrategy,n.targetRouterState,n.currentRouterState,l=>this.events.next(l),this.inputBindingEnabled).activate(this.rootContexts),a()&&(o=!0,this.currentNavigation.update(l=>(l.abort=p3,l)),this.lastSuccessfulNavigation.set(yt(this.currentNavigation)),this.events.next(new bo(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects))),this.titleStrategy?.updateTitle(s.targetRouterState.snapshot),s.resolve(!0))}),Ba(H1(r.signal).pipe(qn(()=>!o&&!n.targetRouterState),Rn(()=>{this.cancelNavigationTransition(n,r.signal.reason+"",ln.Aborted)}))),Rn({complete:()=>{o=!0}}),Ba(this.transitionAbortWithErrorSubject.pipe(Rn(s=>{throw s}))),La(()=>{r.abort(),o||this.cancelNavigationTransition(n,"",ln.SupersededByNewNavigation),this.currentTransition?.id===n.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),Pa(s=>{if(o=!0,this.destroyed)return n.resolve(!1),Gt;if(z1(s))this.events.next(new ai(n.id,this.urlSerializer.serialize(n.extractedUrl),s.message,s.cancellationCode)),yA(s)?this.events.next(new pa(s.url,s.navigationBehaviorOptions)):n.resolve(!1);else{let l=new da(n.id,this.urlSerializer.serialize(n.extractedUrl),s,n.targetSnapshot??void 0);try{let c=zt(this.environmentInjector,()=>this.navigationErrorHandler?.(l));if(c instanceof Gs){let{message:u,cancellationCode:h}=Jd(this.urlSerializer,c);this.events.next(new ai(n.id,this.urlSerializer.serialize(n.extractedUrl),u,h)),this.events.next(new pa(c.redirectTo,c.navigationBehaviorOptions))}else throw this.events.next(l),s}catch(c){this.options.resolveNavigationPromiseOnError?n.resolve(!1):n.reject(c)}}return Gt}))}))}cancelNavigationTransition(e,n,o){let r=new ai(e.id,this.urlSerializer.serialize(e.extractedUrl),n,o);this.events.next(r),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),n=yt(this.currentNavigation),o=n?.targetBrowserUrl??n?.extractedUrl;return e.toString()!==o?.toString()&&!n?.extras.skipLocationChange}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function f3(t){return t!==zs}var nC=new B("");var h3=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:()=>v(g3),providedIn:"root"})}return t})(),sm=class{shouldDetach(i){return!1}store(i,e){}shouldAttach(i){return!1}retrieve(i){return null}shouldReuseRoute(i,e){return i.routeConfig===e.routeConfig}shouldDestroyInjector(i){return!0}},g3=(()=>{class t extends sm{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),pm=(()=>{class t{urlSerializer=v(tu);options=v(ou,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=v(ea);urlHandlingStrategy=v(um);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new li;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:n,targetBrowserUrl:o}){let r=e!==void 0?this.urlHandlingStrategy.merge(e,n):n,a=o??r;return a instanceof li?this.urlSerializer.serialize(a):a}routerUrlState(e){return e?.targetBrowserUrl===void 0||e?.finalUrl===void 0?{}:{\u0275routerUrl:this.urlSerializer.serialize(e.finalUrl)}}commitTransition({targetRouterState:e,finalUrl:n,initialUrl:o}){n&&e?(this.currentUrlTree=n,this.rawUrlTree=this.urlHandlingStrategy.merge(n,o),this.routerState=e):this.rawUrlTree=o}routerState=A1(null,v(ht));getRouterState(){return this.routerState}_stateMemento=this.createStateMemento();get stateMemento(){return this._stateMemento}updateStateMemento(){this._stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}restoredState(){return this.location.getState()}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:()=>v(m3),providedIn:"root"})}return t})(),m3=(()=>{class t extends pm{currentPageId=0;lastSuccessfulId=-1;get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(n=>{n.type==="popstate"&&setTimeout(()=>{e(n.url,n.state,"popstate",{replaceUrl:!0})})})}handleRouterEvent(e,n){e instanceof ca?this.updateStateMemento():e instanceof yo?this.commitTransition(n):e instanceof Yd?this.urlUpdateStrategy==="eager"&&(n.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(n),n)):e instanceof ua?(this.commitTransition(n),this.urlUpdateStrategy==="deferred"&&!n.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(n),n)):e instanceof ai&&!O1(e)?this.restoreHistory(n):e instanceof da?this.restoreHistory(n,!0):e instanceof bo&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,n){let{extras:o,id:r}=n,{replaceUrl:a,state:s}=o;if(this.location.isCurrentPathEqualTo(e)||a){let l=this.browserPageId,c=T(T({},s),this.generateNgRouterState(r,l,n));this.location.replaceState(e,"",c)}else{let l=T(T({},s),this.generateNgRouterState(r,this.browserPageId+1,n));this.location.go(e,"",l)}}restoreHistory(e,n=!1){if(this.canceledNavigationResolution==="computed"){let o=this.browserPageId,r=this.currentPageId-o;r!==0?this.location.historyGo(r):this.getCurrentUrlTree()===e.finalUrl&&r===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(n&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,n,o){return this.canceledNavigationResolution==="computed"?T({navigationId:e,\u0275routerPageId:n},this.routerUrlState(o)):T({navigationId:e},this.routerUrlState(o))}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function iC(t,i){t.events.pipe(qn(e=>e instanceof bo||e instanceof ai||e instanceof da||e instanceof yo),Ze(e=>e instanceof bo||e instanceof yo?0:(e instanceof ai?e.code===ln.Redirect||e.code===ln.SupersededByNewNavigation:!1)?2:1),qn(e=>e!==2),Fi(1)).subscribe(()=>{i()})}var fm=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=v(Vh);stateManager=v(pm);options=v(ou,{optional:!0})||{};pendingTasks=v(wi);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=v(tC);urlSerializer=v(tu);location=v(ea);urlHandlingStrategy=v(um);injector=v(ht);_events=new Ue;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=v(h3);injectorCleanup=v(nC,{optional:!0});onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=v(ru,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!v(nu,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{}}),this.subscribeToNavigationEvents()}eventsSubscription=new St;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(n=>{try{let o=this.navigationTransitions.currentTransition,r=yt(this.navigationTransitions.currentNavigation);if(o!==null&&r!==null){if(this.stateManager.handleRouterEvent(n,r),n instanceof ai&&n.code!==ln.Redirect&&n.code!==ln.SupersededByNewNavigation)this.navigated=!0;else if(n instanceof bo)this.navigated=!0,this.injectorCleanup?.(this.routeReuseStrategy,this.routerState,this.config);else if(n instanceof pa){let a=n.navigationBehaviorOptions,s=this.urlHandlingStrategy.merge(n.url,o.currentRawUrl),l=T({scroll:o.extras.scroll,browserUrl:o.extras.browserUrl,info:o.extras.info,skipLocationChange:o.extras.skipLocationChange,replaceUrl:o.extras.replaceUrl||this.urlUpdateStrategy==="eager"||f3(o.source)},a);this.scheduleNavigation(s,zs,null,l,{resolve:o.resolve,reject:o.reject,promise:o.promise})}}pA(n)&&this._events.next(n)}catch(o){this.navigationTransitions.transitionAbortWithErrorSubject.next(o)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),zs,this.stateManager.restoredState(),{replaceUrl:!0})}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,n,o,r)=>{this.navigateToSyncWithBrowser(e,o,n,r)})}navigateToSyncWithBrowser(e,n,o,r){let a=o?.navigationId?o:null,s=o?.\u0275routerUrl??e;if(o?.\u0275routerUrl&&(r=ie(T({},r),{browserUrl:e})),o){let c=T({},o);delete c.navigationId,delete c.\u0275routerPageId,delete c.\u0275routerUrl,Object.keys(c).length!==0&&(r.state=c)}let l=this.parseUrl(s);this.scheduleNavigation(l,n,a,r).catch(c=>{this.disposed||this.injector.get(_n)(c)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return yt(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(dm),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription?.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0,this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,n={}){let{relativeTo:o,queryParams:r,fragment:a,queryParamsHandling:s,preserveFragment:l}=n,c=l?this.currentUrlTree.fragment:a,u=null;switch(s??this.options.defaultQueryParamsHandling){case"merge":u=T(T({},this.currentUrlTree.queryParams),r);break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=r||null}u!==null&&(u=this.removeEmptyProps(u));let h;try{let g=o?o.snapshot:this.routerState.snapshot.root;h=S1(g)}catch(g){(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),h=this.currentUrlTree.root}return k1(h,e,u,c??null,this.urlSerializer)}navigateByUrl(e,n={skipLocationChange:!1}){let o=la(e)?e:this.parseUrl(e),r=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(r,zs,null,n)}navigate(e,n={skipLocationChange:!1}){return b3(e),this.navigateByUrl(this.createUrlTree(e,n),n)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch(n){return this.console.warn(Bi(4018,!1)),this.urlSerializer.parse("/")}}isActive(e,n){let o;if(n===!0?o=T({},v1):n===!1?o=T({},Lg):o=T(T({},Lg),n),la(e))return d1(this.currentUrlTree,e,o);let r=this.parseUrl(e);return d1(this.currentUrlTree,r,o)}removeEmptyProps(e){return Object.entries(e).reduce((n,[o,r])=>(r!=null&&(n[o]=r),n),{})}scheduleNavigation(e,n,o,r,a){if(this.disposed)return Promise.resolve(!1);let s,l,c;a?(s=a.resolve,l=a.reject,c=a.promise):c=new Promise((h,g)=>{s=h,l=g});let u=this.pendingTasks.add();return iC(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:n,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:r,resolve:s,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(Promise.reject.bind(Promise))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function b3(t){for(let i=0;ie.\u0275providers)])}function _3(){return v(fm).routerState.root}function v3(){let t=v(ut);return i=>{let e=t.get(Ui);if(i!==e.components[0])return;let n=t.get(fm),o=t.get(C3);t.get(w3)===1&&n.initialNavigation(),t.get(x3,null,{optional:!0})?.setUpPreloading(),t.get(y3,null,{optional:!0})?.init(),n.resetRootComponentType(e.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}var C3=new B("",{factory:()=>new Ue}),w3=new B("",{factory:()=>1});var x3=new B("");function _o(...t){if(t){let i=[];for(let e=0;es?a:void 0);i=r.length?i.concat(r.filter(a=>!!a)):i}}return i.join(" ").trim()}}function ga(t){return t==null||t===""||Array.isArray(t)&&t.length===0||!(t instanceof Date)&&typeof t=="object"&&Object.keys(t).length===0}function gm(t,i,e=new WeakSet){if(t===i)return!0;if(!t||!i||typeof t!="object"||typeof i!="object"||e.has(t)||e.has(i))return!1;e.add(t).add(i);let n=Array.isArray(t),o=Array.isArray(i),r,a,s;if(n&&o){if(a=t.length,a!=i.length)return!1;for(r=a;r--!==0;)if(!gm(t[r],i[r],e))return!1;return!0}if(n!=o)return!1;let l=t instanceof Date,c=i instanceof Date;if(l!=c)return!1;if(l&&c)return t.getTime()==i.getTime();let u=t instanceof RegExp,h=i instanceof RegExp;if(u!=h)return!1;if(u&&h)return t.toString()==i.toString();let g=Object.keys(t);if(a=g.length,a!==Object.keys(i).length)return!1;for(r=a;r--!==0;)if(!Object.prototype.hasOwnProperty.call(i,g[r]))return!1;for(r=a;r--!==0;)if(s=g[r],!gm(t[s],i[s],e))return!1;return!0}function mm(t,i){return gm(t,i)}function au(t){return typeof t=="function"&&"call"in t&&"apply"in t}function en(t){return!ga(t)}function pn(t,i){if(!t||!i)return null;try{let e=t[i];if(en(e))return e}catch(e){}if(Object.keys(t).length){if(au(i))return i(t);if(i.indexOf(".")===-1)return t[i];{let e=i.split("."),n=t;for(let o=0,r=e.length;ovo(a)===o)||"";return ym(Un(t[r],e),n.join("."),e)}return}return Un(t,e)}function rC(t,i=!0){return Array.isArray(t)&&(i||t.length!==0)}function Co(t){return t instanceof Date}function aC(t=""){return en(t)&&t.length===1&&!!t.match(/\S| /)}function su(t){return t&&t.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g,"").replace(/ {2,}/g," ").replace(/ ([{:}]) /g,"$1").replace(/([;,]) /g,"$1").replace(/ !/g,"!").replace(/: /g,":").trim()}function En(t){if(t&&/[\xC0-\xFF\u0100-\u017E]/.test(t)){let i={A:/[\xC0-\xC5\u0100\u0102\u0104]/g,AE:/[\xC6]/g,C:/[\xC7\u0106\u0108\u010A\u010C]/g,D:/[\xD0\u010E\u0110]/g,E:/[\xC8-\xCB\u0112\u0114\u0116\u0118\u011A]/g,G:/[\u011C\u011E\u0120\u0122]/g,H:/[\u0124\u0126]/g,I:/[\xCC-\xCF\u0128\u012A\u012C\u012E\u0130]/g,IJ:/[\u0132]/g,J:/[\u0134]/g,K:/[\u0136]/g,L:/[\u0139\u013B\u013D\u013F\u0141]/g,N:/[\xD1\u0143\u0145\u0147\u014A]/g,O:/[\xD2-\xD6\xD8\u014C\u014E\u0150]/g,OE:/[\u0152]/g,R:/[\u0154\u0156\u0158]/g,S:/[\u015A\u015C\u015E\u0160]/g,T:/[\u0162\u0164\u0166]/g,U:/[\xD9-\xDC\u0168\u016A\u016C\u016E\u0170\u0172]/g,W:/[\u0174]/g,Y:/[\xDD\u0176\u0178]/g,Z:/[\u0179\u017B\u017D]/g,a:/[\xE0-\xE5\u0101\u0103\u0105]/g,ae:/[\xE6]/g,c:/[\xE7\u0107\u0109\u010B\u010D]/g,d:/[\u010F\u0111]/g,e:/[\xE8-\xEB\u0113\u0115\u0117\u0119\u011B]/g,g:/[\u011D\u011F\u0121\u0123]/g,i:/[\xEC-\xEF\u0129\u012B\u012D\u012F\u0131]/g,ij:/[\u0133]/g,j:/[\u0135]/g,k:/[\u0137,\u0138]/g,l:/[\u013A\u013C\u013E\u0140\u0142]/g,n:/[\xF1\u0144\u0146\u0148\u014B]/g,p:/[\xFE]/g,o:/[\xF2-\xF6\xF8\u014D\u014F\u0151]/g,oe:/[\u0153]/g,r:/[\u0155\u0157\u0159]/g,s:/[\u015B\u015D\u015F\u0161]/g,t:/[\u0163\u0165\u0167]/g,u:/[\xF9-\xFC\u0169\u016B\u016D\u016F\u0171\u0173]/g,w:/[\u0175]/g,y:/[\xFD\xFF\u0177]/g,z:/[\u017A\u017C\u017E]/g};for(let e in i)t=t.replace(i[e],e)}return t}function Tt(t,i){return t?t.classList?t.classList.contains(i):new RegExp("(^| )"+i+"( |$)","gi").test(t.className):!1}function Ii(t,i){if(t&&i){let e=n=>{Tt(t,n)||(t.classList?t.classList.add(n):t.className+=" "+n)};[i].flat().filter(Boolean).forEach(n=>n.split(" ").forEach(e))}}function E3(){return window.innerWidth-document.documentElement.offsetWidth}function sC(t){typeof t=="string"?Ii(document.body,t||"p-overflow-hidden"):(t!=null&&t.variableName&&document.body.style.setProperty(t.variableName,E3()+"px"),Ii(document.body,t?.className||"p-overflow-hidden"))}function In(t,i){if(t&&i){let e=n=>{t.classList?t.classList.remove(n):t.className=t.className.replace(new RegExp("(^|\\b)"+n.split(" ").join("|")+"(\\b|$)","gi")," ")};[i].flat().filter(Boolean).forEach(n=>n.split(" ").forEach(e))}}function lC(t){typeof t=="string"?In(document.body,t||"p-overflow-hidden"):(t!=null&&t.variableName&&document.body.style.removeProperty(t.variableName),In(document.body,t?.className||"p-overflow-hidden"))}function Xs(t){for(let i of document?.styleSheets)try{for(let e of i?.cssRules)for(let n of e?.style)if(t.test(n))return{name:n,value:e.style.getPropertyValue(n).trim()}}catch(e){}return null}function cC(t){let i={width:0,height:0};if(t){let[e,n]=[t.style.visibility,t.style.display],o=t.getBoundingClientRect();t.style.visibility="hidden",t.style.display="block",i.width=o.width||t.offsetWidth,i.height=o.height||t.offsetHeight,t.style.display=n,t.style.visibility=e}return i}function ur(){let t=window,i=document,e=i.documentElement,n=i.getElementsByTagName("body")[0],o=t.innerWidth||e.clientWidth||n.clientWidth,r=t.innerHeight||e.clientHeight||n.clientHeight;return{width:o,height:r}}function _m(t){return t?Math.abs(t.scrollLeft):0}function vm(){let t=document.documentElement;return(window.pageXOffset||_m(t))-(t.clientLeft||0)}function Cm(){let t=document.documentElement;return(window.pageYOffset||t.scrollTop)-(t.clientTop||0)}function I3(t){return t?getComputedStyle(t).direction==="rtl":!1}function Js(t,i,e=!0){var n,o,r,a;if(t){let s=t.offsetParent?{width:t.offsetWidth,height:t.offsetHeight}:cC(t),l=s.height,c=s.width,u=i.offsetHeight,h=i.offsetWidth,g=i.getBoundingClientRect(),m=Cm(),x=vm(),E=ur(),k,z,Q="top";g.top+u+l>E.height?(k=g.top+m-l,Q="bottom",k<0&&(k=m)):k=u+g.top+m,g.left+c>E.width?z=Math.max(0,g.left+x+h-c):z=g.left+x,I3(t)?t.style.insetInlineEnd=z+"px":t.style.insetInlineStart=z+"px",t.style.top=k+"px",t.style.transformOrigin=Q,e&&(t.style.marginTop=Q==="bottom"?`calc(${(o=(n=Xs(/-anchor-gutter$/))==null?void 0:n.value)!=null?o:"2px"} * -1)`:(a=(r=Xs(/-anchor-gutter$/))==null?void 0:r.value)!=null?a:"")}}function ma(t,i){t&&(typeof i=="string"?t.style.cssText=i:Object.entries(i||{}).forEach(([e,n])=>t.style[e]=n))}function Lt(t,i){if(t instanceof HTMLElement){let e=t.offsetWidth;if(i){let n=getComputedStyle(t);e+=parseFloat(n.marginLeft)+parseFloat(n.marginRight)}return e}return 0}function cu(t,i,e=!0,n=void 0){var o;if(t){let r=t.offsetParent?{width:t.offsetWidth,height:t.offsetHeight}:cC(t),a=i.offsetHeight,s=i.getBoundingClientRect(),l=ur(),c,u,h=n??"top";if(!n&&s.top+a+r.height>l.height?(c=-1*r.height,h="bottom",s.top+c<0&&(c=-1*s.top)):c=a,r.width>l.width?u=s.left*-1:s.left+r.width>l.width?u=(s.left+r.width-l.width)*-1:u=0,t.style.top=c+"px",t.style.insetInlineStart=u+"px",t.style.transformOrigin=h,e){let g=(o=Xs(/-anchor-gutter$/))==null?void 0:o.value;t.style.marginTop=h==="bottom"?`calc(${g??"2px"} * -1)`:g??""}}}function dC(t){if(t){let i=t.parentNode;return i&&i instanceof ShadowRoot&&i.host&&(i=i.host),i}return null}function S3(t){return!!(t!==null&&typeof t<"u"&&t.nodeName&&dC(t))}function dr(t){return typeof Element<"u"?t instanceof Element:t!==null&&typeof t=="object"&&t.nodeType===1&&typeof t.nodeName=="string"}function lu(t){var i;if(dr(t))return t;if(!t||typeof t!="object")return;let e=t;if("current"in t)e=t.current,e=(i=lu(e?.elementRef))!=null?i:e;else if("value"in t)e=t.value;else if("nativeElement"in t)e=t.nativeElement;else if("el"in t){let n=t.el;n&&typeof n=="object"&&"nativeElement"in n?e=n.nativeElement:e=n}else if("elementRef"in t)return lu(t.elementRef);return e=Un(e),dr(e)?e:void 0}function wm(t,i){var e,n,o;if(t)switch(t){case"document":return document;case"window":return window;case"body":return document.body;case"@next":return i?.nextElementSibling;case"@prev":return i?.previousElementSibling;case"@first":return i?.firstElementChild;case"@last":return i?.lastElementChild;case"@child":return(e=i?.children)==null?void 0:e[0];case"@parent":return i?.parentElement;case"@grandparent":return(n=i?.parentElement)==null?void 0:n.parentElement;default:{if(typeof t=="string"){let s=t.match(/^@child\[(\d+)]/);return s?((o=i?.children)==null?void 0:o[parseInt(s[1],10)])||null:document.querySelector(t)||null}let r=(s=>typeof s=="function"&&"call"in s&&"apply"in s)(t)?t():t,a=lu(r);return S3(a)?a:r?.nodeType===9?r:void 0}}}function ci(t,i){let e=wm(t,i);if(e)e.appendChild(i);else throw new Error("Cannot append "+i+" to "+t)}function du(t,i={}){if(dr(t)){let e=(o,r)=>{var a,s;let l=(a=t?.$attrs)!=null&&a[o]?[(s=t?.$attrs)==null?void 0:s[o]]:[];return[r].flat().reduce((c,u)=>{if(u!=null){let h=typeof u;if(h==="string"||h==="number")c.push(u);else if(h==="object"){let g=Array.isArray(u)?e(o,u):Object.entries(u).map(([m,x])=>o==="style"&&(x||x===0)?`${m.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}:${x}`:x?m:void 0);c=g.length?c.concat(g.filter(m=>!!m)):c}}return c},l)},n=o=>{e("style",o).forEach(r=>{let a=r.indexOf(":");if(a<0)return;let s=r.slice(0,a).trim(),l=r.slice(a+1).trim();s&&t.style.setProperty(s,l)})};Object.entries(i).forEach(([o,r])=>{if(r!=null){let a=o.match(/^on(.+)/);a?t.addEventListener(a[1].toLowerCase(),r):o==="p-bind"||o==="pBind"?du(t,r):o==="style"?(n(r),(t.$attrs=t.$attrs||{})&&(t.$attrs[o]=t.style.cssText)):(r=o==="class"?[...new Set(e("class",r))].join(" ").trim():r,(t.$attrs=t.$attrs||{})&&(t.$attrs[o]=r),t.setAttribute(o,r))}})}}function pr(t,i={},...e){if(t){let n=document.createElement(t);return du(n,i),n.append(...e),n}}function uC(t,i){if(t){t.style.opacity="0";let e=+new Date,n="0",o=function(){n=`${+t.style.opacity+(new Date().getTime()-e)/i}`,t.style.opacity=n,e=+new Date,+n<1&&("requestAnimationFrame"in window?requestAnimationFrame(o):setTimeout(o,16))};o()}}function Sn(t,i){return dr(t)?Array.from(t.querySelectorAll(i)):[]}function Ye(t,i){return dr(t)?t.matches(i)?t:t.querySelector(i):null}function hn(t,i){t&&document.activeElement!==t&&t.focus(i)}function xm(t,i){if(dr(t)){let e=t.getAttribute(i);return isNaN(e)?e==="true"||e==="false"?e==="true":e:+e}}function fr(t,i=""){let e=Sn(t,`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${i}, + [href]:not([tabindex = "-1"]):not([style*="display:none"]):not([hidden])${i}, + input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${i}, + select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${i}, + textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${i}, + [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${i}, + [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${i}`),n=[];for(let o of e)getComputedStyle(o).display!="none"&&getComputedStyle(o).visibility!="hidden"&&n.push(o);return n}function uu(t,i){let e=fr(t,i);return e.length>0?e[0]:null}function Si(t){if(t){let i=t.offsetHeight,e=getComputedStyle(t);return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom)+parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth),i}return 0}function el(t){var i;if(t){let e=(i=dC(t))==null?void 0:i.childNodes,n=0;if(e)for(let o=0;o0?e[e.length-1]:null}function pC(t){if(t){let i=t.getBoundingClientRect();return{top:i.top+(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0),left:i.left+(window.pageXOffset||_m(document.documentElement)||_m(document.body)||0)}}return{top:"auto",left:"auto"}}function cn(t,i){if(t){let e=t.offsetHeight;if(i){let n=getComputedStyle(t);e+=parseFloat(n.marginTop)+parseFloat(n.marginBottom)}return e}return 0}function fC(){if(window.getSelection)return window.getSelection().toString();if(document.getSelection)return document.getSelection().toString()}function ki(t){if(t){let i=t.offsetWidth,e=getComputedStyle(t);return i-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight)+parseFloat(e.borderLeftWidth)+parseFloat(e.borderRightWidth),i}return 0}function hC(t){if(t){let i=t.nodeName,e=t.parentElement&&t.parentElement.nodeName;return i==="INPUT"||i==="TEXTAREA"||i==="BUTTON"||i==="A"||e==="INPUT"||e==="TEXTAREA"||e==="BUTTON"||e==="A"||!!t.closest(".p-button, .p-checkbox, .p-radiobutton")}return!1}function Tm(t){return!!(t&&t.offsetParent!=null)}function qi(){return"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0}function fu(){return new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(t)})})}function gC(t){var i;t&&("remove"in Element.prototype?t.remove():(i=t.parentNode)==null||i.removeChild(t))}function mC(t,i){let e=lu(t);if(e)e.removeChild(i);else throw new Error("Cannot remove "+i+" from "+t)}function bC(t,i){let e=getComputedStyle(t).getPropertyValue("borderTopWidth"),n=e?parseFloat(e):0,o=getComputedStyle(t).getPropertyValue("paddingTop"),r=o?parseFloat(o):0,a=t.getBoundingClientRect(),s=i.getBoundingClientRect().top+document.body.scrollTop-(a.top+document.body.scrollTop)-n-r,l=t.scrollTop,c=t.clientHeight,u=cn(i);s<0?t.scrollTop=l+s:s+u>c&&(t.scrollTop=l+s-c+u)}function Mi(t,i="",e){if(dr(t)&&e!==null&&e!==void 0){if(i==="style"){typeof e=="string"?t.style.cssText=e:typeof e=="object"&&Object.entries(e).forEach(([n,o])=>{if(o==null)return;let r=n.startsWith("--")?n:n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();t.style.setProperty(r,String(o))});return}t.setAttribute(i,e)}}var k3=Object.defineProperty,yC=Object.getOwnPropertySymbols,M3=Object.prototype.hasOwnProperty,R3=Object.prototype.propertyIsEnumerable,_C=(t,i,e)=>i in t?k3(t,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[i]=e,vC=(t,i)=>{for(var e in i||(i={}))M3.call(i,e)&&_C(t,e,i[e]);if(yC)for(var e of yC(i))R3.call(i,e)&&_C(t,e,i[e]);return t};function CC(...t){if(t){let i=[];for(let e=0;es?a:void 0);i=r.length?i.concat(r.filter(a=>!!a)):i}}return i.join(" ").trim()}}function O3(t){return typeof t=="function"&&"call"in t&&"apply"in t}function A3({skipUndefined:t=!1},...i){return i?.reduce((e,n={})=>{for(let o in n){let r=n[o];if(!(t&&r===void 0))if(o==="style")e.style=vC(vC({},e.style),n.style);else if(o==="class"||o==="className")e[o]=CC(e[o],n[o]);else if(O3(r)){let a=e[o];e[o]=a?(...s)=>{a(...s),r(...s)}:r}else e[o]=r}return e},{})}function Dm(...t){return A3({skipUndefined:!1},...t)}var hu={};function Le(t="pui_id_"){return Object.hasOwn(hu,t)||(hu[t]=0),hu[t]++,`${t}${hu[t]}`}var Bt=(()=>{class t{static STARTS_WITH="startsWith";static CONTAINS="contains";static NOT_CONTAINS="notContains";static ENDS_WITH="endsWith";static EQUALS="equals";static NOT_EQUALS="notEquals";static IN="in";static LESS_THAN="lt";static LESS_THAN_OR_EQUAL_TO="lte";static GREATER_THAN="gt";static GREATER_THAN_OR_EQUAL_TO="gte";static BETWEEN="between";static IS="is";static IS_NOT="isNot";static BEFORE="before";static AFTER="after";static DATE_IS="dateIs";static DATE_IS_NOT="dateIsNot";static DATE_BEFORE="dateBefore";static DATE_AFTER="dateAfter"}return t})(),Em=(()=>{class t{static AND="and";static OR="or"}return t})(),gu=(()=>{class t{filter(e,n,o,r,a){let s=[];if(e)for(let l of e)for(let c of n){let u=pn(l,c);if(this.filters[r](u,o,a)){s.push(l);break}}return s}filters={startsWith:(e,n,o)=>{if(n==null||n.trim()==="")return!0;if(e==null)return!1;let r=En(n.toString()).toLocaleLowerCase(o);return En(e.toString()).toLocaleLowerCase(o).slice(0,r.length)===r},contains:(e,n,o)=>{if(n==null||typeof n=="string"&&n.trim()==="")return!0;if(e==null)return!1;let r=En(n.toString()).toLocaleLowerCase(o);return En(e.toString()).toLocaleLowerCase(o).indexOf(r)!==-1},notContains:(e,n,o)=>{if(n==null||typeof n=="string"&&n.trim()==="")return!0;if(e==null)return!1;let r=En(n.toString()).toLocaleLowerCase(o);return En(e.toString()).toLocaleLowerCase(o).indexOf(r)===-1},endsWith:(e,n,o)=>{if(n==null||n.trim()==="")return!0;if(e==null)return!1;let r=En(n.toString()).toLocaleLowerCase(o),a=En(e.toString()).toLocaleLowerCase(o);return a.indexOf(r,a.length-r.length)!==-1},equals:(e,n,o)=>n==null||typeof n=="string"&&n.trim()===""?!0:e==null?!1:e.getTime&&n.getTime?e.getTime()===n.getTime():e==n?!0:En(e.toString()).toLocaleLowerCase(o)==En(n.toString()).toLocaleLowerCase(o),notEquals:(e,n,o)=>n==null||typeof n=="string"&&n.trim()===""?!1:e==null?!0:e.getTime&&n.getTime?e.getTime()!==n.getTime():e==n?!1:En(e.toString()).toLocaleLowerCase(o)!=En(n.toString()).toLocaleLowerCase(o),in:(e,n)=>{if(n==null||n.length===0)return!0;for(let o=0;on==null||n[0]==null||n[1]==null?!0:e==null?!1:e.getTime?n[0].getTime()<=e.getTime()&&e.getTime()<=n[1].getTime():n[0]<=e&&e<=n[1],lt:(e,n,o)=>n==null?!0:e==null?!1:e.getTime&&n.getTime?e.getTime()n==null?!0:e==null?!1:e.getTime&&n.getTime?e.getTime()<=n.getTime():e<=n,gt:(e,n,o)=>n==null?!0:e==null?!1:e.getTime&&n.getTime?e.getTime()>n.getTime():e>n,gte:(e,n,o)=>n==null?!0:e==null?!1:e.getTime&&n.getTime?e.getTime()>=n.getTime():e>=n,is:(e,n,o)=>this.filters.equals(e,n,o),isNot:(e,n,o)=>this.filters.notEquals(e,n,o),before:(e,n,o)=>this.filters.lt(e,n,o),after:(e,n,o)=>this.filters.gt(e,n,o),dateIs:(e,n)=>n==null?!0:e==null?!1:e.toDateString()===n.toDateString(),dateIsNot:(e,n)=>n==null?!0:e==null?!1:e.toDateString()!==n.toDateString(),dateBefore:(e,n)=>n==null?!0:e==null?!1:e.getTime()n==null?!0:e==null?!1:(e.setHours(0,0,0,0),e.getTime()>n.getTime())};register(e,n){this.filters[e]=n}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var wo=(()=>{class t{clickSource=new Ue;parentDragSource=new Ue;clickObservable=this.clickSource.asObservable();parentDragObservable=this.parentDragSource.asObservable();add(e){e&&this.clickSource.next(e)}emitParentDrag(e){this.parentDragSource.next(e)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Qe=(()=>{class t{template;type;name;constructor(e){this.template=e}getType(){return this.name}static \u0275fac=function(n){return new(n||t)(ee(Ti))};static \u0275dir=ge({type:t,selectors:[["","pTemplate",""]],inputs:{type:"type",name:[0,"pTemplate","name"]}})}return t})(),re=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[De]})}return t})(),Vt=(()=>{class t{static STARTS_WITH="startsWith";static CONTAINS="contains";static NOT_CONTAINS="notContains";static ENDS_WITH="endsWith";static EQUALS="equals";static NOT_EQUALS="notEquals";static NO_FILTER="noFilter";static LT="lt";static LTE="lte";static GT="gt";static GTE="gte";static IS="is";static IS_NOT="isNot";static BEFORE="before";static AFTER="after";static CLEAR="clear";static APPLY="apply";static MATCH_ALL="matchAll";static MATCH_ANY="matchAny";static ADD_RULE="addRule";static REMOVE_RULE="removeRule";static ACCEPT="accept";static REJECT="reject";static CHOOSE="choose";static UPLOAD="upload";static CANCEL="cancel";static PENDING="pending";static FILE_SIZE_TYPES="fileSizeTypes";static DAY_NAMES="dayNames";static DAY_NAMES_SHORT="dayNamesShort";static DAY_NAMES_MIN="dayNamesMin";static MONTH_NAMES="monthNames";static MONTH_NAMES_SHORT="monthNamesShort";static FIRST_DAY_OF_WEEK="firstDayOfWeek";static TODAY="today";static WEEK_HEADER="weekHeader";static WEAK="weak";static MEDIUM="medium";static STRONG="strong";static PASSWORD_PROMPT="passwordPrompt";static EMPTY_MESSAGE="emptyMessage";static EMPTY_FILTER_MESSAGE="emptyFilterMessage";static SHOW_FILTER_MENU="showFilterMenu";static HIDE_FILTER_MENU="hideFilterMenu";static SELECTION_MESSAGE="selectionMessage";static ARIA="aria";static SELECT_COLOR="selectColor";static BROWSE_FILES="browseFiles"}return t})();function nl(t){return t==null||t===""||Array.isArray(t)&&t.length===0||!(t instanceof Date)&&typeof t=="object"&&Object.keys(t).length===0}function N3(t){return typeof t=="function"&&"call"in t&&"apply"in t}function Dt(t){return!nl(t)}function xo(t,i=!0){return t instanceof Object&&t.constructor===Object&&(i||Object.keys(t).length!==0)}function To(t,...i){return N3(t)?t(...i):t}function hr(t,i=!0){return typeof t=="string"&&(i||t!=="")}function wC(t){return Dt(t)&&!isNaN(t)}function di(t,i){if(i){let e=i.test(t);return i.lastIndex=0,e}return!1}function Im(t){return t&&t.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g,"").replace(/ {2,}/g," ").replace(/ ([{:}]) /g,"$1").replace(/([;,]) /g,"$1").replace(/ !/g,"!").replace(/: /g,":").trim()}function mu(t){return hr(t)?t.replace(/(_)/g,"-").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase():t}function xC(){let t=new Map;return{on(i,e){let n=t.get(i);return n?n.push(e):n=[e],t.set(i,n),this},off(i,e){let n=t.get(i);return n&&n.splice(n.indexOf(e)>>>0,1),this},emit(i,e){let n=t.get(i);n&&n.forEach(o=>{o(e)})},clear(){t.clear()}}}var F3=Object.defineProperty,P3=Object.defineProperties,L3=Object.getOwnPropertyDescriptors,bu=Object.getOwnPropertySymbols,EC=Object.prototype.hasOwnProperty,IC=Object.prototype.propertyIsEnumerable,TC=(t,i,e)=>i in t?F3(t,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[i]=e,pi=(t,i)=>{for(var e in i||(i={}))EC.call(i,e)&&TC(t,e,i[e]);if(bu)for(var e of bu(i))IC.call(i,e)&&TC(t,e,i[e]);return t},Sm=(t,i)=>P3(t,L3(i)),Ki=(t,i)=>{var e={};for(var n in t)EC.call(t,n)&&i.indexOf(n)<0&&(e[n]=t[n]);if(t!=null&&bu)for(var n of bu(t))i.indexOf(n)<0&&IC.call(t,n)&&(e[n]=t[n]);return e};var B3=xC(),kn=B3,il=/{([^}]*)}/g,SC=/(\d+\s+[\+\-\*\/]\s+\d+)/g,kC=/var\([^)]+\)/g;function DC(t){return hr(t)?t.replace(/[A-Z]/g,(i,e)=>e===0?i:"."+i.toLowerCase()).toLowerCase():t}function V3(t){return xo(t)&&t.hasOwnProperty("$value")&&t.hasOwnProperty("$type")?t.$value:t}function z3(t){return t.replaceAll(/ /g,"").replace(/[^\w]/g,"-")}function km(t="",i=""){return z3(`${hr(t,!1)&&hr(i,!1)?`${t}-`:t}${i}`)}function MC(t="",i=""){return`--${km(t,i)}`}function j3(t=""){let i=(t.match(/{/g)||[]).length,e=(t.match(/}/g)||[]).length;return(i+e)%2!==0}function RC(t,i="",e="",n=[],o){if(hr(t)){let r=t.trim();if(j3(r))return;if(di(r,il)){let a=r.replaceAll(il,s=>{let l=s.replace(/{|}/g,"").split(".").filter(c=>!n.some(u=>di(c,u)));return`var(${MC(e,mu(l.join("-")))}${Dt(o)?`, ${o}`:""})`});return di(a.replace(kC,"0"),SC)?`calc(${a})`:a}return r}else if(wC(t))return t}function H3(t,i,e){hr(i,!1)&&t.push(`${i}:${e};`)}function ba(t,i){return t?`${t}{${i}}`:""}function OC(t,i){if(t.indexOf("dt(")===-1)return t;function e(a,s){let l=[],c=0,u="",h=null,g=0;for(;c<=a.length;){let m=a[c];if((m==='"'||m==="'"||m==="`")&&a[c-1]!=="\\"&&(h=h===m?null:m),!h&&(m==="("&&g++,m===")"&&g--,(m===","||c===a.length)&&g===0)){let x=u.trim();x.startsWith("dt(")?l.push(OC(x,s)):l.push(n(x)),u="",c++;continue}m!==void 0&&(u+=m),c++}return l}function n(a){let s=a[0];if((s==='"'||s==="'"||s==="`")&&a[a.length-1]===s)return a.slice(1,-1);let l=Number(a);return isNaN(l)?a:l}let o=[],r=[];for(let a=0;a0){let s=r.pop();r.length===0&&o.push([s,a])}if(!o.length)return t;for(let a=o.length-1;a>=0;a--){let[s,l]=o[a],c=t.slice(s+3,l),u=e(c,i),h=i(...u);t=t.slice(0,s)+h+t.slice(l+1)}return t}var Rm=t=>{var i;let e=tt.getTheme(),n=Mm(e,t,void 0,"variable"),o=(i=n?.match(/--[\w-]+/g))==null?void 0:i[0],r=Mm(e,t,void 0,"value");return{name:o,variable:n,value:r}},Yi=(...t)=>Mm(tt.getTheme(),...t),Mm=(t={},i,e,n)=>{if(i){let{variable:o,options:r}=tt.defaults||{},{prefix:a,transform:s}=t?.options||r||{},l=di(i,il)?i:`{${i}}`;return n==="value"||nl(n)&&s==="strict"?tt.getTokenValue(i):RC(l,void 0,a,[o.excludedKeyRegex],e)}return""};function ya(t,...i){if(t instanceof Array){let e=t.reduce((n,o,r)=>{var a;return n+o+((a=To(i[r],{dt:Yi}))!=null?a:"")},"");return OC(e,Yi)}return To(t,{dt:Yi})}function $3(t,i={}){let e=tt.defaults.variable,{prefix:n=e.prefix,selector:o=e.selector,excludedKeyRegex:r=e.excludedKeyRegex}=i,a=[],s=[],l=[{node:t,path:n}];for(;l.length;){let{node:u,path:h}=l.pop();for(let g in u){let m=u[g],x=V3(m),E=di(g,r)?km(h):km(h,mu(g));if(xo(x))l.push({node:x,path:E});else{let k=MC(E),z=RC(x,E,n,[r]);H3(s,k,z);let Q=E;n&&Q.startsWith(n+"-")&&(Q=Q.slice(n.length+1)),a.push(Q.replace(/-/g,"."))}}}let c=s.join("");return{value:s,tokens:a,declarations:c,css:ba(o,c)}}var ui={regex:{rules:{class:{pattern:/^\.([a-zA-Z][\w-]*)$/,resolve(t){return{type:"class",selector:t,matched:this.pattern.test(t.trim())}}},attr:{pattern:/^\[(.*)\]$/,resolve(t){return{type:"attr",selector:`:root${t},:host${t}`,matched:this.pattern.test(t.trim())}}},media:{pattern:/^@media (.*)$/,resolve(t){return{type:"media",selector:t,matched:this.pattern.test(t.trim())}}},system:{pattern:/^system$/,resolve(t){return{type:"system",selector:"@media (prefers-color-scheme: dark)",matched:this.pattern.test(t.trim())}}},custom:{resolve(t){return{type:"custom",selector:t,matched:!0}}}},resolve(t){let i=Object.keys(this.rules).filter(e=>e!=="custom").map(e=>this.rules[e]);return[t].flat().map(e=>{var n;return(n=i.map(o=>o.resolve(e)).find(o=>o.matched))!=null?n:this.rules.custom.resolve(e)})}},_toVariables(t,i){return $3(t,{prefix:i?.prefix})},getCommon({name:t="",theme:i={},params:e,set:n,defaults:o}){var r,a,s,l,c,u,h;let{preset:g,options:m}=i,x,E,k,z,Q,se,Me;if(Dt(g)&&m.transform!=="strict"){let{primitive:nt,semantic:dt,extend:$t}=g,tn=dt||{},{colorScheme:Yt}=tn,hi=Ki(tn,["colorScheme"]),ml=$t||{},{colorScheme:bl}=ml,ka=Ki(ml,["colorScheme"]),Ma=Yt||{},{dark:yl}=Ma,_l=Ki(Ma,["dark"]),vl=bl||{},{dark:Cl}=vl,wl=Ki(vl,["dark"]),xl=Dt(nt)?this._toVariables({primitive:nt},m):{},Tl=Dt(hi)?this._toVariables({semantic:hi},m):{},Dl=Dt(_l)?this._toVariables({light:_l},m):{},l0=Dt(yl)?this._toVariables({dark:yl},m):{},c0=Dt(ka)?this._toVariables({semantic:ka},m):{},d0=Dt(wl)?this._toVariables({light:wl},m):{},u0=Dt(Cl)?this._toVariables({dark:Cl},m):{},[CE,wE]=[(r=xl.declarations)!=null?r:"",xl.tokens],[xE,TE]=[(a=Tl.declarations)!=null?a:"",Tl.tokens||[]],[DE,EE]=[(s=Dl.declarations)!=null?s:"",Dl.tokens||[]],[IE,SE]=[(l=l0.declarations)!=null?l:"",l0.tokens||[]],[kE,ME]=[(c=c0.declarations)!=null?c:"",c0.tokens||[]],[RE,OE]=[(u=d0.declarations)!=null?u:"",d0.tokens||[]],[AE,NE]=[(h=u0.declarations)!=null?h:"",u0.tokens||[]];x=this.transformCSS(t,CE,"light","variable",m,n,o),E=wE;let FE=this.transformCSS(t,`${xE}${DE}`,"light","variable",m,n,o),PE=this.transformCSS(t,`${IE}`,"dark","variable",m,n,o);k=`${FE}${PE}`,z=[...new Set([...TE,...EE,...SE])];let LE=this.transformCSS(t,`${kE}${RE}color-scheme:light`,"light","variable",m,n,o),BE=this.transformCSS(t,`${AE}color-scheme:dark`,"dark","variable",m,n,o);Q=`${LE}${BE}`,se=[...new Set([...ME,...OE,...NE])],Me=To(g.css,{dt:Yi})}return{primitive:{css:x,tokens:E},semantic:{css:k,tokens:z},global:{css:Q,tokens:se},style:Me}},getPreset({name:t="",preset:i={},options:e,params:n,set:o,defaults:r,selector:a}){var s,l,c;let u,h,g;if(Dt(i)&&e.transform!=="strict"){let m=t.replace("-directive",""),x=i,{colorScheme:E,extend:k,css:z}=x,Q=Ki(x,["colorScheme","extend","css"]),se=k||{},{colorScheme:Me}=se,nt=Ki(se,["colorScheme"]),dt=E||{},{dark:$t}=dt,tn=Ki(dt,["dark"]),Yt=Me||{},{dark:hi}=Yt,ml=Ki(Yt,["dark"]),bl=Dt(Q)?this._toVariables({[m]:pi(pi({},Q),nt)},e):{},ka=Dt(tn)?this._toVariables({[m]:pi(pi({},tn),ml)},e):{},Ma=Dt($t)?this._toVariables({[m]:pi(pi({},$t),hi)},e):{},[yl,_l]=[(s=bl.declarations)!=null?s:"",bl.tokens||[]],[vl,Cl]=[(l=ka.declarations)!=null?l:"",ka.tokens||[]],[wl,xl]=[(c=Ma.declarations)!=null?c:"",Ma.tokens||[]],Tl=this.transformCSS(m,`${yl}${vl}`,"light","variable",e,o,r,a),Dl=this.transformCSS(m,wl,"dark","variable",e,o,r,a);u=`${Tl}${Dl}`,h=[...new Set([..._l,...Cl,...xl])],g=To(z,{dt:Yi})}return{css:u,tokens:h,style:g}},getPresetC({name:t="",theme:i={},params:e,set:n,defaults:o}){var r;let{preset:a,options:s}=i,l=(r=a?.components)==null?void 0:r[t];return this.getPreset({name:t,preset:l,options:s,params:e,set:n,defaults:o})},getPresetD({name:t="",theme:i={},params:e,set:n,defaults:o}){var r,a;let s=t.replace("-directive",""),{preset:l,options:c}=i,u=((r=l?.components)==null?void 0:r[s])||((a=l?.directives)==null?void 0:a[s]);return this.getPreset({name:s,preset:u,options:c,params:e,set:n,defaults:o})},applyDarkColorScheme(t){return!(t.darkModeSelector==="none"||t.darkModeSelector===!1)},getColorSchemeOption(t,i){var e;return this.applyDarkColorScheme(t)?this.regex.resolve(t.darkModeSelector===!0?i.options.darkModeSelector:(e=t.darkModeSelector)!=null?e:i.options.darkModeSelector):[]},getLayerOrder(t,i={},e,n){let{cssLayer:o}=i;return o?`@layer ${To(o.order||o.name||"primeui",e)}`:""},getCommonStyleSheet({name:t="",theme:i={},params:e,props:n={},set:o,defaults:r}){let a=this.getCommon({name:t,theme:i,params:e,set:o,defaults:r}),s=Object.entries(n).reduce((l,[c,u])=>l.push(`${c}="${u}"`)&&l,[]).join(" ");return Object.entries(a||{}).reduce((l,[c,u])=>{if(xo(u)&&Object.hasOwn(u,"css")){let h=Im(u.css),g=`${c}-variables`;l.push(``)}return l},[]).join("")},getStyleSheet({name:t="",theme:i={},params:e,props:n={},set:o,defaults:r}){var a;let s={name:t,theme:i,params:e,set:o,defaults:r},l=(a=t.includes("-directive")?this.getPresetD(s):this.getPresetC(s))==null?void 0:a.css,c=Object.entries(n).reduce((u,[h,g])=>u.push(`${h}="${g}"`)&&u,[]).join(" ");return l?``:""},createTokens(t={},i,e="",n="",o={}){let r=function(s,l={},c=[]){if(c.includes(this.path))return console.warn(`Circular reference detected at ${this.path}`),{colorScheme:s,path:this.path,paths:l,value:void 0};c.push(this.path),l.name=this.path,l.binding||(l.binding={});let u=this.value;if(typeof this.value=="string"&&il.test(this.value)){let h=this.value.trim().replace(il,g=>{var m;let x=g.slice(1,-1),E=this.tokens[x];if(!E)return console.warn(`Token not found for path: ${x}`),"__UNRESOLVED__";let k=E.computed(s,l,c);return Array.isArray(k)&&k.length===2?`light-dark(${k[0].value},${k[1].value})`:(m=k?.value)!=null?m:"__UNRESOLVED__"});u=SC.test(h.replace(kC,"0"))?`calc(${h})`:h}return nl(l.binding)&&delete l.binding,c.pop(),{colorScheme:s,path:this.path,paths:l,value:u.includes("__UNRESOLVED__")?void 0:u}},a=(s,l,c)=>{Object.entries(s).forEach(([u,h])=>{let g=di(u,i.variable.excludedKeyRegex)?l:l?`${l}.${DC(u)}`:DC(u),m=c?`${c}.${u}`:u;xo(h)?a(h,g,m):(o[g]||(o[g]={paths:[],computed:(x,E={},k=[])=>{if(o[g].paths.length===1)return o[g].paths[0].computed(o[g].paths[0].scheme,E.binding,k);if(x&&x!=="none")for(let z=0;zz.computed(z.scheme,E[z.scheme],k))}}),o[g].paths.push({path:m,value:h,scheme:m.includes("colorScheme.light")?"light":m.includes("colorScheme.dark")?"dark":"none",computed:r,tokens:o}))})};return a(t,e,n),o},getTokenValue(t,i,e){var n;let o=(s=>s.split(".").filter(l=>!di(l.toLowerCase(),e.variable.excludedKeyRegex)).join("."))(i),r=i.includes("colorScheme.light")?"light":i.includes("colorScheme.dark")?"dark":void 0,a=[(n=t[o])==null?void 0:n.computed(r)].flat().filter(s=>s);return a.length===1?a[0].value:a.reduce((s={},l)=>{let c=l,{colorScheme:u}=c,h=Ki(c,["colorScheme"]);return s[u]=h,s},void 0)},getSelectorRule(t,i,e,n){return e==="class"||e==="attr"?ba(Dt(i)?`${t}${i},${t} ${i}`:t,n):ba(t,ba(i??":root,:host",n))},transformCSS(t,i,e,n,o={},r,a,s){if(Dt(i)){let{cssLayer:l}=o;if(n!=="style"){let c=this.getColorSchemeOption(o,a);i=e==="dark"?c.reduce((u,{type:h,selector:g})=>(Dt(g)&&(u+=g.includes("[CSS]")?g.replace("[CSS]",i):this.getSelectorRule(g,s,h,i)),u),""):ba(s??":root,:host",i)}if(l){let c={name:"primeui",order:"primeui"};xo(l)&&(c.name=To(l.name,{name:t,type:n})),Dt(c.name)&&(i=ba(`@layer ${c.name}`,i),r?.layerNames(c.name))}return i}return""}},tt={defaults:{variable:{prefix:"p",selector:":root,:host",excludedKeyRegex:/^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states|extend|css)$/gi},options:{prefix:"p",darkModeSelector:"system",cssLayer:!1}},_theme:void 0,_layerNames:new Set,_loadedStyleNames:new Set,_loadingStyles:new Set,_tokens:{},update(t={}){let{theme:i}=t;i&&(this._theme=Sm(pi({},i),{options:pi(pi({},this.defaults.options),i.options)}),this._tokens=ui.createTokens(this.preset,this.defaults),this.clearLoadedStyleNames())},get theme(){return this._theme},get preset(){var t;return((t=this.theme)==null?void 0:t.preset)||{}},get options(){var t;return((t=this.theme)==null?void 0:t.options)||{}},get tokens(){return this._tokens},getTheme(){return this.theme},setTheme(t){this.update({theme:t}),kn.emit("theme:change",t)},getPreset(){return this.preset},setPreset(t){this._theme=Sm(pi({},this.theme),{preset:t}),this._tokens=ui.createTokens(t,this.defaults),this.clearLoadedStyleNames(),kn.emit("preset:change",t),kn.emit("theme:change",this.theme)},getOptions(){return this.options},setOptions(t){this._theme=Sm(pi({},this.theme),{options:t}),this.clearLoadedStyleNames(),kn.emit("options:change",t),kn.emit("theme:change",this.theme)},getLayerNames(){return[...this._layerNames]},setLayerNames(t){this._layerNames.add(t)},getLoadedStyleNames(){return this._loadedStyleNames},isStyleNameLoaded(t){return this._loadedStyleNames.has(t)},setLoadedStyleName(t){this._loadedStyleNames.add(t)},deleteLoadedStyleName(t){this._loadedStyleNames.delete(t)},clearLoadedStyleNames(){this._loadedStyleNames.clear()},getTokenValue(t){return ui.getTokenValue(this.tokens,t,this.defaults)},getCommon(t="",i){return ui.getCommon({name:t,theme:this.theme,params:i,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)}})},getComponent(t="",i){let e={name:t,theme:this.theme,params:i,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)}};return ui.getPresetC(e)},getDirective(t="",i){let e={name:t,theme:this.theme,params:i,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)}};return ui.getPresetD(e)},getCustomPreset(t="",i,e,n){let o={name:t,preset:i,options:this.options,selector:e,params:n,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)}};return ui.getPreset(o)},getLayerOrderCSS(t=""){return ui.getLayerOrder(t,this.options,{names:this.getLayerNames()},this.defaults)},transformCSS(t="",i,e="style",n){return ui.transformCSS(t,i,n,e,this.options,{layerNames:this.setLayerNames.bind(this)},this.defaults)},getCommonStyleSheet(t="",i,e={}){return ui.getCommonStyleSheet({name:t,theme:this.theme,params:i,props:e,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)}})},getStyleSheet(t,i,e={}){return ui.getStyleSheet({name:t,theme:this.theme,params:i,props:e,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)}})},onStyleMounted(t){this._loadingStyles.add(t)},onStyleUpdated(t){this._loadingStyles.add(t)},onStyleLoaded(t,{name:i}){this._loadingStyles.size&&(this._loadingStyles.delete(i),kn.emit(`theme:${i}:load`,t),!this._loadingStyles.size&&kn.emit("theme:load"))}};var AC=` + *, + ::before, + ::after { + box-sizing: border-box; + } + + .p-collapsible-enter-active { + animation: p-animate-collapsible-expand 0.2s ease-out; + overflow: hidden; + } + + .p-collapsible-leave-active { + animation: p-animate-collapsible-collapse 0.2s ease-out; + overflow: hidden; + } + + @keyframes p-animate-collapsible-expand { + from { + grid-template-rows: 0fr; + } + to { + grid-template-rows: 1fr; + } + } + + @keyframes p-animate-collapsible-collapse { + from { + grid-template-rows: 1fr; + } + to { + grid-template-rows: 0fr; + } + } + + .p-disabled, + .p-disabled * { + cursor: default; + pointer-events: none; + user-select: none; + } + + .p-disabled, + .p-component:disabled { + opacity: dt('disabled.opacity'); + } + + .pi { + font-size: dt('icon.size'); + } + + .p-icon { + width: dt('icon.size'); + height: dt('icon.size'); + } + + .p-overlay-mask { + background: var(--px-mask-background, dt('mask.background')); + color: dt('mask.color'); + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + + .p-overlay-mask-enter-active { + animation: p-animate-overlay-mask-enter dt('mask.transition.duration') forwards; + } + + .p-overlay-mask-leave-active { + animation: p-animate-overlay-mask-leave dt('mask.transition.duration') forwards; + } + + @keyframes p-animate-overlay-mask-enter { + from { + background: transparent; + } + to { + background: var(--px-mask-background, dt('mask.background')); + } + } + @keyframes p-animate-overlay-mask-leave { + from { + background: var(--px-mask-background, dt('mask.background')); + } + to { + background: transparent; + } + } + + .p-anchored-overlay-enter-active { + animation: p-animate-anchored-overlay-enter 300ms cubic-bezier(.19,1,.22,1); + } + + .p-anchored-overlay-leave-active { + animation: p-animate-anchored-overlay-leave 300ms cubic-bezier(.19,1,.22,1); + } + + @keyframes p-animate-anchored-overlay-enter { + from { + opacity: 0; + transform: scale(0.93); + } + } + + @keyframes p-animate-anchored-overlay-leave { + to { + opacity: 0; + transform: scale(0.93); + } + } +`;var U3=0,NC=(()=>{class t{document=v(ze);use(e,n={}){let o=!1,r=e,a=null,{immediate:s=!0,manual:l=!1,name:c=`style_${++U3}`,id:u=void 0,media:h=void 0,nonce:g=void 0,first:m=!1,props:x={}}=n;if(this.document){if(a=this.document.querySelector(`style[data-primeng-style-id="${c}"]`)||u&&this.document.getElementById(u)||this.document.createElement("style"),a){if(!a.isConnected){r=e;let E=this.document.head;Mi(a,"nonce",g),m&&E.firstChild?E.insertBefore(a,E.firstChild):E.appendChild(a),du(a,{type:"text/css",media:h,nonce:g,"data-primeng-style-id":c})}a.textContent!==r&&(a.textContent=r)}return{id:u,name:c,el:a,css:r}}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var _a={_loadedStyleNames:new Set,getLoadedStyleNames(){return this._loadedStyleNames},isStyleNameLoaded(t){return this._loadedStyleNames.has(t)},setLoadedStyleName(t){this._loadedStyleNames.add(t)},deleteLoadedStyleName(t){this._loadedStyleNames.delete(t)},clearLoadedStyleNames(){this._loadedStyleNames.clear()}},W3=` +.p-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.p-hidden-accessible input, +.p-hidden-accessible select { + transform: scale(0); +} + +.p-overflow-hidden { + overflow: hidden; + padding-right: dt('scrollbar.width'); +} +`,fe=(()=>{class t{name="base";useStyle=v(NC);css=void 0;style=void 0;classes={};inlineStyles={};load=(e,n={},o=r=>r)=>{let r=o(ya`${Un(e,{dt:Yi})}`);return r?this.useStyle.use(su(r),T({name:this.name},n)):{}};loadCSS=(e={})=>this.load(this.css,e);loadStyle=(e={},n="")=>this.load(this.style,e,(o="")=>tt.transformCSS(e.name||this.name,`${o}${ya`${n}`}`));loadBaseCSS=(e={})=>this.load(W3,e);loadBaseStyle=(e={},n="")=>this.load(AC,e,(o="")=>tt.transformCSS(e.name||this.name,`${o}${ya`${n}`}`));getCommonTheme=e=>tt.getCommon(this.name,e);getComponentTheme=e=>tt.getComponent(this.name,e);getPresetTheme=(e,n,o)=>tt.getCustomPreset(this.name,e,n,o);getLayerOrderThemeCSS=()=>tt.getLayerOrderCSS(this.name);getStyleSheet=(e="",n={})=>{if(this.css){let o=Un(this.css,{dt:Yi}),r=su(ya`${o}${e}`),a=Object.entries(n).reduce((s,[l,c])=>s.push(`${l}="${c}"`)&&s,[]).join(" ");return``}return""};getCommonThemeStyleSheet=(e,n={})=>tt.getCommonStyleSheet(this.name,e,n);getThemeStyleSheet=(e,n={})=>{let o=[tt.getStyleSheet(this.name,e,n)];if(this.style){let r=this.name==="base"?"global-style":`${this.name}-style`,a=ya`${Un(this.style,{dt:Yi})}`,s=su(tt.transformCSS(r,a)),l=Object.entries(n).reduce((c,[u,h])=>c.push(`${u}="${h}"`)&&c,[]).join(" ");o.push(``)}return o.join("")};static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var G3=(()=>{class t{theme=Y(void 0);csp=Y({nonce:void 0});isThemeChanged=!1;document=v(ze);baseStyle=v(fe);constructor(){it(()=>{kn.on("theme:change",e=>{yt(()=>{this.isThemeChanged=!0,this.theme.set(e)})})}),it(()=>{let e=this.theme();this.document&&e&&(this.isThemeChanged||this.onThemeChange(e),this.isThemeChanged=!1)})}ngOnDestroy(){tt.clearLoadedStyleNames(),kn.clear()}onThemeChange(e){tt.setTheme(e),this.document&&this.loadCommonTheme()}loadCommonTheme(){if(this.theme()!=="none"&&!tt.isStyleNameLoaded("common")){let{primitive:e,semantic:n,global:o,style:r}=this.baseStyle.getCommonTheme?.()||{},a={nonce:this.csp?.()?.nonce};this.baseStyle.load(e?.css,T({name:"primitive-variables"},a)),this.baseStyle.load(n?.css,T({name:"semantic-variables"},a)),this.baseStyle.load(o?.css,T({name:"global-variables"},a)),this.baseStyle.loadBaseStyle(T({name:"global-style"},a),r),tt.setLoadedStyleName("common")}}setThemeConfig(e){let{theme:n,csp:o}=e||{};n&&this.theme.set(n),o&&this.csp.set(o)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Om=(()=>{class t extends G3{ripple=Y(!1);platformId=v(vn);inputStyle=Y(null);inputVariant=Y(null);overlayAppendTo=Y("self");overlayOptions={};csp=Y({nonce:void 0});unstyled=Y(void 0);pt=Y(void 0);ptOptions=Y(void 0);filterMatchModeOptions={text:[Bt.STARTS_WITH,Bt.CONTAINS,Bt.NOT_CONTAINS,Bt.ENDS_WITH,Bt.EQUALS,Bt.NOT_EQUALS],numeric:[Bt.EQUALS,Bt.NOT_EQUALS,Bt.LESS_THAN,Bt.LESS_THAN_OR_EQUAL_TO,Bt.GREATER_THAN,Bt.GREATER_THAN_OR_EQUAL_TO],date:[Bt.DATE_IS,Bt.DATE_IS_NOT,Bt.DATE_BEFORE,Bt.DATE_AFTER]};translation={startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",is:"Is",isNot:"Is not",before:"Before",after:"After",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",completed:"Completed",upload:"Upload",cancel:"Cancel",pending:"Pending",fileSizeTypes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],chooseYear:"Choose Year",chooseMonth:"Choose Month",chooseDate:"Choose Date",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",prevHour:"Previous Hour",nextHour:"Next Hour",prevMinute:"Previous Minute",nextMinute:"Next Minute",prevSecond:"Previous Second",nextSecond:"Next Second",am:"am",pm:"pm",dateFormat:"mm/dd/yy",firstDayOfWeek:0,today:"Today",weekHeader:"Wk",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyMessage:"No results found",searchMessage:"Search results are available",selectionMessage:"{0} items selected",emptySelectionMessage:"No selected item",emptySearchMessage:"No results found",emptyFilterMessage:"No results found",fileChosenMessage:"Files",noFileChosenMessage:"No file chosen",aria:{trueLabel:"True",falseLabel:"False",nullLabel:"Not Selected",star:"1 star",stars:"{star} stars",selectAll:"All items selected",unselectAll:"All items unselected",close:"Close",previous:"Previous",next:"Next",navigation:"Navigation",scrollTop:"Scroll Top",moveTop:"Move Top",moveUp:"Move Up",moveDown:"Move Down",moveBottom:"Move Bottom",moveToTarget:"Move to Target",moveToSource:"Move to Source",moveAllToTarget:"Move All to Target",moveAllToSource:"Move All to Source",pageLabel:"{page}",firstPageLabel:"First Page",lastPageLabel:"Last Page",nextPageLabel:"Next Page",prevPageLabel:"Previous Page",rowsPerPageLabel:"Rows per page",previousPageLabel:"Previous Page",jumpToPageDropdownLabel:"Jump to Page Dropdown",jumpToPageInputLabel:"Jump to Page Input",selectRow:"Row Selected",unselectRow:"Row Unselected",expandRow:"Row Expanded",collapseRow:"Row Collapsed",showFilterMenu:"Show Filter Menu",hideFilterMenu:"Hide Filter Menu",filterOperator:"Filter Operator",filterConstraint:"Filter Constraint",editRow:"Row Edit",saveEdit:"Save Edit",cancelEdit:"Cancel Edit",listView:"List View",gridView:"Grid View",slide:"Slide",slideNumber:"{slideNumber}",zoomImage:"Zoom Image",zoomIn:"Zoom In",zoomOut:"Zoom Out",rotateRight:"Rotate Right",rotateLeft:"Rotate Left",listLabel:"Option List",selectColor:"Select a color",removeLabel:"Remove",browseFiles:"Browse Files",maximizeLabel:"Maximize",minimizeLabel:"Minimize"}};zIndex={modal:1100,overlay:1e3,menu:1e3,tooltip:1100};translationSource=new Ue;translationObserver=this.translationSource.asObservable();getTranslation(e){return this.translation[e]}setTranslation(e){this.translation=T(T({},this.translation),e),this.translationSource.next(this.translation)}setConfig(e){let{csp:n,ripple:o,inputStyle:r,inputVariant:a,theme:s,overlayOptions:l,translation:c,filterMatchModeOptions:u,overlayAppendTo:h,zIndex:g,ptOptions:m,pt:x,unstyled:E}=e||{};n&&this.csp.set(n),h&&this.overlayAppendTo.set(h),o&&this.ripple.set(o),r&&this.inputStyle.set(r),a&&this.inputVariant.set(a),l&&(this.overlayOptions=l),c&&this.setTranslation(c),u&&(this.filterMatchModeOptions=u),g&&(this.zIndex=g),x&&this.pt.set(x),m&&this.ptOptions.set(m),E&&this.unstyled.set(E),s&&this.setThemeConfig({theme:s,csp:n})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),q3=new B("PRIME_NG_CONFIG");function FC(...t){let i=t?.map(n=>({provide:q3,useValue:n,multi:!1})),e=bd(()=>{let n=v(Om);t?.forEach(o=>n.setConfig(o))});return An([...i,e])}var K3={transitionDuration:"{transition.duration}"},Y3={borderWidth:"0 0 1px 0",borderColor:"{content.border.color}"},Q3={color:"{text.muted.color}",hoverColor:"{text.color}",activeColor:"{text.color}",activeHoverColor:"{text.color}",padding:"1rem",fontWeight:"600",fontSize:"{typography.font.size}",borderRadius:"0",borderWidth:"0",borderColor:"{content.border.color}",background:"{content.background}",hoverBackground:"{content.background}",activeBackground:"{content.background}",activeHoverBackground:"{content.background}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"-1px",shadow:"{focus.ring.shadow}"},toggleIcon:{color:"{text.muted.color}",hoverColor:"{text.color}",activeColor:"{text.color}",activeHoverColor:"{text.color}"},first:{topBorderRadius:"{content.border.radius}",borderWidth:"0"},last:{bottomBorderRadius:"{content.border.radius}",activeBottomBorderRadius:"0"}},Z3={borderWidth:"0",borderColor:"{content.border.color}",background:"{content.background}",color:"{text.color}",padding:"0 1rem 1rem 1rem"},PC={root:K3,panel:Y3,header:Q3,content:Z3};var X3={background:"{form.field.background}",disabledBackground:"{form.field.disabled.background}",filledBackground:"{form.field.filled.background}",filledHoverBackground:"{form.field.filled.hover.background}",filledFocusBackground:"{form.field.filled.focus.background}",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.hover.border.color}",focusBorderColor:"{form.field.focus.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",color:"{form.field.color}",disabledColor:"{form.field.disabled.color}",placeholderColor:"{form.field.placeholder.color}",invalidPlaceholderColor:"{form.field.invalid.placeholder.color}",shadow:"{form.field.shadow}",paddingX:"{form.field.padding.x}",paddingY:"{form.field.padding.y}",borderRadius:"{form.field.border.radius}",focusRing:{width:"{form.field.focus.ring.width}",style:"{form.field.focus.ring.style}",color:"{form.field.focus.ring.color}",offset:"{form.field.focus.ring.offset}",shadow:"{form.field.focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}"},J3={background:"{overlay.select.background}",borderColor:"{overlay.select.border.color}",borderRadius:"{overlay.select.border.radius}",color:"{overlay.select.color}",shadow:"{overlay.select.shadow}"},eN={padding:"{list.padding}",gap:"{list.gap}"},tN={focusBackground:"{list.option.focus.background}",selectedBackground:"{list.option.selected.background}",selectedFocusBackground:"{list.option.selected.focus.background}",color:"{list.option.color}",focusColor:"{list.option.focus.color}",selectedColor:"{list.option.selected.color}",selectedFocusColor:"{list.option.selected.focus.color}",padding:"{list.option.padding}",borderRadius:"{list.option.border.radius}",fontWeight:"{list.option.font.weight}",fontSize:"{list.option.font.size}"},nN={background:"{list.option.group.background}",color:"{list.option.group.color}",fontWeight:"{list.option.group.font.weight}",fontSize:"{list.option.group.font.size}",padding:"{list.option.group.padding}"},iN={width:"2.25rem",sm:{width:"1.75rem"},lg:{width:"2.625rem"},background:"light-dark({surface.100}, {surface.800})",hoverBackground:"light-dark({surface.200}, {surface.700})",activeBackground:"light-dark({surface.300}, {surface.600})",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.border.color}",activeBorderColor:"{form.field.border.color}",color:"light-dark({surface.600}, {surface.300})",hoverColor:"light-dark({surface.700}, {surface.200})",activeColor:"light-dark({surface.800}, {surface.100})",borderRadius:"{form.field.border.radius}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},oN={borderRadius:"{border.radius.sm}",focusBackground:"light-dark({surface.200}, {surface.700})",focusColor:"light-dark({surface.800}, {surface.0})"},rN={padding:"{list.option.padding}"},LC={root:X3,overlay:J3,list:eN,option:tN,optionGroup:nN,dropdown:iN,chip:oN,emptyMessage:rN};var aN={width:"1.75rem",height:"1.75rem",fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}",background:"{content.border.color}",color:"{content.color}",borderRadius:"{content.border.radius}"},sN={size:"0.875rem"},lN={borderColor:"{content.background}",offset:"-0.625rem"},cN={width:"2.625rem",height:"2.625rem",fontSize:"1.25rem",icon:{size:"1.25rem"},group:{offset:"-0.875rem"}},dN={width:"3.5rem",height:"3.5rem",fontSize:"1.75rem",icon:{size:"1.75rem"},group:{offset:"-1.25rem"}},BC={root:aN,icon:sN,group:lN,lg:cN,xl:dN};var uN={borderRadius:"{border.radius.md}",padding:"0 0.375rem",fontSize:"0.625rem",fontWeight:"700",minWidth:"1.25rem",height:"1.25rem"},pN={size:"0.5rem"},fN={fontSize:"0.5rem",minWidth:"1.125rem",height:"1.125rem"},hN={fontSize:"0.75rem",minWidth:"1.5rem",height:"1.5rem"},gN={fontSize:"0.875rem",minWidth:"1.75rem",height:"1.75rem"},mN={background:"{primary.color}",color:"{primary.contrast.color}"},bN={background:"light-dark({surface.100}, {surface.800})",color:"light-dark({surface.600}, {surface.300})"},yN={background:"light-dark({green.500}, {green.400})",color:"light-dark({surface.0}, {green.950})"},_N={background:"light-dark({sky.500}, {sky.400})",color:"light-dark({surface.0}, {sky.950})"},vN={background:"light-dark({orange.500}, {orange.400})",color:"light-dark({surface.0}, {orange.950})"},CN={background:"light-dark({red.500}, {red.400})",color:"light-dark({surface.0}, {red.950})"},wN={background:"light-dark({surface.950}, {surface.0})",color:"light-dark({surface.0}, {surface.950})"},VC={root:uN,dot:pN,sm:fN,lg:hN,xl:gN,primary:mN,secondary:bN,success:yN,info:_N,warn:vN,danger:CN,contrast:wN};var xN={borderRadius:{none:"0",xs:"2px",sm:"4px",md:"6px",lg:"8px",xl:"12px"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"}},TN={typography:{lineHeight:"1.5",fontFamily:"inherit",fontWeight:"normal",fontSize:"0.875rem"},transitionDuration:"0.2s",focusRing:{width:"1px",style:"solid",color:"{primary.color}",offset:"2px",shadow:"none"},disabledOpacity:"0.6",iconSize:"0.875rem",anchorGutter:"2px",primary:{50:"{emerald.50}",100:"{emerald.100}",200:"{emerald.200}",300:"{emerald.300}",400:"{emerald.400}",500:"{emerald.500}",600:"{emerald.600}",700:"{emerald.700}",800:"{emerald.800}",900:"{emerald.900}",950:"{emerald.950}",color:"light-dark({primary.500}, {primary.400})",contrastColor:"light-dark(#ffffff, {surface.900})",hoverColor:"light-dark({primary.600}, {primary.300})",activeColor:"light-dark({primary.700}, {primary.200})"},formField:{fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}",paddingX:"0.625rem",paddingY:"0.375rem",sm:{fontSize:"0.75rem",paddingX:"0.5rem",paddingY:"0.25rem"},lg:{fontSize:"1rem",paddingX:"0.75rem",paddingY:"0.5rem"},borderRadius:"{border.radius.md}",focusRing:{width:"0",style:"none",color:"transparent",offset:"0",shadow:"none"},transitionDuration:"{transition.duration}",background:"light-dark({surface.0}, {surface.950})",disabledBackground:"light-dark({surface.200}, {surface.700})",filledBackground:"light-dark({surface.50}, {surface.800})",filledHoverBackground:"light-dark({surface.50}, {surface.800})",filledFocusBackground:"light-dark({surface.50}, {surface.800})",borderColor:"light-dark({surface.300}, {surface.600})",hoverBorderColor:"light-dark({surface.400}, {surface.500})",focusBorderColor:"{primary.color}",invalidBorderColor:"light-dark({red.400}, {red.300})",color:"light-dark({surface.700}, {surface.0})",disabledColor:"light-dark({surface.500}, {surface.400})",placeholderColor:"light-dark({surface.500}, {surface.400})",invalidPlaceholderColor:"light-dark({red.600}, {red.400})",floatLabelColor:"light-dark({surface.500}, {surface.400})",floatLabelFocusColor:"light-dark({primary.600}, {primary.color})",floatLabelActiveColor:"light-dark({surface.500}, {surface.400})",floatLabelInvalidColor:"{form.field.invalid.placeholder.color}",iconColor:"{surface.400}",shadow:"0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgba(18, 18, 23, 0.05)"},list:{padding:"0.25rem 0.25rem",gap:"2px",header:{padding:"0.5rem 0.875rem 0.125rem 0.875rem"},option:{padding:"0.25rem 0.625rem",borderRadius:"{border.radius.sm}",fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}",transitionDuration:"0s",focusBackground:"light-dark({surface.100}, {surface.800})",selectedBackground:"{highlight.background}",selectedFocusBackground:"{highlight.focus.background}",color:"{text.color}",focusColor:"{text.hover.color}",selectedColor:"{highlight.color}",selectedFocusColor:"{highlight.focus.color}",selectedFontWeight:"{typography.font.weight}",icon:{color:"light-dark({surface.400}, {surface.500})",focusColor:"light-dark({surface.500}, {surface.400})"}},optionGroup:{padding:"0.25rem 0.625rem",fontWeight:"600",fontSize:"{typography.font.size}",background:"transparent",color:"{text.muted.color}"}},content:{borderRadius:"{border.radius.md}",background:"light-dark({surface.0}, {surface.900})",hoverBackground:"light-dark({surface.100}, {surface.800})",borderColor:"light-dark({surface.200}, {surface.700})",color:"{text.color}",hoverColor:"{text.hover.color}"},mask:{transitionDuration:"0.3s",background:"light-dark(rgba(0,0,0,0.4), rgba(0,0,0,0.6))",color:"{surface.200}"},navigation:{list:{padding:"0.25rem 0.25rem",gap:"2px"},item:{padding:"0.25rem 0.625rem",borderRadius:"{border.radius.sm}",gap:"0.5rem",focusBackground:"light-dark({surface.100}, {surface.800})",activeBackground:"light-dark({surface.100}, {surface.800})",color:"{text.color}",focusColor:"{text.hover.color}",activeColor:"{text.hover.color}",icon:{size:"{icon.size}",color:"light-dark({surface.400}, {surface.500})",focusColor:"light-dark({surface.500}, {surface.400})",activeColor:"light-dark({surface.500}, {surface.400})"},label:{fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}"},transitionDuration:"0s"},submenuLabel:{padding:"0.25rem 0.625rem",fontWeight:"600",fontSize:"{typography.font.size}",background:"transparent",color:"{text.muted.color}"},submenuIcon:{size:"0.75rem",color:"light-dark({surface.400}, {surface.500})",focusColor:"light-dark({surface.500}, {surface.400})",activeColor:"light-dark({surface.500}, {surface.400})"}},overlay:{select:{borderRadius:"{border.radius.md}",shadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",background:"light-dark({surface.0}, {surface.900})",borderColor:"light-dark({surface.200}, {surface.700})",color:"{text.color}"},popover:{borderRadius:"{border.radius.md}",padding:"0.625rem",shadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",background:"light-dark({surface.0}, {surface.900})",borderColor:"light-dark({surface.200}, {surface.700})",color:"{text.color}"},modal:{borderRadius:"{border.radius.xl}",padding:"1.125rem",shadow:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)",background:"light-dark({surface.0}, {surface.900})",borderColor:"light-dark({surface.200}, {surface.700})",color:"{text.color}"},navigation:{shadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)"}},surface:{0:"#ffffff",50:"light-dark({slate.50}, {zinc.50})",100:"light-dark({slate.100}, {zinc.100})",200:"light-dark({slate.200}, {zinc.200})",300:"light-dark({slate.300}, {zinc.300})",400:"light-dark({slate.400}, {zinc.400})",500:"light-dark({slate.500}, {zinc.500})",600:"light-dark({slate.600}, {zinc.600})",700:"light-dark({slate.700}, {zinc.700})",800:"light-dark({slate.800}, {zinc.800})",900:"light-dark({slate.900}, {zinc.900})",950:"light-dark({slate.950}, {zinc.950})"},highlight:{background:"light-dark({primary.50}, color-mix(in srgb, {primary.400}, transparent 84%))",focusBackground:"light-dark({primary.100}, color-mix(in srgb, {primary.400}, transparent 76%))",color:"light-dark({primary.700}, rgba(255,255,255,.87))",focusColor:"light-dark({primary.800}, rgba(255,255,255,.87))"},text:{color:"light-dark({surface.700}, {surface.0})",hoverColor:"light-dark({surface.800}, {surface.0})",mutedColor:"light-dark({surface.500}, {surface.400})",hoverMutedColor:"light-dark({surface.600}, {surface.300})"}},zC={primitive:xN,semantic:TN};var DN={borderRadius:"{content.border.radius}"},jC={root:DN};var EN={padding:"0.875rem",background:"{content.background}",gap:"0.5rem",transitionDuration:"{transition.duration}"},IN={color:"{text.muted.color}",hoverColor:"{text.color}",borderRadius:"{content.border.radius}",gap:"{navigation.item.gap}",icon:{color:"{navigation.item.icon.color}",hoverColor:"{navigation.item.icon.focus.color}",size:"{navigation.item.icon.size}"},label:{fontWeight:"{navigation.item.label.font.weight}",fontSize:"{navigation.item.label.font.size}"},focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},SN={color:"{navigation.item.icon.color}"},HC={root:EN,item:IN,separator:SN};var kN={borderRadius:"{form.field.border.radius}",roundedBorderRadius:"2rem",gap:"0.5rem",paddingX:"{form.field.padding.x}",paddingY:"{form.field.padding.y}",iconOnlyWidth:"2.25rem",fontSize:"{form.field.font.size}",sm:{fontSize:"{form.field.sm.font.size}",paddingX:"{form.field.sm.padding.x}",paddingY:"{form.field.sm.padding.y}",iconOnlyWidth:"1.75rem"},lg:{fontSize:"{form.field.lg.font.size}",paddingX:"{form.field.lg.padding.x}",paddingY:"{form.field.lg.padding.y}",iconOnlyWidth:"2.625rem"},label:{fontWeight:"500"},raisedShadow:"0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",offset:"{focus.ring.offset}"},badgeSize:"1rem",transitionDuration:"{form.field.transition.duration}",primary:{background:"{primary.color}",hoverBackground:"{primary.hover.color}",activeBackground:"{primary.active.color}",borderColor:"{primary.color}",hoverBorderColor:"{primary.hover.color}",activeBorderColor:"{primary.active.color}",color:"{primary.contrast.color}",hoverColor:"{primary.contrast.color}",activeColor:"{primary.contrast.color}",focusRing:{color:"{primary.color}",shadow:"none"}},secondary:{background:"light-dark({surface.100}, {surface.800})",hoverBackground:"light-dark({surface.200}, {surface.700})",activeBackground:"light-dark({surface.300}, {surface.600})",borderColor:"light-dark({surface.100}, {surface.800})",hoverBorderColor:"light-dark({surface.200}, {surface.700})",activeBorderColor:"light-dark({surface.300}, {surface.600})",color:"light-dark({surface.600}, {surface.300})",hoverColor:"light-dark({surface.700}, {surface.200})",activeColor:"light-dark({surface.800}, {surface.100})",focusRing:{color:"light-dark({surface.600}, {surface.300})",shadow:"none"}},info:{background:"light-dark({sky.500}, {sky.400})",hoverBackground:"light-dark({sky.600}, {sky.300})",activeBackground:"light-dark({sky.700}, {sky.200})",borderColor:"light-dark({sky.500}, {sky.400})",hoverBorderColor:"light-dark({sky.600}, {sky.300})",activeBorderColor:"light-dark({sky.700}, {sky.200})",color:"light-dark(#ffffff, {sky.950})",hoverColor:"light-dark(#ffffff, {sky.950})",activeColor:"light-dark(#ffffff, {sky.950})",focusRing:{color:"light-dark({sky.500}, {sky.400})",shadow:"none"}},success:{background:"light-dark({green.500}, {green.400})",hoverBackground:"light-dark({green.600}, {green.300})",activeBackground:"light-dark({green.700}, {green.200})",borderColor:"light-dark({green.500}, {green.400})",hoverBorderColor:"light-dark({green.600}, {green.300})",activeBorderColor:"light-dark({green.700}, {green.200})",color:"light-dark(#ffffff, {green.950})",hoverColor:"light-dark(#ffffff, {green.950})",activeColor:"light-dark(#ffffff, {green.950})",focusRing:{color:"light-dark({green.500}, {green.400})",shadow:"none"}},warn:{background:"light-dark({orange.500}, {orange.400})",hoverBackground:"light-dark({orange.600}, {orange.300})",activeBackground:"light-dark({orange.700}, {orange.200})",borderColor:"light-dark({orange.500}, {orange.400})",hoverBorderColor:"light-dark({orange.600}, {orange.300})",activeBorderColor:"light-dark({orange.700}, {orange.200})",color:"light-dark(#ffffff, {orange.950})",hoverColor:"light-dark(#ffffff, {orange.950})",activeColor:"light-dark(#ffffff, {orange.950})",focusRing:{color:"light-dark({orange.500}, {orange.400})",shadow:"none"}},help:{background:"light-dark({purple.500}, {purple.400})",hoverBackground:"light-dark({purple.600}, {purple.300})",activeBackground:"light-dark({purple.700}, {purple.200})",borderColor:"light-dark({purple.500}, {purple.400})",hoverBorderColor:"light-dark({purple.600}, {purple.300})",activeBorderColor:"light-dark({purple.700}, {purple.200})",color:"light-dark(#ffffff, {purple.950})",hoverColor:"light-dark(#ffffff, {purple.950})",activeColor:"light-dark(#ffffff, {purple.950})",focusRing:{color:"light-dark({purple.500}, {purple.400})",shadow:"none"}},danger:{background:"light-dark({red.500}, {red.400})",hoverBackground:"light-dark({red.600}, {red.300})",activeBackground:"light-dark({red.700}, {red.200})",borderColor:"light-dark({red.500}, {red.400})",hoverBorderColor:"light-dark({red.600}, {red.300})",activeBorderColor:"light-dark({red.700}, {red.200})",color:"light-dark(#ffffff, {red.950})",hoverColor:"light-dark(#ffffff, {red.950})",activeColor:"light-dark(#ffffff, {red.950})",focusRing:{color:"light-dark({red.500}, {red.400})",shadow:"none"}},contrast:{background:"light-dark({surface.950}, {surface.0})",hoverBackground:"light-dark({surface.900}, {surface.100})",activeBackground:"light-dark({surface.800}, {surface.200})",borderColor:"light-dark({surface.950}, {surface.0})",hoverBorderColor:"light-dark({surface.900}, {surface.100})",activeBorderColor:"light-dark({surface.800}, {surface.200})",color:"light-dark({surface.0}, {surface.950})",hoverColor:"light-dark({surface.0}, {surface.950})",activeColor:"light-dark({surface.0}, {surface.950})",focusRing:{color:"light-dark({surface.950}, {surface.0})",shadow:"none"}}},MN={primary:{hoverBackground:"light-dark({primary.50}, color-mix(in srgb, {primary.color}, transparent 96%))",activeBackground:"light-dark({primary.100}, color-mix(in srgb, {primary.color}, transparent 84%))",borderColor:"light-dark({primary.200}, {primary.700})",color:"{primary.color}"},secondary:{hoverBackground:"light-dark({surface.50}, rgba(255,255,255,0.04))",activeBackground:"light-dark({surface.100}, rgba(255,255,255,0.16))",borderColor:"light-dark({surface.200}, {surface.700})",color:"light-dark({surface.500}, {surface.400})"},success:{hoverBackground:"light-dark({green.50}, color-mix(in srgb, {green.400}, transparent 96%))",activeBackground:"light-dark({green.100}, color-mix(in srgb, {green.400}, transparent 84%))",borderColor:"light-dark({green.200}, {green.700})",color:"light-dark({green.500}, {green.400})"},info:{hoverBackground:"light-dark({sky.50}, color-mix(in srgb, {sky.400}, transparent 96%))",activeBackground:"light-dark({sky.100}, color-mix(in srgb, {sky.400}, transparent 84%))",borderColor:"light-dark({sky.200}, {sky.700})",color:"light-dark({sky.500}, {sky.400})"},warn:{hoverBackground:"light-dark({orange.50}, color-mix(in srgb, {orange.400}, transparent 96%))",activeBackground:"light-dark({orange.100}, color-mix(in srgb, {orange.400}, transparent 84%))",borderColor:"light-dark({orange.200}, {orange.700})",color:"light-dark({orange.500}, {orange.400})"},help:{hoverBackground:"light-dark({purple.50}, color-mix(in srgb, {purple.400}, transparent 96%))",activeBackground:"light-dark({purple.100}, color-mix(in srgb, {purple.400}, transparent 84%))",borderColor:"light-dark({purple.200}, {purple.700})",color:"light-dark({purple.500}, {purple.400})"},danger:{hoverBackground:"light-dark({red.50}, color-mix(in srgb, {red.400}, transparent 96%))",activeBackground:"light-dark({red.100}, color-mix(in srgb, {red.400}, transparent 84%))",borderColor:"light-dark({red.200}, {red.700})",color:"light-dark({red.500}, {red.400})"},contrast:{hoverBackground:"light-dark({surface.50}, {surface.800})",activeBackground:"light-dark({surface.100}, {surface.700})",borderColor:"light-dark({surface.700}, {surface.500})",color:"light-dark({surface.950}, {surface.0})"},plain:{hoverBackground:"light-dark({surface.50}, {surface.800})",activeBackground:"light-dark({surface.100}, {surface.700})",borderColor:"light-dark({surface.200}, {surface.600})",color:"light-dark({surface.700}, {surface.0})"}},RN={primary:{hoverBackground:"light-dark({primary.50}, color-mix(in srgb, {primary.color}, transparent 96%))",activeBackground:"light-dark({primary.100}, color-mix(in srgb, {primary.color}, transparent 84%))",color:"{primary.color}"},secondary:{hoverBackground:"light-dark({surface.50}, {surface.800})",activeBackground:"light-dark({surface.100}, {surface.700})",color:"light-dark({surface.500}, {surface.400})"},success:{hoverBackground:"light-dark({green.50}, color-mix(in srgb, {green.400}, transparent 96%))",activeBackground:"light-dark({green.100}, color-mix(in srgb, {green.400}, transparent 84%))",color:"light-dark({green.500}, {green.400})"},info:{hoverBackground:"light-dark({sky.50}, color-mix(in srgb, {sky.400}, transparent 96%))",activeBackground:"light-dark({sky.100}, color-mix(in srgb, {sky.400}, transparent 84%))",color:"light-dark({sky.500}, {sky.400})"},warn:{hoverBackground:"light-dark({orange.50}, color-mix(in srgb, {orange.400}, transparent 96%))",activeBackground:"light-dark({orange.100}, color-mix(in srgb, {orange.400}, transparent 84%))",color:"light-dark({orange.500}, {orange.400})"},help:{hoverBackground:"light-dark({purple.50}, color-mix(in srgb, {purple.400}, transparent 96%))",activeBackground:"light-dark({purple.100}, color-mix(in srgb, {purple.400}, transparent 84%))",color:"light-dark({purple.500}, {purple.400})"},danger:{hoverBackground:"light-dark({red.50}, color-mix(in srgb, {red.400}, transparent 96%))",activeBackground:"light-dark({red.100}, color-mix(in srgb, {red.400}, transparent 84%))",color:"light-dark({red.500}, {red.400})"},contrast:{hoverBackground:"light-dark({surface.50}, {surface.800})",activeBackground:"light-dark({surface.100}, {surface.700})",color:"light-dark({surface.950}, {surface.0})"},plain:{hoverBackground:"light-dark({surface.50}, {surface.800})",activeBackground:"light-dark({surface.100}, {surface.700})",color:"light-dark({surface.700}, {surface.0})"}},ON={color:"{primary.color}",hoverColor:"{primary.color}",activeColor:"{primary.color}"},$C={root:kN,outlined:MN,text:RN,link:ON};var AN={background:"{content.background}",borderRadius:"{border.radius.xl}",color:"{content.color}",shadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)"},NN={padding:"1.125rem",gap:"0.5rem"},FN={gap:"0.5rem"},PN={fontSize:"1.125rem",fontWeight:"500"},LN={color:"{text.muted.color}",fontSize:"1rem",fontWeight:"{typography.font.weight}"},UC={root:AN,body:NN,caption:FN,title:PN,subtitle:LN};var BN={transitionDuration:"{transition.duration}"},VN={gap:"0.25rem"},zN={padding:"1rem",gap:"0.5rem"},jN={width:"1.75rem",height:"0.5rem",borderRadius:"{content.border.radius}",background:"light-dark({surface.200}, {surface.700})",hoverBackground:"light-dark({surface.300}, {surface.600})",activeBackground:"{primary.color}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},WC={root:BN,content:VN,indicatorList:zN,indicator:jN};var HN={background:"{form.field.background}",disabledBackground:"{form.field.disabled.background}",filledBackground:"{form.field.filled.background}",filledHoverBackground:"{form.field.filled.hover.background}",filledFocusBackground:"{form.field.filled.focus.background}",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.hover.border.color}",focusBorderColor:"{form.field.focus.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",color:"{form.field.color}",disabledColor:"{form.field.disabled.color}",placeholderColor:"{form.field.placeholder.color}",invalidPlaceholderColor:"{form.field.invalid.placeholder.color}",shadow:"{form.field.shadow}",paddingX:"{form.field.padding.x}",paddingY:"{form.field.padding.y}",borderRadius:"{form.field.border.radius}",focusRing:{width:"{form.field.focus.ring.width}",style:"{form.field.focus.ring.style}",color:"{form.field.focus.ring.color}",offset:"{form.field.focus.ring.offset}",shadow:"{form.field.focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}",sm:{fontSize:"{form.field.sm.font.size}",paddingX:"{form.field.sm.padding.x}",paddingY:"{form.field.sm.padding.y}"},lg:{fontSize:"{form.field.lg.font.size}",paddingX:"{form.field.lg.padding.x}",paddingY:"{form.field.lg.padding.y}"},fontWeight:"{form.field.font.weight}",fontSize:"{form.field.font.size}"},$N={width:"2.25rem",color:"{form.field.icon.color}"},UN={background:"{overlay.select.background}",borderColor:"{overlay.select.border.color}",borderRadius:"{overlay.select.border.radius}",color:"{overlay.select.color}",shadow:"{overlay.select.shadow}"},WN={padding:"{list.padding}",gap:"{list.gap}",mobileIndent:"1rem"},GN={focusBackground:"{list.option.focus.background}",selectedBackground:"{list.option.selected.background}",selectedFocusBackground:"{list.option.selected.focus.background}",color:"{list.option.color}",focusColor:"{list.option.focus.color}",selectedColor:"{list.option.selected.color}",selectedFocusColor:"{list.option.selected.focus.color}",selectedFontWeight:"{list.option.selected.font.weight}",padding:"{list.option.padding}",borderRadius:"{list.option.border.radius}",icon:{color:"{list.option.icon.color}",focusColor:"{list.option.icon.focus.color}",size:"0.75rem"},fontWeight:"{list.option.font.weight}",fontSize:"{list.option.font.size}"},qN={color:"{form.field.icon.color}"},GC={root:HN,dropdown:$N,overlay:UN,list:WN,option:GN,clearIcon:qN};var KN={borderRadius:"{border.radius.sm}",width:"1.125rem",height:"1.125rem",background:"{form.field.background}",checkedBackground:"{primary.color}",checkedHoverBackground:"{primary.hover.color}",disabledBackground:"{form.field.disabled.background}",filledBackground:"{form.field.filled.background}",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.hover.border.color}",focusBorderColor:"{form.field.border.color}",checkedBorderColor:"{primary.color}",checkedHoverBorderColor:"{primary.hover.color}",checkedFocusBorderColor:"{primary.color}",checkedDisabledBorderColor:"{form.field.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",shadow:"{form.field.shadow}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}",sm:{width:"0.875rem",height:"0.875rem"},lg:{width:"1.25rem",height:"1.25rem"}},YN={size:"0.75rem",color:"{form.field.color}",checkedColor:"{primary.contrast.color}",checkedHoverColor:"{primary.contrast.color}",disabledColor:"{form.field.disabled.color}",sm:{size:"0.625rem"},lg:{size:"0.875rem"}},qC={root:KN,icon:YN};var QN={borderRadius:"1rem",paddingX:"0.625rem",paddingY:"0.375rem",gap:"0.375rem",transitionDuration:"{transition.duration}",background:"light-dark({surface.100}, {surface.800})",focusBackground:"light-dark({surface.200}, {surface.700})",color:"light-dark({surface.800}, {surface.0})"},ZN={width:"1.75rem",height:"1.75rem"},XN={size:"0.875rem",color:"light-dark({surface.800}, {surface.0})"},JN={fontWeight:"{typography.font.weight}",fontSize:"0.75rem"},eF={size:"0.875rem",color:"light-dark({surface.800}, {surface.0})",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{form.field.focus.ring.shadow}"}},KC={root:QN,image:ZN,icon:XN,label:JN,removeIcon:eF};var tF={transitionDuration:"{transition.duration}"},nF={width:"1.375rem",height:"1.375rem",borderRadius:"{form.field.border.radius}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},iF={shadow:"{overlay.popover.shadow}",borderRadius:"{overlay.popover.borderRadius}",background:"light-dark({surface.800}, {surface.900})",borderColor:"light-dark({surface.900}, {surface.700})"},oF={color:"{surface.0}"},YC={root:tF,preview:nF,panel:iF,handle:oF};var rF={background:"{content.background}",borderColor:"{content.border.color}",borderRadius:"{content.border.radius}",height:"25rem"},aF={padding:"0.375rem 1.125rem",background:"{content.background}",borderColor:"{content.border.color}"},sF={padding:"0.375rem 0",fontSize:"1rem",fontWeight:"{typography.font.weight}",color:"{form.field.color}",placeholderColor:"{form.field.placeholder.color}"},lF={padding:"0.375rem"},cF={padding:"2rem 0",color:"{content.color}"},dF={padding:"0.625rem 1.125rem",background:"{content.background}",borderColor:"{content.border.color}"},QC={root:rF,header:aF,input:sF,list:lF,empty:cF,footer:dF};var uF={borderRadius:"{content.border.radius}"},pF={background:"{content.background}",size:"1px"},fF={size:"1.5rem",background:"{content.background}",borderRadius:"{content.border.radius}",focusRing:{width:"2px",style:"solid",color:"{content.background}",offset:"2px"},icon:{color:"{text.muted.color}",size:"{icon.size}"}},ZC={root:uF,handle:pF,indicator:fF};var hF={size:"1.5rem",color:"{overlay.modal.color}"},gF={gap:"0.875rem"},mF={color:"{content.color}",fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}"},XC={icon:hF,content:gF,message:mF};var bF={background:"{overlay.popover.background}",borderColor:"{overlay.popover.border.color}",color:"{overlay.popover.color}",borderRadius:"{overlay.popover.border.radius}",shadow:"{overlay.popover.shadow}",gutter:"10px",arrowOffset:"1.125rem"},yF={padding:"{overlay.popover.padding}",gap:"0.5rem"},_F={size:"1.25rem",color:"{overlay.popover.color}"},vF={color:"{content.color}",fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}"},CF={gap:"0.375rem",padding:"0 {overlay.popover.padding} {overlay.popover.padding} {overlay.popover.padding}"},JC={root:bF,content:yF,icon:_F,message:vF,footer:CF};var wF={background:"{content.background}",borderColor:"{content.border.color}",color:"{content.color}",borderRadius:"{content.border.radius}",shadow:"{overlay.navigation.shadow}",transitionDuration:"{navigation.item.transition.duration}"},xF={padding:"{navigation.list.padding}",gap:"{navigation.list.gap}"},TF={focusBackground:"{navigation.item.focus.background}",activeBackground:"{navigation.item.active.background}",color:"{navigation.item.color}",focusColor:"{navigation.item.focus.color}",activeColor:"{navigation.item.active.color}",padding:"{navigation.item.padding}",borderRadius:"{navigation.item.border.radius}",gap:"{navigation.item.gap}",icon:{color:"{navigation.item.icon.color}",focusColor:"{navigation.item.icon.focus.color}",activeColor:"{navigation.item.icon.active.color}",size:"{navigation.item.icon.size}"},label:{fontWeight:"{navigation.item.label.font.weight}",fontSize:"{navigation.item.label.font.size}"}},DF={mobileIndent:"1rem"},EF={padding:"{navigation.submenu.label.padding}",fontWeight:"{navigation.submenu.label.font.weight}",fontSize:"{navigation.submenu.label.font.size}",background:"{navigation.submenu.label.background}",color:"{navigation.submenu.label.color}"},IF={size:"{navigation.submenu.icon.size}",color:"{navigation.submenu.icon.color}",focusColor:"{navigation.submenu.icon.focus.color}",activeColor:"{navigation.submenu.icon.active.color}"},SF={borderColor:"{content.border.color}"},ew={root:wF,list:xF,item:TF,submenu:DF,submenuLabel:EF,submenuIcon:IF,separator:SF};var tw=` +`;var kF={transitionDuration:"0s",borderColor:"light-dark({content.border.color}, {surface.800})"},MF={background:"{content.background}",borderColor:"{datatable.border.color}",color:"{content.color}",borderWidth:"0 0 1px 0",padding:"0.5rem 0.875rem",sm:{padding:"0.125rem 0.375rem"},lg:{padding:"0.75rem 1.125rem"}},RF={background:"{content.background}",hoverBackground:"{content.hover.background}",selectedBackground:"{content.background}",borderColor:"{datatable.border.color}",color:"{content.color}",hoverColor:"{content.hover.color}",selectedColor:"{content.color}",gap:"0.5rem",padding:"0.5rem 0.875rem",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"-1px",shadow:"{focus.ring.shadow}"},sm:{padding:"0.125rem 0.375rem"},lg:{padding:"0.75rem 1.125rem"}},OF={fontWeight:"600",fontSize:"{typography.font.size}"},AF={background:"{content.background}",hoverBackground:"{content.hover.background}",selectedBackground:"{highlight.background}",color:"{content.color}",hoverColor:"{content.hover.color}",selectedColor:"{highlight.color}",stripedBackground:"light-dark({surface.50}, {surface.950})",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"-1px",shadow:"{focus.ring.shadow}"}},NF={borderColor:"{datatable.border.color}",padding:"0.5rem 0.875rem",fontWeight:"{typography.font.size}",fontSize:"{typography.font.size}",selectedBorderColor:"light-dark({primary.100}, {primary.900})",sm:{padding:"0.125rem 0.375rem"},lg:{padding:"0.75rem 1.125rem"}},FF={background:"{content.background}",borderColor:"{datatable.border.color}",color:"{content.color}",padding:"0.5rem 0.875rem",sm:{padding:"0.125rem 0.375rem"},lg:{padding:"0.75rem 1.125rem"}},PF={fontWeight:"600",fontSize:"{typography.font.size}"},LF={background:"{content.background}",borderColor:"{datatable.border.color}",color:"{content.color}",borderWidth:"0 0 1px 0",padding:"0.5rem 0.875rem",sm:{padding:"0.125rem 0.375rem"},lg:{padding:"0.75rem 1.125rem"}},BF={color:"{primary.color}"},VF={width:"0.5rem"},zF={width:"1px",color:"{primary.color}"},jF={color:"{text.muted.color}",hoverColor:"{text.hover.muted.color}",size:"0.75rem"},HF={size:"1.75rem"},$F={hoverBackground:"{content.hover.background}",selectedHoverBackground:"{content.background}",color:"{text.muted.color}",hoverColor:"{text.color}",selectedHoverColor:"{primary.color}",size:"1.5rem",borderRadius:"50%",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},UF={inlineGap:"0.5rem",overlaySelect:{background:"{overlay.select.background}",borderColor:"{overlay.select.border.color}",borderRadius:"{overlay.select.border.radius}",color:"{overlay.select.color}",shadow:"{overlay.select.shadow}"},overlayPopover:{background:"{overlay.popover.background}",borderColor:"{overlay.popover.border.color}",borderRadius:"{overlay.popover.border.radius}",color:"{overlay.popover.color}",shadow:"{overlay.popover.shadow}",padding:"{overlay.popover.padding}",gap:"0.5rem"},rule:{borderColor:"{content.border.color}"},constraintList:{padding:"{list.padding}",gap:"{list.gap}"},constraint:{focusBackground:"{list.option.focus.background}",selectedBackground:"{list.option.selected.background}",selectedFocusBackground:"{list.option.selected.focus.background}",color:"{list.option.color}",focusColor:"{list.option.focus.color}",selectedColor:"{list.option.selected.color}",selectedFocusColor:"{list.option.selected.focus.color}",separator:{borderColor:"{content.border.color}"},padding:"{list.option.padding}",borderRadius:"{list.option.border.radius}"}},WF={borderColor:"{datatable.border.color}",borderWidth:"0 0 1px 0"},GF={borderColor:"{datatable.border.color}",borderWidth:"0 0 1px 0"},qF=` + .p-datatable-mask.p-overlay-mask { + --px-mask-background: light-dark(rgba(255,255,255,0.5),rgba(0,0,0,0.3)); + } +`,nw={root:kF,header:MF,headerCell:RF,columnTitle:OF,row:AF,bodyCell:NF,footerCell:FF,columnFooter:PF,footer:LF,dropPoint:BF,columnResizer:VF,resizeIndicator:zF,sortIcon:jF,loadingIcon:HF,rowToggleButton:$F,filter:UF,paginatorTop:WF,paginatorBottom:GF,css:qF};var KF={borderColor:"transparent",borderWidth:"0",borderRadius:"0",padding:"0"},YF={background:"{content.background}",color:"{content.color}",borderColor:"{content.border.color}",borderWidth:"0 0 1px 0",padding:"0.625rem 0.875rem",borderRadius:"0"},QF={background:"{content.background}",color:"{content.color}",borderColor:"transparent",borderWidth:"0",padding:"0",borderRadius:"0"},ZF={background:"{content.background}",color:"{content.color}",borderColor:"{content.border.color}",borderWidth:"1px 0 0 0",padding:"0.625rem 0.875rem",borderRadius:"0"},XF={borderColor:"{content.border.color}",borderWidth:"0 0 1px 0"},JF={borderColor:"{content.border.color}",borderWidth:"1px 0 0 0"},iw={root:KF,header:YF,content:QF,footer:ZF,paginatorTop:XF,paginatorBottom:JF};var eP={transitionDuration:"{transition.duration}"},tP={background:"{content.background}",borderColor:"{content.border.color}",color:"{content.color}",borderRadius:"{content.border.radius}",shadow:"{overlay.popover.shadow}",padding:"{overlay.popover.padding}"},nP={background:"{content.background}",borderColor:"{content.border.color}",color:"{content.color}",padding:"0 0 0.5rem 0"},iP={gap:"0.5rem",fontWeight:"500",fontSize:"{typography.font.size}"},oP={width:"2.25rem",sm:{width:"1.75rem"},lg:{width:"2.625rem"},background:"light-dark({surface.100}, {surface.800})",hoverBackground:"light-dark({surface.200}, {surface.700})",activeBackground:"light-dark({surface.300}, {surface.600})",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.border.color}",activeBorderColor:"{form.field.border.color}",color:"light-dark({surface.600}, {surface.300})",hoverColor:"light-dark({surface.700}, {surface.200})",activeColor:"light-dark({surface.800}, {surface.100})",borderRadius:"{form.field.border.radius}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},rP={color:"{form.field.icon.color}"},aP={hoverBackground:"{content.hover.background}",color:"{content.color}",hoverColor:"{content.hover.color}",padding:"0.25rem 0.5rem",borderRadius:"{content.border.radius}",fontWeight:"500",fontSize:"{typography.font.size}"},sP={hoverBackground:"{content.hover.background}",color:"{content.color}",hoverColor:"{content.hover.color}",padding:"0.25rem 0.5rem",borderRadius:"{content.border.radius}",fontWeight:"500",fontSize:"{typography.font.size}"},lP={borderColor:"{content.border.color}",gap:"{overlay.popover.padding}"},cP={margin:"0.5rem 0 0 0"},dP={padding:"0.25rem",fontWeight:"500",fontSize:"{typography.font.size}",color:"{content.color}"},uP={fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}",hoverBackground:"{content.hover.background}",selectedBackground:"{primary.color}",rangeSelectedBackground:"{highlight.background}",color:"{content.color}",hoverColor:"{content.hover.color}",selectedColor:"{primary.contrast.color}",rangeSelectedColor:"{highlight.color}",width:"1.75rem",height:"1.75rem",borderRadius:"50%",padding:"0.25rem",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},pP={margin:"0.5rem 0 0 0"},fP={padding:"0.25rem",borderRadius:"{content.border.radius}"},hP={margin:"0.5rem 0 0 0"},gP={padding:"0.25rem",borderRadius:"{content.border.radius}"},mP={padding:"0.5rem 0 0 0",borderColor:"{content.border.color}"},bP={padding:"0.5rem 0 0 0",borderColor:"{content.border.color}",gap:"0.5rem",buttonGap:"0.125rem",color:"{content.color}",fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}"},yP={background:"light-dark({surface.200}, {surface.700})",color:"light-dark({surface.900}, {surface.0})"},ow={root:eP,panel:tP,header:nP,title:iP,dropdown:oP,inputIcon:rP,selectMonth:aP,selectYear:sP,group:lP,dayView:cP,weekDay:dP,date:uP,monthView:pP,month:fP,yearView:hP,year:gP,buttonbar:mP,timePicker:bP,today:yP};var _P={background:"{overlay.modal.background}",borderColor:"{overlay.modal.border.color}",color:"{overlay.modal.color}",borderRadius:"{overlay.modal.border.radius}",shadow:"{overlay.modal.shadow}"},vP={padding:"{overlay.modal.padding}",gap:"0.5rem"},CP={fontSize:"1.125rem",fontWeight:"600"},wP={padding:"0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}"},xP={padding:"0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}",gap:"0.375rem"},rw={root:_P,header:vP,title:CP,content:wP,footer:xP};var TP={borderColor:"{content.border.color}"},DP={background:"{content.background}",color:"{text.color}"},EP={margin:"0.875rem 0",padding:"0 0.875rem",content:{padding:"0 0.375rem"}},IP={margin:"0 0.875rem",padding:"0.375rem 0",content:{padding:"0.375rem 0"}},aw={root:TP,content:DP,horizontal:EP,vertical:IP};var SP={background:"rgba(255, 255, 255, 0.1)",borderColor:"rgba(255, 255, 255, 0.2)",padding:"0.5rem",borderRadius:"{border.radius.xl}"},kP={borderRadius:"{content.border.radius}",padding:"0.5rem",size:"2.625rem",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},sw={root:SP,item:kP};var MP={background:"{overlay.modal.background}",borderColor:"{overlay.modal.border.color}",color:"{overlay.modal.color}",shadow:"{overlay.modal.shadow}"},RP={padding:"{overlay.modal.padding}"},OP={fontSize:"1.125rem",fontWeight:"600"},AP={padding:"0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}"},NP={padding:"{overlay.modal.padding}"},lw={root:MP,header:RP,title:OP,content:AP,footer:NP};var FP={background:"{content.background}",borderColor:"{content.border.color}",borderRadius:"{content.border.radius}"},PP={color:"{text.muted.color}",hoverColor:"{text.color}",activeColor:"{primary.color}"},LP={background:"{overlay.select.background}",borderColor:"{overlay.select.border.color}",borderRadius:"{overlay.select.border.radius}",color:"{overlay.select.color}",shadow:"{overlay.select.shadow}",padding:"{list.padding}"},BP={focusBackground:"{list.option.focus.background}",color:"{list.option.color}",focusColor:"{list.option.focus.color}",padding:"{list.option.padding}",borderRadius:"{list.option.border.radius}"},VP={background:"{content.background}",borderColor:"{content.border.color}",color:"{content.color}",borderRadius:"{content.border.radius}"},cw={toolbar:FP,toolbarItem:PP,overlay:LP,overlayOption:BP,content:VP};var zP={background:"{content.background}",borderColor:"{content.border.color}",borderRadius:"{content.border.radius}",color:"{content.color}",padding:"0 1rem 1rem 1rem",transitionDuration:"{transition.duration}"},jP={background:"{content.background}",hoverBackground:"{content.hover.background}",color:"{content.color}",hoverColor:"{content.hover.color}",borderRadius:"{content.border.radius}",borderWidth:"1px",borderColor:"transparent",padding:".375rem 0.625rem",gap:"0.5rem",fontWeight:"600",fontSize:"{typography.font.size}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},HP={color:"{text.muted.color}",hoverColor:"{text.hover.muted.color}"},$P={padding:"0"},dw={root:zP,legend:jP,toggleIcon:HP,content:$P};var UP={background:"{content.background}",borderColor:"{content.border.color}",color:"{content.color}",borderRadius:"{content.border.radius}",transitionDuration:"{transition.duration}"},WP={background:"transparent",color:"{text.color}",padding:"1rem",borderColor:"unset",borderWidth:"0",borderRadius:"0",gap:"0.5rem"},GP={highlightBorderColor:"{primary.color}",padding:"0 1rem 1rem 1rem",gap:"0.875rem"},qP={padding:"0.875rem",gap:"0.875rem",borderColor:"{content.border.color}",info:{gap:"0.125rem"}},KP={color:"{text.color}",fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}"},YP={color:"{text.muted.color}",fontWeight:"{typography.font.weight}",fontSize:"0.75rem"},QP={gap:"0.5rem"},ZP={height:"0.25rem"},XP={gap:"0.5rem"},uw={root:UP,header:WP,content:GP,file:qP,fileName:KP,fileSize:YP,fileList:QP,progressbar:ZP,basic:XP};var JP={color:"{form.field.float.label.color}",focusColor:"{form.field.float.label.focus.color}",activeColor:"{form.field.float.label.active.color}",invalidColor:"{form.field.float.label.invalid.color}",transitionDuration:"0.2s",positionX:"{form.field.padding.x}",positionY:"{form.field.padding.y}",fontWeight:"{form.field.font.weight}",fontSize:"{form.field.font.size}",active:{fontSize:"0.625rem",fontWeight:"400"}},eL={active:{top:"-1.125rem"}},tL={input:{paddingTop:"1.125rem",paddingBottom:"{form.field.padding.y}"},active:{top:"{form.field.padding.y}"}},nL={borderRadius:"{border.radius.xs}",active:{background:"{form.field.background}",padding:"0 0.125rem"}},pw={root:JP,over:eL,in:tL,on:nL};var iL={borderWidth:"1px",borderColor:"{content.border.color}",borderRadius:"{content.border.radius}",transitionDuration:"{transition.duration}"},oL={background:"rgba(255, 255, 255, 0.1)",hoverBackground:"rgba(255, 255, 255, 0.2)",color:"{surface.100}",hoverColor:"{surface.0}",size:"2.625rem",gutter:"0.5rem",prev:{borderRadius:"50%"},next:{borderRadius:"50%"},focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},rL={size:"1.25rem"},aL={background:"{content.background}",padding:"0.875rem 0.25rem"},sL={size:"1.75rem",borderRadius:"{content.border.radius}",gutter:"0.5rem",hoverBackground:"light-dark({surface.100}, {surface.700})",color:"light-dark({surface.600}, {surface.400})",hoverColor:"light-dark({surface.700}, {surface.0})",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},lL={size:"0.875rem"},cL={background:"rgba(0, 0, 0, 0.5)",color:"{surface.100}",padding:"0.875rem"},dL={gap:"0.5rem",padding:"0.875rem"},uL={width:"0.875rem",height:"0.875rem",background:"light-dark({surface.200}, {surface.700})",hoverBackground:"light-dark({surface.300}, {surface.600})",activeBackground:"{primary.color}",borderRadius:"50%",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},pL={background:"rgba(0, 0, 0, 0.5)"},fL={background:"rgba(255, 255, 255, 0.4)",hoverBackground:"rgba(255, 255, 255, 0.6)",activeBackground:"rgba(255, 255, 255, 0.9)"},hL={size:"2.625rem",gutter:"0.5rem",background:"rgba(255, 255, 255, 0.1)",hoverBackground:"rgba(255, 255, 255, 0.2)",color:"{surface.50}",hoverColor:"{surface.0}",borderRadius:"50%",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},gL={size:"1.25rem"},fw={root:iL,navButton:oL,navIcon:rL,thumbnailsContent:aL,thumbnailNavButton:sL,thumbnailNavButtonIcon:lL,caption:cL,indicatorList:dL,indicatorButton:uL,insetIndicatorList:pL,insetIndicatorButton:fL,closeButton:hL,closeButtonIcon:gL};var mL={background:"{surface.950}"},bL={padding:"0.75rem 1rem",background:"{surface.950}"},yL={padding:"0.25rem 0",background:"{surface.950}",borderColor:"{surface.800}"},_L={transitionDuration:"0.3s"},vL={size:"2.25rem",borderRadius:"50%",color:"{surface.400}",hoverBackground:"{surface.800}",hoverColor:"{surface.0}",disabledOpacity:"{disabled.opacity}",transitionDuration:"{transition.duration}",icon:{size:"1rem"}},CL={background:"color-mix(in srgb, {surface.800}, transparent 40%)",size:"2.25rem",borderRadius:"50%",color:"{surface.400}",hoverBackground:"{surface.800}",hoverColor:"{surface.0}",offset:"0.5rem",transitionDuration:"{transition.duration}",icon:{size:"1rem"}},wL={size:"5rem",padding:"0.25rem",background:"{surface.800}",borderRadius:"0.25rem",borderWidth:"3px",hoverBorderColor:"{surface.700}",activeBorderColor:"{primary.color}",activeScale:"0.85",transitionDuration:"{transition.duration}"},xL={padding:"0.25rem 0"},hw={backdrop:mL,header:bL,footer:yL,item:_L,action:vL,navigation:CL,thumbnail:wL,thumbnailContent:xL};var TL={color:"{form.field.icon.color}"},gw={icon:TL};var DL={color:"{form.field.float.label.color}",focusColor:"{form.field.float.label.focus.color}",invalidColor:"{form.field.float.label.invalid.color}",transitionDuration:"0.2s",positionX:"{form.field.padding.x}",top:"{form.field.padding.y}",fontWeight:"{form.field.font.weight}",fontSize:"0.625rem"},EL={paddingTop:"1.125rem",paddingBottom:"{form.field.padding.y}"},mw={root:DL,input:EL};var IL={transitionDuration:"{transition.duration}"},SL={icon:{size:"1.25rem"},mask:{background:"{mask.background}",color:"{mask.color}"}},kL={position:{left:"auto",right:"1rem",top:"1rem",bottom:"auto"},blur:"8px",background:"rgba(255,255,255,0.1)",borderColor:"rgba(255,255,255,0.2)",borderWidth:"1px",borderRadius:"30px",padding:".5rem",gap:"0.5rem"},ML={hoverBackground:"rgba(255,255,255,0.1)",color:"{surface.50}",hoverColor:"{surface.0}",size:"2.625rem",iconSize:"1.25rem",borderRadius:"50%",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},bw={root:IL,preview:SL,toolbar:kL,action:ML};var RL={size:"15px",hoverSize:"30px",background:"rgba(255,255,255,0.3)",hoverBackground:"rgba(255,255,255,0.3)",borderColor:"unset",hoverBorderColor:"unset",borderWidth:"0",borderRadius:"50%",transitionDuration:"{transition.duration}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"rgba(255,255,255,0.3)",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},yw={handle:RL};var OL={padding:"{form.field.padding.y} {form.field.padding.x}",borderRadius:"{content.border.radius}",gap:"0.5rem"},AL={fontWeight:"500"},NL={size:"1rem"},FL={background:"light-dark(color-mix(in srgb, {blue.50}, transparent 5%), color-mix(in srgb, {blue.500}, transparent 84%))",borderColor:"light-dark({blue.200}, color-mix(in srgb, {blue.700}, transparent 64%))",color:"light-dark({blue.600}, {blue.500})",shadow:"0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)"},PL={background:"light-dark(color-mix(in srgb, {green.50}, transparent 5%), color-mix(in srgb, {green.500}, transparent 84%))",borderColor:"light-dark({green.200}, color-mix(in srgb, {green.700}, transparent 64%))",color:"light-dark({green.600}, {green.500})",shadow:"0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)"},LL={background:"light-dark(color-mix(in srgb, {yellow.50}, transparent 5%), color-mix(in srgb, {yellow.500}, transparent 84%))",borderColor:"light-dark({yellow.200}, color-mix(in srgb, {yellow.700}, transparent 64%))",color:"light-dark({yellow.600}, {yellow.500})",shadow:"0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)"},BL={background:"light-dark(color-mix(in srgb, {red.50}, transparent 5%), color-mix(in srgb, {red.500}, transparent 84%))",borderColor:"light-dark({red.200}, color-mix(in srgb, {red.700}, transparent 64%))",color:"light-dark({red.600}, {red.500})",shadow:"0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)"},VL={background:"light-dark({surface.100}, {surface.800})",borderColor:"light-dark({surface.200}, {surface.700})",color:"light-dark({surface.600}, {surface.300})",shadow:"0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)"},zL={background:"light-dark({surface.900}, {surface.0})",borderColor:"light-dark({surface.950}, {surface.100})",color:"light-dark({surface.50}, {surface.950})",shadow:"0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)"},_w={root:OL,text:AL,icon:NL,info:FL,success:PL,warn:LL,error:BL,secondary:VL,contrast:zL};var jL={padding:"{form.field.padding.y} {form.field.padding.x}",borderRadius:"{content.border.radius}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"},transitionDuration:"{transition.duration}"},HL={hoverBackground:"{content.hover.background}",hoverColor:"{content.hover.color}"},vw={root:jL,display:HL};var $L={background:"{form.field.background}",disabledBackground:"{form.field.disabled.background}",filledBackground:"{form.field.filled.background}",filledFocusBackground:"{form.field.filled.focus.background}",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.hover.border.color}",focusBorderColor:"{form.field.focus.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",color:"{form.field.color}",disabledColor:"{form.field.disabled.color}",placeholderColor:"{form.field.placeholder.color}",shadow:"{form.field.shadow}",paddingX:"{form.field.padding.x}",paddingY:"{form.field.padding.y}",borderRadius:"{form.field.border.radius}",focusRing:{width:"{form.field.focus.ring.width}",style:"{form.field.focus.ring.style}",color:"{form.field.focus.ring.color}",offset:"{form.field.focus.ring.offset}",shadow:"{form.field.focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}"},UL={borderRadius:"{border.radius.sm}",focusBackground:"light-dark({surface.200}, {surface.700})",color:"light-dark({surface.800}, {surface.0})"},Cw={root:$L,chip:UL};var WL={borderColor:"{content.border.color}"},GL={borderRadius:"{content.border.radius}"},qL={borderRadius:"{content.border.radius}",size:"1rem"},KL={size:"1rem",borderColor:"#ffffff",borderWidth:"3px",shadow:"0px 0.5px 0px 0px rgba(0, 0, 0, 0.08), 0px 1px 1px 0px rgba(0, 0, 0, 0.14)",transitionDuration:"{transition.duration}",focusRing:{borderWidth:"2px",borderColor:"#ffffff",outlineWidth:"2px",outlineColor:"rgba(255, 255, 255, 0.3)",outlineOffset:"2px"}},YL={color:"{surface.100}",background:"#ffffff",tileSize:"0.5rem"},QL={size:"2.25rem",borderRadius:"{content.border.radius}"},ww={root:WL,area:GL,slider:qL,handle:KL,transparencyGrid:YL,swatch:QL};var ZL={background:"{form.field.background}",borderColor:"{form.field.border.color}",color:"{form.field.icon.color}",borderRadius:"{form.field.border.radius}",padding:"0 0.5rem",minWidth:"2.25rem",fontWeight:"{form.field.font.weight}",fontSize:"{form.field.font.size}"},xw={addon:ZL};var XL={transitionDuration:"{transition.duration}"},JL={width:"2.25rem",borderRadius:"{form.field.border.radius}",verticalPadding:"{form.field.padding.y}",background:"transparent",hoverBackground:"light-dark({surface.100}, {surface.800})",activeBackground:"light-dark({surface.200}, {surface.700})",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.border.color}",activeBorderColor:"{form.field.border.color}",color:"{surface.400}",hoverColor:"light-dark({surface.500}, {surface.300})",activeColor:"light-dark({surface.600}, {surface.200})"},Tw={root:XL,button:JL};var e5={gap:"0.5rem"},t5={width:"2.25rem",sm:{width:"1.75rem"},lg:{width:"2.625rem"}},Dw={root:e5,input:t5};var n5={background:"{form.field.background}",disabledBackground:"{form.field.disabled.background}",filledBackground:"{form.field.filled.background}",filledHoverBackground:"{form.field.filled.hover.background}",filledFocusBackground:"{form.field.filled.focus.background}",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.hover.border.color}",focusBorderColor:"{form.field.focus.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",color:"{form.field.color}",disabledColor:"{form.field.disabled.color}",shadow:"{form.field.shadow}",paddingX:"{form.field.padding.x}",paddingY:"{form.field.padding.y}",borderRadius:"{form.field.border.radius}",focusRing:{width:"{form.field.focus.ring.width}",style:"{form.field.focus.ring.style}",color:"{form.field.focus.ring.color}",offset:"{form.field.focus.ring.offset}",shadow:"{form.field.focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}",gap:"0.25rem"},i5={borderRadius:"{form.field.border.radius}"},Ew={root:n5,item:i5};var o5={fontSize:"{form.field.font.size}",fontWeight:"{form.field.font.weight}",background:"{form.field.background}",disabledBackground:"{form.field.disabled.background}",filledBackground:"{form.field.filled.background}",filledHoverBackground:"{form.field.filled.hover.background}",filledFocusBackground:"{form.field.filled.focus.background}",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.hover.border.color}",focusBorderColor:"{form.field.focus.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",color:"{form.field.color}",disabledColor:"{form.field.disabled.color}",placeholderColor:"{form.field.placeholder.color}",invalidPlaceholderColor:"{form.field.invalid.placeholder.color}",shadow:"{form.field.shadow}",paddingX:"{form.field.padding.x}",paddingY:"{form.field.padding.y}",borderRadius:"{form.field.border.radius}",focusRing:{width:"{form.field.focus.ring.width}",style:"{form.field.focus.ring.style}",color:"{form.field.focus.ring.color}",offset:"{form.field.focus.ring.offset}",shadow:"{form.field.focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}",sm:{fontSize:"{form.field.sm.font.size}",paddingX:"{form.field.sm.padding.x}",paddingY:"{form.field.sm.padding.y}"},lg:{fontSize:"{form.field.lg.font.size}",paddingX:"{form.field.lg.padding.x}",paddingY:"{form.field.lg.padding.y}"}},Iw={root:o5};var r5={transitionDuration:"{transition.duration}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},a5={background:"{primary.color}"},s5={background:"{content.border.color}"},l5={color:"{text.muted.color}",fontSize:"1.125rem",fontWeight:"normal"},Sw={root:r5,value:a5,range:s5,text:l5};var c5={gap:"0.375rem",fontSize:"{typography.font.size}",fontWeight:"500",textColor:"{text.color}",disabledOpacity:"{disabled.opacity}"},kw={root:c5};var d5={background:"{form.field.background}",disabledBackground:"{form.field.disabled.background}",borderColor:"{form.field.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",color:"{form.field.color}",disabledColor:"{form.field.disabled.color}",shadow:"{form.field.shadow}",borderRadius:"{form.field.border.radius}",transitionDuration:"{form.field.transition.duration}"},u5={padding:"{list.padding}",gap:"{list.gap}",header:{padding:"{list.header.padding}"}},p5={fontWeight:"{list.option.font.weight}",fontSize:"{list.option.font.size}",focusBackground:"{list.option.focus.background}",selectedBackground:"{list.option.selected.background}",selectedFocusBackground:"{list.option.selected.focus.background}",color:"{list.option.color}",focusColor:"{list.option.focus.color}",selectedColor:"{list.option.selected.color}",selectedFocusColor:"{list.option.selected.focus.color}",selectedFontWeight:"{list.option.selected.font.weight}",padding:"{list.option.padding}",borderRadius:"{list.option.border.radius}",stripedBackground:"light-dark({surface.50}, {surface.900})"},f5={background:"{list.option.group.background}",color:"{list.option.group.color}",padding:"{list.option.group.padding}",fontWeight:"{list.option.group.font.weight}",fontSize:"{list.option.group.font.size}"},h5={color:"{list.option.color}",gutterStart:"-0.25rem",gutterEnd:"0.25rem"},g5={padding:"{list.option.padding}"},Mw={root:d5,list:u5,option:p5,optionGroup:f5,checkmark:h5,emptyMessage:g5};var m5={background:"{content.background}",borderColor:"{content.border.color}",borderRadius:"{content.border.radius}",color:"{content.color}",gap:"0.5rem",verticalOrientation:{padding:"{navigation.list.padding}",gap:"{navigation.list.gap}"},horizontalOrientation:{padding:"0.375rem 0.625rem",gap:"0.5rem"},transitionDuration:"{navigation.item.transition.duration}"},b5={borderRadius:"{content.border.radius}",padding:"{navigation.item.padding}"},y5={focusBackground:"{navigation.item.focus.background}",activeBackground:"{navigation.item.active.background}",color:"{navigation.item.color}",focusColor:"{navigation.item.focus.color}",activeColor:"{navigation.item.active.color}",padding:"{navigation.item.padding}",borderRadius:"{navigation.item.border.radius}",gap:"{navigation.item.gap}",icon:{color:"{navigation.item.icon.color}",focusColor:"{navigation.item.icon.focus.color}",activeColor:"{navigation.item.icon.active.color}",size:"{navigation.item.icon.size}"},label:{fontWeight:"{navigation.item.label.font.weight}",fontSize:"{navigation.item.label.font.size}"}},_5={padding:"0",background:"{content.background}",borderColor:"{content.border.color}",borderRadius:"{content.border.radius}",color:"{content.color}",shadow:"{overlay.navigation.shadow}",gap:"0.5rem"},v5={padding:"{navigation.list.padding}",gap:"{navigation.list.gap}"},C5={padding:"{navigation.submenu.label.padding}",fontWeight:"{navigation.submenu.label.font.weight}",fontSize:"{navigation.submenu.label.font.size}",background:"{navigation.submenu.label.background}",color:"{navigation.submenu.label.color}"},w5={size:"{navigation.submenu.icon.size}",color:"{navigation.submenu.icon.color}",focusColor:"{navigation.submenu.icon.focus.color}",activeColor:"{navigation.submenu.icon.active.color}"},x5={borderColor:"{content.border.color}"},T5={borderRadius:"50%",size:"1.5rem",color:"{text.muted.color}",hoverColor:"{text.hover.muted.color}",hoverBackground:"{content.hover.background}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},Rw={root:m5,baseItem:b5,item:y5,overlay:_5,submenu:v5,submenuLabel:C5,submenuIcon:w5,separator:x5,mobileButton:T5};var D5={background:"{content.background}",borderColor:"{content.border.color}",color:"{content.color}",borderRadius:"{content.border.radius}",shadow:"{overlay.navigation.shadow}",transitionDuration:"{navigation.item.transition.duration}"},E5={padding:"{navigation.list.padding}",gap:"{navigation.list.gap}"},I5={focusBackground:"{navigation.item.focus.background}",color:"{navigation.item.color}",focusColor:"{navigation.item.focus.color}",padding:"{navigation.item.padding}",borderRadius:"{navigation.item.border.radius}",gap:"{navigation.item.gap}",icon:{color:"{navigation.item.icon.color}",focusColor:"{navigation.item.icon.focus.color}",size:"{navigation.item.icon.size}"},label:{fontWeight:"{navigation.item.label.font.weight}",fontSize:"{navigation.item.label.font.size}"}},S5={padding:"{navigation.submenu.label.padding}",fontWeight:"{navigation.submenu.label.font.weight}",fontSize:"{navigation.submenu.label.font.size}",background:"{navigation.submenu.label.background}",color:"{navigation.submenu.label.color}"},k5={size:"{navigation.submenu.icon.size}",color:"{navigation.submenu.icon.color}",focusColor:"{navigation.submenu.icon.focus.color}"},M5={borderColor:"{content.border.color}"},Ow={root:D5,list:E5,item:I5,submenuLabel:S5,submenuIcon:k5,separator:M5};var R5={background:"{content.background}",borderColor:"{content.border.color}",borderRadius:"{content.border.radius}",color:"{content.color}",gap:"0.5rem",padding:"0.375rem 0.625rem",transitionDuration:"{navigation.item.transition.duration}"},O5={borderRadius:"{content.border.radius}",padding:"{navigation.item.padding}"},A5={focusBackground:"{navigation.item.focus.background}",activeBackground:"{navigation.item.active.background}",color:"{navigation.item.color}",focusColor:"{navigation.item.focus.color}",activeColor:"{navigation.item.active.color}",padding:"{navigation.item.padding}",borderRadius:"{navigation.item.border.radius}",gap:"{navigation.item.gap}",icon:{color:"{navigation.item.icon.color}",focusColor:"{navigation.item.icon.focus.color}",activeColor:"{navigation.item.icon.active.color}",size:"{navigation.item.icon.size}"},label:{fontWeight:"{navigation.item.label.font.weight}",fontSize:"{navigation.item.label.font.size}"}},N5={padding:"{navigation.list.padding}",gap:"{navigation.list.gap}",background:"{content.background}",borderColor:"{content.border.color}",borderRadius:"{content.border.radius}",shadow:"{overlay.navigation.shadow}",mobileIndent:"0.875rem",icon:{size:"{navigation.submenu.icon.size}",color:"{navigation.submenu.icon.color}",focusColor:"{navigation.submenu.icon.focus.color}",activeColor:"{navigation.submenu.icon.active.color}"}},F5={borderColor:"{content.border.color}"},P5={borderRadius:"50%",size:"1.5rem",color:"{text.muted.color}",hoverColor:"{text.hover.muted.color}",hoverBackground:"{content.hover.background}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},Aw={root:R5,baseItem:O5,item:A5,submenu:N5,separator:F5,mobileButton:P5};var L5={borderRadius:"{content.border.radius}",borderWidth:"1px",transitionDuration:"{transition.duration}"},B5={padding:"0.375rem 0.625rem",gap:"0.5rem",sm:{padding:"0.25rem 0.5rem"},lg:{padding:"0.5rem 0.75rem"}},V5={fontSize:"{typography.font.size}",fontWeight:"500",sm:{fontSize:"0.75rem"},lg:{fontSize:"1rem"}},z5={size:"1rem",sm:{size:"0.875rem"},lg:{size:"1.125rem"}},j5={width:"1.5rem",height:"1.5rem",borderRadius:"50%",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",offset:"{focus.ring.offset}"}},H5={size:"0.875rem",sm:{size:"0.75rem"},lg:{size:"1rem"}},$5={root:{borderWidth:"1px"}},U5={content:{padding:"0"}},W5={background:"light-dark(color-mix(in srgb, {blue.50}, transparent 5%), color-mix(in srgb, {blue.500}, transparent 84%))",borderColor:"light-dark({blue.200}, color-mix(in srgb, {blue.700}, transparent 64%))",color:"light-dark({blue.600}, {blue.500})",shadow:"0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)",closeButton:{hoverBackground:"light-dark({blue.100}, rgba(255, 255, 255, 0.05))",focusRing:{color:"light-dark({blue.600}, {blue.500})",shadow:"none"}},outlined:{color:"light-dark({blue.600}, {blue.500})",borderColor:"light-dark({blue.600}, {blue.500})"},simple:{color:"light-dark({blue.600}, {blue.500})"}},G5={background:"light-dark(color-mix(in srgb, {green.50}, transparent 5%), color-mix(in srgb, {green.500}, transparent 84%))",borderColor:"light-dark({green.200}, color-mix(in srgb, {green.700}, transparent 64%))",color:"light-dark({green.600}, {green.500})",shadow:"0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)",closeButton:{hoverBackground:"light-dark({green.100}, rgba(255, 255, 255, 0.05))",focusRing:{color:"light-dark({green.600}, {green.500})",shadow:"none"}},outlined:{color:"light-dark({green.600}, {green.500})",borderColor:"light-dark({green.600}, {green.500})"},simple:{color:"light-dark({green.600}, {green.500})"}},q5={background:"light-dark(color-mix(in srgb, {yellow.50}, transparent 5%), color-mix(in srgb, {yellow.500}, transparent 84%))",borderColor:"light-dark({yellow.200}, color-mix(in srgb, {yellow.700}, transparent 64%))",color:"light-dark({yellow.600}, {yellow.500})",shadow:"0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)",closeButton:{hoverBackground:"light-dark({yellow.100}, rgba(255, 255, 255, 0.05))",focusRing:{color:"light-dark({yellow.600}, {yellow.500})",shadow:"none"}},outlined:{color:"light-dark({yellow.600}, {yellow.500})",borderColor:"light-dark({yellow.600}, {yellow.500})"},simple:{color:"light-dark({yellow.600}, {yellow.500})"}},K5={background:"light-dark(color-mix(in srgb, {red.50}, transparent 5%), color-mix(in srgb, {red.500}, transparent 84%))",borderColor:"light-dark({red.200}, color-mix(in srgb, {red.700}, transparent 64%))",color:"light-dark({red.600}, {red.500})",shadow:"0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)",closeButton:{hoverBackground:"light-dark({red.100}, rgba(255, 255, 255, 0.05))",focusRing:{color:"light-dark({red.600}, {red.500})",shadow:"none"}},outlined:{color:"light-dark({red.600}, {red.500})",borderColor:"light-dark({red.600}, {red.500})"},simple:{color:"light-dark({red.600}, {red.500})"}},Y5={background:"light-dark({surface.100}, {surface.800})",borderColor:"light-dark({surface.200}, {surface.700})",color:"light-dark({surface.600}, {surface.300})",shadow:"0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)",closeButton:{hoverBackground:"light-dark({surface.200}, {surface.700})",focusRing:{color:"light-dark({surface.600}, {surface.300})",shadow:"none"}},outlined:{color:"light-dark({surface.500}, {surface.400})",borderColor:"light-dark({surface.500}, {surface.400})"},simple:{color:"light-dark({surface.500}, {surface.400})"}},Q5={background:"light-dark({surface.900}, {surface.0})",borderColor:"light-dark({surface.950}, {surface.100})",color:"light-dark({surface.50}, {surface.950})",shadow:"0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)",closeButton:{hoverBackground:"light-dark({surface.800}, {surface.100})",focusRing:{color:"light-dark({surface.50}, {surface.950})",shadow:"none"}},outlined:{color:"light-dark({surface.950}, {surface.0})",borderColor:"light-dark({surface.950}, {surface.0})"},simple:{color:"light-dark({surface.950}, {surface.0})"}},Nw={root:L5,content:B5,text:V5,icon:z5,closeButton:j5,closeIcon:H5,outlined:$5,simple:U5,info:W5,success:G5,warn:q5,error:K5,secondary:Y5,contrast:Q5};var Z5={borderRadius:"{content.border.radius}",gap:"0.875rem"},X5={background:"{content.border.color}",size:"0.375rem"},J5={gap:"0.375rem"},e4={size:"0.375rem"},t4={fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}"},n4={size:"0.875rem"},i4={verticalGap:"0.375rem",horizontalGap:"0.875rem"},Fw={root:Z5,meters:X5,label:J5,labelMarker:e4,labelText:t4,labelIcon:n4,labelList:i4};var o4={fontSize:"{form.field.font.size}",fontWeight:"{form.field.font.weight}",background:"{form.field.background}",disabledBackground:"{form.field.disabled.background}",filledBackground:"{form.field.filled.background}",filledHoverBackground:"{form.field.filled.hover.background}",filledFocusBackground:"{form.field.filled.focus.background}",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.hover.border.color}",focusBorderColor:"{form.field.focus.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",color:"{form.field.color}",disabledColor:"{form.field.disabled.color}",placeholderColor:"{form.field.placeholder.color}",invalidPlaceholderColor:"{form.field.invalid.placeholder.color}",shadow:"{form.field.shadow}",paddingX:"{form.field.padding.x}",paddingY:"{form.field.padding.y}",borderRadius:"{form.field.border.radius}",focusRing:{width:"{form.field.focus.ring.width}",style:"{form.field.focus.ring.style}",color:"{form.field.focus.ring.color}",offset:"{form.field.focus.ring.offset}",shadow:"{form.field.focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}",sm:{fontSize:"{form.field.sm.font.size}",paddingX:"{form.field.sm.padding.x}",paddingY:"{form.field.sm.padding.y}"},lg:{fontSize:"{form.field.lg.font.size}",paddingX:"{form.field.lg.padding.x}",paddingY:"{form.field.lg.padding.y}"}},r4={width:"2.25rem",color:"{form.field.icon.color}"},a4={background:"{overlay.select.background}",borderColor:"{overlay.select.border.color}",borderRadius:"{overlay.select.border.radius}",color:"{overlay.select.color}",shadow:"{overlay.select.shadow}"},s4={padding:"{list.padding}",gap:"{list.gap}",header:{padding:"0.5rem 0.5rem 0.125rem 0.875rem"}},l4={fontSize:"{list.option.font.size}",fontWeight:"{list.option.font.weight}",focusBackground:"{list.option.focus.background}",selectedBackground:"transparent",selectedFocusBackground:"transparent",color:"{list.option.color}",focusColor:"{list.option.color}",selectedColor:"{list.option.color}",selectedFocusColor:"{list.option.color}",selectedFontWeight:"{list.option.selected.font.weight}",padding:"{list.option.padding}",borderRadius:"{list.option.border.radius}",gap:"0.5rem"},c4={background:"{list.option.group.background}",color:"{list.option.group.color}",fontWeight:"{list.option.group.font.weight}",fontSize:"{list.option.group.font.size}",padding:"{list.option.group.padding}"},d4={color:"{form.field.icon.color}"},u4={borderRadius:"{border.radius.sm}"},p4={padding:"{list.option.padding}"},Pw={root:o4,dropdown:r4,overlay:a4,list:s4,option:l4,optionGroup:c4,chip:u4,clearIcon:d4,emptyMessage:p4};var f4={padding:"0.375rem 0.625rem",gap:"0.25rem"},h4={padding:"{navigation.item.padding}",borderRadius:"{content.border.radius}",gap:"{navigation.item.gap}",fontSize:"{navigation.item.label.font.size}",fontWeight:"500",color:"{navigation.item.color}",focusColor:"{navigation.item.focus.color}",focusBackground:"{navigation.item.focus.background}",activeColor:"{navigation.item.active.color}",activeBackground:"{navigation.item.active.background}",transitionDuration:"{navigation.item.transition.duration}"},Lw={root:f4,baseItem:h4};var g4={gap:"1rem"},m4={gap:"0.5rem"},Bw={root:g4,controls:m4};var b4={gutter:"0.625rem",transitionDuration:"{transition.duration}"},y4={background:"{content.background}",hoverBackground:"{content.hover.background}",selectedBackground:"{highlight.background}",borderColor:"{content.border.color}",color:"{content.color}",selectedColor:"{highlight.color}",hoverColor:"{content.hover.color}",padding:"0.625rem 0.875rem",toggleablePadding:"0.625rem 0.875rem 1.125rem 0.875rem",borderRadius:"{content.border.radius}",fontSize:"{typography.font.size}",fontWeight:"{typography.font.weight}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},_4={background:"{content.background}",hoverBackground:"{content.hover.background}",borderColor:"{content.border.color}",color:"{text.muted.color}",hoverColor:"{text.color}",size:"1.25rem",borderRadius:"50%",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"},icon:{size:"0.75rem"}},v4={color:"{content.border.color}",borderRadius:"{content.border.radius}",height:"24px"},Vw={root:b4,node:y4,nodeToggleButton:_4,connector:v4};var C4={outline:{width:"2px",color:"{content.background}"}},zw={root:C4};var w4={padding:"0.375rem 0.875rem",gap:"0.25rem",borderRadius:"{content.border.radius}",background:"{content.background}",color:"{content.color}",transitionDuration:"{transition.duration}"},x4={background:"transparent",hoverBackground:"{content.hover.background}",selectedBackground:"{highlight.background}",color:"{text.muted.color}",hoverColor:"{text.hover.muted.color}",selectedColor:"{highlight.color}",width:"2.25rem",height:"2.25rem",borderRadius:"50%",fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},T4={color:"{text.muted.color}",fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}"},D4={maxWidth:"2.25rem"},jw={root:w4,navButton:x4,currentPageReport:T4,jumpToPageInput:D4};var E4={background:"{content.background}",borderColor:"{content.border.color}",color:"{content.color}",borderRadius:"{content.border.radius}"},I4={background:"transparent",color:"{text.color}",padding:"1rem",borderColor:"{content.border.color}",borderWidth:"0",borderRadius:"0"},S4={padding:"0.375rem 1rem"},k4={fontWeight:"600",fontSize:"{typography.font.size}"},M4={padding:"0 1rem 1rem 1rem"},R4={padding:"0 1rem 1rem 1rem"},Hw={root:E4,header:I4,toggleableHeader:S4,title:k4,content:M4,footer:R4};var O4={gap:"0.5rem",transitionDuration:"{navigation.item.transition.duration}"},A4={background:"{content.background}",borderColor:"{content.border.color}",borderWidth:"1px",color:"{content.color}",padding:"0.25rem 0.25rem",borderRadius:"{content.border.radius}",first:{borderWidth:"1px",topBorderRadius:"{content.border.radius}"},last:{borderWidth:"1px",bottomBorderRadius:"{content.border.radius}"}},N4={focusBackground:"{navigation.item.focus.background}",color:"{navigation.item.color}",focusColor:"{navigation.item.focus.color}",gap:"0.5rem",padding:"{navigation.item.padding}",borderRadius:"{content.border.radius}",icon:{color:"{navigation.item.icon.color}",focusColor:"{navigation.item.icon.focus.color}",size:"{navigation.item.icon.size}"},label:{fontWeight:"{navigation.item.label.font.weight}",fontSize:"{navigation.item.label.font.size}"}},F4={indent:"1rem"},P4={color:"{navigation.submenu.icon.color}",focusColor:"{navigation.submenu.icon.focus.color}"},$w={root:O4,panel:A4,item:N4,submenu:F4,submenuIcon:P4};var L4={background:"{content.border.color}",borderRadius:"{content.border.radius}",height:"0.625rem"},B4={color:"{form.field.icon.color}"},V4={background:"{overlay.popover.background}",borderColor:"{overlay.popover.border.color}",borderRadius:"{overlay.popover.border.radius}",color:"{overlay.popover.color}",padding:"{overlay.popover.padding}",shadow:"{overlay.popover.shadow}"},z4={gap:"0.5rem"},j4={fontSize:"{typography.font.size}",fontWeight:"{typography.font.weight}"},H4={weakBackground:"light-dark({red.500}, {red.400})",mediumBackground:"light-dark({amber.500}, {amber.400})",strongBackground:"light-dark({green.500}, {green.400})"},Uw={meter:L4,icon:B4,overlay:V4,content:z4,meterText:j4,strength:H4};var $4={gap:"1rem"},U4={gap:"0.5rem"},Ww={root:$4,controls:U4};var W4={background:"{overlay.popover.background}",borderColor:"{overlay.popover.border.color}",color:"{overlay.popover.color}",borderRadius:"{overlay.popover.border.radius}",shadow:"{overlay.popover.shadow}",gutter:"10px",arrowOffset:"1.125rem"},G4={padding:"{overlay.popover.padding}"},Gw={root:W4,content:G4};var q4={background:"{content.border.color}",borderRadius:"{content.border.radius}",height:"1.125rem"},K4={background:"{primary.color}"},Y4={color:"{primary.contrast.color}",fontSize:"0.625rem",fontWeight:"600"},qw={root:q4,value:K4,label:Y4};var Q4={colorOne:"light-dark({red.500}, {red.400})",colorTwo:"light-dark({blue.500}, {blue.400})",colorThree:"light-dark({green.500}, {green.400})",colorFour:"light-dark({yellow.500}, {yellow.400})"},Kw={root:Q4};var Z4={width:"1.125rem",height:"1.125rem",background:"{form.field.background}",checkedBackground:"{primary.color}",checkedHoverBackground:"{primary.hover.color}",disabledBackground:"{form.field.disabled.background}",filledBackground:"{form.field.filled.background}",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.hover.border.color}",focusBorderColor:"{form.field.border.color}",checkedBorderColor:"{primary.color}",checkedHoverBorderColor:"{primary.hover.color}",checkedFocusBorderColor:"{primary.color}",checkedDisabledBorderColor:"{form.field.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",shadow:"{form.field.shadow}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}",sm:{width:"0.875rem",height:"0.875rem"},lg:{width:"1.25rem",height:"1.25rem"}},X4={size:"0.625rem",checkedColor:"{primary.contrast.color}",checkedHoverColor:"{primary.contrast.color}",disabledColor:"{form.field.disabled.color}",sm:{size:"0.5rem"},lg:{size:"0.75rem"}},Yw={root:Z4,icon:X4};var J4={gap:"0.25rem",transitionDuration:"{transition.duration}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},e6={size:"1rem",color:"{text.muted.color}",hoverColor:"{primary.color}",activeColor:"{primary.color}"},Qw={root:J4,icon:e6};var t6={background:"light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.3))"},Zw={root:t6};var n6={background:"{content.background}",borderColor:"{content.border.color}",borderRadius:"{content.border.radius}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},i6={padding:"1rem"},o6={background:"transparent",margin:"0.25rem",size:"0.25rem",transitionDuration:"{transition.duration}"},r6={background:"{content.border.color}"},a6={fadeSize:"40px"},Xw={root:n6,viewport:i6,scrollbar:o6,handle:r6,mask:a6};var s6={transitionDuration:"{transition.duration}"},l6={size:"9px",borderRadius:"{border.radius.sm}",background:"light-dark({surface.100}, {surface.800})",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},Jw={root:s6,bar:l6};var c6={fontSize:"{form.field.font.size}",fontWeight:"{form.field.font.weight}",background:"{form.field.background}",disabledBackground:"{form.field.disabled.background}",filledBackground:"{form.field.filled.background}",filledHoverBackground:"{form.field.filled.hover.background}",filledFocusBackground:"{form.field.filled.focus.background}",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.hover.border.color}",focusBorderColor:"{form.field.focus.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",color:"{form.field.color}",disabledColor:"{form.field.disabled.color}",placeholderColor:"{form.field.placeholder.color}",invalidPlaceholderColor:"{form.field.invalid.placeholder.color}",shadow:"{form.field.shadow}",paddingX:"{form.field.padding.x}",paddingY:"{form.field.padding.y}",borderRadius:"{form.field.border.radius}",focusRing:{width:"{form.field.focus.ring.width}",style:"{form.field.focus.ring.style}",color:"{form.field.focus.ring.color}",offset:"{form.field.focus.ring.offset}",shadow:"{form.field.focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}",sm:{fontSize:"{form.field.sm.font.size}",paddingX:"{form.field.sm.padding.x}",paddingY:"{form.field.sm.padding.y}"},lg:{fontSize:"{form.field.lg.font.size}",paddingX:"{form.field.lg.padding.x}",paddingY:"{form.field.lg.padding.y}"}},d6={width:"2.25rem",color:"{form.field.icon.color}"},u6={background:"{overlay.select.background}",borderColor:"{overlay.select.border.color}",borderRadius:"{overlay.select.border.radius}",color:"{overlay.select.color}",shadow:"{overlay.select.shadow}"},p6={padding:"{list.padding}",gap:"{list.gap}",header:{padding:"{list.header.padding}"}},f6={fontSize:"{list.option.font.size}",fontWeight:"{list.option.font.weight}",focusBackground:"{list.option.focus.background}",selectedBackground:"{list.option.selected.background}",selectedFocusBackground:"{list.option.selected.focus.background}",color:"{list.option.color}",focusColor:"{list.option.focus.color}",selectedColor:"{list.option.selected.color}",selectedFocusColor:"{list.option.selected.focus.color}",selectedFontWeight:"{list.option.selected.font.weight}",padding:"{list.option.padding}",borderRadius:"{list.option.border.radius}"},h6={background:"{list.option.group.background}",color:"{list.option.group.color}",fontWeight:"{list.option.group.font.weight}",fontSize:"{list.option.group.font.size}",padding:"{list.option.group.padding}"},g6={color:"{form.field.icon.color}"},m6={color:"{list.option.color}",gutterStart:"-0.25rem",gutterEnd:"0.25rem"},b6={padding:"{list.option.padding}"},ex={root:c6,dropdown:d6,overlay:u6,list:p6,option:f6,optionGroup:h6,clearIcon:g6,checkmark:m6,emptyMessage:b6};var y6={borderRadius:"{form.field.border.radius}",invalidBorderColor:"{form.field.invalid.border.color}"},tx={root:y6};var _6={borderColor:"{content.border.color}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},v6={background:"light-dark({surface.50}, {surface.900})"},C6={padding:"0.5rem",gap:"0.5rem"},w6={padding:"0.5rem",gap:"0.5rem"},x6={background:"{content.background}",color:"{content.color}",floatingBorderRadius:"{content.border.radius}",floatingShadow:"0 1px 2px 0 rgb(0 0 0 / 0.05)"},T6={gap:"0.125rem"},D6={padding:"0.5rem"},E6={padding:"0.5rem"},I6={padding:"0 0.5rem",height:"2rem",borderRadius:"{content.border.radius}",fontSize:"0.75rem",fontWeight:"500",color:"{text.muted.color}"},S6={top:"0.875rem",right:"0.75rem",size:"1.25rem",borderRadius:"{content.border.radius}",color:"{navigation.item.icon.color}",focusColor:"{navigation.item.icon.focus.color}",focusBackground:"{navigation.item.focus.background}",icon:{size:"{navigation.item.icon.size}"}},k6={gap:"{navigation.list.gap}"},M6={padding:"0.25rem 0.625rem",gap:"{navigation.item.gap}",height:"2rem",borderRadius:"{navigation.item.border.radius}",fontSize:"{navigation.item.label.font.size}",fontWeight:"{navigation.item.label.font.weight}",color:"{navigation.item.color}",focusBackground:"{navigation.item.focus.background}",focusColor:"{navigation.item.focus.color}",activeBackground:"{navigation.item.active.background}",activeColor:"{navigation.item.active.color}",iconOnlyWidth:"2rem",withActionPaddingEnd:"2rem",icon:{color:"{navigation.item.icon.color}",focusColor:"{navigation.item.icon.focus.color}",size:"{navigation.item.icon.size}"}},R6={top:"0.375rem",right:"0.25rem",width:"1.25rem",borderRadius:"{content.border.radius}",color:"{navigation.item.icon.color}",focusColor:"{navigation.item.icon.focus.color}",focusBackground:"{navigation.item.focus.background}",icon:{size:"{navigation.item.icon.size}"}},O6={top:"0.375rem",right:"0.25rem",height:"1.25rem",minWidth:"1.25rem",borderRadius:"0.375rem",padding:"0 0.25rem",fontSize:"0.75rem",fontWeight:"500",background:"{content.hover.background}",borderColor:"{content.border.color}",color:"{text.muted.color}"},A6={paddingBlock:"0.125rem",gap:"0.125rem",indentMargin:"0.875rem",indentPadding:"0.625rem",collapsibleIndent:"1.5rem",collapsibleTopMargin:"0.125rem",collapsibleBorderRadius:"0.375rem"},N6={padding:"{navigation.item.padding}",gap:"{navigation.item.gap}",height:"2rem",borderRadius:"{navigation.item.border.radius}",fontSize:"{navigation.item.label.font.size}",fontWeight:"{navigation.item.label.font.weight}",color:"{navigation.item.color}",focusBackground:"{navigation.item.focus.background}",focusColor:"{navigation.item.focus.color}",activeBackground:"{navigation.item.active.background}",activeColor:"{navigation.item.active.color}",icon:{color:"{navigation.item.icon.color}",focusColor:"{navigation.item.icon.focus.color}",size:"{navigation.item.icon.size}"}},F6={background:"light-dark({surface.50}, {surface.900})",floatingBackground:"light-dark({surface.50}, {surface.900})",insetBackground:"light-dark({surface.0}, {surface.950})",margin:"0.5rem",borderRadius:"{content.border.radius}",shadow:"0 1px 2px 0 rgb(0 0 0 / 0.05)"},nx={root:_6,layout:v6,header:C6,footer:w6,content:T6,aside:D6,panel:x6,group:E6,groupLabel:I6,groupAction:S6,menu:k6,menuButton:M6,menuAction:R6,menuBadge:O6,menuSub:A6,menuSubButton:N6,main:F6};var P6={borderRadius:"{content.border.radius}",background:"light-dark({surface.200}, rgba(255, 255, 255, 0.06))",animationBackground:"light-dark(rgba(255,255,255,0.4), rgba(255, 255, 255, 0.04))"},ix={root:P6};var L6={transitionDuration:"{transition.duration}"},B6={background:"{content.border.color}",borderRadius:"{content.border.radius}",size:"3px"},V6={background:"{primary.color}"},z6={width:"20px",height:"20px",borderRadius:"50%",background:"{content.border.color}",hoverBackground:"{content.border.color}",content:{borderRadius:"50%",background:"light-dark({surface.0}, {surface.950})",hoverBackground:"{content.background}",width:"16px",height:"16px",shadow:"0px 0.5px 0px 0px rgba(0, 0, 0, 0.08), 0px 1px 1px 0px rgba(0, 0, 0, 0.14)"},focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},ox={root:L6,track:B6,range:V6,handle:z6};var j6={gap:"0.5rem",transitionDuration:"{transition.duration}"},rx={root:j6};var H6={borderRadius:"{form.field.border.radius}",roundedBorderRadius:"2rem",raisedShadow:"0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)"},ax={root:H6};var $6={background:"{content.background}",borderColor:"{content.border.color}",color:"{content.color}",transitionDuration:"{transition.duration}"},U6={background:"{content.border.color}"},W6={size:"24px",background:"transparent",borderRadius:"{content.border.radius}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},sx={root:$6,gutter:U6,handle:W6};var G6={transitionDuration:"{transition.duration}"},q6={background:"{content.border.color}",activeBackground:"{primary.color}",margin:"0 0 0 1.375rem",size:"2px"},K6={padding:"0.375rem",gap:"0.875rem"},Y6={padding:"0",borderRadius:"{content.border.radius}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"},gap:"0.5rem"},Q6={color:"{text.muted.color}",activeColor:"{primary.color}",fontWeight:"500",fontSize:"{typography.font.size}"},Z6={background:"{content.background}",activeBackground:"{content.background}",borderColor:"{content.border.color}",activeBorderColor:"{content.border.color}",color:"{text.muted.color}",activeColor:"{primary.color}",size:"2rem",fontSize:"1rem",fontWeight:"500",borderRadius:"50%",shadow:"0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)"},X6={padding:"0.75rem 0.375rem 1rem 0.375rem"},J6={background:"{content.background}",color:"{content.color}",padding:"0",indent:"0.875rem"},lx={root:G6,separator:q6,step:K6,stepHeader:Y6,stepTitle:Q6,stepNumber:Z6,steppanels:X6,steppanel:J6};var eB={transitionDuration:"{transition.duration}"},tB={background:"{content.border.color}"},nB={borderRadius:"{content.border.radius}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"},gap:"0.5rem"},iB={color:"{text.muted.color}",activeColor:"{primary.color}",fontWeight:"500"},oB={background:"{content.background}",activeBackground:"{content.background}",borderColor:"{content.border.color}",activeBorderColor:"{content.border.color}",color:"{text.muted.color}",activeColor:"{primary.color}",size:"2rem",fontSize:"1.143rem",fontWeight:"500",borderRadius:"50%",shadow:"0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)"},cx={root:eB,separator:tB,itemLink:nB,itemLabel:iB,itemNumber:oB};var rB={transitionDuration:"{transition.duration}"},aB={borderWidth:"0 0 1px 0",background:"{content.background}",borderColor:"{content.border.color}"},sB={background:"transparent",hoverBackground:"transparent",activeBackground:"transparent",borderWidth:"0 0 1px 0",borderColor:"{content.border.color}",hoverBorderColor:"{content.border.color}",activeBorderColor:"{primary.color}",color:"{text.muted.color}",hoverColor:"{text.color}",activeColor:"{primary.color}",padding:"1rem 1.125rem",fontWeight:"600",margin:"0 0 -1px 0",gap:"0.5rem",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},lB={color:"{text.muted.color}",hoverColor:"{text.color}",activeColor:"{primary.color}"},cB={height:"1px",bottom:"-1px",background:"{primary.color}"},dx={root:rB,tablist:aB,item:sB,itemIcon:lB,activeBar:cB};var dB={transitionDuration:"{transition.duration}"},uB={borderWidth:"0 0 1px 0",background:"{content.background}",borderColor:"{content.border.color}"},pB={background:"transparent",hoverBackground:"transparent",activeBackground:"transparent",borderWidth:"0",borderColor:"transparent",hoverBorderColor:"transparent",activeBorderColor:"transparent",color:"{text.muted.color}",hoverColor:"{text.color}",activeColor:"{primary.color}",padding:"0.875rem 1rem",fontWeight:"600",fontSize:"{typography.font.size}",margin:"0",gap:"0.5rem",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"-1px",shadow:"{focus.ring.shadow}"}},fB={background:"{content.background}",color:"{content.color}",padding:"0.75rem 1rem 1rem 1rem",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"inset {focus.ring.shadow}"}},hB={background:"{content.background}",color:"{text.muted.color}",hoverColor:"{text.color}",width:"2.25rem",shadow:"0px 0px 10px 50px light-dark(rgba(255, 255, 255, 0.6), color-mix(in srgb, {content.background}, transparent 50%))",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"-1px",shadow:"{focus.ring.shadow}"}},gB={height:"1px",bottom:"0",background:"{primary.color}"},ux={root:dB,tablist:uB,tab:pB,tabpanel:fB,navButton:hB,activeBar:gB};var mB={transitionDuration:"{transition.duration}"},bB={background:"{content.background}",borderColor:"{content.border.color}"},yB={borderColor:"{content.border.color}",activeBorderColor:"{primary.color}",color:"{text.muted.color}",hoverColor:"{text.color}",activeColor:"{primary.color}"},_B={background:"{content.background}",color:"{content.color}"},vB={background:"{content.background}",color:"{text.muted.color}",hoverColor:"{text.color}",shadow:"0px 0px 10px 50px light-dark(rgba(255, 255, 255, 0.6), color-mix(in srgb, {content.background}, transparent 50%))"},px={root:mB,tabList:bB,tab:yB,tabPanel:_B,navButton:vB};var CB={fontSize:"0.75rem",fontWeight:"700",padding:"0.125rem 0.375rem",gap:"0.25rem",borderRadius:"{content.border.radius}",roundedBorderRadius:"{border.radius.xl}"},wB={size:"0.625rem"},xB={background:"light-dark({primary.100}, color-mix(in srgb, {primary.500}, transparent 84%))",color:"light-dark({primary.700}, {primary.300})"},TB={background:"light-dark({surface.100}, {surface.800})",color:"light-dark({surface.600}, {surface.300})"},DB={background:"light-dark({green.100}, color-mix(in srgb, {green.500}, transparent 84%))",color:"light-dark({green.700}, {green.300})"},EB={background:"light-dark({sky.100}, color-mix(in srgb, {sky.500}, transparent 84%))",color:"light-dark({sky.700}, {sky.300})"},IB={background:"light-dark({orange.100}, color-mix(in srgb, {orange.500}, transparent 84%))",color:"light-dark({orange.700}, {orange.300})"},SB={background:"light-dark({red.100}, color-mix(in srgb, {red.500}, transparent 84%))",color:"light-dark({red.700}, {red.300})"},kB={background:"light-dark({surface.950}, {surface.0})",color:"light-dark({surface.0}, {surface.950})"},fx={root:CB,icon:wB,primary:xB,secondary:TB,success:DB,info:EB,warn:IB,danger:SB,contrast:kB};var MB={background:"{form.field.background}",borderColor:"{form.field.border.color}",color:"{form.field.color}",height:"16rem",padding:"{form.field.padding.y} {form.field.padding.x}",borderRadius:"{form.field.border.radius}",fontWeight:"{typography.font.weight}",fontSize:"{typography.font.size}"},RB={gap:"0.25rem"},OB={margin:"2px 0"},hx={root:MB,prompt:RB,commandResponse:OB};var AB={fontSize:"{form.field.font.size}",fontWeight:"{form.field.font.weight}",background:"{form.field.background}",disabledBackground:"{form.field.disabled.background}",filledBackground:"{form.field.filled.background}",filledHoverBackground:"{form.field.filled.hover.background}",filledFocusBackground:"{form.field.filled.focus.background}",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.hover.border.color}",focusBorderColor:"{form.field.focus.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",color:"{form.field.color}",disabledColor:"{form.field.disabled.color}",placeholderColor:"{form.field.placeholder.color}",invalidPlaceholderColor:"{form.field.invalid.placeholder.color}",shadow:"{form.field.shadow}",paddingX:"{form.field.padding.x}",paddingY:"{form.field.padding.y}",borderRadius:"{form.field.border.radius}",focusRing:{width:"{form.field.focus.ring.width}",style:"{form.field.focus.ring.style}",color:"{form.field.focus.ring.color}",offset:"{form.field.focus.ring.offset}",shadow:"{form.field.focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}",sm:{fontSize:"{form.field.sm.font.size}",paddingX:"{form.field.sm.padding.x}",paddingY:"{form.field.sm.padding.y}"},lg:{fontSize:"{form.field.lg.font.size}",paddingX:"{form.field.lg.padding.x}",paddingY:"{form.field.lg.padding.y}"}},gx={root:AB};var NB={background:"{content.background}",borderColor:"{content.border.color}",color:"{content.color}",borderRadius:"{content.border.radius}",shadow:"{overlay.navigation.shadow}",transitionDuration:"{navigation.item.transition.duration}"},FB={padding:"{navigation.list.padding}",gap:"{navigation.list.gap}"},PB={focusBackground:"{navigation.item.focus.background}",activeBackground:"{navigation.item.active.background}",color:"{navigation.item.color}",focusColor:"{navigation.item.focus.color}",activeColor:"{navigation.item.active.color}",padding:"{navigation.item.padding}",borderRadius:"{navigation.item.border.radius}",gap:"{navigation.item.gap}",icon:{color:"{navigation.item.icon.color}",focusColor:"{navigation.item.icon.focus.color}",activeColor:"{navigation.item.icon.active.color}",size:"{navigation.item.icon.size}"},label:{fontWeight:"{navigation.item.label.font.weight}",fontSize:"{navigation.item.label.font.size}"}},LB={mobileIndent:"0.875rem"},BB={size:"{navigation.submenu.icon.size}",color:"{navigation.submenu.icon.color}",focusColor:"{navigation.submenu.icon.focus.color}",activeColor:"{navigation.submenu.icon.active.color}"},VB={borderColor:"{content.border.color}"},mx={root:NB,list:FB,item:PB,submenu:LB,submenuIcon:BB,separator:VB};var zB={minHeight:"4.5rem"},jB={eventContent:{padding:"0.875rem 0"}},HB={eventContent:{padding:"0 0.875rem"}},$B={size:"1rem",borderRadius:"50%",borderWidth:"2px",background:"{content.background}",borderColor:"{content.border.color}",content:{borderRadius:"50%",size:"0.375rem",background:"{primary.color}",insetShadow:"0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)"}},UB={color:"{content.border.color}",size:"2px"},bx={event:zB,horizontal:jB,vertical:HB,eventMarker:$B,eventConnector:UB};var WB={width:"22rem",borderRadius:"{content.border.radius}",borderWidth:"1px",transitionDuration:"0.3s",blur:"10px",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},GB={size:"1rem",margin:"1px 0 0 0"},qB={padding:"{overlay.popover.padding}",gap:"0.5rem"},KB={gap:"0.25rem"},YB={fontWeight:"500",fontSize:"{typography.font.size}"},QB={fontWeight:"500",fontSize:"0.75rem"},ZB={width:"1.5rem",height:"1.5rem",borderRadius:"50%",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",offset:"{focus.ring.offset}"}},XB={size:"0.875rem"},JB={background:"{content.background}",borderColor:"{content.border.color}",color:"{text.color}",detailColor:"{text.muted.color}",shadow:"{overlay.popover.shadow}",closeButton:{hoverBackground:"{content.hover.background}",focusRing:{color:"{focus.ring.color}",shadow:"none"}}},e7={background:"light-dark(color-mix(in srgb, {blue.50}, transparent 5%), color-mix(in srgb, {blue.500}, transparent 84%))",borderColor:"light-dark({blue.200}, color-mix(in srgb, {blue.700}, transparent 64%))",color:"light-dark({blue.600}, {blue.500})",detailColor:"light-dark({surface.700}, {surface.0})",shadow:"0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)",closeButton:{hoverBackground:"light-dark({blue.100}, rgba(255, 255, 255, 0.05))",focusRing:{color:"light-dark({blue.600}, {blue.500})",shadow:"none"}}},t7={background:"light-dark(color-mix(in srgb, {green.50}, transparent 5%), color-mix(in srgb, {green.500}, transparent 84%))",borderColor:"light-dark({green.200}, color-mix(in srgb, {green.700}, transparent 64%))",color:"light-dark({green.600}, {green.500})",detailColor:"light-dark({surface.700}, {surface.0})",shadow:"0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)",closeButton:{hoverBackground:"light-dark({green.100}, rgba(255, 255, 255, 0.05))",focusRing:{color:"light-dark({green.600}, {green.500})",shadow:"none"}}},n7={background:"light-dark(color-mix(in srgb, {yellow.50}, transparent 5%), color-mix(in srgb, {yellow.500}, transparent 84%))",borderColor:"light-dark({yellow.200}, color-mix(in srgb, {yellow.700}, transparent 64%))",color:"light-dark({yellow.600}, {yellow.500})",detailColor:"light-dark({surface.700}, {surface.0})",shadow:"0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)",closeButton:{hoverBackground:"light-dark({yellow.100}, rgba(255, 255, 255, 0.05))",focusRing:{color:"light-dark({yellow.600}, {yellow.500})",shadow:"none"}}},i7={background:"light-dark(color-mix(in srgb, {red.50}, transparent 5%), color-mix(in srgb, {red.500}, transparent 84%))",borderColor:"light-dark({red.200}, color-mix(in srgb, {red.700}, transparent 64%))",color:"light-dark({red.600}, {red.500})",detailColor:"light-dark({surface.700}, {surface.0})",shadow:"0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)",closeButton:{hoverBackground:"light-dark({red.100}, rgba(255, 255, 255, 0.05))",focusRing:{color:"light-dark({red.600}, {red.500})",shadow:"none"}}},o7={background:"light-dark({surface.100}, {surface.800})",borderColor:"light-dark({surface.200}, {surface.700})",color:"light-dark({surface.600}, {surface.300})",detailColor:"light-dark({surface.700}, {surface.0})",shadow:"0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)",closeButton:{hoverBackground:"light-dark({surface.200}, {surface.700})",focusRing:{color:"light-dark({surface.600}, {surface.300})",shadow:"none"}}},r7={background:"light-dark({surface.900}, {surface.0})",borderColor:"light-dark({surface.950}, {surface.100})",color:"light-dark({surface.50}, {surface.950})",detailColor:"light-dark({surface.0}, {surface.950})",shadow:"0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)",closeButton:{hoverBackground:"light-dark({surface.800}, {surface.100})",focusRing:{color:"light-dark({surface.50}, {surface.950})",shadow:"none"}}},yx={root:WB,icon:GB,content:qB,text:KB,summary:YB,detail:QB,closeButton:ZB,closeIcon:XB,normal:JB,info:e7,success:t7,warn:n7,error:i7,secondary:o7,contrast:r7};var a7={padding:"0.25rem",borderRadius:"{content.border.radius}",gap:"0.5rem",fontWeight:"500",fontSize:"{form.field.font.size}",background:"light-dark({surface.100}, {surface.950})",checkedBackground:"light-dark({surface.100}, {surface.950})",hoverBackground:"light-dark({surface.100}, {surface.950})",borderColor:"light-dark({surface.100}, {surface.950})",color:"light-dark({surface.500}, {surface.400})",hoverColor:"light-dark({surface.700}, {surface.300})",checkedColor:"light-dark({surface.900}, {surface.0})",checkedBorderColor:"light-dark({surface.100}, {surface.950})",disabledBackground:"{form.field.disabled.background}",disabledBorderColor:"{form.field.disabled.background}",disabledColor:"{form.field.disabled.color}",invalidBorderColor:"{form.field.invalid.border.color}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}",sm:{fontSize:"{form.field.sm.font.size}",padding:"0.25rem"},lg:{fontSize:"{form.field.lg.font.size}",padding:"0.25rem"}},s7={color:"light-dark({surface.500}, {surface.400})",hoverColor:"light-dark({surface.700}, {surface.300})",checkedColor:"light-dark({surface.900}, {surface.0})",disabledColor:"{form.field.disabled.color}"},l7={padding:"0.125rem 0.625rem",borderRadius:"{content.border.radius}",checkedBackground:"light-dark({surface.0}, {surface.800})",checkedShadow:"0px 1px 2px 0px rgba(0, 0, 0, 0.02), 0px 1px 2px 0px rgba(0, 0, 0, 0.04)",sm:{padding:"0.125rem 0.625rem"},lg:{padding:"0.125rem 0.625rem"}},_x={root:a7,icon:s7,content:l7};var c7={width:"2.25rem",height:"1.375rem",borderRadius:"30px",gap:"0.25rem",shadow:"{form.field.shadow}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"},borderWidth:"1px",borderColor:"transparent",hoverBorderColor:"transparent",checkedBorderColor:"transparent",checkedHoverBorderColor:"transparent",invalidBorderColor:"{form.field.invalid.border.color}",transitionDuration:"{form.field.transition.duration}",slideDuration:"0.2s",background:"light-dark({surface.300}, {surface.700})",disabledBackground:"light-dark({form.field.disabled.background}, {surface.600})",hoverBackground:"light-dark({surface.400}, {surface.600})",checkedBackground:"{primary.color}",checkedHoverBackground:"{primary.hover.color}"},d7={borderRadius:"50%",size:"0.875rem",background:"light-dark({surface.0}, {surface.400})",disabledBackground:"light-dark({form.field.disabled.color}, {surface.900})",hoverBackground:"light-dark({surface.0}, {surface.300})",checkedBackground:"light-dark({surface.0}, {surface.900})",checkedHoverBackground:"light-dark({surface.0}, {surface.900})",color:"light-dark({text.muted.color}, {surface.900})",hoverColor:"light-dark({text.color}, {surface.800})",checkedColor:"{primary.color}",checkedHoverColor:"{primary.hover.color}"},vx={root:c7,handle:d7};var u7={background:"{content.background}",borderColor:"{content.border.color}",borderRadius:"{content.border.radius}",color:"{content.color}",gap:"0.5rem",padding:"0.625rem"},Cx={root:u7};var p7={maxWidth:"12.5rem",gutter:"0.25rem",shadow:"{overlay.popover.shadow}",padding:"0.375rem 0.625rem",borderRadius:"{overlay.popover.border.radius}",fontWeight:"{typography.font.weight}",fontSize:"0.75rem",background:"{surface.700}",color:"{surface.0}"},wx={root:p7};var f7={background:"{content.background}",color:"{content.color}",padding:"0.875rem",gap:"2px",indent:"0.875rem",transitionDuration:"0s"},h7={padding:"0.25rem 0.5rem",borderRadius:"{content.border.radius}",hoverBackground:"{content.hover.background}",selectedBackground:"{highlight.background}",color:"{text.color}",hoverColor:"{text.hover.color}",selectedColor:"{highlight.color}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"-1px",shadow:"{focus.ring.shadow}"},gap:"0.375rem"},g7={color:"{text.muted.color}",hoverColor:"{text.hover.muted.color}",selectedColor:"{highlight.color}"},m7={fontWeight:"{typography.font.weight}",selectedFontWeight:"{list.option.selected.font.weight}",fontSize:"{typography.font.size}"},b7={borderRadius:"50%",size:"1.5rem",hoverBackground:"{content.hover.background}",selectedHoverBackground:"{content.background}",color:"{text.muted.color}",hoverColor:"{text.hover.muted.color}",selectedHoverColor:"{primary.color}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},y7={size:"1.75rem"},_7={margin:"0 0 0.5rem 0"},v7=` + .p-tree-mask.p-overlay-mask { + --px-mask-background: light-dark(rgba(255,255,255,0.5),rgba(0,0,0,0.3)); + } +`,xx={root:f7,node:h7,nodeIcon:g7,nodeLabel:m7,nodeToggleButton:b7,loadingIcon:y7,filter:_7,css:v7};var C7={fontSize:"{form.field.font.size}",fontWeight:"{form.field.font.weight}",background:"{form.field.background}",disabledBackground:"{form.field.disabled.background}",filledBackground:"{form.field.filled.background}",filledHoverBackground:"{form.field.filled.hover.background}",filledFocusBackground:"{form.field.filled.focus.background}",borderColor:"{form.field.border.color}",hoverBorderColor:"{form.field.hover.border.color}",focusBorderColor:"{form.field.focus.border.color}",invalidBorderColor:"{form.field.invalid.border.color}",color:"{form.field.color}",disabledColor:"{form.field.disabled.color}",placeholderColor:"{form.field.placeholder.color}",invalidPlaceholderColor:"{form.field.invalid.placeholder.color}",shadow:"{form.field.shadow}",paddingX:"{form.field.padding.x}",paddingY:"{form.field.padding.y}",borderRadius:"{form.field.border.radius}",focusRing:{width:"{form.field.focus.ring.width}",style:"{form.field.focus.ring.style}",color:"{form.field.focus.ring.color}",offset:"{form.field.focus.ring.offset}",shadow:"{form.field.focus.ring.shadow}"},transitionDuration:"{form.field.transition.duration}",sm:{fontSize:"{form.field.sm.font.size}",paddingX:"{form.field.sm.padding.x}",paddingY:"{form.field.sm.padding.y}"},lg:{fontSize:"{form.field.lg.font.size}",paddingX:"{form.field.lg.padding.x}",paddingY:"{form.field.lg.padding.y}"}},w7={width:"2.25rem",color:"{form.field.icon.color}"},x7={background:"{overlay.select.background}",borderColor:"{overlay.select.border.color}",borderRadius:"{overlay.select.border.radius}",color:"{overlay.select.color}",shadow:"{overlay.select.shadow}"},T7={padding:"{list.padding}"},D7={padding:"{list.option.padding}"},E7={borderRadius:"{border.radius.sm}"},I7={color:"{form.field.icon.color}"},Tx={root:C7,dropdown:w7,overlay:x7,tree:T7,emptyMessage:D7,chip:E7,clearIcon:I7};var S7={transitionDuration:"0s",borderColor:"light-dark({content.border.color}, {surface.800})"},k7={background:"{content.background}",borderColor:"{treetable.border.color}",color:"{content.color}",borderWidth:"0 0 1px 0",padding:"0.5rem 0.875rem"},M7={background:"{content.background}",hoverBackground:"{content.hover.background}",selectedBackground:"{highlight.background}",borderColor:"{treetable.border.color}",color:"{content.color}",hoverColor:"{content.hover.color}",selectedColor:"{highlight.color}",gap:"0.5rem",padding:"0.5rem 0.875rem",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"-1px",shadow:"{focus.ring.shadow}"}},R7={fontWeight:"600",fontSize:"{typography.font.size}"},O7={background:"{content.background}",hoverBackground:"{content.hover.background}",selectedBackground:"{highlight.background}",color:"{content.color}",hoverColor:"{content.hover.color}",selectedColor:"{highlight.color}",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"-1px",shadow:"{focus.ring.shadow}"}},A7={borderColor:"{treetable.border.color}",padding:"0.5rem 0.875rem",gap:"0.5rem",fontWeight:"{typography.font.size}",fontSize:"{typography.font.size}",selectedBorderColor:"light-dark({primary.100}, {primary.900})"},N7={background:"{content.background}",borderColor:"{treetable.border.color}",color:"{content.color}",padding:"0.5rem 0.875rem"},F7={fontWeight:"600",fontSize:"{typography.font.size}"},P7={background:"{content.background}",borderColor:"{treetable.border.color}",color:"{content.color}",borderWidth:"0 0 1px 0",padding:"0.5rem 0.875rem"},L7={width:"0.5rem"},B7={width:"1px",color:"{primary.color}"},V7={color:"{text.muted.color}",hoverColor:"{text.hover.muted.color}",size:"0.75rem"},z7={size:"1.75rem"},j7={hoverBackground:"{content.hover.background}",selectedHoverBackground:"{content.background}",color:"{text.muted.color}",hoverColor:"{text.color}",selectedHoverColor:"{primary.color}",size:"1.5rem",borderRadius:"50%",focusRing:{width:"{focus.ring.width}",style:"{focus.ring.style}",color:"{focus.ring.color}",offset:"{focus.ring.offset}",shadow:"{focus.ring.shadow}"}},H7={borderColor:"{content.border.color}",borderWidth:"0 0 1px 0"},$7={borderColor:"{content.border.color}",borderWidth:"0 0 1px 0"},U7=` + .p-treetable-mask.p-overlay-mask { + --px-mask-background: light-dark(rgba(255,255,255,0.5),rgba(0,0,0,0.3)); + } +`,Dx={root:S7,header:k7,headerCell:M7,columnTitle:R7,row:O7,bodyCell:A7,footerCell:N7,columnFooter:F7,footer:P7,columnResizer:L7,resizeIndicator:B7,sortIcon:V7,loadingIcon:z7,nodeToggleButton:j7,paginatorTop:H7,paginatorBottom:$7,css:U7};var W7={mask:{background:"{content.background}",color:"{text.muted.color}"},icon:{size:"1.75rem"}},Ex={loader:W7};var G7=Object.defineProperty,q7=Object.defineProperties,K7=Object.getOwnPropertyDescriptors,Ix=Object.getOwnPropertySymbols,Y7=Object.prototype.hasOwnProperty,Q7=Object.prototype.propertyIsEnumerable,Sx=(t,i,e)=>i in t?G7(t,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[i]=e,kx,Mx=(kx=((t,i)=>{for(var e in i||(i={}))Y7.call(i,e)&&Sx(t,e,i[e]);if(Ix)for(var e of Ix(i))Q7.call(i,e)&&Sx(t,e,i[e]);return t})({},zC),q7(kx,K7({components:{accordion:PC,autocomplete:LC,avatar:BC,badge:VC,blockui:jC,breadcrumb:HC,button:$C,card:UC,carousel:WC,cascadeselect:GC,checkbox:qC,chip:KC,colorpicker:YC,commandmenu:QC,compare:ZC,confirmdialog:XC,confirmpopup:JC,contextmenu:ew,datatable:nw,dataview:iw,datepicker:ow,dialog:rw,divider:aw,dock:sw,drawer:lw,editor:cw,fieldset:dw,fileupload:uw,floatlabel:pw,galleria:fw,gallery:hw,iconfield:gw,iftalabel:mw,image:bw,imagecompare:yw,inlinemessage:_w,inplace:vw,inputchips:Cw,inputcolor:ww,inputgroup:xw,inputnumber:Tw,inputotp:Dw,inputtags:Ew,inputtext:Iw,knob:Sw,label:kw,listbox:Mw,megamenu:Rw,menu:Ow,menubar:Aw,message:Nw,metergroup:Fw,multiselect:Pw,navigationmenu:Lw,orderlist:Bw,organizationchart:Vw,overlaybadge:zw,paginator:jw,panel:Hw,panelmenu:$w,password:Uw,picklist:Ww,popover:Gw,progressbar:qw,progressspinner:Kw,radiobutton:Yw,rating:Qw,ripple:Zw,scrollarea:Xw,scrollpanel:Jw,select:ex,selectbutton:tx,sidebar:nx,skeleton:ix,slider:ox,speeddial:rx,splitbutton:ax,splitter:sx,stepper:lx,steps:cx,tabmenu:dx,tabs:ux,tabview:px,tag:fx,terminal:hx,textarea:gx,tieredmenu:mx,timeline:bx,toast:yx,togglebutton:_x,toggleswitch:vx,toolbar:Cx,tooltip:wx,tree:xx,treeselect:Tx,treetable:Dx,virtualscroller:Ex},css:tw})));var Rx=[];var Ox={providers:[Tf(),Rv({eventCoalescing:!0}),hm(Rx),Mg(),FC({theme:{preset:Mx,options:{darkModeSelector:".p-dark"}}})]};var jx=(()=>{class t{_renderer;_elementRef;onChange=e=>{};onTouched=()=>{};constructor(e,n){this._renderer=e,this._elementRef=n}setProperty(e,n){this._renderer.setProperty(this._elementRef.nativeElement,e,n)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static \u0275fac=function(n){return new(n||t)(ee(Cn),ee(Ct))};static \u0275dir=ge({type:t})}return t})(),Fm=(()=>{class t extends jx{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275dir=ge({type:t,features:[A]})}return t})(),Ht=new B("");var Z7={provide:Ht,useExisting:at(()=>Eu),multi:!0};function X7(){let t=jn()?jn().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}var J7=new B(""),Eu=(()=>{class t extends jx{_compositionMode;_composing=!1;constructor(e,n,o){super(e,n),this._compositionMode=o,this._compositionMode==null&&(this._compositionMode=!X7())}writeValue(e){let n=e??"";this.setProperty("value",n)}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static \u0275fac=function(n){return new(n||t)(ee(Cn),ee(Ct),ee(J7,8))};static \u0275dir=ge({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(n,o){n&1&&I("input",function(a){return o._handleInput(a.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(a){return o._compositionEnd(a.target.value)})},standalone:!1,features:[ne([Z7]),A]})}return t})();var Hx=new B(""),$x=new B("");function Ux(t){return t!=null}function Wx(t){return fo(t)?ft(t):t}function Gx(t){let i={};return t.forEach(e=>{i=e!=null?T(T({},i),e):i}),Object.keys(i).length===0?null:i}function qx(t,i){return i.map(e=>e(t))}function e8(t){return!t.validate}function Kx(t){return t.map(i=>e8(i)?i:e=>i.validate(e))}function t8(t){if(!t)return null;let i=t.filter(Ux);return i.length==0?null:function(e){return Gx(qx(e,i))}}function Pm(t){return t!=null?t8(Kx(t)):null}function n8(t){if(!t)return null;let i=t.filter(Ux);return i.length==0?null:function(e){let n=qx(e,i).map(Wx);return yp(n).pipe(Ze(Gx))}}function Lm(t){return t!=null?n8(Kx(t)):null}function Ax(t,i){return t===null?[i]:Array.isArray(t)?[...t,i]:[t,i]}function i8(t){return t._rawValidators}function o8(t){return t._rawAsyncValidators}function Am(t){return t?Array.isArray(t)?t:[t]:[]}function _u(t,i){return Array.isArray(t)?t.includes(i):t===i}function Nx(t,i){let e=Am(i);return Am(t).forEach(o=>{_u(e,o)||e.push(o)}),e}function Fx(t,i){return Am(i).filter(e=>!_u(t,e))}var vu=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(i){this._rawValidators=i||[],this._composedValidatorFn=Pm(this._rawValidators)}_setAsyncValidators(i){this._rawAsyncValidators=i||[],this._composedAsyncValidatorFn=Lm(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(i){this._onDestroyCallbacks.push(i)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(i=>i()),this._onDestroyCallbacks=[]}reset(i=void 0){this.control?.reset(i)}hasError(i,e){return this.control?this.control.hasError(i,e):!1}getError(i,e){return this.control?this.control.getError(i,e):null}},wa=class extends vu{name;get formDirective(){return null}get path(){return null}},Mn=class extends vu{_parent=null;name=null;valueAccessor=null},Cu=class{_cd;constructor(i){this._cd=i}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}};var xa=(()=>{class t extends Cu{constructor(e){super(e)}static \u0275fac=function(n){return new(n||t)(ee(Mn,2))};static \u0275dir=ge({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,o){n&2&&Pt("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},standalone:!1,features:[A]})}return t})(),Yx=(()=>{class t extends Cu{constructor(e){super(e)}static \u0275fac=function(n){return new(n||t)(ee(wa,10))};static \u0275dir=ge({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["","formArray",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,o){n&2&&Pt("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},standalone:!1,features:[A]})}return t})();var ol="VALID",yu="INVALID",va="PENDING",rl="DISABLED",Do=class{},wu=class extends Do{value;source;constructor(i,e){super(),this.value=i,this.source=e}},sl=class extends Do{pristine;source;constructor(i,e){super(),this.pristine=i,this.source=e}},ll=class extends Do{touched;source;constructor(i,e){super(),this.touched=i,this.source=e}},Ca=class extends Do{status;source;constructor(i,e){super(),this.status=i,this.source=e}},Nm=class extends Do{source;constructor(i){super(),this.source=i}},xu=class extends Do{source;constructor(i){super(),this.source=i}};function Qx(t){return(Iu(t)?t.validators:t)||null}function r8(t){return Array.isArray(t)?Pm(t):t||null}function Zx(t,i){return(Iu(i)?i.asyncValidators:t)||null}function a8(t){return Array.isArray(t)?Lm(t):t||null}function Iu(t){return t!=null&&!Array.isArray(t)&&typeof t=="object"}function s8(t,i,e){let n=t.controls;if(!(i?Object.keys(n):n).length)throw new X(1e3,"");if(!n[e])throw new X(1001,"")}function l8(t,i,e){t._forEachChild((n,o)=>{if(e[o]===void 0)throw new X(-1002,"")})}var Tu=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(i,e){this._assignValidators(i),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(i){this._rawValidators=this._composedValidatorFn=i}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(i){this._rawAsyncValidators=this._composedAsyncValidatorFn=i}get parent(){return this._parent}get status(){return yt(this.statusReactive)}set status(i){yt(()=>this.statusReactive.set(i))}_status=te(()=>this.statusReactive());statusReactive=Y(void 0);get valid(){return this.status===ol}get invalid(){return this.status===yu}get pending(){return this.status===va}get disabled(){return this.status===rl}get enabled(){return this.status!==rl}errors;get pristine(){return yt(this.pristineReactive)}set pristine(i){yt(()=>this.pristineReactive.set(i))}_pristine=te(()=>this.pristineReactive());pristineReactive=Y(!0);get dirty(){return!this.pristine}get touched(){return yt(this.touchedReactive)}set touched(i){yt(()=>this.touchedReactive.set(i))}_touched=te(()=>this.touchedReactive());touchedReactive=Y(!1);get untouched(){return!this.touched}_events=new Ue;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(i){this._assignValidators(i)}setAsyncValidators(i){this._assignAsyncValidators(i)}addValidators(i){this.setValidators(Nx(i,this._rawValidators))}addAsyncValidators(i){this.setAsyncValidators(Nx(i,this._rawAsyncValidators))}removeValidators(i){this.setValidators(Fx(i,this._rawValidators))}removeAsyncValidators(i){this.setAsyncValidators(Fx(i,this._rawAsyncValidators))}hasValidator(i){return _u(this._rawValidators,i)}hasAsyncValidator(i){return _u(this._rawAsyncValidators,i)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(i={}){let e=this.touched===!1;this.touched=!0;let n=i.sourceControl??this;i.onlySelf||this._parent?.markAsTouched(ie(T({},i),{sourceControl:n})),e&&i.emitEvent!==!1&&this._events.next(new ll(!0,n))}markAllAsDirty(i={}){this.markAsDirty({onlySelf:!0,emitEvent:i.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsDirty(i))}markAllAsTouched(i={}){this.markAsTouched({onlySelf:!0,emitEvent:i.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(i))}markAsUntouched(i={}){let e=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let n=i.sourceControl??this;this._forEachChild(o=>{o.markAsUntouched({onlySelf:!0,emitEvent:i.emitEvent,sourceControl:n})}),i.onlySelf||this._parent?._updateTouched(i,n),e&&i.emitEvent!==!1&&this._events.next(new ll(!1,n))}markAsDirty(i={}){let e=this.pristine===!0;this.pristine=!1;let n=i.sourceControl??this;i.onlySelf||this._parent?.markAsDirty(ie(T({},i),{sourceControl:n})),e&&i.emitEvent!==!1&&this._events.next(new sl(!1,n))}markAsPristine(i={}){let e=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let n=i.sourceControl??this;this._forEachChild(o=>{o.markAsPristine({onlySelf:!0,emitEvent:i.emitEvent})}),i.onlySelf||this._parent?._updatePristine(i,n),e&&i.emitEvent!==!1&&this._events.next(new sl(!0,n))}markAsPending(i={}){this.status=va;let e=i.sourceControl??this;i.emitEvent!==!1&&(this._events.next(new Ca(this.status,e)),this.statusChanges.emit(this.status)),i.onlySelf||this._parent?.markAsPending(ie(T({},i),{sourceControl:e}))}disable(i={}){let e=this._parentMarkedDirty(i.onlySelf);this.status=rl,this.errors=null,this._forEachChild(o=>{o.disable(ie(T({},i),{onlySelf:!0}))}),this._updateValue();let n=i.sourceControl??this;i.emitEvent!==!1&&(this._events.next(new wu(this.value,n)),this._events.next(new Ca(this.status,n)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(ie(T({},i),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(o=>o(!0))}enable(i={}){let e=this._parentMarkedDirty(i.onlySelf);this.status=ol,this._forEachChild(n=>{n.enable(ie(T({},i),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:i.emitEvent}),this._updateAncestors(ie(T({},i),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(i,e){i.onlySelf||(this._parent?.updateValueAndValidity(i),i.skipPristineCheck||this._parent?._updatePristine({},e),this._parent?._updateTouched({},e))}setParent(i){this._parent=i}getRawValue(){return this.value}updateValueAndValidity(i={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let n=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===ol||this.status===va)&&this._runAsyncValidator(n,i.emitEvent)}let e=i.sourceControl??this;i.emitEvent!==!1&&(this._events.next(new wu(this.value,e)),this._events.next(new Ca(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),i.onlySelf||this._parent?.updateValueAndValidity(ie(T({},i),{sourceControl:e}))}_updateTreeValidity(i={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(i)),this.updateValueAndValidity({onlySelf:!0,emitEvent:i.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?rl:ol}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(i,e){if(this.asyncValidator){this.status=va,this._hasOwnPendingAsyncValidator={emitEvent:e!==!1,shouldHaveEmitted:i!==!1};let n=Wx(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(o=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(o,{emitEvent:e,shouldHaveEmitted:i})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let i=(this._hasOwnPendingAsyncValidator?.emitEvent||this._hasOwnPendingAsyncValidator?.shouldHaveEmitted)??!1;return this._hasOwnPendingAsyncValidator=null,i}return!1}setErrors(i,e={}){this.errors=i,this._updateControlsErrors(e.emitEvent!==!1,this,e.shouldHaveEmitted)}get(i){let e=i;return e==null||(Array.isArray(e)||(e=e.split(".")),e.length===0)?null:e.reduce((n,o)=>n&&n._find(o),this)}getError(i,e){let n=e?this.get(e):this;return n?.errors?n.errors[i]:null}hasError(i,e){return!!this.getError(i,e)}get root(){let i=this;for(;i._parent;)i=i._parent;return i}_updateControlsErrors(i,e,n){this.status=this._calculateStatus(),i&&this.statusChanges.emit(this.status),(i||n)&&this._events.next(new Ca(this.status,e)),this._parent&&this._parent._updateControlsErrors(i,e,n)}_initObservables(){this.valueChanges=new P,this.statusChanges=new P}_calculateStatus(){return this._allControlsDisabled()?rl:this.errors?yu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(va)?va:this._anyControlsHaveStatus(yu)?yu:ol}_anyControlsHaveStatus(i){return this._anyControls(e=>e.status===i)}_anyControlsDirty(){return this._anyControls(i=>i.dirty)}_anyControlsTouched(){return this._anyControls(i=>i.touched)}_updatePristine(i,e){let n=!this._anyControlsDirty(),o=this.pristine!==n;this.pristine=n,i.onlySelf||this._parent?._updatePristine(i,e),o&&this._events.next(new sl(this.pristine,e))}_updateTouched(i={},e){this.touched=this._anyControlsTouched(),this._events.next(new ll(this.touched,e)),i.onlySelf||this._parent?._updateTouched(i,e)}_onDisabledChange=[];_registerOnCollectionChange(i){this._onCollectionChange=i}_setUpdateStrategy(i){Iu(i)&&i.updateOn!=null&&(this._updateOn=i.updateOn)}_parentMarkedDirty(i){return!i&&!!this._parent?.dirty&&!this._parent._anyControlsDirty()}_find(i){return null}_assignValidators(i){this._rawValidators=Array.isArray(i)?i.slice():i,this._composedValidatorFn=r8(this._rawValidators)}_assignAsyncValidators(i){this._rawAsyncValidators=Array.isArray(i)?i.slice():i,this._composedAsyncValidatorFn=a8(this._rawAsyncValidators)}},Du=class extends Tu{constructor(i,e,n){super(Qx(e),Zx(n,e)),this.controls=i,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(i,e){return this.controls[i]?this.controls[i]:(this.controls[i]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(i,e,n={}){this.registerControl(i,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(i,e={}){this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),delete this.controls[i],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(i,e,n={}){this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),delete this.controls[i],e&&this.registerControl(i,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(i){return this.controls.hasOwnProperty(i)&&this.controls[i].enabled}setValue(i,e={}){l8(this,!0,i),Object.keys(i).forEach(n=>{s8(this,!0,n),this.controls[n].setValue(i[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(i,e={}){i!=null&&(Object.keys(i).forEach(n=>{let o=this.controls[n];o&&o.patchValue(i[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(i={},e={}){this._forEachChild((n,o)=>{n.reset(i?i[o]:null,ie(T({},e),{onlySelf:!0}))}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e),e?.emitEvent!==!1&&this._events.next(new xu(this))}getRawValue(){return this._reduceChildren({},(i,e,n)=>(i[n]=e.getRawValue(),i))}_syncPendingControls(){let i=this._reduceChildren(!1,(e,n)=>n._syncPendingControls()?!0:e);return i&&this.updateValueAndValidity({onlySelf:!0}),i}_forEachChild(i){Object.keys(this.controls).forEach(e=>{let n=this.controls[e];n&&i(n,e)})}_setUpControls(){this._forEachChild(i=>{i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(i){for(let[e,n]of Object.entries(this.controls))if(this.contains(e)&&i(n))return!0;return!1}_reduceValue(){let i={};return this._reduceChildren(i,(e,n,o)=>((n.enabled||this.disabled)&&(e[o]=n.value),e))}_reduceChildren(i,e){let n=i;return this._forEachChild((o,r)=>{n=e(n,o,r)}),n}_allControlsDisabled(){for(let i of Object.keys(this.controls))if(this.controls[i].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(i){return this.controls.hasOwnProperty(i)?this.controls[i]:null}};var Bm=new B("",{factory:()=>Vm}),Vm="always";function c8(t,i){return[...i.path,t]}function Xx(t,i,e=Vm){Jx(t,i),i.valueAccessor.writeValue(t.value),(t.disabled||e==="always")&&i.valueAccessor.setDisabledState?.(t.disabled),u8(t,i),f8(t,i),p8(t,i),d8(t,i)}function Px(t,i){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(i)})}function d8(t,i){if(i.valueAccessor.setDisabledState){let e=n=>{i.valueAccessor.setDisabledState(n)};t.registerOnDisabledChange(e),i._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}function Jx(t,i){let e=i8(t);i.validator!==null?t.setValidators(Ax(e,i.validator)):typeof e=="function"&&t.setValidators([e]);let n=o8(t);i.asyncValidator!==null?t.setAsyncValidators(Ax(n,i.asyncValidator)):typeof n=="function"&&t.setAsyncValidators([n]);let o=()=>t.updateValueAndValidity();Px(i._rawValidators,o),Px(i._rawAsyncValidators,o)}function u8(t,i){i.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,t.updateOn==="change"&&eT(t,i)})}function p8(t,i){i.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,t.updateOn==="blur"&&t._pendingChange&&eT(t,i),t.updateOn!=="submit"&&t.markAsTouched()})}function eT(t,i){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),i.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function f8(t,i){let e=(n,o)=>{i.valueAccessor.writeValue(n),o&&i.viewToModelUpdate(n)};t.registerOnChange(e),i._registerOnDestroy(()=>{t._unregisterOnChange(e)})}function h8(t,i){t==null,Jx(t,i)}function g8(t,i){if(!t.hasOwnProperty("model"))return!1;let e=t.model;return e.isFirstChange()?!0:!Object.is(i,e.currentValue)}function m8(t){return Object.getPrototypeOf(t.constructor)===Fm}function b8(t,i){t._syncPendingControls(),i.forEach(e=>{let n=e.control;n.updateOn==="submit"&&n._pendingChange&&(e.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}function y8(t,i){if(!i)return null;Array.isArray(i);let e,n,o;return i.forEach(r=>{r.constructor===Eu?e=r:m8(r)?n=r:o=r}),o||n||e||null}var _8={provide:wa,useExisting:at(()=>zm)},al=Promise.resolve(),zm=(()=>{class t extends wa{callSetDisabledState;get submitted(){return yt(this.submittedReactive)}_submitted=te(()=>this.submittedReactive());submittedReactive=Y(!1);_directives=new Set;form;ngSubmit=new P;options;constructor(e,n,o){super(),this.callSetDisabledState=o,this.form=new Du({},Pm(e),Lm(n))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){al.then(()=>{let n=this._findContainer(e.path);e.control=n.registerControl(e.name,e.control),Xx(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){al.then(()=>{this._findContainer(e.path)?.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){al.then(()=>{let n=this._findContainer(e.path),o=new Du({});h8(o,e),n.registerControl(e.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){al.then(()=>{this._findContainer(e.path)?.removeControl?.(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,n){al.then(()=>{this.form.get(e.path).setValue(n)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submittedReactive.set(!0),b8(this.form,this._directives),this.ngSubmit.emit(e),this.form._events.next(new Nm(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submittedReactive.set(!1)}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}static \u0275fac=function(n){return new(n||t)(ee(Hx,10),ee($x,10),ee(Bm,8))};static \u0275dir=ge({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup","",3,"formArray",""],["ng-form"],["","ngForm",""]],hostBindings:function(n,o){n&1&&I("submit",function(a){return o.onSubmit(a)})("reset",function(){return o.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[ne([_8]),A]})}return t})();function Lx(t,i){let e=t.indexOf(i);e>-1&&t.splice(e,1)}function Bx(t){return typeof t=="object"&&t!==null&&Object.keys(t).length===2&&"value"in t&&"disabled"in t}var v8=class extends Tu{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(i=null,e,n){super(Qx(e),Zx(n,e)),this._applyFormState(i),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Iu(e)&&(e.nonNullable||e.initialValueIsDefault)&&(Bx(i)?this.defaultValue=i.value:this.defaultValue=i)}setValue(i,e={}){this.value=this._pendingValue=i,this._onChange.length&&e.emitModelToViewChange!==!1&&this._onChange.forEach(n=>n(this.value,e.emitViewToModelChange!==!1)),this.updateValueAndValidity(e)}patchValue(i,e={}){this.setValue(i,e)}reset(i=this.defaultValue,e={}){this._applyFormState(i),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),e.overwriteDefaultValue&&(this.defaultValue=this.value),this._pendingChange=!1,e?.emitEvent!==!1&&this._events.next(new xu(this))}_updateValue(){}_anyControls(i){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(i){this._onChange.push(i)}_unregisterOnChange(i){Lx(this._onChange,i)}registerOnDisabledChange(i){this._onDisabledChange.push(i)}_unregisterOnDisabledChange(i){Lx(this._onDisabledChange,i)}_forEachChild(i){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(i){Bx(i)?(this.value=this._pendingValue=i.value,i.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=i}};var C8={provide:Mn,useExisting:at(()=>gr)},Vx=Promise.resolve(),gr=(()=>{class t extends Mn{_changeDetectorRef;callSetDisabledState;control=new v8;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new P;constructor(e,n,o,r,a,s){super(),this._changeDetectorRef=a,this.callSetDisabledState=s,this._parent=e,this._setValidators(n),this._setAsyncValidators(o),this.valueAccessor=y8(this,r)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){let n=e.name.previousValue;this.formDirective.removeControl({name:n,path:this._getPath(n)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),g8(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective?.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){Xx(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(e){Vx.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){let n=e.isDisabled.currentValue,o=n!==0&&S(n);Vx.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?c8(e,this._parent):[e]}static \u0275fac=function(n){return new(n||t)(ee(wa,9),ee(Hx,10),ee($x,10),ee(Ht,10),ee(Di,8),ee(Bm,8))};static \u0275dir=ge({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[ne([C8]),A,Hi]})}return t})();var tT=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=ge({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return t})();var w8={provide:Ht,useExisting:at(()=>Su),multi:!0};function nT(t,i){return t==null?`${i}`:(i&&typeof i=="object"&&(i="Object"),`${t}: ${i}`.slice(0,50))}function x8(t){return t.split(":")[0]}var Su=(()=>{class t extends Fm{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;appRefInjector=v(Ui).injector;destroyRef=v(Zt);cdr=v(Di);_queuedWrite=!1;_writeValueAfterRender(){this._queuedWrite||this.appRefInjector.destroyed||(this._queuedWrite=!0,Qr({write:()=>{this.destroyRef.destroyed||(this._queuedWrite=!1,this.writeValue(this.value))}},{injector:this.appRefInjector}))}writeValue(e){this.cdr.markForCheck(),this.value=e;let n=this._getOptionId(e),o=nT(n,e);this.setProperty("value",o)}registerOnChange(e){this.onChange=n=>{this.value=this._getOptionValue(n),e(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(e){for(let n of this._optionMap.keys())if(this._compareWith(this._optionMap.get(n),e))return n;return null}_getOptionValue(e){let n=x8(e);return this._optionMap.has(n)?this._optionMap.get(n):e}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275dir=ge({type:t,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,o){n&1&&I("change",function(a){return o.onChange(a.target.value)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[ne([w8]),A]})}return t})(),iT=(()=>{class t{_element;_renderer;_select;id;constructor(e,n,o){this._element=e,this._renderer=n,this._select=o,this._select&&(this.id=this._select._registerOption())}set ngValue(e){this._select!=null&&(this._select._optionMap.set(this.id,e),this._setElementValue(nT(this.id,e)),this._select._writeValueAfterRender())}set value(e){this._setElementValue(e),this._select?._writeValueAfterRender()}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}ngOnDestroy(){this._select?._optionMap.delete(this.id),this._select?._writeValueAfterRender()}static \u0275fac=function(n){return new(n||t)(ee(Ct),ee(Cn),ee(Su,9))};static \u0275dir=ge({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return t})(),T8={provide:Ht,useExisting:at(()=>oT),multi:!0};function zx(t,i){return t==null?`${i}`:(typeof i=="string"&&(i=`'${i}'`),i&&typeof i=="object"&&(i="Object"),`${t}: ${i}`.slice(0,50))}function D8(t){return t.split(":")[0]}var oT=(()=>{class t extends Fm{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;writeValue(e){this.value=e;let n;if(Array.isArray(e)){let o=e.map(r=>this._getOptionId(r));n=(r,a)=>{r._setSelected(o.indexOf(a)>-1)}}else n=o=>{o._setSelected(!1)};this._optionMap.forEach(n)}registerOnChange(e){this.onChange=n=>{let o=[],r=n.selectedOptions;if(r!==void 0){let a=r;for(let s=0;s{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275dir=ge({type:t,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(n,o){n&1&&I("change",function(a){return o.onChange(a.target)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[ne([T8]),A]})}return t})(),rT=(()=>{class t{_element;_renderer;_select;id;_value;constructor(e,n,o){this._element=e,this._renderer=n,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(e){this._select!=null&&(this._value=e,this._setElementValue(zx(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._select?(this._value=e,this._setElementValue(zx(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}_setSelected(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(n){return new(n||t)(ee(Ct),ee(Cn),ee(oT,9))};static \u0275dir=ge({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return t})();var E8=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({})}return t})();var Eo=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:Bm,useValue:e.callSetDisabledState??Vm}]}}static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[E8]})}return t})();var aT=(()=>{class t extends fe{name="common";static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Te=new B("PARENT_INSTANCE"),ke=(()=>{class t{document=v(ze);platformId=v(vn);el=v(Ct);injector=v(ut);cd=v(Di);renderer=v(Cn);config=v(Om);$parentInstance=v(Te,{optional:!0,skipSelf:!0})??void 0;baseComponentStyle=v(aT);baseStyle=v(fe);scopedStyleEl;parent=this.$params.parent;cn=_o;_themeScopedListener;themeChangeListenerMap=new Map;dt=V();unstyled=V();pt=V();ptOptions=V();$attrSelector=Le("pc");get $name(){return this.componentName||"UnknownComponent"}get $hostName(){return this.hostName}get $el(){return this.el?.nativeElement}directivePT=Y(void 0);directiveUnstyled=Y(void 0);$unstyled=te(()=>this.unstyled()??this.directiveUnstyled()??this.config?.unstyled()??!1);$pt=te(()=>Un(this.pt()||this.directivePT(),this.$params));get $globalPT(){return this._getPT(this.config?.pt(),void 0,e=>Un(e,this.$params))}get $defaultPT(){return this._getPT(this.config?.pt(),void 0,e=>this._getOptionValue(e,this.$hostName||this.$name,this.$params)||Un(e,this.$params))}get $style(){return T(T({theme:void 0,css:void 0,classes:void 0,inlineStyles:void 0},(this._getHostInstance(this)||{}).$style),this._componentStyle)}get $styleOptions(){return{nonce:this.config?.csp().nonce}}get $params(){let e=this._getHostInstance(this)||this.$parentInstance;return{instance:this,parent:{instance:e}}}onInit(){}onChanges(e){}onDoCheck(){}onAfterContentInit(){}onAfterContentChecked(){}onAfterViewInit(){}onAfterViewChecked(){}onDestroy(){}constructor(){it(e=>{this.document&&!bg(this.platformId)&&(this.dt()?(this._loadScopedThemeStyles(this.dt()),this._themeScopedListener=()=>this._loadScopedThemeStyles(this.dt()),this._themeChangeListener("_themeScopedListener",this._themeScopedListener)):this._unloadScopedThemeStyles()),e(()=>{this._offThemeChangeListener("_themeScopedListener")})}),it(e=>{this.document&&!bg(this.platformId)&&(this.$unstyled()||(this._loadCoreStyles(),this._themeChangeListener("_loadCoreStyles",this._loadCoreStyles))),e(()=>{this._offThemeChangeListener("_loadCoreStyles")})}),this._hook("onBeforeInit")}ngOnInit(){this._loadCoreStyles(),this._loadStyles(),this.onInit(),this._hook("onInit")}ngOnChanges(e){this.onChanges(e),this._hook("onChanges",e)}ngDoCheck(){this.onDoCheck(),this._hook("onDoCheck")}ngAfterContentInit(){this.onAfterContentInit(),this._hook("onAfterContentInit")}ngAfterContentChecked(){this.onAfterContentChecked(),this._hook("onAfterContentChecked")}ngAfterViewInit(){this.$el?.setAttribute(this.$attrSelector,""),this.onAfterViewInit(),this._hook("onAfterViewInit")}ngAfterViewChecked(){this.onAfterViewChecked(),this._hook("onAfterViewChecked")}ngOnDestroy(){this._removeThemeListeners(),this._unloadScopedThemeStyles(),this.onDestroy(),this._hook("onDestroy")}_mergeProps(e,...n){return au(e)?e(...n):Dm(...n)}_getHostInstance(e){return e?this.$hostName?this.$name===this.$hostName?e:this._getHostInstance(e.$parentInstance):e.$parentInstance:void 0}_getPropValue(e){return this[e]||this._getHostInstance(this)?.[e]}_getOptionValue(e,n="",o={}){return ym(e,n,o)}_hook(e,...n){if(!this.$hostName){let o=this._usePT(this._getPT(this.$pt(),this.$name),this._getOptionValue,`hooks.${e}`),r=this._useDefaultPT(this._getOptionValue,`hooks.${e}`);o?.(...n),r?.(...n)}}_load(){_a.isStyleNameLoaded("base")||(this.baseStyle.loadBaseCSS(this.$styleOptions),this._loadGlobalStyles(),_a.setLoadedStyleName("base")),this._loadThemeStyles()}_loadStyles(){this._load(),this._themeChangeListener("_load",()=>this._load())}_loadGlobalStyles(){let e=this._useGlobalPT(this._getOptionValue,"global.css",this.$params);en(e)&&this.baseStyle.load(e,T({name:"global"},this.$styleOptions))}_loadCoreStyles(){!_a.isStyleNameLoaded(this.$style?.name)&&this.$style?.name&&(this.baseComponentStyle.loadCSS(this.$styleOptions),this.$style.loadCSS(this.$styleOptions),_a.setLoadedStyleName(this.$style.name))}_loadThemeStyles(){if(!(this.$unstyled()||this.config?.theme()==="none")){if(!tt.isStyleNameLoaded("common")){let{primitive:e,semantic:n,global:o,style:r}=this.$style?.getCommonTheme?.()||{};this.baseStyle.load(e?.css,T({name:"primitive-variables"},this.$styleOptions)),this.baseStyle.load(n?.css,T({name:"semantic-variables"},this.$styleOptions)),this.baseStyle.load(o?.css,T({name:"global-variables"},this.$styleOptions)),this.baseStyle.loadBaseStyle(T({name:"global-style"},this.$styleOptions),r),tt.setLoadedStyleName("common")}if(!tt.isStyleNameLoaded(this.$style?.name)&&this.$style?.name){let{css:e,style:n}=this.$style?.getComponentTheme?.()||{};this.$style?.load(e,T({name:`${this.$style?.name}-variables`},this.$styleOptions)),this.$style?.loadStyle(T({name:`${this.$style?.name}-style`},this.$styleOptions),n),tt.setLoadedStyleName(this.$style?.name)}if(!tt.isStyleNameLoaded("layer-order")){let e=this.$style?.getLayerOrderThemeCSS?.();this.baseStyle.load(e,T({name:"layer-order",first:!0},this.$styleOptions)),tt.setLoadedStyleName("layer-order")}}}_loadScopedThemeStyles(e){let{css:n}=this.$style?.getPresetTheme?.(e,`[${this.$attrSelector}]`)||{},o=this.$style?.load(n,T({name:`${this.$attrSelector}-${this.$style?.name}`},this.$styleOptions));this.scopedStyleEl=o?.el}_unloadScopedThemeStyles(){this.scopedStyleEl?.remove()}_themeChangeListener(e,n=()=>{}){this._offThemeChangeListener(e),_a.clearLoadedStyleNames();let o=n.bind(this);this.themeChangeListenerMap.set(e,o),kn.on("theme:change",o)}_removeThemeListeners(){this._offThemeChangeListener("_themeScopedListener"),this._offThemeChangeListener("_loadCoreStyles"),this._offThemeChangeListener("_load")}_offThemeChangeListener(e){this.themeChangeListenerMap.has(e)&&(kn.off("theme:change",this.themeChangeListenerMap.get(e)),this.themeChangeListenerMap.delete(e))}_getPTValue(e={},n="",o={},r=!0){let a=/./g.test(n)&&!!o[n.split(".")[0]],{mergeSections:s=!0,mergeProps:l=!1}=this._getPropValue("ptOptions")?.()||this.config?.ptOptions?.()||{},c=r?a?this._useGlobalPT(this._getPTClassValue,n,o):this._useDefaultPT(this._getPTClassValue,n,o):void 0,u=a?void 0:this._usePT(this._getPT(e,this.$hostName||this.$name),this._getPTClassValue,n,ie(T({},o),{global:c||{}})),h=this._getPTDatasets(n);return s||!s&&u?l?this._mergeProps(l,c,u,h):T(T(T({},c),u),h):T(T({},u),h)}_getPTDatasets(e=""){let n="data-pc-",o=e==="root"&&en(this.$pt()?.["data-pc-section"]);return e!=="transition"&&ie(T({},e==="root"&&ie(T({[`${n}name`]:vo(o?this.$pt()?.["data-pc-section"]:this.$name)},o&&{[`${n}extend`]:vo(this.$name)}),{[`${this.$attrSelector}`]:""})),{[`${n}section`]:vo(e.includes(".")?e.split(".").at(-1)??"":e)})}_getPTClassValue(e,n,o){let r=this._getOptionValue(e,n,o);return Zs(r)||rC(r)?{class:r}:r}_getPT(e,n="",o){let r=(a,s=!1)=>{let l=o?o(a):a,c=vo(n),u=vo(this.$hostName||this.$name);return(s?c!==u?l?.[c]:void 0:l?.[c])??l};return e?.hasOwnProperty("_usept")?{_usept:e._usept,originalValue:r(e.originalValue),value:r(e.value)}:r(e,!0)}_usePT(e,n,o,r){let a=s=>n?.call(this,s,o,r);if(e?.hasOwnProperty("_usept")){let{mergeSections:s=!0,mergeProps:l=!1}=e._usept||this.config?.ptOptions()||{},c=a(e.originalValue),u=a(e.value);return c===void 0&&u===void 0?void 0:Zs(u)?u:Zs(c)?c:s||!s&&u?l?this._mergeProps(l,c,u):T(T({},c),u):u}return a(e)}_useGlobalPT(e,n,o){return this._usePT(this.$globalPT,e,n,o)}_useDefaultPT(e,n,o){return this._usePT(this.$defaultPT,e,n,o)}ptm(e="",n={}){return this._getPTValue(this.$pt(),e,T(T({},this.$params),n))}ptms(e,n={}){return e.reduce((o,r)=>(o=Dm(o,this.ptm(r,n))||{},o),{})}ptmo(e={},n="",o={}){return this._getPTValue(e,n,T({instance:this},o),!1)}cx(e,n={}){return this.$unstyled()?void 0:_o(this._getOptionValue(this.$style.classes,e,T(T({},this.$params),n)))}sx(e="",n=!0,o={}){if(n){let r=this._getOptionValue(this.$style.inlineStyles,e,T(T({},this.$params),o)),a=this._getOptionValue(this.baseComponentStyle.inlineStyles,e,T(T({},this.$params),o));return T(T({},a),r)}}static \u0275fac=function(n){return new(n||t)};static \u0275dir=ge({type:t,inputs:{dt:[1,"dt"],unstyled:[1,"unstyled"],pt:[1,"pt"],ptOptions:[1,"ptOptions"]},features:[ne([aT,fe]),Hi]})}return t})();var he=(()=>{class t{static zindex=1e3;static calculatedScrollbarWidth=null;static calculatedScrollbarHeight=null;static browser;static addClass(e,n){e&&n&&(e.classList?e.classList.add(n):e.className+=" "+n)}static addMultipleClasses(e,n){if(e&&n)if(e.classList){let o=n.trim().split(" ");for(let r=0;ro.split(" ").forEach(r=>this.removeClass(e,r)))}static hasClass(e,n){return e&&n?e.classList?e.classList.contains(n):new RegExp("(^| )"+n+"( |$)","gi").test(e.className):!1}static siblings(e){return Array.prototype.filter.call(e.parentNode.children,function(n){return n!==e})}static find(e,n){return Array.from(e.querySelectorAll(n))}static findSingle(e,n){return this.isElement(e)?e.querySelector(n):null}static index(e){let n=e.parentNode.childNodes,o=0;for(var r=0;r{if(se)return getComputedStyle(se).getPropertyValue("position")==="relative"?se:r(se.parentElement)},a=e.offsetParent?{width:e.offsetWidth,height:e.offsetHeight}:this.getHiddenElementDimensions(e),s=n.offsetHeight,l=n.getBoundingClientRect(),c=this.getWindowScrollTop(),u=this.getWindowScrollLeft(),h=this.getViewport(),m=r(e)?.getBoundingClientRect()||{top:-1*c,left:-1*u},x,E,k="top";l.top+s+a.height>h.height?(x=l.top-m.top-a.height,k="bottom",l.top+x<0&&(x=-1*l.top)):(x=s+l.top-m.top,k="top");let z=l.left+a.width-h.width,Q=l.left-m.left;if(a.width>h.width?E=(l.left-m.left)*-1:z>0?E=Q-z:E=l.left-m.left,e.style.top=x+"px",e.style.left=E+"px",e.style.transformOrigin=k,o){let se=Xs(/-anchor-gutter$/)?.value;e.style.marginTop=k==="bottom"?`calc(${se??"2px"} * -1)`:se??""}}static absolutePosition(e,n,o=!0){let r=e.offsetParent?{width:e.offsetWidth,height:e.offsetHeight}:this.getHiddenElementDimensions(e),a=r.height,s=r.width,l=n.offsetHeight,c=n.offsetWidth,u=n.getBoundingClientRect(),h=this.getWindowScrollTop(),g=this.getWindowScrollLeft(),m=this.getViewport(),x,E;u.top+l+a>m.height?(x=u.top+h-a,e.style.transformOrigin="bottom",x<0&&(x=h)):(x=l+u.top+h,e.style.transformOrigin="top"),u.left+s>m.width?E=Math.max(0,u.left+g+c-s):E=u.left+g,e.style.top=x+"px",e.style.left=E+"px",o&&(e.style.marginTop=origin==="bottom"?"calc(var(--p-anchor-gutter) * -1)":"calc(var(--p-anchor-gutter))")}static getParents(e,n=[]){return e.parentNode===null?n:this.getParents(e.parentNode,n.concat([e.parentNode]))}static getScrollableParents(e){let n=[];if(e){let o=this.getParents(e),r=/(auto|scroll)/,a=s=>{let l=window.getComputedStyle(s,null);return r.test(l.getPropertyValue("overflow"))||r.test(l.getPropertyValue("overflowX"))||r.test(l.getPropertyValue("overflowY"))};for(let s of o){let l=s.nodeType===1&&s.dataset.scrollselectors;if(l){let c=l.split(",");for(let u of c){let h=this.findSingle(s,u);h&&a(h)&&n.push(h)}}s.nodeType!==9&&a(s)&&n.push(s)}}return n}static getHiddenElementOuterHeight(e){e.style.visibility="hidden",e.style.display="block";let n=e.offsetHeight;return e.style.display="none",e.style.visibility="visible",n}static getHiddenElementOuterWidth(e){e.style.visibility="hidden",e.style.display="block";let n=e.offsetWidth;return e.style.display="none",e.style.visibility="visible",n}static getHiddenElementDimensions(e){let n={};return e.style.visibility="hidden",e.style.display="block",n.width=e.offsetWidth,n.height=e.offsetHeight,e.style.display="none",e.style.visibility="visible",n}static scrollInView(e,n){let o=getComputedStyle(e).getPropertyValue("borderTopWidth"),r=o?parseFloat(o):0,a=getComputedStyle(e).getPropertyValue("paddingTop"),s=a?parseFloat(a):0,l=e.getBoundingClientRect(),u=n.getBoundingClientRect().top+document.body.scrollTop-(l.top+document.body.scrollTop)-r-s,h=e.scrollTop,g=e.clientHeight,m=this.getOuterHeight(n);u<0?e.scrollTop=h+u:u+m>g&&(e.scrollTop=h+u-g+m)}static fadeIn(e,n){e.style.opacity=0;let o=+new Date,r=0,a=function(){r=+e.style.opacity.replace(",",".")+(new Date().getTime()-o)/n,e.style.opacity=r,o=+new Date,+r<1&&(window.requestAnimationFrame?window.requestAnimationFrame(a):setTimeout(a,16))};a()}static fadeOut(e,n){var o=1,r=50,a=n,s=r/a;let l=setInterval(()=>{o=o-s,o<=0&&(o=0,clearInterval(l)),e.style.opacity=o},r)}static getWindowScrollTop(){let e=document.documentElement;return(window.pageYOffset||e.scrollTop)-(e.clientTop||0)}static getWindowScrollLeft(){let e=document.documentElement;return(window.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}static matches(e,n){var o=Element.prototype,r=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.msMatchesSelector||function(a){return[].indexOf.call(document.querySelectorAll(a),this)!==-1};return r.call(e,n)}static getOuterWidth(e,n){let o=e.offsetWidth;if(n){let r=getComputedStyle(e);o+=parseFloat(r.marginLeft)+parseFloat(r.marginRight)}return o}static getHorizontalPadding(e){let n=getComputedStyle(e);return parseFloat(n.paddingLeft)+parseFloat(n.paddingRight)}static getHorizontalMargin(e){let n=getComputedStyle(e);return parseFloat(n.marginLeft)+parseFloat(n.marginRight)}static innerWidth(e){let n=e.offsetWidth,o=getComputedStyle(e);return n+=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight),n}static width(e){let n=e.offsetWidth,o=getComputedStyle(e);return n-=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight),n}static getInnerHeight(e){let n=e.offsetHeight,o=getComputedStyle(e);return n+=parseFloat(o.paddingTop)+parseFloat(o.paddingBottom),n}static getOuterHeight(e,n){let o=e.offsetHeight;if(n){let r=getComputedStyle(e);o+=parseFloat(r.marginTop)+parseFloat(r.marginBottom)}return o}static getHeight(e){let n=e.offsetHeight,o=getComputedStyle(e);return n-=parseFloat(o.paddingTop)+parseFloat(o.paddingBottom)+parseFloat(o.borderTopWidth)+parseFloat(o.borderBottomWidth),n}static getWidth(e){let n=e.offsetWidth,o=getComputedStyle(e);return n-=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight)+parseFloat(o.borderLeftWidth)+parseFloat(o.borderRightWidth),n}static getViewport(){let e=window,n=document,o=n.documentElement,r=n.getElementsByTagName("body")[0],a=e.innerWidth||o.clientWidth||r.clientWidth,s=e.innerHeight||o.clientHeight||r.clientHeight;return{width:a,height:s}}static getOffset(e){var n=e.getBoundingClientRect();return{top:n.top+(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0),left:n.left+(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0)}}static replaceElementWith(e,n){let o=e.parentNode;if(!o)throw"Can't replace element";return o.replaceChild(n,e)}static getUserAgent(){if(navigator&&this.isClient())return navigator.userAgent}static isIE(){var e=window.navigator.userAgent,n=e.indexOf("MSIE ");if(n>0)return!0;var o=e.indexOf("Trident/");if(o>0){var r=e.indexOf("rv:");return!0}var a=e.indexOf("Edge/");return a>0}static isIOS(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream}static isAndroid(){return/(android)/i.test(navigator.userAgent)}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}static appendChild(e,n){if(this.isElement(n))n.appendChild(e);else if(n&&n.el&&n.el.nativeElement)n.el.nativeElement.appendChild(e);else throw"Cannot append "+n+" to "+e}static removeChild(e,n){if(this.isElement(n))n.removeChild(e);else if(n.el&&n.el.nativeElement)n.el.nativeElement.removeChild(e);else throw"Cannot remove "+e+" from "+n}static removeElement(e){"remove"in Element.prototype?e.remove():e.parentNode?.removeChild(e)}static isElement(e){return typeof HTMLElement=="object"?e instanceof HTMLElement:e&&typeof e=="object"&&e!==null&&e.nodeType===1&&typeof e.nodeName=="string"}static calculateScrollbarWidth(e){if(e){let n=getComputedStyle(e);return e.offsetWidth-e.clientWidth-parseFloat(n.borderLeftWidth)-parseFloat(n.borderRightWidth)}else{if(this.calculatedScrollbarWidth!==null)return this.calculatedScrollbarWidth;let n=document.createElement("div");n.className="p-scrollbar-measure",document.body.appendChild(n);let o=n.offsetWidth-n.clientWidth;return document.body.removeChild(n),this.calculatedScrollbarWidth=o,o}}static calculateScrollbarHeight(){if(this.calculatedScrollbarHeight!==null)return this.calculatedScrollbarHeight;let e=document.createElement("div");e.className="p-scrollbar-measure",document.body.appendChild(e);let n=e.offsetHeight-e.clientHeight;return document.body.removeChild(e),this.calculatedScrollbarWidth=n,n}static invokeElementMethod(e,n,o){e[n].apply(e,o)}static clearSelection(){if(window.getSelection&&window.getSelection())window.getSelection()?.empty?window.getSelection()?.empty():window.getSelection()?.removeAllRanges&&(window.getSelection()?.rangeCount||0)>0&&(window.getSelection()?.getRangeAt(0)?.getClientRects()?.length||0)>0&&window.getSelection()?.removeAllRanges();else if(document.selection&&document.selection.empty)try{document.selection.empty()}catch(e){}}static getBrowser(){if(!this.browser){let e=this.resolveUserAgent();this.browser={},e.browser&&(this.browser[e.browser]=!0,this.browser.version=e.version),this.browser.chrome?this.browser.webkit=!0:this.browser.webkit&&(this.browser.safari=!0)}return this.browser}static resolveUserAgent(){let e=navigator.userAgent.toLowerCase(),n=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:n[1]||"",version:n[2]||"0"}}static isInteger(e){return Number.isInteger?Number.isInteger(e):typeof e=="number"&&isFinite(e)&&Math.floor(e)===e}static isHidden(e){return!e||e.offsetParent===null}static isVisible(e){return e&&e.offsetParent!=null}static isExist(e){return e!==null&&typeof e<"u"&&e.nodeName&&e.parentNode}static focus(e,n){e&&document.activeElement!==e&&e.focus(n)}static getFocusableSelectorString(e=""){return`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${e}, + [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${e}, + input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${e}, + select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${e}, + textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${e}, + [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${e}, + [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${e}, + .p-inputtext:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${e}, + .p-button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${e}`}static getFocusableElements(e,n=""){let o=this.find(e,this.getFocusableSelectorString(n)),r=[];for(let a of o){let s=getComputedStyle(a);this.isVisible(a)&&s.display!="none"&&s.visibility!="hidden"&&r.push(a)}return r}static getFocusableElement(e,n=""){let o=this.findSingle(e,this.getFocusableSelectorString(n));if(o){let r=getComputedStyle(o);if(this.isVisible(o)&&r.display!="none"&&r.visibility!="hidden")return o}return null}static getFirstFocusableElement(e,n=""){let o=this.getFocusableElements(e,n);return o.length>0?o[0]:null}static getLastFocusableElement(e,n){let o=this.getFocusableElements(e,n);return o.length>0?o[o.length-1]:null}static getNextFocusableElement(e,n=!1){let o=t.getFocusableElements(e),r=0;if(o&&o.length>0){let a=o.indexOf(o[0].ownerDocument.activeElement);n?a==-1||a===0?r=o.length-1:r=a-1:a!=-1&&a!==o.length-1&&(r=a+1)}return o[r]}static generateZIndex(){return this.zindex=this.zindex||999,++this.zindex}static getSelection(){return window.getSelection?window.getSelection()?.toString():document.getSelection?document.getSelection()?.toString():document.selection?document.selection.createRange().text:null}static getTargetElement(e,n){if(!e)return null;switch(e){case"document":return document;case"window":return window;case"@next":return n?.nextElementSibling;case"@prev":return n?.previousElementSibling;case"@parent":return n?.parentElement;case"@grandparent":return n?.parentElement?.parentElement;default:let o=typeof e;if(o==="string")return document.querySelector(e);if(o==="object"&&e.hasOwnProperty("nativeElement"))return this.isExist(e.nativeElement)?e.nativeElement:void 0;let a=(s=>!!(s&&s.constructor&&s.call&&s.apply))(e)?e():e;return a&&a.nodeType===9||this.isExist(a)?a:null}}static isClient(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}static getAttribute(e,n){if(e){let o=e.getAttribute(n);return isNaN(o)?o==="true"||o==="false"?o==="true":o:+o}}static calculateBodyScrollbarWidth(){return window.innerWidth-document.documentElement.offsetWidth}static blockBodyScroll(e="p-overflow-hidden"){document.body.style.setProperty("--scrollbar-width",this.calculateBodyScrollbarWidth()+"px"),this.addClass(document.body,e)}static unblockBodyScroll(e="p-overflow-hidden"){document.body.style.removeProperty("--scrollbar-width"),this.removeClass(document.body,e)}static createElement(e,n={},...o){if(e){let r=document.createElement(e);return this.setAttributes(r,n),r.append(...o),r}}static setAttribute(e,n="",o){this.isElement(e)&&o!==null&&o!==void 0&&e.setAttribute(n,o)}static setAttributes(e,n={}){if(this.isElement(e)){let o=(r,a)=>{let s=e?.$attrs?.[r]?[e?.$attrs?.[r]]:[];return[a].flat().reduce((l,c)=>{if(c!=null){let u=typeof c;if(u==="string"||u==="number")l.push(c);else if(u==="object"){let h=Array.isArray(c)?o(r,c):Object.entries(c).map(([g,m])=>r==="style"&&(m||m===0)?`${g.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}:${m}`:m?g:void 0);l=h.length?l.concat(h.filter(g=>!!g)):l}}return l},s)};Object.entries(n).forEach(([r,a])=>{if(a!=null){let s=r.match(/^on(.+)/);s?e.addEventListener(s[1].toLowerCase(),a):r==="pBind"?this.setAttributes(e,a):(a=r==="class"?[...new Set(o("class",a))].join(" ").trim():r==="style"?o("style",a).join(";").trim():a,(e.$attrs=e.$attrs||{})&&(e.$attrs[r]=a),e.setAttribute(r,a))}})}}static isFocusableElement(e,n=""){return this.isElement(e)?e.matches(`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${n}, + [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${n}, + input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${n}, + select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${n}, + textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${n}, + [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${n}, + [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${n}`):!1}}return t})();function cl(){sC({variableName:Rm("scrollbar.width").name})}function mr(){lC({variableName:Rm("scrollbar.width").name})}var Qi=class{element;listener;scrollableParents;constructor(i,e=()=>{}){this.element=i,this.listener=e}bindScrollListener(){this.scrollableParents=he.getScrollableParents(this.element);for(let i=0;i{class t extends ke{autofocus=!1;focused=!1;platformId=v(vn);document=v(ze);host=v(Ct);onAfterContentChecked(){this.autofocus===!1?this.host.nativeElement.removeAttribute("autofocus"):this.host.nativeElement.setAttribute("autofocus",!0),this.focused||this.autoFocus()}onAfterViewChecked(){this.focused||this.autoFocus()}autoFocus(){_t(this.platformId)&&this.autofocus&&setTimeout(()=>{let e=he.getFocusableElements(this.host?.nativeElement);e.length===0&&this.host.nativeElement.focus(),e.length>0&&e[0].focus(),this.focused=!0})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275dir=ge({type:t,selectors:[["","pAutoFocus",""]],inputs:{autofocus:[0,"pAutoFocus","autofocus"]},features:[A]})}return t})();var U=(()=>{class t{el;renderer;pBind=V(void 0);_attrs=Y(void 0);attrs=te(()=>this._attrs()||this.pBind());styles=te(()=>this.attrs()?.style);classes=te(()=>_o(this.attrs()?.class));listeners=[];constructor(e,n){this.el=e,this.renderer=n,it(()=>{let s=this.attrs()||{},{style:o,class:r}=s,a=Xu(s,["style","class"]);for(let[l,c]of Object.entries(a))if(l.startsWith("on")&&typeof c=="function"){let u=l.slice(2).toLowerCase();if(!this.listeners.some(h=>h.eventName===u)){let h=this.renderer.listen(this.el.nativeElement,u,c);this.listeners.push({eventName:u,unlisten:h})}}else c==null?this.renderer.removeAttribute(this.el.nativeElement,l):(this.renderer.setAttribute(this.el.nativeElement,l,c.toString()),l in this.el.nativeElement&&(this.el.nativeElement[l]=c))})}ngOnDestroy(){this.clearListeners()}setAttrs(e){fn(this._attrs(),e)||this._attrs.set(e)}clearListeners(){this.listeners.forEach(({unlisten:e})=>e()),this.listeners=[]}static \u0275fac=function(n){return new(n||t)(ee(Ct),ee(Cn))};static \u0275dir=ge({type:t,selectors:[["","pBind",""]],hostVars:4,hostBindings:function(n,o){n&2&&(lt(o.styles()),D(o.classes()))},inputs:{pBind:[1,"pBind"]}})}return t})(),rt=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({})}return t})();var sT=` + .p-badge { + display: inline-flex; + border-radius: dt('badge.border.radius'); + align-items: center; + justify-content: center; + padding: dt('badge.padding'); + background: dt('badge.primary.background'); + color: dt('badge.primary.color'); + font-size: dt('badge.font.size'); + font-weight: dt('badge.font.weight'); + min-width: dt('badge.min.width'); + height: dt('badge.height'); + } + + .p-badge-dot { + width: dt('badge.dot.size'); + min-width: dt('badge.dot.size'); + height: dt('badge.dot.size'); + border-radius: 50%; + padding: 0; + } + + .p-badge-circle { + padding: 0; + border-radius: 50%; + } + + .p-badge-secondary { + background: dt('badge.secondary.background'); + color: dt('badge.secondary.color'); + } + + .p-badge-success { + background: dt('badge.success.background'); + color: dt('badge.success.color'); + } + + .p-badge-info { + background: dt('badge.info.background'); + color: dt('badge.info.color'); + } + + .p-badge-warn { + background: dt('badge.warn.background'); + color: dt('badge.warn.color'); + } + + .p-badge-danger { + background: dt('badge.danger.background'); + color: dt('badge.danger.color'); + } + + .p-badge-contrast { + background: dt('badge.contrast.background'); + color: dt('badge.contrast.color'); + } + + .p-badge-sm { + font-size: dt('badge.sm.font.size'); + min-width: dt('badge.sm.min.width'); + height: dt('badge.sm.height'); + } + + .p-badge-lg { + font-size: dt('badge.lg.font.size'); + min-width: dt('badge.lg.min.width'); + height: dt('badge.lg.height'); + } + + .p-badge-xl { + font-size: dt('badge.xl.font.size'); + min-width: dt('badge.xl.min.width'); + height: dt('badge.xl.height'); + } +`;var I8=` + ${sT} + + /* For PrimeNG (directive)*/ + .p-overlay-badge { + position: relative; + } + + .p-overlay-badge > .p-badge { + position: absolute; + top: 0; + inset-inline-end: 0; + transform: translate(50%, -50%); + transform-origin: 100% 0; + margin: 0; + } +`,S8={root:({instance:t})=>{let i=typeof t.value=="function"?t.value():t.value,e=typeof t.size=="function"?t.size():t.size,n=typeof t.badgeSize=="function"?t.badgeSize():t.badgeSize,o=typeof t.severity=="function"?t.severity():t.severity;return["p-badge p-component",{"p-badge-circle":en(i)&&String(i).length===1,"p-badge-dot":ga(i),"p-badge-sm":e==="small"||n==="small","p-badge-lg":e==="large"||n==="large","p-badge-xl":e==="xlarge"||n==="xlarge","p-badge-info":o==="info","p-badge-success":o==="success","p-badge-warn":o==="warn","p-badge-danger":o==="danger","p-badge-secondary":o==="secondary","p-badge-contrast":o==="contrast"}]}},lT=(()=>{class t extends fe{name="badge";style=I8;classes=S8;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var cT=new B("BADGE_INSTANCE");var dl=(()=>{class t extends ke{componentName="Badge";$pcBadge=v(cT,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}styleClass=V();badgeSize=V();size=V();severity=V();value=V();badgeDisabled=V(!1,{transform:S});_componentStyle=v(lT);get dataP(){return this.cn({circle:this.value()!=null&&String(this.value()).length===1,empty:this.value()==null,disabled:this.badgeDisabled(),[this.severity()]:this.severity(),[this.size()]:this.size()})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-badge"]],hostVars:5,hostBindings:function(n,o){n&2&&(N("data-p",o.dataP),D(o.cn(o.cx("root"),o.styleClass())),Xt("display",o.badgeDisabled()?"none":null))},inputs:{styleClass:[1,"styleClass"],badgeSize:[1,"badgeSize"],size:[1,"size"],severity:[1,"severity"],value:[1,"value"],badgeDisabled:[1,"badgeDisabled"]},features:[ne([lT,{provide:cT,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],decls:1,vars:1,template:function(n,o){n&1&&L(0),n&2&&de(o.value())},dependencies:[De,re,rt],encapsulation:2,changeDetection:0})}return t})(),ku=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[dl,re,re]})}return t})();var k8=["*"],M8={root:"p-fluid"},uT=(()=>{class t extends fe{name="fluid";classes=M8;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var pT=new B("FLUID_INSTANCE"),Ta=(()=>{class t extends ke{componentName="Fluid";$pcFluid=v(pT,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}_componentStyle=v(uT);static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-fluid"]],hostVars:2,hostBindings:function(n,o){n&2&&D(o.cx("root"))},features:[ne([uT,{provide:pT,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],ngContentSelectors:k8,decls:1,vars:0,template:function(n,o){n&1&&(st(),et(0))},dependencies:[De],encapsulation:2,changeDetection:0})}return t})();var R8=["*"],O8=` +.p-icon { + display: inline-block; + vertical-align: baseline; + flex-shrink: 0; +} + +.p-icon-spin { + -webkit-animation: p-icon-spin 2s infinite linear; + animation: p-icon-spin 2s infinite linear; +} + +@-webkit-keyframes p-icon-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes p-icon-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +`,fT=(()=>{class t extends fe{name="baseicon";css=O8;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var oe=(()=>{class t extends ke{spin=!1;_componentStyle=v(fT);getClassNames(){return _o("p-icon",{"p-icon-spin":this.spin})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["ng-component"]],hostAttrs:["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],hostVars:2,hostBindings:function(n,o){n&2&&D(o.getClassNames())},inputs:{spin:[2,"spin","spin",S]},features:[ne([fT]),A],ngContentSelectors:R8,decls:1,vars:0,template:function(n,o){n&1&&(st(),et(0))},encapsulation:2,changeDetection:0})}return t})();var A8=["data-p-icon","angle-double-left"],hT=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","angle-double-left"]],features:[A],attrs:A8,decls:1,vars:0,consts:[["fill-rule","evenodd","clip-rule","evenodd","d","M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var N8=["data-p-icon","angle-double-right"],gT=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","angle-double-right"]],features:[A],attrs:N8,decls:1,vars:0,consts:[["fill-rule","evenodd","clip-rule","evenodd","d","M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var F8=["data-p-icon","angle-down"],mT=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","angle-down"]],features:[A],attrs:F8,decls:1,vars:0,consts:[["d","M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var P8=["data-p-icon","angle-left"],bT=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","angle-left"]],features:[A],attrs:P8,decls:1,vars:0,consts:[["d","M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var L8=["data-p-icon","angle-right"],yT=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","angle-right"]],features:[A],attrs:L8,decls:1,vars:0,consts:[["d","M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var B8=["data-p-icon","angle-up"],_T=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","angle-up"]],features:[A],attrs:B8,decls:1,vars:0,consts:[["d","M10.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var V8=["data-p-icon","arrow-down"],Hm=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","arrow-down"]],features:[A],attrs:V8,decls:5,vars:2,consts:[["fill-rule","evenodd","clip-rule","evenodd","d","M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var z8=["data-p-icon","arrow-up"],$m=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","arrow-up"]],features:[A],attrs:z8,decls:5,vars:2,consts:[["fill-rule","evenodd","clip-rule","evenodd","d","M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var j8=["data-p-icon","blank"],vT=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","blank"]],features:[A],attrs:j8,decls:1,vars:0,consts:[["width","1","height","1","fill","currentColor","fill-opacity","0"]],template:function(n,o){n&1&&(j(),J(0,"rect",0))},encapsulation:2})}return t})();var H8=["data-p-icon","calendar"],CT=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","calendar"]],features:[A],attrs:H8,decls:1,vars:0,consts:[["d","M10.7838 1.51351H9.83783V0.567568C9.83783 0.417039 9.77804 0.272676 9.6716 0.166237C9.56516 0.0597971 9.42079 0 9.27027 0C9.11974 0 8.97538 0.0597971 8.86894 0.166237C8.7625 0.272676 8.7027 0.417039 8.7027 0.567568V1.51351H5.29729V0.567568C5.29729 0.417039 5.2375 0.272676 5.13106 0.166237C5.02462 0.0597971 4.88025 0 4.72973 0C4.5792 0 4.43484 0.0597971 4.3284 0.166237C4.22196 0.272676 4.16216 0.417039 4.16216 0.567568V1.51351H3.21621C2.66428 1.51351 2.13494 1.73277 1.74467 2.12305C1.35439 2.51333 1.13513 3.04266 1.13513 3.59459V11.9189C1.13513 12.4709 1.35439 13.0002 1.74467 13.3905C2.13494 13.7807 2.66428 14 3.21621 14H10.7838C11.3357 14 11.865 13.7807 12.2553 13.3905C12.6456 13.0002 12.8649 12.4709 12.8649 11.9189V3.59459C12.8649 3.04266 12.6456 2.51333 12.2553 2.12305C11.865 1.73277 11.3357 1.51351 10.7838 1.51351ZM3.21621 2.64865H4.16216V3.59459C4.16216 3.74512 4.22196 3.88949 4.3284 3.99593C4.43484 4.10237 4.5792 4.16216 4.72973 4.16216C4.88025 4.16216 5.02462 4.10237 5.13106 3.99593C5.2375 3.88949 5.29729 3.74512 5.29729 3.59459V2.64865H8.7027V3.59459C8.7027 3.74512 8.7625 3.88949 8.86894 3.99593C8.97538 4.10237 9.11974 4.16216 9.27027 4.16216C9.42079 4.16216 9.56516 4.10237 9.6716 3.99593C9.77804 3.88949 9.83783 3.74512 9.83783 3.59459V2.64865H10.7838C11.0347 2.64865 11.2753 2.74831 11.4527 2.92571C11.6301 3.10311 11.7297 3.34371 11.7297 3.59459V5.67568H2.27027V3.59459C2.27027 3.34371 2.36993 3.10311 2.54733 2.92571C2.72473 2.74831 2.96533 2.64865 3.21621 2.64865ZM10.7838 12.8649H3.21621C2.96533 12.8649 2.72473 12.7652 2.54733 12.5878C2.36993 12.4104 2.27027 12.1698 2.27027 11.9189V6.81081H11.7297V11.9189C11.7297 12.1698 11.6301 12.4104 11.4527 12.5878C11.2753 12.7652 11.0347 12.8649 10.7838 12.8649Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var $8=["data-p-icon","check"],Mu=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","check"]],features:[A],attrs:$8,decls:1,vars:0,consts:[["d","M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var U8=["data-p-icon","chevron-down"],Ru=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","chevron-down"]],features:[A],attrs:U8,decls:1,vars:0,consts:[["d","M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var W8=["data-p-icon","chevron-left"],wT=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","chevron-left"]],features:[A],attrs:W8,decls:1,vars:0,consts:[["d","M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var G8=["data-p-icon","chevron-right"],xT=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","chevron-right"]],features:[A],attrs:G8,decls:1,vars:0,consts:[["d","M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var q8=["data-p-icon","chevron-up"],TT=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","chevron-up"]],features:[A],attrs:q8,decls:1,vars:0,consts:[["d","M12.2097 10.4113C12.1057 10.4118 12.0027 10.3915 11.9067 10.3516C11.8107 10.3118 11.7237 10.2532 11.6506 10.1792L6.93602 5.46461L2.22139 10.1476C2.07272 10.244 1.89599 10.2877 1.71953 10.2717C1.54307 10.2556 1.3771 10.1808 1.24822 10.0593C1.11933 9.93766 1.035 9.77633 1.00874 9.6011C0.982477 9.42587 1.0158 9.2469 1.10338 9.09287L6.37701 3.81923C6.52533 3.6711 6.72639 3.58789 6.93602 3.58789C7.14565 3.58789 7.3467 3.6711 7.49502 3.81923L12.7687 9.09287C12.9168 9.24119 13 9.44225 13 9.65187C13 9.8615 12.9168 10.0626 12.7687 10.2109C12.616 10.3487 12.4151 10.4207 12.2097 10.4113Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var K8=["data-p-icon","filter"],DT=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","filter"]],features:[A],attrs:K8,decls:5,vars:2,consts:[["d","M8.64708 14H5.35296C5.18981 13.9979 5.03395 13.9321 4.91858 13.8167C4.8032 13.7014 4.73745 13.5455 4.73531 13.3824V7L0.329431 0.98C0.259794 0.889466 0.217389 0.780968 0.20718 0.667208C0.19697 0.553448 0.219379 0.439133 0.271783 0.337647C0.324282 0.236453 0.403423 0.151519 0.500663 0.0920138C0.597903 0.0325088 0.709548 0.000692754 0.823548 0H13.1765C13.2905 0.000692754 13.4021 0.0325088 13.4994 0.0920138C13.5966 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7826 0.780968 13.7402 0.889466 13.6706 0.98L9.26472 7V13.3824C9.26259 13.5455 9.19683 13.7014 9.08146 13.8167C8.96609 13.9321 8.81022 13.9979 8.64708 14ZM5.97061 12.7647H8.02943V6.79412C8.02878 6.66289 8.07229 6.53527 8.15296 6.43177L11.9412 1.23529H2.05884L5.86355 6.43177C5.94422 6.53527 5.98773 6.66289 5.98708 6.79412L5.97061 12.7647Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var Y8=["data-p-icon","filter-slash"],ET=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","filter-slash"]],features:[A],attrs:Y8,decls:5,vars:2,consts:[["fill-rule","evenodd","clip-rule","evenodd","d","M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var Q8=["data-p-icon","minus"],IT=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","minus"]],features:[A],attrs:Q8,decls:1,vars:0,consts:[["d","M13.2222 7.77778H0.777778C0.571498 7.77778 0.373667 7.69584 0.227806 7.54998C0.0819442 7.40412 0 7.20629 0 7.00001C0 6.79373 0.0819442 6.5959 0.227806 6.45003C0.373667 6.30417 0.571498 6.22223 0.777778 6.22223H13.2222C13.4285 6.22223 13.6263 6.30417 13.7722 6.45003C13.9181 6.5959 14 6.79373 14 7.00001C14 7.20629 13.9181 7.40412 13.7722 7.54998C13.6263 7.69584 13.4285 7.77778 13.2222 7.77778Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var Z8=["data-p-icon","plus"],ST=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","plus"]],features:[A],attrs:Z8,decls:5,vars:2,consts:[["d","M7.67742 6.32258V0.677419C7.67742 0.497757 7.60605 0.325452 7.47901 0.198411C7.35197 0.0713707 7.17966 0 7 0C6.82034 0 6.64803 0.0713707 6.52099 0.198411C6.39395 0.325452 6.32258 0.497757 6.32258 0.677419V6.32258H0.677419C0.497757 6.32258 0.325452 6.39395 0.198411 6.52099C0.0713707 6.64803 0 6.82034 0 7C0 7.17966 0.0713707 7.35197 0.198411 7.47901C0.325452 7.60605 0.497757 7.67742 0.677419 7.67742H6.32258V13.3226C6.32492 13.5015 6.39704 13.6725 6.52358 13.799C6.65012 13.9255 6.82106 13.9977 7 14C7.17966 14 7.35197 13.9286 7.47901 13.8016C7.60605 13.6745 7.67742 13.5022 7.67742 13.3226V7.67742H13.3226C13.5022 7.67742 13.6745 7.60605 13.8016 7.47901C13.9286 7.35197 14 7.17966 14 7C13.9977 6.82106 13.9255 6.65012 13.799 6.52358C13.6725 6.39704 13.5015 6.32492 13.3226 6.32258H7.67742Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var X8=["data-p-icon","search"],kT=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","search"]],features:[A],attrs:X8,decls:5,vars:2,consts:[["fill-rule","evenodd","clip-rule","evenodd","d","M2.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var J8=["data-p-icon","sort-alt"],Um=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","sort-alt"]],features:[A],attrs:J8,decls:8,vars:2,consts:[["d","M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z","fill","currentColor"],["d","M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z","fill","currentColor"],["d","M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z","fill","currentColor"],["d","M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0)(2,"path",1)(3,"path",2)(4,"path",3),Oe(),Re(5,"defs")(6,"clipPath",4),J(7,"rect",5),Oe()()),n&2&&(N("clip-path",o.pathId),f(6),je("id",o.pathId))},encapsulation:2})}return t})();var eV=["data-p-icon","sort-amount-down"],Wm=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","sort-amount-down"]],features:[A],attrs:eV,decls:5,vars:2,consts:[["d","M4.93953 10.5858L3.83759 11.6877V0.677419C3.83759 0.307097 3.53049 0 3.16017 0C2.78985 0 2.48275 0.307097 2.48275 0.677419V11.6877L1.38082 10.5858C1.11888 10.3239 0.685331 10.3239 0.423396 10.5858C0.16146 10.8477 0.16146 11.2813 0.423396 11.5432L2.68146 13.8013C2.74469 13.8645 2.81694 13.9097 2.89823 13.9458C2.97952 13.9819 3.06985 14 3.16017 14C3.25049 14 3.33178 13.9819 3.42211 13.9458C3.5034 13.9097 3.57565 13.8645 3.63888 13.8013L5.89694 11.5432C6.15888 11.2813 6.15888 10.8477 5.89694 10.5858C5.63501 10.3239 5.20146 10.3239 4.93953 10.5858ZM13.0957 0H7.22468C6.85436 0 6.54726 0.307097 6.54726 0.677419C6.54726 1.04774 6.85436 1.35484 7.22468 1.35484H13.0957C13.466 1.35484 13.7731 1.04774 13.7731 0.677419C13.7731 0.307097 13.466 0 13.0957 0ZM7.22468 5.41935H9.48275C9.85307 5.41935 10.1602 5.72645 10.1602 6.09677C10.1602 6.4671 9.85307 6.77419 9.48275 6.77419H7.22468C6.85436 6.77419 6.54726 6.4671 6.54726 6.09677C6.54726 5.72645 6.85436 5.41935 7.22468 5.41935ZM7.6763 8.12903H7.22468C6.85436 8.12903 6.54726 8.43613 6.54726 8.80645C6.54726 9.17677 6.85436 9.48387 7.22468 9.48387H7.6763C8.04662 9.48387 8.35372 9.17677 8.35372 8.80645C8.35372 8.43613 8.04662 8.12903 7.6763 8.12903ZM7.22468 2.70968H11.2892C11.6595 2.70968 11.9666 3.01677 11.9666 3.3871C11.9666 3.75742 11.6595 4.06452 11.2892 4.06452H7.22468C6.85436 4.06452 6.54726 3.75742 6.54726 3.3871C6.54726 3.01677 6.85436 2.70968 7.22468 2.70968Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var tV=["data-p-icon","sort-amount-up-alt"],Gm=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","sort-amount-up-alt"]],features:[A],attrs:tV,decls:5,vars:2,consts:[["d","M3.63435 0.19871C3.57113 0.135484 3.49887 0.0903226 3.41758 0.0541935C3.255 -0.0180645 3.06532 -0.0180645 2.90274 0.0541935C2.82145 0.0903226 2.74919 0.135484 2.68597 0.19871L0.427901 2.45677C0.165965 2.71871 0.165965 3.15226 0.427901 3.41419C0.689836 3.67613 1.12338 3.67613 1.38532 3.41419L2.48726 2.31226V13.3226C2.48726 13.6929 2.79435 14 3.16467 14C3.535 14 3.84209 13.6929 3.84209 13.3226V2.31226L4.94403 3.41419C5.07951 3.54968 5.25113 3.6129 5.42274 3.6129C5.59435 3.6129 5.76597 3.54968 5.90145 3.41419C6.16338 3.15226 6.16338 2.71871 5.90145 2.45677L3.64338 0.19871H3.63435ZM13.7685 13.3226C13.7685 12.9523 13.4615 12.6452 13.0911 12.6452H7.22016C6.84984 12.6452 6.54274 12.9523 6.54274 13.3226C6.54274 13.6929 6.84984 14 7.22016 14H13.0911C13.4615 14 13.7685 13.6929 13.7685 13.3226ZM7.22016 8.58064C6.84984 8.58064 6.54274 8.27355 6.54274 7.90323C6.54274 7.5329 6.84984 7.22581 7.22016 7.22581H9.47823C9.84855 7.22581 10.1556 7.5329 10.1556 7.90323C10.1556 8.27355 9.84855 8.58064 9.47823 8.58064H7.22016ZM7.22016 5.87097H7.67177C8.0421 5.87097 8.34919 5.56387 8.34919 5.19355C8.34919 4.82323 8.0421 4.51613 7.67177 4.51613H7.22016C6.84984 4.51613 6.54274 4.82323 6.54274 5.19355C6.54274 5.56387 6.84984 5.87097 7.22016 5.87097ZM11.2847 11.2903H7.22016C6.84984 11.2903 6.54274 10.9832 6.54274 10.6129C6.54274 10.2426 6.84984 9.93548 7.22016 9.93548H11.2847C11.655 9.93548 11.9621 10.2426 11.9621 10.6129C11.9621 10.9832 11.655 11.2903 11.2847 11.2903Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var nV=["data-p-icon","spinner"],br=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","spinner"]],features:[A],attrs:nV,decls:5,vars:2,consts:[["d","M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var iV=["data-p-icon","times"],Io=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","times"]],features:[A],attrs:iV,decls:1,vars:0,consts:[["d","M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var oV=["data-p-icon","trash"],MT=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","trash"]],features:[A],attrs:oV,decls:5,vars:2,consts:[["fill-rule","evenodd","clip-rule","evenodd","d","M3.44802 13.9955H10.552C10.8056 14.0129 11.06 13.9797 11.3006 13.898C11.5412 13.8163 11.7632 13.6877 11.9537 13.5196C12.1442 13.3515 12.2995 13.1473 12.4104 12.9188C12.5213 12.6903 12.5858 12.442 12.6 12.1884V4.36041H13.4C13.5591 4.36041 13.7117 4.29722 13.8243 4.18476C13.9368 4.07229 14 3.91976 14 3.76071C14 3.60166 13.9368 3.44912 13.8243 3.33666C13.7117 3.22419 13.5591 3.16101 13.4 3.16101H12.0537C12.0203 3.1557 11.9863 3.15299 11.952 3.15299C11.9178 3.15299 11.8838 3.1557 11.8503 3.16101H11.2285C11.2421 3.10893 11.2487 3.05513 11.248 3.00106V1.80966C11.2171 1.30262 10.9871 0.828306 10.608 0.48989C10.229 0.151475 9.73159 -0.0236625 9.22402 0.00257442H4.77602C4.27251 -0.0171866 3.78126 0.160868 3.40746 0.498617C3.03365 0.836366 2.807 1.30697 2.77602 1.80966V3.00106C2.77602 3.0556 2.78346 3.10936 2.79776 3.16101H0.6C0.521207 3.16101 0.443185 3.17652 0.37039 3.20666C0.297595 3.2368 0.231451 3.28097 0.175736 3.33666C0.120021 3.39235 0.0758251 3.45846 0.0456722 3.53121C0.0155194 3.60397 0 3.68196 0 3.76071C0 3.83946 0.0155194 3.91744 0.0456722 3.9902C0.0758251 4.06296 0.120021 4.12907 0.175736 4.18476C0.231451 4.24045 0.297595 4.28462 0.37039 4.31476C0.443185 4.3449 0.521207 4.36041 0.6 4.36041H1.40002V12.1884C1.41426 12.442 1.47871 12.6903 1.58965 12.9188C1.7006 13.1473 1.85582 13.3515 2.04633 13.5196C2.23683 13.6877 2.45882 13.8163 2.69944 13.898C2.94005 13.9797 3.1945 14.0129 3.44802 13.9955ZM2.60002 4.36041H11.304V12.1884C11.304 12.5163 10.952 12.7961 10.504 12.7961H3.40002C2.97602 12.7961 2.60002 12.5163 2.60002 12.1884V4.36041ZM3.95429 3.16101C3.96859 3.10936 3.97602 3.0556 3.97602 3.00106V1.80966C3.97602 1.48183 4.33602 1.20197 4.77602 1.20197H9.24802C9.66403 1.20197 10.048 1.48183 10.048 1.80966V3.00106C10.0473 3.05515 10.054 3.10896 10.0678 3.16101H3.95429ZM5.57571 10.997C5.41731 10.995 5.26597 10.9311 5.15395 10.8191C5.04193 10.7071 4.97808 10.5558 4.97601 10.3973V6.77517C4.97601 6.61612 5.0392 6.46359 5.15166 6.35112C5.26413 6.23866 5.41666 6.17548 5.57571 6.17548C5.73476 6.17548 5.8873 6.23866 5.99976 6.35112C6.11223 6.46359 6.17541 6.61612 6.17541 6.77517V10.3894C6.17647 10.4688 6.16174 10.5476 6.13208 10.6213C6.10241 10.695 6.05841 10.762 6.00261 10.8186C5.94682 10.8751 5.88035 10.92 5.80707 10.9506C5.73378 10.9813 5.65514 10.9971 5.57571 10.997ZM7.99968 10.8214C8.11215 10.9339 8.26468 10.997 8.42373 10.997C8.58351 10.9949 8.73604 10.93 8.84828 10.8163C8.96052 10.7025 9.02345 10.5491 9.02343 10.3894V6.77517C9.02343 6.61612 8.96025 6.46359 8.84778 6.35112C8.73532 6.23866 8.58278 6.17548 8.42373 6.17548C8.26468 6.17548 8.11215 6.23866 7.99968 6.35112C7.88722 6.46359 7.82404 6.61612 7.82404 6.77517V10.3973C7.82404 10.5564 7.88722 10.7089 7.99968 10.8214Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var rV=["data-p-icon","window-maximize"],RT=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","window-maximize"]],features:[A],attrs:rV,decls:5,vars:2,consts:[["fill-rule","evenodd","clip-rule","evenodd","d","M7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14ZM9.77805 7.42192C9.89013 7.534 10.0415 7.59788 10.2 7.59995C10.3585 7.59788 10.5099 7.534 10.622 7.42192C10.7341 7.30985 10.798 7.15844 10.8 6.99995V3.94242C10.8066 3.90505 10.8096 3.86689 10.8089 3.82843C10.8079 3.77159 10.7988 3.7157 10.7824 3.6623C10.756 3.55552 10.701 3.45698 10.622 3.37798C10.5099 3.2659 10.3585 3.20202 10.2 3.19995H7.00002C6.84089 3.19995 6.68828 3.26317 6.57576 3.37569C6.46324 3.48821 6.40002 3.64082 6.40002 3.79995C6.40002 3.95908 6.46324 4.11169 6.57576 4.22422C6.68828 4.33674 6.84089 4.39995 7.00002 4.39995H8.80006L6.19997 7.00005C6.10158 7.11005 6.04718 7.25246 6.04718 7.40005C6.04718 7.54763 6.10158 7.69004 6.19997 7.80005C6.30202 7.91645 6.44561 7.98824 6.59997 8.00005C6.75432 7.98824 6.89791 7.91645 6.99997 7.80005L9.60002 5.26841V6.99995C9.6021 7.15844 9.66598 7.30985 9.77805 7.42192ZM1.4 14H3.8C4.17066 13.9979 4.52553 13.8498 4.78763 13.5877C5.04973 13.3256 5.1979 12.9707 5.2 12.6V10.2C5.1979 9.82939 5.04973 9.47452 4.78763 9.21242C4.52553 8.95032 4.17066 8.80215 3.8 8.80005H1.4C1.02934 8.80215 0.674468 8.95032 0.412371 9.21242C0.150274 9.47452 0.00210008 9.82939 0 10.2V12.6C0.00210008 12.9707 0.150274 13.3256 0.412371 13.5877C0.674468 13.8498 1.02934 13.9979 1.4 14ZM1.25858 10.0586C1.29609 10.0211 1.34696 10 1.4 10H3.8C3.85304 10 3.90391 10.0211 3.94142 10.0586C3.97893 10.0961 4 10.147 4 10.2V12.6C4 12.6531 3.97893 12.704 3.94142 12.7415C3.90391 12.779 3.85304 12.8 3.8 12.8H1.4C1.34696 12.8 1.29609 12.779 1.25858 12.7415C1.22107 12.704 1.2 12.6531 1.2 12.6V10.2C1.2 10.147 1.22107 10.0961 1.25858 10.0586Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var aV=["data-p-icon","window-minimize"],OT=(()=>{class t extends oe{pathId;onInit(){this.pathId="url(#"+Le()+")"}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","window-minimize"]],features:[A],attrs:aV,decls:5,vars:2,consts:[["fill-rule","evenodd","clip-rule","evenodd","d","M11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0ZM6.368 7.952C6.44137 7.98326 6.52025 7.99958 6.6 8H9.8C9.95913 8 10.1117 7.93678 10.2243 7.82426C10.3368 7.71174 10.4 7.55913 10.4 7.4C10.4 7.24087 10.3368 7.08826 10.2243 6.97574C10.1117 6.86321 9.95913 6.8 9.8 6.8H8.048L10.624 4.224C10.73 4.11026 10.7877 3.95982 10.7849 3.80438C10.7822 3.64894 10.7192 3.50063 10.6093 3.3907C10.4994 3.28077 10.3511 3.2178 10.1956 3.21506C10.0402 3.21232 9.88974 3.27002 9.776 3.376L7.2 5.952V4.2C7.2 4.04087 7.13679 3.88826 7.02426 3.77574C6.91174 3.66321 6.75913 3.6 6.6 3.6C6.44087 3.6 6.28826 3.66321 6.17574 3.77574C6.06321 3.88826 6 4.04087 6 4.2V7.4C6.00042 7.47975 6.01674 7.55862 6.048 7.632C6.07656 7.70442 6.11971 7.7702 6.17475 7.82524C6.2298 7.88029 6.29558 7.92344 6.368 7.952ZM1.4 8.80005H3.8C4.17066 8.80215 4.52553 8.95032 4.78763 9.21242C5.04973 9.47452 5.1979 9.82939 5.2 10.2V12.6C5.1979 12.9707 5.04973 13.3256 4.78763 13.5877C4.52553 13.8498 4.17066 13.9979 3.8 14H1.4C1.02934 13.9979 0.674468 13.8498 0.412371 13.5877C0.150274 13.3256 0.00210008 12.9707 0 12.6V10.2C0.00210008 9.82939 0.150274 9.47452 0.412371 9.21242C0.674468 8.95032 1.02934 8.80215 1.4 8.80005ZM3.94142 12.7415C3.97893 12.704 4 12.6531 4 12.6V10.2C4 10.147 3.97893 10.0961 3.94142 10.0586C3.90391 10.0211 3.85304 10 3.8 10H1.4C1.34696 10 1.29609 10.0211 1.25858 10.0586C1.22107 10.0961 1.2 10.147 1.2 10.2V12.6C1.2 12.6531 1.22107 12.704 1.25858 12.7415C1.29609 12.779 1.34696 12.8 1.4 12.8H3.8C3.85304 12.8 3.90391 12.779 3.94142 12.7415Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,o){n&1&&(j(),Re(0,"g"),J(1,"path",0),Oe(),Re(2,"defs")(3,"clipPath",1),J(4,"rect",2),Oe()()),n&2&&(N("clip-path",o.pathId),f(3),je("id",o.pathId))},encapsulation:2})}return t})();var AT=` + .p-ink { + display: block; + position: absolute; + background: dt('ripple.background'); + border-radius: 100%; + transform: scale(0); + pointer-events: none; + } + + .p-ink-active { + animation: ripple 0.4s linear; + } + + @keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); + } + } +`;var sV=` + ${AT} + + /* For PrimeNG */ + .p-ripple { + overflow: hidden; + position: relative; + } + + .p-ripple-disabled .p-ink { + display: none !important; + } + + @keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); + } + } +`,lV={root:"p-ink"},NT=(()=>{class t extends fe{name="ripple";style=sV;classes=lV;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var Oi=(()=>{class t extends ke{componentName="Ripple";zone=v(Ne);_componentStyle=v(NT);animationListener;mouseDownListener;timeout;constructor(){super(),it(()=>{_t(this.platformId)&&(this.config.ripple()?this.zone.runOutsideAngular(()=>{this.create(),this.mouseDownListener=this.renderer.listen(this.el.nativeElement,"mousedown",this.onMouseDown.bind(this))}):this.remove())})}onAfterViewInit(){}onMouseDown(e){let n=this.getInk();if(!n||this.document.defaultView?.getComputedStyle(n,null).display==="none")return;if(!this.$unstyled()&&In(n,"p-ink-active"),n.setAttribute("data-p-ink-active","false"),!Si(n)&&!ki(n)){let s=Math.max(Lt(this.el.nativeElement),cn(this.el.nativeElement));n.style.height=s+"px",n.style.width=s+"px"}let o=pC(this.el.nativeElement),r=e.pageX-o.left+this.document.body.scrollTop-ki(n)/2,a=e.pageY-o.top+this.document.body.scrollLeft-Si(n)/2;this.renderer.setStyle(n,"top",a+"px"),this.renderer.setStyle(n,"left",r+"px"),!this.$unstyled()&&Ii(n,"p-ink-active"),n.setAttribute("data-p-ink-active","true"),this.timeout=setTimeout(()=>{let s=this.getInk();s&&(!this.$unstyled()&&In(s,"p-ink-active"),s.setAttribute("data-p-ink-active","false"))},401)}getInk(){let e=this.el.nativeElement.children;for(let n=0;n({class:t,pt:i});function hV(t,i){t&1&&G(0)}function gV(t,i){if(t&1&&W(0,"span",7),t&2){let e=d(3);D(e.cn(e.cx("loadingIcon"),"pi-spin",e.loadingIcon||(e.buttonProps==null?null:e.buttonProps.loadingIcon))),p("pBind",e.ptm("loadingIcon")),N("aria-hidden",!0)}}function mV(t,i){if(t&1&&(j(),W(0,"svg",8)),t&2){let e=d(3);D(e.cn(e.cx("loadingIcon"),e.cx("spinnerIcon"))),p("pBind",e.ptm("loadingIcon"))("spin",!0),N("aria-hidden",!0)}}function bV(t,i){if(t&1&&(q(0),_(1,gV,1,4,"span",3)(2,mV,1,5,"svg",6),K()),t&2){let e=d(2);f(),p("ngIf",e.loadingIcon||(e.buttonProps==null?null:e.buttonProps.loadingIcon)),f(),p("ngIf",!(e.loadingIcon||e.buttonProps!=null&&e.buttonProps.loadingIcon))}}function yV(t,i){}function _V(t,i){if(t&1&&_(0,yV,0,0,"ng-template",9),t&2){let e=d(2);p("ngIf",e.loadingIconTemplate||e._loadingIconTemplate)}}function vV(t,i){if(t&1&&(q(0),_(1,bV,3,2,"ng-container",2)(2,_V,1,1,null,5),K()),t&2){let e=d();f(),p("ngIf",!e.loadingIconTemplate&&!e._loadingIconTemplate),f(),p("ngTemplateOutlet",e.loadingIconTemplate||e._loadingIconTemplate)("ngTemplateOutletContext",bt(3,BT,e.cx("loadingIcon"),e.ptm("loadingIcon")))}}function CV(t,i){if(t&1&&W(0,"span",7),t&2){let e=d(2);D(e.cn(e.cx("icon"),e.icon||(e.buttonProps==null?null:e.buttonProps.icon))),p("pBind",e.ptm("icon")),N("data-p",e.dataIconP)}}function wV(t,i){}function xV(t,i){if(t&1&&_(0,wV,0,0,"ng-template",9),t&2){let e=d(2);p("ngIf",!e.icon&&(e.iconTemplate||e._iconTemplate))}}function TV(t,i){if(t&1&&(q(0),_(1,CV,1,4,"span",3)(2,xV,1,1,null,5),K()),t&2){let e=d();f(),p("ngIf",(e.icon||(e.buttonProps==null?null:e.buttonProps.icon))&&!e.iconTemplate&&!e._iconTemplate),f(),p("ngTemplateOutlet",e.iconTemplate||e._iconTemplate)("ngTemplateOutletContext",bt(3,BT,e.cx("icon"),e.ptm("icon")))}}function DV(t,i){if(t&1&&(b(0,"span",7),L(1),y()),t&2){let e=d();D(e.cx("label")),p("pBind",e.ptm("label")),N("aria-hidden",(e.icon||(e.buttonProps==null?null:e.buttonProps.icon))&&!(e.label||e.buttonProps!=null&&e.buttonProps.label))("data-p",e.dataLabelP),f(),de(e.label||(e.buttonProps==null?null:e.buttonProps.label))}}function EV(t,i){if(t&1&&W(0,"p-badge",10),t&2){let e=d();p("value",e.badge||(e.buttonProps==null?null:e.buttonProps.badge))("severity",e.badgeSeverity||(e.buttonProps==null?null:e.buttonProps.badgeSeverity))("pt",e.ptm("pcBadge"))("unstyled",e.unstyled())}}var IV={root:({instance:t})=>["p-button p-component",{"p-button-icon-only":t.hasIcon&&!t.label&&!t.buttonProps?.label&&!t.badge,"p-button-vertical":(t.iconPos==="top"||t.iconPos==="bottom")&&t.label,"p-button-loading":t.loading||t.buttonProps?.loading,"p-button-link":t.link||t.buttonProps?.link,[`p-button-${t.severity||t.buttonProps?.severity}`]:t.severity||t.buttonProps?.severity,"p-button-raised":t.raised||t.buttonProps?.raised,"p-button-rounded":t.rounded||t.buttonProps?.rounded,"p-button-text":t.text||t.variant==="text"||t.buttonProps?.text||t.buttonProps?.variant==="text","p-button-outlined":t.outlined||t.variant==="outlined"||t.buttonProps?.outlined||t.buttonProps?.variant==="outlined","p-button-sm":t.size==="small"||t.buttonProps?.size==="small","p-button-lg":t.size==="large"||t.buttonProps?.size==="large","p-button-plain":t.plain||t.buttonProps?.plain,"p-button-fluid":t.hasFluid}],loadingIcon:"p-button-loading-icon",icon:({instance:t})=>["p-button-icon",{[`p-button-icon-${t.iconPos||t.buttonProps?.iconPos}`]:t.label||t.buttonProps?.label,"p-button-icon-left":(t.iconPos==="left"||t.buttonProps?.iconPos==="left")&&t.label||t.buttonProps?.label,"p-button-icon-right":(t.iconPos==="right"||t.buttonProps?.iconPos==="right")&&t.label||t.buttonProps?.label,"p-button-icon-top":(t.iconPos==="top"||t.buttonProps?.iconPos==="top")&&t.label||t.buttonProps?.label,"p-button-icon-bottom":(t.iconPos==="bottom"||t.buttonProps?.iconPos==="bottom")&&t.label||t.buttonProps?.label},t.icon,t.buttonProps?.icon],spinnerIcon:({instance:t})=>Object.entries(t.cx("icon")).filter(([,i])=>!!i).reduce((i,[e])=>i+` ${e}`,"p-button-loading-icon"),label:"p-button-label"},PT=(()=>{class t extends fe{name="button";style=FT;classes=IV;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var LT=new B("BUTTON_INSTANCE");var So=(()=>{class t extends ke{componentName="Button";hostName="";$pcButton=v(LT,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=v(U,{self:!0});_componentStyle=v(PT);onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptm("host"))}type="button";badge;disabled;raised=!1;rounded=!1;text=!1;plain=!1;outlined=!1;link=!1;tabindex;size;variant;style;styleClass;badgeClass;badgeSeverity="secondary";ariaLabel;autofocus;iconPos="left";icon;label;loading=!1;loadingIcon;severity;buttonProps;fluid=V(void 0,{transform:S});onClick=new P;onFocus=new P;onBlur=new P;contentTemplate;loadingIconTemplate;iconTemplate;templates;pcFluid=v(Ta,{optional:!0,host:!0,skipSelf:!0});get hasFluid(){return this.fluid()??!!this.pcFluid}get hasIcon(){return this.icon||this.buttonProps?.icon||this.iconTemplate||this._iconTemplate||this.loadingIcon||this.loadingIconTemplate||this._loadingIconTemplate}_contentTemplate;_iconTemplate;_loadingIconTemplate;onAfterContentInit(){this.templates?.forEach(e=>{switch(e.getType()){case"content":this._contentTemplate=e.template;break;case"icon":this._iconTemplate=e.template;break;case"loadingicon":this._loadingIconTemplate=e.template;break;default:this._contentTemplate=e.template;break}})}get dataP(){return this.cn({[this.size]:this.size,"icon-only":this.hasIcon&&!this.label&&!this.badge,loading:this.loading,fluid:this.hasFluid,rounded:this.rounded,raised:this.raised,outlined:this.outlined||this.variant==="outlined",text:this.text||this.variant==="text",link:this.link,vertical:(this.iconPos==="top"||this.iconPos==="bottom")&&this.label})}get dataIconP(){return this.cn({[this.iconPos]:this.iconPos,[this.size]:this.size})}get dataLabelP(){return this.cn({[this.size]:this.size,"icon-only":this.hasIcon&&!this.label&&!this.badge})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-button"]],contentQueries:function(n,o,r){if(n&1&&Je(r,dV,5)(r,uV,5)(r,pV,5)(r,Qe,4),n&2){let a;M(a=R())&&(o.contentTemplate=a.first),M(a=R())&&(o.loadingIconTemplate=a.first),M(a=R())&&(o.iconTemplate=a.first),M(a=R())&&(o.templates=a)}},inputs:{hostName:"hostName",type:"type",badge:"badge",disabled:[2,"disabled","disabled",S],raised:[2,"raised","raised",S],rounded:[2,"rounded","rounded",S],text:[2,"text","text",S],plain:[2,"plain","plain",S],outlined:[2,"outlined","outlined",S],link:[2,"link","link",S],tabindex:[2,"tabindex","tabindex",xe],size:"size",variant:"variant",style:"style",styleClass:"styleClass",badgeClass:"badgeClass",badgeSeverity:"badgeSeverity",ariaLabel:"ariaLabel",autofocus:[2,"autofocus","autofocus",S],iconPos:"iconPos",icon:"icon",label:"label",loading:[2,"loading","loading",S],loadingIcon:"loadingIcon",severity:"severity",buttonProps:"buttonProps",fluid:[1,"fluid"]},outputs:{onClick:"onClick",onFocus:"onFocus",onBlur:"onBlur"},features:[ne([PT,{provide:LT,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],ngContentSelectors:fV,decls:7,vars:17,consts:[["pRipple","",3,"click","focus","blur","ngStyle","disabled","pAutoFocus","pBind"],[4,"ngTemplateOutlet"],[4,"ngIf"],[3,"class","pBind",4,"ngIf"],[3,"value","severity","pt","unstyled",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["data-p-icon","spinner",3,"class","pBind","spin",4,"ngIf"],[3,"pBind"],["data-p-icon","spinner",3,"pBind","spin"],[3,"ngIf"],[3,"value","severity","pt","unstyled"]],template:function(n,o){n&1&&(st(),b(0,"button",0),I("click",function(a){return o.onClick.emit(a)})("focus",function(a){return o.onFocus.emit(a)})("blur",function(a){return o.onBlur.emit(a)}),et(1),_(2,hV,1,0,"ng-container",1)(3,vV,3,6,"ng-container",2)(4,TV,3,6,"ng-container",2)(5,DV,2,6,"span",3)(6,EV,1,4,"p-badge",4),y()),n&2&&(D(o.cn(o.cx("root"),o.styleClass,o.buttonProps==null?null:o.buttonProps.styleClass)),p("ngStyle",o.style||(o.buttonProps==null?null:o.buttonProps.style))("disabled",o.disabled||o.loading||(o.buttonProps==null?null:o.buttonProps.disabled))("pAutoFocus",o.autofocus||(o.buttonProps==null?null:o.buttonProps.autofocus))("pBind",o.ptm("root")),N("type",o.type||(o.buttonProps==null?null:o.buttonProps.type))("aria-label",o.ariaLabel||(o.buttonProps==null?null:o.buttonProps.ariaLabel))("tabindex",o.tabindex||(o.buttonProps==null?null:o.buttonProps.tabindex))("data-p",o.dataP)("data-p-disabled",o.disabled||o.loading||(o.buttonProps==null?null:o.buttonProps.disabled))("data-p-severity",o.severity||(o.buttonProps==null?null:o.buttonProps.severity)),f(2),p("ngTemplateOutlet",o.contentTemplate||o._contentTemplate),f(),p("ngIf",o.loading||(o.buttonProps==null?null:o.buttonProps.loading)),f(),p("ngIf",!(o.loading||o.buttonProps!=null&&o.buttonProps.loading)),f(),p("ngIf",!o.contentTemplate&&!o._contentTemplate&&(o.label||(o.buttonProps==null?null:o.buttonProps.label))),f(),p("ngIf",!o.contentTemplate&&!o._contentTemplate&&(o.badge||(o.buttonProps==null?null:o.buttonProps.badge))))},dependencies:[De,ot,qe,Jt,Oi,Ri,br,ku,dl,re,U],encapsulation:2,changeDetection:0})}return t})(),Ou=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[De,So,re,re]})}return t})();var VT=` + .p-datatable { + position: relative; + display: block; + } + + .p-datatable-table { + border-spacing: 0; + border-collapse: separate; + width: 100%; + } + + .p-datatable-scrollable > .p-datatable-table-container { + position: relative; + } + + .p-datatable-scrollable-table > .p-datatable-thead { + inset-block-start: 0; + z-index: 1; + } + + .p-datatable-scrollable-table > .p-datatable-frozen-tbody { + position: sticky; + z-index: 1; + } + + .p-datatable-scrollable-table > .p-datatable-tfoot { + inset-block-end: 0; + z-index: 1; + } + + .p-datatable-scrollable .p-datatable-frozen-column { + position: sticky; + } + + .p-datatable-scrollable th.p-datatable-frozen-column { + z-index: 1; + } + + .p-datatable-scrollable td.p-datatable-frozen-column { + background: inherit; + } + + .p-datatable-scrollable > .p-datatable-table-container > .p-datatable-table > .p-datatable-thead, + .p-datatable-scrollable > .p-datatable-table-container > .p-virtualscroller > .p-datatable-table > .p-datatable-thead { + background: dt('datatable.header.cell.background'); + } + + .p-datatable-scrollable > .p-datatable-table-container > .p-datatable-table > .p-datatable-tfoot, + .p-datatable-scrollable > .p-datatable-table-container > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background: dt('datatable.footer.cell.background'); + } + + .p-datatable-flex-scrollable { + display: flex; + flex-direction: column; + height: 100%; + } + + .p-datatable-flex-scrollable > .p-datatable-table-container { + display: flex; + flex-direction: column; + flex: 1; + height: 100%; + } + + .p-datatable-scrollable-table > .p-datatable-tbody > .p-datatable-row-group-header { + position: sticky; + z-index: 1; + } + + .p-datatable-resizable-table > .p-datatable-thead > tr > th, + .p-datatable-resizable-table > .p-datatable-tfoot > tr > td, + .p-datatable-resizable-table > .p-datatable-tbody > tr > td { + overflow: hidden; + white-space: nowrap; + } + + .p-datatable-resizable-table > .p-datatable-thead > tr > th.p-datatable-resizable-column:not(.p-datatable-frozen-column) { + background-clip: padding-box; + position: relative; + } + + .p-datatable-resizable-table-fit > .p-datatable-thead > tr > th.p-datatable-resizable-column:last-child .p-datatable-column-resizer { + display: none; + } + + .p-datatable-column-resizer { + display: block; + position: absolute; + inset-block-start: 0; + inset-inline-end: 0; + margin: 0; + width: dt('datatable.column.resizer.width'); + height: 100%; + padding: 0; + cursor: col-resize; + border: 1px solid transparent; + } + + .p-datatable-column-header-content { + display: flex; + align-items: center; + gap: dt('datatable.header.cell.gap'); + } + + .p-datatable-column-resize-indicator { + width: dt('datatable.resize.indicator.width'); + position: absolute; + z-index: 10; + display: none; + background: dt('datatable.resize.indicator.color'); + } + + .p-datatable-row-reorder-indicator-up, + .p-datatable-row-reorder-indicator-down { + position: absolute; + display: none; + } + + .p-datatable-reorderable-column, + .p-datatable-reorderable-row-handle { + cursor: move; + } + + .p-datatable-mask { + position: absolute; + display: flex; + align-items: center; + justify-content: center; + z-index: 2; + } + + .p-datatable-inline-filter { + display: flex; + align-items: center; + width: 100%; + gap: dt('datatable.filter.inline.gap'); + } + + .p-datatable-inline-filter .p-datatable-filter-element-container { + flex: 1 1 auto; + width: 1%; + } + + .p-datatable-filter-overlay { + background: dt('datatable.filter.overlay.select.background'); + color: dt('datatable.filter.overlay.select.color'); + border: 1px solid dt('datatable.filter.overlay.select.border.color'); + border-radius: dt('datatable.filter.overlay.select.border.radius'); + box-shadow: dt('datatable.filter.overlay.select.shadow'); + min-width: 12.5rem; + } + + .p-datatable-filter-constraint-list { + margin: 0; + list-style: none; + display: flex; + flex-direction: column; + padding: dt('datatable.filter.constraint.list.padding'); + gap: dt('datatable.filter.constraint.list.gap'); + } + + .p-datatable-filter-constraint { + padding: dt('datatable.filter.constraint.padding'); + color: dt('datatable.filter.constraint.color'); + border-radius: dt('datatable.filter.constraint.border.radius'); + cursor: pointer; + transition: + background dt('datatable.transition.duration'), + color dt('datatable.transition.duration'), + border-color dt('datatable.transition.duration'), + box-shadow dt('datatable.transition.duration'); + } + + .p-datatable-filter-constraint-selected { + background: dt('datatable.filter.constraint.selected.background'); + color: dt('datatable.filter.constraint.selected.color'); + } + + .p-datatable-filter-constraint:not(.p-datatable-filter-constraint-selected):not(.p-disabled):hover { + background: dt('datatable.filter.constraint.focus.background'); + color: dt('datatable.filter.constraint.focus.color'); + } + + .p-datatable-filter-constraint:focus-visible { + outline: 0 none; + background: dt('datatable.filter.constraint.focus.background'); + color: dt('datatable.filter.constraint.focus.color'); + } + + .p-datatable-filter-constraint-selected:focus-visible { + outline: 0 none; + background: dt('datatable.filter.constraint.selected.focus.background'); + color: dt('datatable.filter.constraint.selected.focus.color'); + } + + .p-datatable-filter-constraint-separator { + border-block-start: 1px solid dt('datatable.filter.constraint.separator.border.color'); + } + + .p-datatable-popover-filter { + display: inline-flex; + margin-inline-start: auto; + } + + .p-datatable-filter-overlay-popover { + background: dt('datatable.filter.overlay.popover.background'); + color: dt('datatable.filter.overlay.popover.color'); + border: 1px solid dt('datatable.filter.overlay.popover.border.color'); + border-radius: dt('datatable.filter.overlay.popover.border.radius'); + box-shadow: dt('datatable.filter.overlay.popover.shadow'); + min-width: 12.5rem; + padding: dt('datatable.filter.overlay.popover.padding'); + display: flex; + flex-direction: column; + gap: dt('datatable.filter.overlay.popover.gap'); + } + + .p-datatable-filter-operator-dropdown { + width: 100%; + } + + .p-datatable-filter-rule-list, + .p-datatable-filter-rule { + display: flex; + flex-direction: column; + gap: dt('datatable.filter.overlay.popover.gap'); + } + + .p-datatable-filter-rule { + border-block-end: 1px solid dt('datatable.filter.rule.border.color'); + padding-bottom: dt('datatable.filter.overlay.popover.gap'); + } + + .p-datatable-filter-rule:last-child { + border-block-end: 0 none; + padding-bottom: 0; + } + + .p-datatable-filter-add-rule-button { + width: 100%; + } + + .p-datatable-filter-remove-rule-button { + width: 100%; + } + + .p-datatable-filter-buttonbar { + padding: 0; + display: flex; + align-items: center; + justify-content: space-between; + } + + .p-datatable-virtualscroller-spacer { + display: flex; + } + + .p-datatable .p-virtualscroller .p-virtualscroller-loading { + transform: none !important; + min-height: 0; + position: sticky; + inset-block-start: 0; + inset-inline-start: 0; + } + + .p-datatable-paginator-top { + border-color: dt('datatable.paginator.top.border.color'); + border-style: solid; + border-width: dt('datatable.paginator.top.border.width'); + } + + .p-datatable-paginator-bottom { + border-color: dt('datatable.paginator.bottom.border.color'); + border-style: solid; + border-width: dt('datatable.paginator.bottom.border.width'); + } + + .p-datatable-header { + background: dt('datatable.header.background'); + color: dt('datatable.header.color'); + border-color: dt('datatable.header.border.color'); + border-style: solid; + border-width: dt('datatable.header.border.width'); + padding: dt('datatable.header.padding'); + } + + .p-datatable-footer { + background: dt('datatable.footer.background'); + color: dt('datatable.footer.color'); + border-color: dt('datatable.footer.border.color'); + border-style: solid; + border-width: dt('datatable.footer.border.width'); + padding: dt('datatable.footer.padding'); + } + + .p-datatable-header-cell { + padding: dt('datatable.header.cell.padding'); + background: dt('datatable.header.cell.background'); + border-color: dt('datatable.header.cell.border.color'); + border-style: solid; + border-width: 0 0 1px 0; + color: dt('datatable.header.cell.color'); + font-weight: normal; + text-align: start; + transition: + background dt('datatable.transition.duration'), + color dt('datatable.transition.duration'), + border-color dt('datatable.transition.duration'), + outline-color dt('datatable.transition.duration'), + box-shadow dt('datatable.transition.duration'); + } + + .p-datatable-column-title { + font-weight: dt('datatable.column.title.font.weight'); + } + + .p-datatable-tbody > tr { + outline-color: transparent; + background: dt('datatable.row.background'); + color: dt('datatable.row.color'); + transition: + background dt('datatable.transition.duration'), + color dt('datatable.transition.duration'), + border-color dt('datatable.transition.duration'), + outline-color dt('datatable.transition.duration'), + box-shadow dt('datatable.transition.duration'); + } + + .p-datatable-tbody > tr > td { + text-align: start; + border-color: dt('datatable.body.cell.border.color'); + border-style: solid; + border-width: 0 0 1px 0; + padding: dt('datatable.body.cell.padding'); + } + + .p-datatable-hoverable .p-datatable-tbody > tr:not(.p-datatable-row-selected):hover { + background: dt('datatable.row.hover.background'); + color: dt('datatable.row.hover.color'); + } + + .p-datatable-tbody > tr.p-datatable-row-selected { + background: dt('datatable.row.selected.background'); + color: dt('datatable.row.selected.color'); + } + + .p-datatable-tbody > tr:has(+ .p-datatable-row-selected) > td { + border-block-end-color: dt('datatable.body.cell.selected.border.color'); + } + + .p-datatable-tbody > tr.p-datatable-row-selected > td { + border-block-end-color: dt('datatable.body.cell.selected.border.color'); + } + + .p-datatable-tbody > tr:focus-visible, + .p-datatable-tbody > tr.p-datatable-contextmenu-row-selected { + box-shadow: dt('datatable.row.focus.ring.shadow'); + outline: dt('datatable.row.focus.ring.width') dt('datatable.row.focus.ring.style') dt('datatable.row.focus.ring.color'); + outline-offset: dt('datatable.row.focus.ring.offset'); + } + + .p-datatable-tfoot > tr > td { + text-align: start; + padding: dt('datatable.footer.cell.padding'); + border-color: dt('datatable.footer.cell.border.color'); + border-style: solid; + border-width: 0 0 1px 0; + color: dt('datatable.footer.cell.color'); + background: dt('datatable.footer.cell.background'); + } + + .p-datatable-column-footer { + font-weight: dt('datatable.column.footer.font.weight'); + } + + .p-datatable-sortable-column { + cursor: pointer; + user-select: none; + outline-color: transparent; + } + + .p-datatable-column-title, + .p-datatable-sort-icon, + .p-datatable-sort-badge { + vertical-align: middle; + } + + .p-datatable-sort-icon { + color: dt('datatable.sort.icon.color'); + font-size: dt('datatable.sort.icon.size'); + width: dt('datatable.sort.icon.size'); + height: dt('datatable.sort.icon.size'); + transition: color dt('datatable.transition.duration'); + } + + .p-datatable-sortable-column:not(.p-datatable-column-sorted):hover { + background: dt('datatable.header.cell.hover.background'); + color: dt('datatable.header.cell.hover.color'); + } + + .p-datatable-sortable-column:not(.p-datatable-column-sorted):hover .p-datatable-sort-icon { + color: dt('datatable.sort.icon.hover.color'); + } + + .p-datatable-column-sorted { + background: dt('datatable.header.cell.selected.background'); + color: dt('datatable.header.cell.selected.color'); + } + + .p-datatable-column-sorted .p-datatable-sort-icon { + color: dt('datatable.header.cell.selected.color'); + } + + .p-datatable-sortable-column:focus-visible { + box-shadow: dt('datatable.header.cell.focus.ring.shadow'); + outline: dt('datatable.header.cell.focus.ring.width') dt('datatable.header.cell.focus.ring.style') dt('datatable.header.cell.focus.ring.color'); + outline-offset: dt('datatable.header.cell.focus.ring.offset'); + } + + .p-datatable-hoverable .p-datatable-selectable-row { + cursor: pointer; + } + + .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 dt('datatable.drop.point.color'); + } + + .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 dt('datatable.drop.point.color'); + } + + .p-datatable-loading-icon { + font-size: dt('datatable.loading.icon.size'); + width: dt('datatable.loading.icon.size'); + height: dt('datatable.loading.icon.size'); + } + + .p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + + .p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + + .p-datatable-gridlines .p-datatable-paginator-top { + border-width: 1px 1px 0 1px; + } + + .p-datatable-gridlines .p-datatable-paginator-bottom { + border-width: 0 1px 1px 1px; + } + + .p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + + .p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + + .p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + + .p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + + .p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + + .p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + + .p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + + .p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: dt('datatable.row.striped.background'); + } + + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-datatable-row-selected { + background: dt('datatable.row.selected.background'); + color: dt('datatable.row.selected.color'); + } + + .p-datatable-striped.p-datatable-hoverable .p-datatable-tbody > tr:not(.p-datatable-row-selected):hover { + background: dt('datatable.row.hover.background'); + color: dt('datatable.row.hover.color'); + } + + .p-datatable.p-datatable-sm .p-datatable-header { + padding: dt('datatable.header.sm.padding'); + } + + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: dt('datatable.header.cell.sm.padding'); + } + + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: dt('datatable.body.cell.sm.padding'); + } + + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: dt('datatable.footer.cell.sm.padding'); + } + + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: dt('datatable.footer.sm.padding'); + } + + .p-datatable.p-datatable-lg .p-datatable-header { + padding: dt('datatable.header.lg.padding'); + } + + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: dt('datatable.header.cell.lg.padding'); + } + + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: dt('datatable.body.cell.lg.padding'); + } + + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: dt('datatable.footer.cell.lg.padding'); + } + + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: dt('datatable.footer.lg.padding'); + } + + .p-datatable-row-toggle-button { + display: inline-flex; + align-items: center; + justify-content: center; + overflow: hidden; + position: relative; + width: dt('datatable.row.toggle.button.size'); + height: dt('datatable.row.toggle.button.size'); + color: dt('datatable.row.toggle.button.color'); + border: 0 none; + background: transparent; + cursor: pointer; + border-radius: dt('datatable.row.toggle.button.border.radius'); + transition: + background dt('datatable.transition.duration'), + color dt('datatable.transition.duration'), + border-color dt('datatable.transition.duration'), + outline-color dt('datatable.transition.duration'), + box-shadow dt('datatable.transition.duration'); + outline-color: transparent; + user-select: none; + } + + .p-datatable-row-toggle-button:enabled:hover { + color: dt('datatable.row.toggle.button.hover.color'); + background: dt('datatable.row.toggle.button.hover.background'); + } + + .p-datatable-tbody > tr.p-datatable-row-selected .p-datatable-row-toggle-button:hover { + background: dt('datatable.row.toggle.button.selected.hover.background'); + color: dt('datatable.row.toggle.button.selected.hover.color'); + } + + .p-datatable-row-toggle-button:focus-visible { + box-shadow: dt('datatable.row.toggle.button.focus.ring.shadow'); + outline: dt('datatable.row.toggle.button.focus.ring.width') dt('datatable.row.toggle.button.focus.ring.style') dt('datatable.row.toggle.button.focus.ring.color'); + outline-offset: dt('datatable.row.toggle.button.focus.ring.offset'); + } + + .p-datatable-row-toggle-icon:dir(rtl) { + transform: rotate(180deg); + } +`;var Au=(()=>{class t extends ke{modelValue=Y(void 0);$filled=te(()=>en(this.modelValue()));writeModelValue(e){this.modelValue.set(e)}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275dir=ge({type:t,features:[A]})}return t})();var Ai=(()=>{class t extends Au{required=V(void 0,{transform:S});invalid=V(void 0,{transform:S});disabled=V(void 0,{transform:S});name=V();_disabled=Y(!1);$disabled=te(()=>this.disabled()||this._disabled());onModelChange=()=>{};onModelTouched=()=>{};writeDisabledState(e){this._disabled.set(e)}writeControlValue(e,n){}writeValue(e){this.writeControlValue(e,this.writeModelValue.bind(this))}registerOnChange(e){this.onModelChange=e}registerOnTouched(e){this.onModelTouched=e}setDisabledState(e){this.writeDisabledState(e),this.cd.markForCheck()}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275dir=ge({type:t,inputs:{required:[1,"required"],invalid:[1,"invalid"],disabled:[1,"disabled"],name:[1,"name"]},features:[A]})}return t})();var zT=` + .p-checkbox { + position: relative; + display: inline-flex; + user-select: none; + vertical-align: bottom; + width: dt('checkbox.width'); + height: dt('checkbox.height'); + } + + .p-checkbox-input { + cursor: pointer; + appearance: none; + position: absolute; + inset-block-start: 0; + inset-inline-start: 0; + width: 100%; + height: 100%; + padding: 0; + margin: 0; + opacity: 0; + z-index: 1; + outline: 0 none; + border: 1px solid transparent; + border-radius: dt('checkbox.border.radius'); + } + + .p-checkbox-box { + display: flex; + justify-content: center; + align-items: center; + border-radius: dt('checkbox.border.radius'); + border: 1px solid dt('checkbox.border.color'); + background: dt('checkbox.background'); + width: dt('checkbox.width'); + height: dt('checkbox.height'); + transition: + background dt('checkbox.transition.duration'), + color dt('checkbox.transition.duration'), + border-color dt('checkbox.transition.duration'), + box-shadow dt('checkbox.transition.duration'), + outline-color dt('checkbox.transition.duration'); + outline-color: transparent; + box-shadow: dt('checkbox.shadow'); + } + + .p-checkbox-icon { + transition-duration: dt('checkbox.transition.duration'); + color: dt('checkbox.icon.color'); + font-size: dt('checkbox.icon.size'); + width: dt('checkbox.icon.size'); + height: dt('checkbox.icon.size'); + } + + .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box { + border-color: dt('checkbox.hover.border.color'); + } + + .p-checkbox-checked .p-checkbox-box { + border-color: dt('checkbox.checked.border.color'); + background: dt('checkbox.checked.background'); + } + + .p-checkbox-checked .p-checkbox-icon { + color: dt('checkbox.icon.checked.color'); + } + + .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box { + background: dt('checkbox.checked.hover.background'); + border-color: dt('checkbox.checked.hover.border.color'); + } + + .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-icon { + color: dt('checkbox.icon.checked.hover.color'); + } + + .p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box { + border-color: dt('checkbox.focus.border.color'); + box-shadow: dt('checkbox.focus.ring.shadow'); + outline: dt('checkbox.focus.ring.width') dt('checkbox.focus.ring.style') dt('checkbox.focus.ring.color'); + outline-offset: dt('checkbox.focus.ring.offset'); + } + + .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box { + border-color: dt('checkbox.checked.focus.border.color'); + } + + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: dt('checkbox.invalid.border.color'); + } + + .p-checkbox.p-variant-filled .p-checkbox-box { + background: dt('checkbox.filled.background'); + } + + .p-checkbox-checked.p-variant-filled .p-checkbox-box { + background: dt('checkbox.checked.background'); + } + + .p-checkbox-checked.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box { + background: dt('checkbox.checked.hover.background'); + } + + .p-checkbox.p-disabled { + opacity: 1; + } + + .p-checkbox.p-disabled .p-checkbox-box { + background: dt('checkbox.disabled.background'); + border-color: dt('checkbox.checked.disabled.border.color'); + } + + .p-checkbox.p-disabled .p-checkbox-box .p-checkbox-icon { + color: dt('checkbox.icon.disabled.color'); + } + + .p-checkbox-sm, + .p-checkbox-sm .p-checkbox-box { + width: dt('checkbox.sm.width'); + height: dt('checkbox.sm.height'); + } + + .p-checkbox-sm .p-checkbox-icon { + font-size: dt('checkbox.icon.sm.size'); + width: dt('checkbox.icon.sm.size'); + height: dt('checkbox.icon.sm.size'); + } + + .p-checkbox-lg, + .p-checkbox-lg .p-checkbox-box { + width: dt('checkbox.lg.width'); + height: dt('checkbox.lg.height'); + } + + .p-checkbox-lg .p-checkbox-icon { + font-size: dt('checkbox.icon.lg.size'); + width: dt('checkbox.icon.lg.size'); + height: dt('checkbox.icon.lg.size'); + } +`;var kV=["icon"],MV=["input"],RV=(t,i,e)=>({checked:t,class:i,dataP:e});function OV(t,i){if(t&1&&W(0,"span",8),t&2){let e=d(3);D(e.cx("icon")),p("ngClass",e.checkboxIcon)("pBind",e.ptm("icon")),N("data-p",e.dataP)}}function AV(t,i){if(t&1&&(j(),W(0,"svg",9)),t&2){let e=d(3);D(e.cx("icon")),p("pBind",e.ptm("icon")),N("data-p",e.dataP)}}function NV(t,i){if(t&1&&(q(0),_(1,OV,1,5,"span",6)(2,AV,1,4,"svg",7),K()),t&2){let e=d(2);f(),p("ngIf",e.checkboxIcon),f(),p("ngIf",!e.checkboxIcon)}}function FV(t,i){if(t&1&&(j(),W(0,"svg",10)),t&2){let e=d(2);D(e.cx("icon")),p("pBind",e.ptm("icon")),N("data-p",e.dataP)}}function PV(t,i){if(t&1&&(q(0),_(1,NV,3,2,"ng-container",3)(2,FV,1,4,"svg",5),K()),t&2){let e=d();f(),p("ngIf",e.checked),f(),p("ngIf",e._indeterminate())}}function LV(t,i){}function BV(t,i){t&1&&_(0,LV,0,0,"ng-template")}var VV=` + ${zT} + + /* For PrimeNG */ + p-checkBox.ng-invalid.ng-dirty .p-checkbox-box, + p-check-box.ng-invalid.ng-dirty .p-checkbox-box, + p-checkbox.ng-invalid.ng-dirty .p-checkbox-box { + border-color: dt('checkbox.invalid.border.color'); + } +`,zV={root:({instance:t})=>["p-checkbox p-component",{"p-checkbox-checked p-highlight":t.checked,"p-disabled":t.$disabled(),"p-invalid":t.invalid(),"p-variant-filled":t.$variant()==="filled","p-checkbox-sm p-inputfield-sm":t.size()==="small","p-checkbox-lg p-inputfield-lg":t.size()==="large"}],box:"p-checkbox-box",input:"p-checkbox-input",icon:"p-checkbox-icon"},jT=(()=>{class t extends fe{name="checkbox";style=VV;classes=zV;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var HT=new B("CHECKBOX_INSTANCE"),jV={provide:Ht,useExisting:at(()=>Nu),multi:!0},Nu=(()=>{class t extends Ai{componentName="Checkbox";hostName="";value;binary;ariaLabelledBy;ariaLabel;tabindex;inputId;inputStyle;styleClass;inputClass;indeterminate=!1;formControl;checkboxIcon;readonly;autofocus;trueValue=!0;falseValue=!1;variant=V();size=V();onChange=new P;onFocus=new P;onBlur=new P;inputViewChild;get checked(){return this._indeterminate()?!1:this.binary?this.modelValue()===this.trueValue:oC(this.value,this.modelValue())}_indeterminate=Y(void 0);checkboxIconTemplate;templates;_checkboxIconTemplate;focused=!1;_componentStyle=v(jT);bindDirectiveInstance=v(U,{self:!0});$pcCheckbox=v(HT,{optional:!0,skipSelf:!0})??void 0;$variant=te(()=>this.variant()||this.config.inputStyle()||this.config.inputVariant());onAfterContentInit(){this.templates?.forEach(e=>{switch(e.getType()){case"icon":this._checkboxIconTemplate=e.template;break;case"checkboxicon":this._checkboxIconTemplate=e.template;break}})}onChanges(e){e.indeterminate&&this._indeterminate.set(e.indeterminate.currentValue)}onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}updateModel(e){let n,o=this.injector.get(Mn,null,{optional:!0,self:!0}),r=o&&!this.formControl?o.value:this.modelValue();this.binary?(n=this._indeterminate()?this.trueValue:this.checked?this.falseValue:this.trueValue,this.writeModelValue(n),this.onModelChange(n)):(this.checked||this._indeterminate()?n=r.filter(a=>!fn(a,this.value)):n=r?[...r,this.value]:[this.value],this.onModelChange(n),this.writeModelValue(n),this.formControl&&this.formControl.setValue(n)),this._indeterminate()&&this._indeterminate.set(!1),this.onChange.emit({checked:n,originalEvent:e})}handleChange(e){this.readonly||this.updateModel(e)}onInputFocus(e){this.focused=!0,this.onFocus.emit(e)}onInputBlur(e){this.focused=!1,this.onBlur.emit(e),this.onModelTouched()}focus(){this.inputViewChild?.nativeElement.focus()}writeControlValue(e,n){n(e),this.cd.markForCheck()}get dataP(){return this.cn({invalid:this.invalid(),checked:this.checked,disabled:this.$disabled(),filled:this.$variant()==="filled",[this.size()]:this.size()})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-checkbox"],["p-checkBox"],["p-check-box"]],contentQueries:function(n,o,r){if(n&1&&Je(r,kV,4)(r,Qe,4),n&2){let a;M(a=R())&&(o.checkboxIconTemplate=a.first),M(a=R())&&(o.templates=a)}},viewQuery:function(n,o){if(n&1&&xt(MV,5),n&2){let r;M(r=R())&&(o.inputViewChild=r.first)}},hostVars:6,hostBindings:function(n,o){n&2&&(N("data-p-highlight",o.checked)("data-p-checked",o.checked)("data-p-disabled",o.$disabled())("data-p",o.dataP),D(o.cn(o.cx("root"),o.styleClass)))},inputs:{hostName:"hostName",value:"value",binary:[2,"binary","binary",S],ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",tabindex:[2,"tabindex","tabindex",xe],inputId:"inputId",inputStyle:"inputStyle",styleClass:"styleClass",inputClass:"inputClass",indeterminate:[2,"indeterminate","indeterminate",S],formControl:"formControl",checkboxIcon:"checkboxIcon",readonly:[2,"readonly","readonly",S],autofocus:[2,"autofocus","autofocus",S],trueValue:"trueValue",falseValue:"falseValue",variant:[1,"variant"],size:[1,"size"]},outputs:{onChange:"onChange",onFocus:"onFocus",onBlur:"onBlur"},features:[ne([jV,jT,{provide:HT,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],decls:5,vars:26,consts:[["input",""],["type","checkbox",3,"focus","blur","change","checked","pBind"],[3,"pBind"],[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["data-p-icon","minus",3,"class","pBind",4,"ngIf"],[3,"class","ngClass","pBind",4,"ngIf"],["data-p-icon","check",3,"class","pBind",4,"ngIf"],[3,"ngClass","pBind"],["data-p-icon","check",3,"pBind"],["data-p-icon","minus",3,"pBind"]],template:function(n,o){n&1&&(b(0,"input",1,0),I("focus",function(a){return o.onInputFocus(a)})("blur",function(a){return o.onInputBlur(a)})("change",function(a){return o.handleChange(a)}),y(),b(2,"div",2),_(3,PV,3,2,"ng-container",3)(4,BV,1,0,null,4),y()),n&2&&(lt(o.inputStyle),D(o.cn(o.cx("input"),o.inputClass)),p("checked",o.checked)("pBind",o.ptm("input")),N("id",o.inputId)("value",o.value)("name",o.name())("tabindex",o.tabindex)("required",o.required()?"":void 0)("readonly",o.readonly?"":void 0)("disabled",o.$disabled()?"":void 0)("aria-labelledby",o.ariaLabelledBy)("aria-label",o.ariaLabel),f(2),D(o.cx("box")),p("pBind",o.ptm("box")),N("data-p",o.dataP),f(),p("ngIf",!o.checkboxIconTemplate&&!o._checkboxIconTemplate),f(),p("ngTemplateOutlet",o.checkboxIconTemplate||o._checkboxIconTemplate)("ngTemplateOutletContext",Xh(22,RV,o.checked,o.cx("icon"),o.dataP)))},dependencies:[De,xn,ot,qe,re,Mu,IT,rt,U],encapsulation:2,changeDetection:0})}return t})(),Fu=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[Nu,re,re]})}return t})();var Da=(()=>{class t extends Ai{pcFluid=v(Ta,{optional:!0,host:!0,skipSelf:!0});fluid=V(void 0,{transform:S});variant=V();size=V();inputSize=V();pattern=V();min=V();max=V();step=V();minlength=V();maxlength=V();$variant=te(()=>this.variant()||this.config.inputStyle()||this.config.inputVariant());get hasFluid(){return this.fluid()??!!this.pcFluid}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275dir=ge({type:t,inputs:{fluid:[1,"fluid"],variant:[1,"variant"],size:[1,"size"],inputSize:[1,"inputSize"],pattern:[1,"pattern"],min:[1,"min"],max:[1,"max"],step:[1,"step"],minlength:[1,"minlength"],maxlength:[1,"maxlength"]},features:[A]})}return t})();var $T=` + .p-inputtext { + font-family: inherit; + font-feature-settings: inherit; + font-size: 1rem; + color: dt('inputtext.color'); + background: dt('inputtext.background'); + padding-block: dt('inputtext.padding.y'); + padding-inline: dt('inputtext.padding.x'); + border: 1px solid dt('inputtext.border.color'); + transition: + background dt('inputtext.transition.duration'), + color dt('inputtext.transition.duration'), + border-color dt('inputtext.transition.duration'), + outline-color dt('inputtext.transition.duration'), + box-shadow dt('inputtext.transition.duration'); + appearance: none; + border-radius: dt('inputtext.border.radius'); + outline-color: transparent; + box-shadow: dt('inputtext.shadow'); + } + + .p-inputtext:enabled:hover { + border-color: dt('inputtext.hover.border.color'); + } + + .p-inputtext:enabled:focus { + border-color: dt('inputtext.focus.border.color'); + box-shadow: dt('inputtext.focus.ring.shadow'); + outline: dt('inputtext.focus.ring.width') dt('inputtext.focus.ring.style') dt('inputtext.focus.ring.color'); + outline-offset: dt('inputtext.focus.ring.offset'); + } + + .p-inputtext.p-invalid { + border-color: dt('inputtext.invalid.border.color'); + } + + .p-inputtext.p-variant-filled { + background: dt('inputtext.filled.background'); + } + + .p-inputtext.p-variant-filled:enabled:hover { + background: dt('inputtext.filled.hover.background'); + } + + .p-inputtext.p-variant-filled:enabled:focus { + background: dt('inputtext.filled.focus.background'); + } + + .p-inputtext:disabled { + opacity: 1; + background: dt('inputtext.disabled.background'); + color: dt('inputtext.disabled.color'); + } + + .p-inputtext::placeholder { + color: dt('inputtext.placeholder.color'); + } + + .p-inputtext.p-invalid::placeholder { + color: dt('inputtext.invalid.placeholder.color'); + } + + .p-inputtext-sm { + font-size: dt('inputtext.sm.font.size'); + padding-block: dt('inputtext.sm.padding.y'); + padding-inline: dt('inputtext.sm.padding.x'); + } + + .p-inputtext-lg { + font-size: dt('inputtext.lg.font.size'); + padding-block: dt('inputtext.lg.padding.y'); + padding-inline: dt('inputtext.lg.padding.x'); + } + + .p-inputtext-fluid { + width: 100%; + } +`;var $V=` + ${$T} + + /* For PrimeNG */ + .p-inputtext.ng-invalid.ng-dirty { + border-color: dt('inputtext.invalid.border.color'); + } + + .p-inputtext.ng-invalid.ng-dirty::placeholder { + color: dt('inputtext.invalid.placeholder.color'); + } +`,UV={root:({instance:t})=>["p-inputtext p-component",{"p-filled":t.$filled(),"p-inputtext-sm":t.pSize==="small","p-inputtext-lg":t.pSize==="large","p-invalid":t.invalid(),"p-variant-filled":t.$variant()==="filled","p-inputtext-fluid":t.hasFluid}]},UT=(()=>{class t extends fe{name="inputtext";style=$V;classes=UV;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var WT=new B("INPUTTEXT_INSTANCE"),ko=(()=>{class t extends Au{componentName="InputText";hostName="";ptInputText=V();pInputTextPT=V();pInputTextUnstyled=V();bindDirectiveInstance=v(U,{self:!0});$pcInputText=v(WT,{optional:!0,skipSelf:!0})??void 0;ngControl=v(Mn,{optional:!0,self:!0});pcFluid=v(Ta,{optional:!0,host:!0,skipSelf:!0});pSize;variant=V();fluid=V(void 0,{transform:S});invalid=V(void 0,{transform:S});$variant=te(()=>this.variant()||this.config.inputStyle()||this.config.inputVariant());_componentStyle=v(UT);constructor(){super(),it(()=>{let e=this.ptInputText()||this.pInputTextPT();e&&this.directivePT.set(e)}),it(()=>{this.pInputTextUnstyled()&&this.directiveUnstyled.set(this.pInputTextUnstyled())})}onAfterViewInit(){this.writeModelValue(this.ngControl?.value??this.el.nativeElement.value),this.cd.detectChanges()}onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptm("root"))}onDoCheck(){this.writeModelValue(this.ngControl?.value??this.el.nativeElement.value)}onInput(){this.writeModelValue(this.ngControl?.value??this.el.nativeElement.value)}get hasFluid(){return this.fluid()??!!this.pcFluid}get dataP(){return this.cn({invalid:this.invalid(),fluid:this.hasFluid,filled:this.$variant()==="filled",[this.pSize]:this.pSize})}static \u0275fac=function(n){return new(n||t)};static \u0275dir=ge({type:t,selectors:[["","pInputText",""]],hostVars:3,hostBindings:function(n,o){n&1&&I("input",function(){return o.onInput()}),n&2&&(N("data-p",o.dataP),D(o.cx("root")))},inputs:{hostName:"hostName",ptInputText:[1,"ptInputText"],pInputTextPT:[1,"pInputTextPT"],pInputTextUnstyled:[1,"pInputTextUnstyled"],pSize:"pSize",variant:[1,"variant"],fluid:[1,"fluid"],invalid:[1,"invalid"]},features:[ne([UT,{provide:WT,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A]})}return t})(),Pu=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({})}return t})();function GV(t,i){return t?t.classList?t.classList.contains(i):new RegExp("(^| )"+i+"( |$)","gi").test(t.className):!1}function Lu(t,i){if(t&&i){let e=n=>{GV(t,n)||(t.classList?t.classList.add(n):t.className+=" "+n)};[i].flat().filter(Boolean).forEach(n=>n.split(" ").forEach(e))}}function qm(t,i){if(t&&i){let e=n=>{t.classList?t.classList.remove(n):t.className=t.className.replace(new RegExp("(^|\\b)"+n.split(" ").join("|")+"(\\b|$)","gi")," ")};[i].flat().filter(Boolean).forEach(n=>n.split(" ").forEach(e))}}function GT(t){let i={width:0,height:0};if(t){let[e,n]=[t.style.visibility,t.style.display],o=t.getBoundingClientRect();t.style.visibility="hidden",t.style.display="block",i.width=o.width||t.offsetWidth,i.height=o.height||t.offsetHeight,t.style.display=n,t.style.visibility=e}return i}function qT(){return typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Km(t,i,e=null,n){var o;i&&((o=t?.style)==null||o.setProperty(i,e,n))}function Ym(t){return t==="auto"?0:typeof t=="number"?t:Number(t.replace(/[^\d.]/g,"").replace(",","."))*1e3}var qV=Object.defineProperty,KT=Object.getOwnPropertySymbols,KV=Object.prototype.hasOwnProperty,YV=Object.prototype.propertyIsEnumerable,YT=(t,i,e)=>i in t?qV(t,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[i]=e,QT=(t,i)=>{for(var e in i||(i={}))KV.call(i,e)&&YT(t,e,i[e]);if(KT)for(var e of KT(i))YV.call(i,e)&&YT(t,e,i[e]);return t},QV=(t,i,e)=>new Promise((n,o)=>{var r=l=>{try{s(e.next(l))}catch(c){o(c)}},a=l=>{try{s(e.throw(l))}catch(c){o(c)}},s=l=>l.done?n(l.value):Promise.resolve(l.value).then(r,a);s((e=e.apply(t,i)).next())}),Bu="animation",ul="transition";function ZV(t){return t?t.disabled||!!(t.safe&&qT()):!1}function XV(t,i){return t?QT(QT({},t),Object.entries(i).reduce((e,[n,o])=>{var r;return e[n]=(r=t[n])!=null?r:o,e},{})):i}function JV(t){let{name:i,enterClass:e,leaveClass:n}=t||{};return{enter:{from:e?.from||`${i}-enter-from`,to:e?.to||`${i}-enter-to`,active:e?.active||`${i}-enter-active`},leave:{from:n?.from||`${i}-leave-from`,to:n?.to||`${i}-leave-to`,active:n?.active||`${i}-leave-active`}}}function e9(t){return{enter:{onBefore:t?.onBeforeEnter,onStart:t?.onEnter,onAfter:t?.onAfterEnter,onCancelled:t?.onEnterCancelled},leave:{onBefore:t?.onBeforeLeave,onStart:t?.onLeave,onAfter:t?.onAfterLeave,onCancelled:t?.onLeaveCancelled}}}function t9(t,i){let e=window.getComputedStyle(t),n=m=>{let x=e[`${m}Delay`],E=e[`${m}Duration`];return[x.split(", ").map(Ym),E.split(", ").map(Ym)]},[o,r]=n(ul),[a,s]=n(Bu),l=Math.max(...r.map((m,x)=>m+o[x])),c=Math.max(...s.map((m,x)=>m+a[x])),u,h=0,g=0;return i===ul?l>0&&(u=ul,h=l,g=r.length):i===Bu?c>0&&(u=Bu,h=c,g=s.length):(h=Math.max(l,c),u=h>0?l>c?ul:Bu:void 0,g=u?u===ul?r.length:s.length:0),{type:u,timeout:h,count:g}}function Vu(t,i){return typeof t=="number"?t:typeof t=="object"&&t[i]!=null?t[i]:null}function n9(t,i=!0,e=!1){if(!i&&!e)return;let n=GT(t);i&&Km(t,"--pui-motion-height",n.height+"px"),e&&Km(t,"--pui-motion-width",n.width+"px")}var i9={name:"p",safe:!0,disabled:!1,enter:!0,leave:!0,autoHeight:!0,autoWidth:!1};function Qm(t,i){if(!t)throw new Error("Element is required.");let e={},n=!1,o={},r=null,a={},s=u=>{if(Object.assign(e,XV(u,i9)),!e.enter&&!e.leave)throw new Error("Enter or leave must be true.");a=e9(e),n=ZV(e),o=JV(e),r=null},l=u=>QV(null,null,function*(){r?.();let{onBefore:h,onStart:g,onAfter:m,onCancelled:x}=a[u]||{},E={element:t};if(n){h?.(E),g?.(E),m?.(E);return}let{from:k,active:z,to:Q}=o[u]||{};return n9(t,e.autoHeight,e.autoWidth),h?.(E),Lu(t,k),Lu(t,z),t.offsetHeight,qm(t,k),Lu(t,Q),g?.(E),new Promise(se=>{let Me=Vu(e.duration,u),nt=()=>{qm(t,[Q,z]),r=null},dt=()=>{nt(),m?.(E),se()};r=()=>{nt(),x?.(E),se()},r9(t,e.type,Me,dt)})});s(i);let c={enter:()=>e.enter?l("enter"):Promise.resolve(),leave:()=>e.leave?l("leave"):Promise.resolve(),cancel:()=>{r?.(),r=null},update:(u,h)=>{if(!u)throw new Error("Element is required.");t=u,c.cancel(),s(h)}};return e.appear&&c.enter(),c}var o9=0;function r9(t,i,e,n){let o=t._motionEndId=++o9,r=()=>{o===t._motionEndId&&n()};if(e!=null)return setTimeout(r,e);let{type:a,timeout:s,count:l}=t9(t,i);if(!a){n();return}let c=a+"end",u=0,h=()=>{t.removeEventListener(c,g,!0),r()},g=m=>{m.target===t&&++u>=l&&h()};t.addEventListener(c,g,{capture:!0,once:!0}),setTimeout(()=>{u{class t extends fe{name="motion";style=l9;classes=c9;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var ZT=new B("MOTION_INSTANCE"),fl=(()=>{class t extends ke{$pcMotion=v(ZT,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){let n=this.options()?.root||{};this.bindDirectiveInstance.setAttrs(T(T({},this.ptms(["host","root"])),n))}_componentStyle=v(Zm);visible=V(!1);mountOnEnter=V(!0);unmountOnLeave=V(!0);name=V(void 0);type=V(void 0);safe=V(void 0);disabled=V(!1);appear=V(!1);enter=V(!0);leave=V(!0);duration=V(void 0);hideStrategy=V("display");enterFromClass=V(void 0);enterToClass=V(void 0);enterActiveClass=V(void 0);leaveFromClass=V(void 0);leaveToClass=V(void 0);leaveActiveClass=V(void 0);options=V({});onBeforeEnter=qt();onEnter=qt();onAfterEnter=qt();onEnterCancelled=qt();onBeforeLeave=qt();onLeave=qt();onAfterLeave=qt();onLeaveCancelled=qt();motionOptions=te(()=>{let e=this.options();return{name:e.name??this.name(),type:e.type??this.type(),safe:e.safe??this.safe(),disabled:e.disabled??this.disabled(),appear:!1,enter:e.enter??this.enter(),leave:e.leave??this.leave(),duration:e.duration??this.duration(),enterClass:{from:e.enterClass?.from??(e.name?void 0:this.enterFromClass()),to:e.enterClass?.to??(e.name?void 0:this.enterToClass()),active:e.enterClass?.active??(e.name?void 0:this.enterActiveClass())},leaveClass:{from:e.leaveClass?.from??(e.name?void 0:this.leaveFromClass()),to:e.leaveClass?.to??(e.name?void 0:this.leaveToClass()),active:e.leaveClass?.active??(e.name?void 0:this.leaveActiveClass())},onBeforeEnter:e.onBeforeEnter??this.handleBeforeEnter,onEnter:e.onEnter??this.handleEnter,onAfterEnter:e.onAfterEnter??this.handleAfterEnter,onEnterCancelled:e.onEnterCancelled??this.handleEnterCancelled,onBeforeLeave:e.onBeforeLeave??this.handleBeforeLeave,onLeave:e.onLeave??this.handleLeave,onAfterLeave:e.onAfterLeave??this.handleAfterLeave,onLeaveCancelled:e.onLeaveCancelled??this.handleLeaveCancelled}});motion;isInitialMount=!0;cancelled=!1;destroyed=!1;rendered=Y(!1);handleBeforeEnter=e=>!this.destroyed&&this.onBeforeEnter.emit(e);handleEnter=e=>!this.destroyed&&this.onEnter.emit(e);handleAfterEnter=e=>!this.destroyed&&this.onAfterEnter.emit(e);handleEnterCancelled=e=>!this.destroyed&&this.onEnterCancelled.emit(e);handleBeforeLeave=e=>!this.destroyed&&this.onBeforeLeave.emit(e);handleLeave=e=>!this.destroyed&&this.onLeave.emit(e);handleAfterLeave=e=>!this.destroyed&&this.onAfterLeave.emit(e);handleLeaveCancelled=e=>!this.destroyed&&this.onLeaveCancelled.emit(e);constructor(){super(),it(()=>{let e=this.hideStrategy();this.isInitialMount?(pl(this.$el,e),this.rendered.set(this.visible()&&this.mountOnEnter()||!this.mountOnEnter())):this.visible()&&!this.rendered()&&(pl(this.$el,e),this.rendered.set(!0))}),it(()=>{this.motion||(this.motion=Qm(this.$el,this.motionOptions()))}),fg(()=>Ce(this,null,function*(){if(!this.$el)return;let e=this.isInitialMount&&this.visible()&&this.appear(),n=this.hideStrategy();this.visible()?(yield fu(),ju(this.$el,n),(e||!this.isInitialMount)&&(this.applyMotionDuration("enter"),this.motion?.enter())):this.isInitialMount||(yield fu(),this.applyMotionDuration("leave"),this.motion?.leave()?.then(()=>Ce(this,null,function*(){this.$el&&!this.cancelled&&!this.visible()&&(pl(this.$el,n),this.unmountOnLeave()&&(yield fu(),this.cancelled||this.rendered.set(!1)))}))),this.isInitialMount=!1}))}applyMotionDuration(e){let n=yt(this.motionOptions),o=Vu(n.duration,e);if(o==null||!this.$el)return;let r=this.$el,a=`${o}ms`;n.type==="transition"?r.style.transitionDuration=a:r.style.animationDuration=a}onDestroy(){this.destroyed=!0,this.cancelled=!0,this.motion?.cancel(),this.motion=void 0,ju(this.$el,this.hideStrategy()),this.$el?.remove(),this.isInitialMount=!0}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=H({type:t,selectors:[["p-motion"]],hostVars:2,hostBindings:function(n,o){n&2&&D(o.cx("root"))},inputs:{visible:[1,"visible"],mountOnEnter:[1,"mountOnEnter"],unmountOnLeave:[1,"unmountOnLeave"],name:[1,"name"],type:[1,"type"],safe:[1,"safe"],disabled:[1,"disabled"],appear:[1,"appear"],enter:[1,"enter"],leave:[1,"leave"],duration:[1,"duration"],hideStrategy:[1,"hideStrategy"],enterFromClass:[1,"enterFromClass"],enterToClass:[1,"enterToClass"],enterActiveClass:[1,"enterActiveClass"],leaveFromClass:[1,"leaveFromClass"],leaveToClass:[1,"leaveToClass"],leaveActiveClass:[1,"leaveActiveClass"],options:[1,"options"]},outputs:{onBeforeEnter:"onBeforeEnter",onEnter:"onEnter",onAfterEnter:"onAfterEnter",onEnterCancelled:"onEnterCancelled",onBeforeLeave:"onBeforeLeave",onLeave:"onLeave",onAfterLeave:"onAfterLeave",onLeaveCancelled:"onLeaveCancelled"},features:[ne([Zm,{provide:ZT,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],ngContentSelectors:a9,decls:1,vars:1,template:function(n,o){n&1&&(st(),_e(0,s9,1,0)),n&2&&ve(o.rendered()?0:-1)},dependencies:[De,rt],encapsulation:2})}return t})(),XT=new B("MOTION_DIRECTIVE_INSTANCE"),JT=(()=>{class t extends ke{$pcMotionDirective=v(XT,{optional:!0,skipSelf:!0})??void 0;visible=V(!1,{alias:"pMotion"});name=V(void 0,{alias:"pMotionName"});type=V(void 0,{alias:"pMotionType"});safe=V(void 0,{alias:"pMotionSafe"});disabled=V(!1,{alias:"pMotionDisabled"});appear=V(!1,{alias:"pMotionAppear"});enter=V(!0,{alias:"pMotionEnter"});leave=V(!0,{alias:"pMotionLeave"});duration=V(void 0,{alias:"pMotionDuration"});hideStrategy=V("display",{alias:"pMotionHideStrategy"});enterFromClass=V(void 0,{alias:"pMotionEnterFromClass"});enterToClass=V(void 0,{alias:"pMotionEnterToClass"});enterActiveClass=V(void 0,{alias:"pMotionEnterActiveClass"});leaveFromClass=V(void 0,{alias:"pMotionLeaveFromClass"});leaveToClass=V(void 0,{alias:"pMotionLeaveToClass"});leaveActiveClass=V(void 0,{alias:"pMotionLeaveActiveClass"});options=V({},{alias:"pMotionOptions"});onBeforeEnter=qt({alias:"pMotionOnBeforeEnter"});onEnter=qt({alias:"pMotionOnEnter"});onAfterEnter=qt({alias:"pMotionOnAfterEnter"});onEnterCancelled=qt({alias:"pMotionOnEnterCancelled"});onBeforeLeave=qt({alias:"pMotionOnBeforeLeave"});onLeave=qt({alias:"pMotionOnLeave"});onAfterLeave=qt({alias:"pMotionOnAfterLeave"});onLeaveCancelled=qt({alias:"pMotionOnLeaveCancelled"});motionOptions=te(()=>{let e=this.options()??{};return{name:e.name??this.name(),type:e.type??this.type(),safe:e.safe??this.safe(),disabled:e.disabled??this.disabled(),appear:!1,enter:e.enter??this.enter(),leave:e.leave??this.leave(),duration:e.duration??this.duration(),enterClass:{from:e.enterClass?.from??(e.name?void 0:this.enterFromClass()),to:e.enterClass?.to??(e.name?void 0:this.enterToClass()),active:e.enterClass?.active??(e.name?void 0:this.enterActiveClass())},leaveClass:{from:e.leaveClass?.from??(e.name?void 0:this.leaveFromClass()),to:e.leaveClass?.to??(e.name?void 0:this.leaveToClass()),active:e.leaveClass?.active??(e.name?void 0:this.leaveActiveClass())},onBeforeEnter:e.onBeforeEnter??this.handleBeforeEnter,onEnter:e.onEnter??this.handleEnter,onAfterEnter:e.onAfterEnter??this.handleAfterEnter,onEnterCancelled:e.onEnterCancelled??this.handleEnterCancelled,onBeforeLeave:e.onBeforeLeave??this.handleBeforeLeave,onLeave:e.onLeave??this.handleLeave,onAfterLeave:e.onAfterLeave??this.handleAfterLeave,onLeaveCancelled:e.onLeaveCancelled??this.handleLeaveCancelled}});motion;isInitialMount=!0;cancelled=!1;destroyed=!1;handleBeforeEnter=e=>!this.destroyed&&this.onBeforeEnter.emit(e);handleEnter=e=>!this.destroyed&&this.onEnter.emit(e);handleAfterEnter=e=>!this.destroyed&&this.onAfterEnter.emit(e);handleEnterCancelled=e=>!this.destroyed&&this.onEnterCancelled.emit(e);handleBeforeLeave=e=>!this.destroyed&&this.onBeforeLeave.emit(e);handleLeave=e=>!this.destroyed&&this.onLeave.emit(e);handleAfterLeave=e=>!this.destroyed&&this.onAfterLeave.emit(e);handleLeaveCancelled=e=>!this.destroyed&&this.onLeaveCancelled.emit(e);constructor(){super(),it(()=>{this.motion||(this.motion=Qm(this.$el,this.motionOptions()))}),fg(()=>{if(!this.$el)return;let e=this.isInitialMount&&this.visible()&&this.appear(),n=this.hideStrategy();this.visible()?(ju(this.$el,n),(e||!this.isInitialMount)&&(this.applyMotionDuration("enter"),this.motion?.enter())):this.isInitialMount?pl(this.$el,n):(this.applyMotionDuration("leave"),this.motion?.leave()?.then(()=>{this.$el&&!this.cancelled&&!this.visible()&&pl(this.$el,n)})),this.isInitialMount=!1})}applyMotionDuration(e){let n=yt(this.motionOptions),o=Vu(n.duration,e);if(o==null||!this.$el)return;let r=this.$el,a=`${o}ms`;n.type==="transition"?r.style.transitionDuration=a:r.style.animationDuration=a}onDestroy(){this.destroyed=!0,this.cancelled=!0,this.motion?.cancel(),this.motion=void 0,ju(this.$el,this.hideStrategy()),this.$el?.remove(),this.isInitialMount=!0}static \u0275fac=function(n){return new(n||t)};static \u0275dir=ge({type:t,selectors:[["","pMotion",""]],inputs:{visible:[1,"pMotion","visible"],name:[1,"pMotionName","name"],type:[1,"pMotionType","type"],safe:[1,"pMotionSafe","safe"],disabled:[1,"pMotionDisabled","disabled"],appear:[1,"pMotionAppear","appear"],enter:[1,"pMotionEnter","enter"],leave:[1,"pMotionLeave","leave"],duration:[1,"pMotionDuration","duration"],hideStrategy:[1,"pMotionHideStrategy","hideStrategy"],enterFromClass:[1,"pMotionEnterFromClass","enterFromClass"],enterToClass:[1,"pMotionEnterToClass","enterToClass"],enterActiveClass:[1,"pMotionEnterActiveClass","enterActiveClass"],leaveFromClass:[1,"pMotionLeaveFromClass","leaveFromClass"],leaveToClass:[1,"pMotionLeaveToClass","leaveToClass"],leaveActiveClass:[1,"pMotionLeaveActiveClass","leaveActiveClass"],options:[1,"pMotionOptions","options"]},outputs:{onBeforeEnter:"pMotionOnBeforeEnter",onEnter:"pMotionOnEnter",onAfterEnter:"pMotionOnAfterEnter",onEnterCancelled:"pMotionOnEnterCancelled",onBeforeLeave:"pMotionOnBeforeLeave",onLeave:"pMotionOnLeave",onAfterLeave:"pMotionOnAfterLeave",onLeaveCancelled:"pMotionOnLeaveCancelled"},features:[ne([Zm,{provide:XT,useExisting:t},{provide:Te,useExisting:t}]),A]})}return t})(),Mo=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[fl]})}return t})();var me=class t{static isArray(i,e=!0){return Array.isArray(i)&&(e||i.length!==0)}static isObject(i,e=!0){return typeof i=="object"&&!Array.isArray(i)&&i!=null&&(e||Object.keys(i).length!==0)}static equals(i,e,n){return n?this.resolveFieldData(i,n)===this.resolveFieldData(e,n):this.equalsByValue(i,e)}static equalsByValue(i,e){if(i===e)return!0;if(i&&e&&typeof i=="object"&&typeof e=="object"){var n=Array.isArray(i),o=Array.isArray(e),r,a,s;if(n&&o){if(a=i.length,a!=e.length)return!1;for(r=a;r--!==0;)if(!this.equalsByValue(i[r],e[r]))return!1;return!0}if(n!=o)return!1;var l=this.isDate(i),c=this.isDate(e);if(l!=c)return!1;if(l&&c)return i.getTime()==e.getTime();var u=i instanceof RegExp,h=e instanceof RegExp;if(u!=h)return!1;if(u&&h)return i.toString()==e.toString();var g=Object.keys(i);if(a=g.length,a!==Object.keys(e).length)return!1;for(r=a;r--!==0;)if(!Object.prototype.hasOwnProperty.call(e,g[r]))return!1;for(r=a;r--!==0;)if(s=g[r],!this.equalsByValue(i[s],e[s]))return!1;return!0}return i!==i&&e!==e}static resolveFieldData(i,e){if(i&&e){if(this.isFunction(e))return e(i);if(e.indexOf(".")==-1)return i[e];{let n=e.split("."),o=i;for(let r=0,a=n.length;r=i.length&&(n%=i.length,e%=i.length),i.splice(n,0,i.splice(e,1)[0]))}static insertIntoOrderedArray(i,e,n,o){if(n.length>0){let r=!1;for(let a=0;ae){n.splice(a,0,i),r=!0;break}r||n.push(i)}else n.push(i)}static findIndexInList(i,e){let n=-1;if(e){for(let o=0;oe?1:0,r}static sort(i,e,n=1,o,r=1){let a=t.compare(i,e,o,n),s=n;return(t.isEmpty(i)||t.isEmpty(e))&&(s=r===1?n:r),s*a}static merge(i,e){if(!(i==null&&e==null)){{if((i==null||typeof i=="object")&&(e==null||typeof e=="object"))return T(T({},i||{}),e||{});if((i==null||typeof i=="string")&&(e==null||typeof e=="string"))return[i||"",e||""].join(" ")}return e||i}}static isPrintableCharacter(i=""){return this.isNotEmpty(i)&&i.length===1&&i.match(/\S| /)}static getItemValue(i,...e){return this.isFunction(i)?i(...e):i}static findLastIndex(i,e){let n=-1;if(this.isNotEmpty(i))try{n=i.findLastIndex(e)}catch(o){n=i.lastIndexOf([...i].reverse().find(e))}return n}static findLast(i,e){let n;if(this.isNotEmpty(i))try{n=i.findLast(e)}catch(o){n=[...i].reverse().find(e)}return n}static deepEquals(i,e){if(i===e)return!0;if(i&&e&&typeof i=="object"&&typeof e=="object"){var n=Array.isArray(i),o=Array.isArray(e),r,a,s;if(n&&o){if(a=i.length,a!=e.length)return!1;for(r=a;r--!==0;)if(!this.deepEquals(i[r],e[r]))return!1;return!0}if(n!=o)return!1;var l=i instanceof Date,c=e instanceof Date;if(l!=c)return!1;if(l&&c)return i.getTime()==e.getTime();var u=i instanceof RegExp,h=e instanceof RegExp;if(u!=h)return!1;if(u&&h)return i.toString()==e.toString();var g=Object.keys(i);if(a=g.length,a!==Object.keys(e).length)return!1;for(r=a;r--!==0;)if(!Object.prototype.hasOwnProperty.call(e,g[r]))return!1;for(r=a;r--!==0;)if(s=g[r],!this.deepEquals(i[s],e[s]))return!1;return!0}return i!==i&&e!==e}static minifyCSS(i){return i&&i.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g,"").replace(/ {2,}/g," ").replace(/ ([{:}]) /g,"$1").replace(/([;,]) /g,"$1").replace(/ !/g,"!").replace(/: /g,":")}static toFlatCase(i){return this.isString(i)?i.replace(/(-|_)/g,"").toLowerCase():i}static isString(i,e=!0){return typeof i=="string"&&(e||i!=="")}},eD=0;function tD(t="pn_id_"){return eD++,`${t}${eD}`}function d9(){let t=[],i=(r,a)=>{let s=t.length>0?t[t.length-1]:{key:r,value:a},l=s.value+(s.key===r?0:a)+2;return t.push({key:r,value:l}),l},e=r=>{t=t.filter(a=>a.value!==r)},n=()=>t.length>0?t[t.length-1].value:0,o=r=>r&&parseInt(r.style.zIndex,10)||0;return{get:o,set:(r,a,s)=>{a&&(a.style.zIndex=String(i(r,s)))},clear:r=>{r&&(e(o(r)),r.style.zIndex="")},getCurrent:()=>n(),generateZIndex:i,revertZIndex:e}}var It=d9();var nD=` + .p-datepicker { + display: inline-flex; + max-width: 100%; + } + + .p-datepicker:has(.p-datepicker-dropdown) .p-datepicker-input { + border-start-end-radius: 0; + border-end-end-radius: 0; + } + + .p-datepicker-input { + flex: 1 1 auto; + width: 1%; + } + + .p-datepicker-dropdown { + cursor: pointer; + display: inline-flex; + user-select: none; + align-items: center; + justify-content: center; + overflow: hidden; + position: relative; + width: dt('datepicker.dropdown.width'); + border-start-end-radius: dt('datepicker.dropdown.border.radius'); + border-end-end-radius: dt('datepicker.dropdown.border.radius'); + background: dt('datepicker.dropdown.background'); + border: 1px solid dt('datepicker.dropdown.border.color'); + border-inline-start: 0 none; + color: dt('datepicker.dropdown.color'); + transition: + background dt('datepicker.transition.duration'), + color dt('datepicker.transition.duration'), + border-color dt('datepicker.transition.duration'), + outline-color dt('datepicker.transition.duration'); + outline-color: transparent; + } + + .p-datepicker-dropdown:not(:disabled):hover { + background: dt('datepicker.dropdown.hover.background'); + border-color: dt('datepicker.dropdown.hover.border.color'); + color: dt('datepicker.dropdown.hover.color'); + } + + .p-datepicker-dropdown:not(:disabled):active { + background: dt('datepicker.dropdown.active.background'); + border-color: dt('datepicker.dropdown.active.border.color'); + color: dt('datepicker.dropdown.active.color'); + } + + .p-datepicker-dropdown:focus-visible { + box-shadow: dt('datepicker.dropdown.focus.ring.shadow'); + outline: dt('datepicker.dropdown.focus.ring.width') dt('datepicker.dropdown.focus.ring.style') dt('datepicker.dropdown.focus.ring.color'); + outline-offset: dt('datepicker.dropdown.focus.ring.offset'); + } + + .p-datepicker:has(.p-datepicker-input-icon-container) { + position: relative; + } + + .p-datepicker:has(.p-datepicker-input-icon-container) .p-datepicker-input { + padding-inline-end: calc((dt('form.field.padding.x') * 2) + dt('icon.size')); + } + + .p-datepicker-input-icon-container { + cursor: pointer; + position: absolute; + top: 50%; + inset-inline-end: dt('form.field.padding.x'); + margin-block-start: calc(-1 * (dt('icon.size') / 2)); + color: dt('datepicker.input.icon.color'); + line-height: 1; + z-index: 1; + } + + .p-datepicker:has(.p-datepicker-input:disabled) .p-datepicker-input-icon-container { + cursor: default; + } + + .p-datepicker-fluid { + display: flex; + } + + .p-datepicker .p-datepicker-panel { + min-width: 100%; + } + + .p-datepicker-panel { + width: auto; + padding: dt('datepicker.panel.padding'); + background: dt('datepicker.panel.background'); + color: dt('datepicker.panel.color'); + border: 1px solid dt('datepicker.panel.border.color'); + border-radius: dt('datepicker.panel.border.radius'); + box-shadow: dt('datepicker.panel.shadow'); + } + + .p-datepicker-panel-inline { + display: inline-block; + overflow-x: auto; + box-shadow: none; + } + + .p-datepicker-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: dt('datepicker.header.padding'); + background: dt('datepicker.header.background'); + color: dt('datepicker.header.color'); + border-block-end: 1px solid dt('datepicker.header.border.color'); + } + + .p-datepicker-next-button:dir(rtl) { + order: -1; + } + + .p-datepicker-prev-button:dir(rtl) { + order: 1; + } + + .p-datepicker-title { + display: flex; + align-items: center; + justify-content: space-between; + gap: dt('datepicker.title.gap'); + font-weight: dt('datepicker.title.font.weight'); + } + + .p-datepicker-select-year, + .p-datepicker-select-month { + border: none; + background: transparent; + margin: 0; + cursor: pointer; + font-weight: inherit; + transition: + background dt('datepicker.transition.duration'), + color dt('datepicker.transition.duration'), + border-color dt('datepicker.transition.duration'), + outline-color dt('datepicker.transition.duration'), + box-shadow dt('datepicker.transition.duration'); + } + + .p-datepicker-select-month { + padding: dt('datepicker.select.month.padding'); + color: dt('datepicker.select.month.color'); + border-radius: dt('datepicker.select.month.border.radius'); + } + + .p-datepicker-select-year { + padding: dt('datepicker.select.year.padding'); + color: dt('datepicker.select.year.color'); + border-radius: dt('datepicker.select.year.border.radius'); + } + + .p-datepicker-select-month:enabled:hover { + background: dt('datepicker.select.month.hover.background'); + color: dt('datepicker.select.month.hover.color'); + } + + .p-datepicker-select-year:enabled:hover { + background: dt('datepicker.select.year.hover.background'); + color: dt('datepicker.select.year.hover.color'); + } + + .p-datepicker-select-month:focus-visible, + .p-datepicker-select-year:focus-visible { + box-shadow: dt('datepicker.date.focus.ring.shadow'); + outline: dt('datepicker.date.focus.ring.width') dt('datepicker.date.focus.ring.style') dt('datepicker.date.focus.ring.color'); + outline-offset: dt('datepicker.date.focus.ring.offset'); + } + + .p-datepicker-calendar-container { + display: flex; + } + + .p-datepicker-calendar-container .p-datepicker-calendar { + flex: 1 1 auto; + border-inline-start: 1px solid dt('datepicker.group.border.color'); + padding-inline-end: dt('datepicker.group.gap'); + padding-inline-start: dt('datepicker.group.gap'); + } + + .p-datepicker-calendar-container .p-datepicker-calendar:first-child { + padding-inline-start: 0; + border-inline-start: 0 none; + } + + .p-datepicker-calendar-container .p-datepicker-calendar:last-child { + padding-inline-end: 0; + } + + .p-datepicker-day-view { + width: 100%; + border-collapse: collapse; + font-size: 1rem; + margin: dt('datepicker.day.view.margin'); + } + + .p-datepicker-weekday-cell { + padding: dt('datepicker.week.day.padding'); + } + + .p-datepicker-weekday { + font-weight: dt('datepicker.week.day.font.weight'); + color: dt('datepicker.week.day.color'); + } + + .p-datepicker-day-cell { + padding: dt('datepicker.date.padding'); + } + + .p-datepicker-day { + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + margin: 0 auto; + overflow: hidden; + position: relative; + width: dt('datepicker.date.width'); + height: dt('datepicker.date.height'); + border-radius: dt('datepicker.date.border.radius'); + transition: + background dt('datepicker.transition.duration'), + color dt('datepicker.transition.duration'), + border-color dt('datepicker.transition.duration'), + box-shadow dt('datepicker.transition.duration'), + outline-color dt('datepicker.transition.duration'); + border: 1px solid transparent; + outline-color: transparent; + color: dt('datepicker.date.color'); + } + + .p-datepicker-day:not(.p-datepicker-day-selected):not(.p-disabled):hover { + background: dt('datepicker.date.hover.background'); + color: dt('datepicker.date.hover.color'); + } + + .p-datepicker-day:focus-visible { + box-shadow: dt('datepicker.date.focus.ring.shadow'); + outline: dt('datepicker.date.focus.ring.width') dt('datepicker.date.focus.ring.style') dt('datepicker.date.focus.ring.color'); + outline-offset: dt('datepicker.date.focus.ring.offset'); + } + + .p-datepicker-day-selected { + background: dt('datepicker.date.selected.background'); + color: dt('datepicker.date.selected.color'); + } + + .p-datepicker-day-selected-range { + background: dt('datepicker.date.range.selected.background'); + color: dt('datepicker.date.range.selected.color'); + } + + .p-datepicker-today > .p-datepicker-day { + background: dt('datepicker.today.background'); + color: dt('datepicker.today.color'); + } + + .p-datepicker-today > .p-datepicker-day-selected { + background: dt('datepicker.date.selected.background'); + color: dt('datepicker.date.selected.color'); + } + + .p-datepicker-today > .p-datepicker-day-selected-range { + background: dt('datepicker.date.range.selected.background'); + color: dt('datepicker.date.range.selected.color'); + } + + .p-datepicker-weeknumber { + text-align: center; + } + + .p-datepicker-month-view { + margin: dt('datepicker.month.view.margin'); + } + + .p-datepicker-month { + width: 33.3%; + display: inline-flex; + align-items: center; + justify-content: center; + cursor: pointer; + overflow: hidden; + position: relative; + padding: dt('datepicker.month.padding'); + transition: + background dt('datepicker.transition.duration'), + color dt('datepicker.transition.duration'), + border-color dt('datepicker.transition.duration'), + box-shadow dt('datepicker.transition.duration'), + outline-color dt('datepicker.transition.duration'); + border-radius: dt('datepicker.month.border.radius'); + outline-color: transparent; + color: dt('datepicker.date.color'); + } + + .p-datepicker-month:not(.p-disabled):not(.p-datepicker-month-selected):hover { + color: dt('datepicker.date.hover.color'); + background: dt('datepicker.date.hover.background'); + } + + .p-datepicker-month-selected { + color: dt('datepicker.date.selected.color'); + background: dt('datepicker.date.selected.background'); + } + + .p-datepicker-month:not(.p-disabled):focus-visible { + box-shadow: dt('datepicker.date.focus.ring.shadow'); + outline: dt('datepicker.date.focus.ring.width') dt('datepicker.date.focus.ring.style') dt('datepicker.date.focus.ring.color'); + outline-offset: dt('datepicker.date.focus.ring.offset'); + } + + .p-datepicker-year-view { + margin: dt('datepicker.year.view.margin'); + } + + .p-datepicker-year { + width: 50%; + display: inline-flex; + align-items: center; + justify-content: center; + cursor: pointer; + overflow: hidden; + position: relative; + padding: dt('datepicker.year.padding'); + transition: + background dt('datepicker.transition.duration'), + color dt('datepicker.transition.duration'), + border-color dt('datepicker.transition.duration'), + box-shadow dt('datepicker.transition.duration'), + outline-color dt('datepicker.transition.duration'); + border-radius: dt('datepicker.year.border.radius'); + outline-color: transparent; + color: dt('datepicker.date.color'); + } + + .p-datepicker-year:not(.p-disabled):not(.p-datepicker-year-selected):hover { + color: dt('datepicker.date.hover.color'); + background: dt('datepicker.date.hover.background'); + } + + .p-datepicker-year-selected { + color: dt('datepicker.date.selected.color'); + background: dt('datepicker.date.selected.background'); + } + + .p-datepicker-year:not(.p-disabled):focus-visible { + box-shadow: dt('datepicker.date.focus.ring.shadow'); + outline: dt('datepicker.date.focus.ring.width') dt('datepicker.date.focus.ring.style') dt('datepicker.date.focus.ring.color'); + outline-offset: dt('datepicker.date.focus.ring.offset'); + } + + .p-datepicker-buttonbar { + display: flex; + justify-content: space-between; + align-items: center; + padding: dt('datepicker.buttonbar.padding'); + border-block-start: 1px solid dt('datepicker.buttonbar.border.color'); + } + + .p-datepicker-buttonbar .p-button { + width: auto; + } + + .p-datepicker-time-picker { + display: flex; + justify-content: center; + align-items: center; + border-block-start: 1px solid dt('datepicker.time.picker.border.color'); + padding: 0; + gap: dt('datepicker.time.picker.gap'); + } + + .p-datepicker-calendar-container + .p-datepicker-time-picker { + padding: dt('datepicker.time.picker.padding'); + } + + .p-datepicker-time-picker > div { + display: flex; + align-items: center; + flex-direction: column; + gap: dt('datepicker.time.picker.button.gap'); + } + + .p-datepicker-time-picker span { + font-size: 1rem; + } + + .p-datepicker-timeonly .p-datepicker-time-picker { + border-block-start: 0 none; + } + + .p-datepicker-time-picker:dir(rtl) { + flex-direction: row-reverse; + } + + .p-datepicker:has(.p-inputtext-sm) .p-datepicker-dropdown { + width: dt('datepicker.dropdown.sm.width'); + } + + .p-datepicker:has(.p-inputtext-sm) .p-datepicker-dropdown .p-icon, + .p-datepicker:has(.p-inputtext-sm) .p-datepicker-input-icon { + font-size: dt('form.field.sm.font.size'); + width: dt('form.field.sm.font.size'); + height: dt('form.field.sm.font.size'); + } + + .p-datepicker:has(.p-inputtext-lg) .p-datepicker-dropdown { + width: dt('datepicker.dropdown.lg.width'); + } + + .p-datepicker:has(.p-inputtext-lg) .p-datepicker-dropdown .p-icon, + .p-datepicker:has(.p-inputtext-lg) .p-datepicker-input-icon { + font-size: dt('form.field.lg.font.size'); + width: dt('form.field.lg.font.size'); + height: dt('form.field.lg.font.size'); + } + + .p-datepicker-clear-icon { + position: absolute; + top: 50%; + margin-top: -0.5rem; + cursor: pointer; + color: dt('form.field.icon.color'); + inset-inline-end: dt('form.field.padding.x'); + } + + .p-datepicker:has(.p-datepicker-dropdown) .p-datepicker-clear-icon { + inset-inline-end: calc(dt('datepicker.dropdown.width') + dt('form.field.padding.x')); + } + + .p-datepicker:has(.p-datepicker-input-icon-container) .p-datepicker-clear-icon { + inset-inline-end: calc((dt('form.field.padding.x') * 2) + dt('icon.size')); + } + + .p-datepicker:has(.p-datepicker-clear-icon) .p-datepicker-input { + padding-inline-end: calc((dt('form.field.padding.x') * 2) + dt('icon.size')); + } + + .p-datepicker:has(.p-datepicker-input-icon-container):has(.p-datepicker-clear-icon) .p-datepicker-input { + padding-inline-end: calc((dt('form.field.padding.x') * 3) + calc(dt('icon.size') * 2)); + } + + .p-inputgroup .p-datepicker-dropdown { + border-radius: 0; + } + + .p-inputgroup > .p-datepicker:last-child:has(.p-datepicker-dropdown) > .p-datepicker-input { + border-start-end-radius: 0; + border-end-end-radius: 0; + } + + .p-inputgroup > .p-datepicker:last-child .p-datepicker-dropdown { + border-start-end-radius: dt('datepicker.dropdown.border.radius'); + border-end-end-radius: dt('datepicker.dropdown.border.radius'); + } +`;var u9=["date"],p9=["header"],f9=["footer"],h9=["disabledDate"],g9=["decade"],m9=["previousicon"],b9=["nexticon"],y9=["triggericon"],_9=["clearicon"],v9=["decrementicon"],C9=["incrementicon"],w9=["inputicon"],x9=["buttonbar"],T9=["inputfield"],D9=["contentWrapper"],E9=[[["p-header"]],[["p-footer"]]],I9=["p-header","p-footer"],S9=t=>({clickCallBack:t}),iD=t=>({visibility:t}),Jm=t=>({$implicit:t}),k9=t=>({date:t}),M9=(t,i)=>({month:t,index:i}),R9=t=>({year:t}),O9=(t,i)=>({todayCallback:t,clearCallback:i});function A9(t,i){if(t&1){let e=$();j(),b(0,"svg",13),I("click",function(){C(e);let o=d(3);return w(o.clear())}),y()}if(t&2){let e=d(3);D(e.cx("clearIcon")),p("pBind",e.ptm("inputIcon"))}}function N9(t,i){}function F9(t,i){t&1&&_(0,N9,0,0,"ng-template")}function P9(t,i){if(t&1){let e=$();b(0,"span",14),I("click",function(){C(e);let o=d(3);return w(o.clear())}),_(1,F9,1,0,null,6),y()}if(t&2){let e=d(3);D(e.cx("clearIcon")),p("pBind",e.ptm("inputIcon")),f(),p("ngTemplateOutlet",e.clearIconTemplate||e._clearIconTemplate)}}function L9(t,i){if(t&1&&(q(0),_(1,A9,1,3,"svg",11)(2,P9,2,4,"span",12),K()),t&2){let e=d(2);f(),p("ngIf",!e.clearIconTemplate&&!e._clearIconTemplate),f(),p("ngIf",e.clearIconTemplate||e._clearIconTemplate)}}function B9(t,i){if(t&1&&W(0,"span",17),t&2){let e=d(3);p("ngClass",e.icon)("pBind",e.ptm("dropdownIcon"))}}function V9(t,i){if(t&1&&(j(),W(0,"svg",19)),t&2){let e=d(4);p("pBind",e.ptm("dropdownIcon"))}}function z9(t,i){}function j9(t,i){t&1&&_(0,z9,0,0,"ng-template")}function H9(t,i){if(t&1&&(q(0),_(1,V9,1,1,"svg",18)(2,j9,1,0,null,6),K()),t&2){let e=d(3);f(),p("ngIf",!e.triggerIconTemplate&&!e._triggerIconTemplate),f(),p("ngTemplateOutlet",e.triggerIconTemplate||e._triggerIconTemplate)}}function $9(t,i){if(t&1){let e=$();b(0,"button",15),I("click",function(o){C(e),d();let r=Ft(1),a=d();return w(a.onButtonClick(o,r))}),_(1,B9,1,2,"span",16)(2,H9,3,2,"ng-container",7),y()}if(t&2){let e=d(2);D(e.cx("dropdown")),p("disabled",e.$disabled())("pBind",e.ptm("dropdown")),N("aria-label",e.iconButtonAriaLabel)("aria-expanded",e.overlayVisible??!1)("aria-controls",e.overlayVisible?e.panelId:null),f(),p("ngIf",e.icon),f(),p("ngIf",!e.icon)}}function U9(t,i){if(t&1){let e=$();j(),b(0,"svg",23),I("click",function(o){C(e);let r=d(3);return w(r.onButtonClick(o))}),y()}if(t&2){let e=d(3);D(e.cx("inputIcon")),p("pBind",e.ptm("inputIcon"))}}function W9(t,i){t&1&&G(0)}function G9(t,i){if(t&1&&(q(0),b(1,"span",20),_(2,U9,1,3,"svg",21)(3,W9,1,0,"ng-container",22),y(),K()),t&2){let e=d(2);f(),D(e.cx("inputIconContainer")),p("pBind",e.ptm("inputIconContainer")),N("data-p",e.inputIconDataP),f(),p("ngIf",!e.inputIconTemplate&&!e._inputIconTemplate),f(),p("ngTemplateOutlet",e.inputIconTemplate||e._inputIconTemplate)("ngTemplateOutletContext",be(7,S9,e.onButtonClick.bind(e)))}}function q9(t,i){if(t&1){let e=$();b(0,"input",9,1),I("focus",function(o){C(e);let r=d();return w(r.onInputFocus(o))})("keydown",function(o){C(e);let r=d();return w(r.onInputKeydown(o))})("click",function(){C(e);let o=d();return w(o.onInputClick())})("blur",function(o){C(e);let r=d();return w(r.onInputBlur(o))})("input",function(o){C(e);let r=d();return w(r.onUserInput(o))}),y(),_(2,L9,3,2,"ng-container",7)(3,$9,3,9,"button",10)(4,G9,4,9,"ng-container",7)}if(t&2){let e=d();D(e.cn(e.cx("pcInputText"),e.inputStyleClass)),p("pSize",e.size())("value",e.inputFieldValue)("ngStyle",e.inputStyle)("pAutoFocus",e.autofocus)("variant",e.$variant())("fluid",e.hasFluid)("invalid",e.invalid())("pt",e.ptm("pcInputText"))("unstyled",e.unstyled()),N("size",e.inputSize())("id",e.inputId)("name",e.name())("aria-required",e.required())("aria-expanded",e.overlayVisible??!1)("aria-controls",e.overlayVisible?e.panelId:null)("aria-labelledby",e.ariaLabelledBy)("aria-label",e.ariaLabel)("required",e.required()?"":void 0)("readonly",e.readonlyInput?"":void 0)("disabled",e.$disabled()?"":void 0)("placeholder",e.placeholder)("tabindex",e.tabindex)("inputmode",e.touchUI?"off":null),f(2),p("ngIf",e.showClear&&!e.$disabled()&&(e.inputfieldViewChild==null||e.inputfieldViewChild.nativeElement==null?null:e.inputfieldViewChild.nativeElement.value)),f(),p("ngIf",e.showIcon&&e.iconDisplay==="button"),f(),p("ngIf",e.iconDisplay==="input"&&e.showIcon)}}function K9(t,i){t&1&&G(0)}function Y9(t,i){t&1&&(j(),W(0,"svg",30))}function Q9(t,i){}function Z9(t,i){t&1&&_(0,Q9,0,0,"ng-template")}function X9(t,i){if(t&1&&(b(0,"span"),_(1,Z9,1,0,null,6),y()),t&2){let e=d(4);f(),p("ngTemplateOutlet",e.previousIconTemplate||e._previousIconTemplate)}}function J9(t,i){if(t&1&&_(0,Y9,1,0,"svg",29)(1,X9,2,1,"span",7),t&2){let e=d(3);p("ngIf",!e.previousIconTemplate&&!e._previousIconTemplate),f(),p("ngIf",e.previousIconTemplate||e._previousIconTemplate)}}function ez(t,i){if(t&1){let e=$();b(0,"button",31),I("click",function(o){C(e);let r=d(3);return w(r.switchToMonthView(o))})("keydown",function(o){C(e);let r=d(3);return w(r.onContainerButtonKeydown(o))}),L(1),y()}if(t&2){let e=d().$implicit,n=d(2);D(n.cx("selectMonth")),p("pBind",n.ptm("selectMonth")),N("disabled",n.switchViewButtonDisabled()?"":void 0)("aria-label",n.getTranslation("chooseMonth"))("data-pc-group-section","navigator"),f(),ct(" ",n.getMonthName(e.month)," ")}}function tz(t,i){if(t&1){let e=$();b(0,"button",31),I("click",function(o){C(e);let r=d(3);return w(r.switchToYearView(o))})("keydown",function(o){C(e);let r=d(3);return w(r.onContainerButtonKeydown(o))}),L(1),y()}if(t&2){let e=d().$implicit,n=d(2);D(n.cx("selectYear")),p("pBind",n.ptm("selectYear")),N("disabled",n.switchViewButtonDisabled()?"":void 0)("aria-label",n.getTranslation("chooseYear"))("data-pc-group-section","navigator"),f(),ct(" ",n.getYear(e)," ")}}function nz(t,i){if(t&1&&(q(0),L(1),K()),t&2){let e=d(4);f(),ho("",e.yearPickerValues()[0]," - ",e.yearPickerValues()[e.yearPickerValues().length-1])}}function iz(t,i){t&1&&G(0)}function oz(t,i){if(t&1&&(b(0,"span",20),_(1,nz,2,2,"ng-container",7)(2,iz,1,0,"ng-container",22),y()),t&2){let e=d(3);D(e.cx("decade")),p("pBind",e.ptm("decade")),f(),p("ngIf",!e.decadeTemplate&&!e._decadeTemplate),f(),p("ngTemplateOutlet",e.decadeTemplate||e._decadeTemplate)("ngTemplateOutletContext",be(6,Jm,e.yearPickerValues))}}function rz(t,i){t&1&&(j(),W(0,"svg",33))}function az(t,i){}function sz(t,i){t&1&&_(0,az,0,0,"ng-template")}function lz(t,i){if(t&1&&(q(0),_(1,sz,1,0,null,6),K()),t&2){let e=d(4);f(),p("ngTemplateOutlet",e.nextIconTemplate||e._nextIconTemplate)}}function cz(t,i){if(t&1&&_(0,rz,1,0,"svg",32)(1,lz,2,1,"ng-container",7),t&2){let e=d(3);p("ngIf",!e.nextIconTemplate&&!e._nextIconTemplate),f(),p("ngIf",e.nextIconTemplate||e._nextIconTemplate)}}function dz(t,i){if(t&1&&(b(0,"th",20)(1,"span",20),L(2),y()()),t&2){let e=d(4);D(e.cx("weekHeader")),p("pBind",e.ptm("weekHeader")),f(),p("pBind",e.ptm("weekHeaderLabel")),f(),de(e.getTranslation("weekHeader"))}}function uz(t,i){if(t&1&&(b(0,"th",37)(1,"span",20),L(2),y()()),t&2){let e=i.$implicit,n=d(4);D(n.cx("weekDayCell")),p("pBind",n.ptm("weekDayCell")),f(),D(n.cx("weekDay")),p("pBind",n.ptm("weekDay")),f(),de(e)}}function pz(t,i){if(t&1&&(b(0,"td",20)(1,"span",20),L(2),y()()),t&2){let e=d().index,n=d(2).$implicit,o=d(2);D(o.cx("weekNumber")),p("pBind",o.ptm("weekNumber")),f(),D(o.cx("weekLabelContainer")),p("pBind",o.ptm("weekLabelContainer")),f(),ct(" ",n.weekNumbers[e]," ")}}function fz(t,i){if(t&1&&(q(0),L(1),K()),t&2){let e=d(2).$implicit;f(),de(e.day)}}function hz(t,i){t&1&&G(0)}function gz(t,i){if(t&1&&(q(0),_(1,hz,1,0,"ng-container",22),K()),t&2){let e=d(2).$implicit,n=d(5);f(),p("ngTemplateOutlet",n.dateTemplate||n._dateTemplate)("ngTemplateOutletContext",be(2,Jm,e))}}function mz(t,i){t&1&&G(0)}function bz(t,i){if(t&1&&(q(0),_(1,mz,1,0,"ng-container",22),K()),t&2){let e=d(2).$implicit,n=d(5);f(),p("ngTemplateOutlet",n.disabledDateTemplate||n._disabledDateTemplate)("ngTemplateOutletContext",be(2,Jm,e))}}function yz(t,i){if(t&1&&(b(0,"div",40),L(1),y()),t&2){let e=d(2).$implicit;f(),ct(" ",e.day," ")}}function _z(t,i){if(t&1){let e=$();q(0),b(1,"span",38),I("click",function(o){C(e);let r=d().$implicit,a=d(5);return w(a.onDateSelect(o,r))})("keydown",function(o){C(e);let r=d().$implicit,a=d(3).index,s=d(2);return w(s.onDateCellKeydown(o,r,a))}),_(2,fz,2,1,"ng-container",7)(3,gz,2,4,"ng-container",7)(4,bz,2,4,"ng-container",7),y(),_(5,yz,2,1,"div",39),K()}if(t&2){let e=d().$implicit,n=d(5);f(),p("ngClass",n.dayClass(e))("pBind",n.ptm("day")),N("data-date",n.formatDateKey(n.formatDateMetaToDate(e))),f(),p("ngIf",!n.dateTemplate&&!n._dateTemplate&&(e.selectable||!n.disabledDateTemplate&&!n._disabledDateTemplate)),f(),p("ngIf",e.selectable||!n.disabledDateTemplate&&!n._disabledDateTemplate),f(),p("ngIf",!e.selectable),f(),p("ngIf",n.isSelected(e))}}function vz(t,i){if(t&1&&(b(0,"td",20),_(1,_z,6,7,"ng-container",7),y()),t&2){let e=i.$implicit,n=d(5);D(n.cx("dayCell",be(5,k9,e))),p("pBind",n.ptm("dayCell")),N("aria-label",e.day),f(),p("ngIf",e.otherMonth?n.showOtherMonths:!0)}}function Cz(t,i){if(t&1&&(b(0,"tr",20),_(1,pz,3,7,"td",8)(2,vz,2,7,"td",24),y()),t&2){let e=i.$implicit,n=d(4);p("pBind",n.ptm("tableBodyRow")),f(),p("ngIf",n.showWeek),f(),p("ngForOf",e)}}function wz(t,i){if(t&1&&(b(0,"table",34)(1,"thead",20)(2,"tr",20),_(3,dz,3,5,"th",8)(4,uz,3,7,"th",35),y()(),b(5,"tbody",20),_(6,Cz,3,3,"tr",36),y()()),t&2){let e=d().$implicit,n=d(2);D(n.cx("dayView")),p("pBind",n.ptm("table")),f(),p("pBind",n.ptm("tableHeader")),f(),p("pBind",n.ptm("tableHeaderRow")),f(),p("ngIf",n.showWeek),f(),p("ngForOf",n.weekDays),f(),p("pBind",n.ptm("tableBody")),f(),p("ngForOf",e.dates)}}function xz(t,i){if(t&1){let e=$();b(0,"div",20)(1,"div",20)(2,"p-button",25),I("keydown",function(o){C(e);let r=d(2);return w(r.onContainerButtonKeydown(o))})("onClick",function(o){C(e);let r=d(2);return w(r.onPrevButtonClick(o))}),_(3,J9,2,2,"ng-template",null,2,Ie),y(),b(5,"div",20),_(6,ez,2,7,"button",26)(7,tz,2,7,"button",26)(8,oz,3,8,"span",8),y(),b(9,"p-button",27),I("keydown",function(o){C(e);let r=d(2);return w(r.onContainerButtonKeydown(o))})("onClick",function(o){C(e);let r=d(2);return w(r.onNextButtonClick(o))}),_(10,cz,2,2,"ng-template",null,2,Ie),y()(),_(12,wz,7,9,"table",28),y()}if(t&2){let e=i.index,n=d(2);D(n.cx("calendar")),p("pBind",n.ptm("calendar")),f(),D(n.cx("header")),p("pBind",n.ptm("header")),f(),p("styleClass",n.cx("pcPrevButton"))("ngStyle",be(23,iD,e===0?"visible":"hidden"))("ariaLabel",n.prevIconAriaLabel)("pt",n.ptm("pcPrevButton")),N("data-pc-group-section","navigator"),f(3),D(n.cx("title")),p("pBind",n.ptm("title")),f(),p("ngIf",n.currentView==="date"),f(),p("ngIf",n.currentView!=="year"),f(),p("ngIf",n.currentView==="year"),f(),p("styleClass",n.cx("pcNextButton"))("ngStyle",be(25,iD,e===n.months.length-1?"visible":"hidden"))("ariaLabel",n.nextIconAriaLabel)("pt",n.ptm("pcNextButton")),N("data-pc-group-section","navigator"),f(3),p("ngIf",n.currentView==="date")}}function Tz(t,i){if(t&1&&(b(0,"div",40),L(1),y()),t&2){let e=d().$implicit;f(),ct(" ",e," ")}}function Dz(t,i){if(t&1){let e=$();b(0,"span",42),I("click",function(o){let r=C(e).index,a=d(3);return w(a.onMonthSelect(o,r))})("keydown",function(o){let r=C(e).index,a=d(3);return w(a.onMonthCellKeydown(o,r))}),L(1),_(2,Tz,2,1,"div",39),y()}if(t&2){let e=i.$implicit,n=i.index,o=d(3);D(o.cx("month",bt(5,M9,e,n))),p("pBind",o.ptm("month")),f(),ct(" ",e," "),f(),p("ngIf",o.isMonthSelected(n))}}function Ez(t,i){if(t&1&&(b(0,"div",20),_(1,Dz,3,8,"span",41),y()),t&2){let e=d(2);D(e.cx("monthView")),p("pBind",e.ptm("monthView")),f(),p("ngForOf",e.monthPickerValues())}}function Iz(t,i){if(t&1&&(b(0,"div",40),L(1),y()),t&2){let e=d().$implicit;f(),ct(" ",e," ")}}function Sz(t,i){if(t&1){let e=$();b(0,"span",42),I("click",function(o){let r=C(e).$implicit,a=d(3);return w(a.onYearSelect(o,r))})("keydown",function(o){let r=C(e).$implicit,a=d(3);return w(a.onYearCellKeydown(o,r))}),L(1),_(2,Iz,2,1,"div",39),y()}if(t&2){let e=i.$implicit,n=d(3);D(n.cx("year",be(5,R9,e))),p("pBind",n.ptm("year")),f(),ct(" ",e," "),f(),p("ngIf",n.isYearSelected(e))}}function kz(t,i){if(t&1&&(b(0,"div",20),_(1,Sz,3,7,"span",41),y()),t&2){let e=d(2);D(e.cx("yearView")),p("pBind",e.ptm("yearView")),f(),p("ngForOf",e.yearPickerValues())}}function Mz(t,i){if(t&1&&(q(0),b(1,"div",20),_(2,xz,13,27,"div",24),y(),_(3,Ez,2,4,"div",8)(4,kz,2,4,"div",8),K()),t&2){let e=d();f(),D(e.cx("calendarContainer")),p("pBind",e.ptm("calendarContainer")),f(),p("ngForOf",e.months),f(),p("ngIf",e.currentView==="month"),f(),p("ngIf",e.currentView==="year")}}function Rz(t,i){if(t&1&&(j(),W(0,"svg",46)),t&2){let e=d(3);p("pBind",e.ptm("pcIncrementButton").icon)}}function Oz(t,i){}function Az(t,i){t&1&&_(0,Oz,0,0,"ng-template")}function Nz(t,i){if(t&1&&_(0,Rz,1,1,"svg",45)(1,Az,1,0,null,6),t&2){let e=d(2);p("ngIf",!e.incrementIconTemplate&&!e._incrementIconTemplate),f(),p("ngTemplateOutlet",e.incrementIconTemplate||e._incrementIconTemplate)}}function Fz(t,i){t&1&&(q(0),L(1,"0"),K())}function Pz(t,i){if(t&1&&(j(),W(0,"svg",48)),t&2){let e=d(3);p("pBind",e.ptm("pcDecrementButton").icon)}}function Lz(t,i){}function Bz(t,i){t&1&&_(0,Lz,0,0,"ng-template")}function Vz(t,i){if(t&1&&_(0,Pz,1,1,"svg",47)(1,Bz,1,0,null,6),t&2){let e=d(2);p("ngIf",!e.decrementIconTemplate&&!e._decrementIconTemplate),f(),p("ngTemplateOutlet",e.decrementIconTemplate||e._decrementIconTemplate)}}function zz(t,i){if(t&1&&(j(),W(0,"svg",46)),t&2){let e=d(3);p("pBind",e.ptm("pcIncrementButton").icon)}}function jz(t,i){}function Hz(t,i){t&1&&_(0,jz,0,0,"ng-template")}function $z(t,i){if(t&1&&_(0,zz,1,1,"svg",45)(1,Hz,1,0,null,6),t&2){let e=d(2);p("ngIf",!e.incrementIconTemplate&&!e._incrementIconTemplate),f(),p("ngTemplateOutlet",e.incrementIconTemplate||e._incrementIconTemplate)}}function Uz(t,i){t&1&&(q(0),L(1,"0"),K())}function Wz(t,i){if(t&1&&(j(),W(0,"svg",48)),t&2){let e=d(3);p("pBind",e.ptm("pcDecrementButton").icon)}}function Gz(t,i){}function qz(t,i){t&1&&_(0,Gz,0,0,"ng-template")}function Kz(t,i){if(t&1&&_(0,Wz,1,1,"svg",47)(1,qz,1,0,null,6),t&2){let e=d(2);p("ngIf",!e.decrementIconTemplate&&!e._decrementIconTemplate),f(),p("ngTemplateOutlet",e.decrementIconTemplate||e._decrementIconTemplate)}}function Yz(t,i){if(t&1&&(b(0,"div",20)(1,"span",20),L(2),y()()),t&2){let e=d(2);D(e.cx("separator")),p("pBind",e.ptm("separatorContainer")),f(),p("pBind",e.ptm("separator")),f(),de(e.timeSeparator)}}function Qz(t,i){if(t&1&&(j(),W(0,"svg",46)),t&2){let e=d(4);p("pBind",e.ptm("pcIncrementButton").icon)}}function Zz(t,i){}function Xz(t,i){t&1&&_(0,Zz,0,0,"ng-template")}function Jz(t,i){if(t&1&&_(0,Qz,1,1,"svg",45)(1,Xz,1,0,null,6),t&2){let e=d(3);p("ngIf",!e.incrementIconTemplate&&!e._incrementIconTemplate),f(),p("ngTemplateOutlet",e.incrementIconTemplate||e._incrementIconTemplate)}}function ej(t,i){t&1&&(q(0),L(1,"0"),K())}function tj(t,i){if(t&1&&(j(),W(0,"svg",48)),t&2){let e=d(4);p("pBind",e.ptm("pcDecrementButton").icon)}}function nj(t,i){}function ij(t,i){t&1&&_(0,nj,0,0,"ng-template")}function oj(t,i){if(t&1&&_(0,tj,1,1,"svg",47)(1,ij,1,0,null,6),t&2){let e=d(3);p("ngIf",!e.decrementIconTemplate&&!e._decrementIconTemplate),f(),p("ngTemplateOutlet",e.decrementIconTemplate||e._decrementIconTemplate)}}function rj(t,i){if(t&1){let e=$();b(0,"div",20)(1,"p-button",43),I("keydown",function(o){C(e);let r=d(2);return w(r.onContainerButtonKeydown(o))})("keydown.enter",function(o){C(e);let r=d(2);return w(r.incrementSecond(o))})("keydown.space",function(o){C(e);let r=d(2);return w(r.incrementSecond(o))})("mousedown",function(o){C(e);let r=d(2);return w(r.onTimePickerElementMouseDown(o,2,1))})("mouseup",function(o){C(e);let r=d(2);return w(r.onTimePickerElementMouseUp(o))})("keyup.enter",function(o){C(e);let r=d(2);return w(r.onTimePickerElementMouseUp(o))})("keyup.space",function(o){C(e);let r=d(2);return w(r.onTimePickerElementMouseUp(o))})("mouseleave",function(){C(e);let o=d(2);return w(o.onTimePickerElementMouseLeave())}),_(2,Jz,2,2,"ng-template",null,2,Ie),y(),b(4,"span",20),_(5,ej,2,0,"ng-container",7),L(6),y(),b(7,"p-button",43),I("keydown",function(o){C(e);let r=d(2);return w(r.onContainerButtonKeydown(o))})("keydown.enter",function(o){C(e);let r=d(2);return w(r.decrementSecond(o))})("keydown.space",function(o){C(e);let r=d(2);return w(r.decrementSecond(o))})("mousedown",function(o){C(e);let r=d(2);return w(r.onTimePickerElementMouseDown(o,2,-1))})("mouseup",function(o){C(e);let r=d(2);return w(r.onTimePickerElementMouseUp(o))})("keyup.enter",function(o){C(e);let r=d(2);return w(r.onTimePickerElementMouseUp(o))})("keyup.space",function(o){C(e);let r=d(2);return w(r.onTimePickerElementMouseUp(o))})("mouseleave",function(){C(e);let o=d(2);return w(o.onTimePickerElementMouseLeave())}),_(8,oj,2,2,"ng-template",null,2,Ie),y()()}if(t&2){let e=d(2);D(e.cx("secondPicker")),p("pBind",e.ptm("secondPicker")),f(),p("styleClass",e.cx("pcIncrementButton"))("pt",e.ptm("pcIncrementButton")),N("aria-label",e.getTranslation("nextSecond"))("data-pc-group-section","timepickerbutton"),f(3),p("pBind",e.ptm("second")),f(),p("ngIf",e.currentSecond<10),f(),de(e.currentSecond),f(),p("styleClass",e.cx("pcDecrementButton"))("pt",e.ptm("pcDecrementButton")),N("aria-label",e.getTranslation("prevSecond"))("data-pc-group-section","timepickerbutton")}}function aj(t,i){if(t&1&&(b(0,"div",20)(1,"span",20),L(2),y()()),t&2){let e=d(2);D(e.cx("separator")),p("pBind",e.ptm("separatorContainer")),f(),p("pBind",e.ptm("separator")),f(),de(e.timeSeparator)}}function sj(t,i){if(t&1&&(j(),W(0,"svg",46)),t&2){let e=d(4);p("pBind",e.ptm("pcIncrementButton").icon)}}function lj(t,i){}function cj(t,i){t&1&&_(0,lj,0,0,"ng-template")}function dj(t,i){if(t&1&&_(0,sj,1,1,"svg",45)(1,cj,1,0,null,6),t&2){let e=d(3);p("ngIf",!e.incrementIconTemplate&&!e._incrementIconTemplate),f(),p("ngTemplateOutlet",e.incrementIconTemplate||e._incrementIconTemplate)}}function uj(t,i){if(t&1&&(j(),W(0,"svg",48)),t&2){let e=d(4);p("pBind",e.ptm("pcDecrementButton").icon)}}function pj(t,i){}function fj(t,i){t&1&&_(0,pj,0,0,"ng-template")}function hj(t,i){if(t&1&&_(0,uj,1,1,"svg",47)(1,fj,1,0,null,6),t&2){let e=d(3);p("ngIf",!e.decrementIconTemplate&&!e._decrementIconTemplate),f(),p("ngTemplateOutlet",e.decrementIconTemplate||e._decrementIconTemplate)}}function gj(t,i){if(t&1){let e=$();b(0,"div",20)(1,"p-button",49),I("keydown",function(o){C(e);let r=d(2);return w(r.onContainerButtonKeydown(o))})("onClick",function(o){C(e);let r=d(2);return w(r.toggleAMPM(o))})("keydown.enter",function(o){C(e);let r=d(2);return w(r.toggleAMPM(o))}),_(2,dj,2,2,"ng-template",null,2,Ie),y(),b(4,"span",20),L(5),y(),b(6,"p-button",50),I("keydown",function(o){C(e);let r=d(2);return w(r.onContainerButtonKeydown(o))})("click",function(o){C(e);let r=d(2);return w(r.toggleAMPM(o))})("keydown.enter",function(o){C(e);let r=d(2);return w(r.toggleAMPM(o))}),_(7,hj,2,2,"ng-template",null,2,Ie),y()()}if(t&2){let e=d(2);D(e.cx("ampmPicker")),p("pBind",e.ptm("ampmPicker")),f(),p("styleClass",e.cx("pcIncrementButton"))("pt",e.ptm("pcIncrementButton")),N("aria-label",e.getTranslation("am"))("data-pc-group-section","timepickerbutton"),f(3),p("pBind",e.ptm("ampm")),f(),de(e.pm?"PM":"AM"),f(),p("styleClass",e.cx("pcDecrementButton"))("pt",e.ptm("pcDecrementButton")),N("aria-label",e.getTranslation("pm"))("data-pc-group-section","timepickerbutton")}}function mj(t,i){if(t&1){let e=$();b(0,"div",20)(1,"div",20)(2,"p-button",43),I("keydown",function(o){C(e);let r=d();return w(r.onContainerButtonKeydown(o))})("keydown.enter",function(o){C(e);let r=d();return w(r.incrementHour(o))})("keydown.space",function(o){C(e);let r=d();return w(r.incrementHour(o))})("mousedown",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseDown(o,0,1))})("mouseup",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("keyup.enter",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("keyup.space",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("mouseleave",function(){C(e);let o=d();return w(o.onTimePickerElementMouseLeave())}),_(3,Nz,2,2,"ng-template",null,2,Ie),y(),b(5,"span",20),_(6,Fz,2,0,"ng-container",7),L(7),y(),b(8,"p-button",43),I("keydown",function(o){C(e);let r=d();return w(r.onContainerButtonKeydown(o))})("keydown.enter",function(o){C(e);let r=d();return w(r.decrementHour(o))})("keydown.space",function(o){C(e);let r=d();return w(r.decrementHour(o))})("mousedown",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseDown(o,0,-1))})("mouseup",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("keyup.enter",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("keyup.space",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("mouseleave",function(){C(e);let o=d();return w(o.onTimePickerElementMouseLeave())}),_(9,Vz,2,2,"ng-template",null,2,Ie),y()(),b(11,"div",44)(12,"span",20),L(13),y()(),b(14,"div",20)(15,"p-button",43),I("keydown",function(o){C(e);let r=d();return w(r.onContainerButtonKeydown(o))})("keydown.enter",function(o){C(e);let r=d();return w(r.incrementMinute(o))})("keydown.space",function(o){C(e);let r=d();return w(r.incrementMinute(o))})("mousedown",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseDown(o,1,1))})("mouseup",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("keyup.enter",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("keyup.space",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("mouseleave",function(){C(e);let o=d();return w(o.onTimePickerElementMouseLeave())}),_(16,$z,2,2,"ng-template",null,2,Ie),y(),b(18,"span",20),_(19,Uz,2,0,"ng-container",7),L(20),y(),b(21,"p-button",43),I("keydown",function(o){C(e);let r=d();return w(r.onContainerButtonKeydown(o))})("keydown.enter",function(o){C(e);let r=d();return w(r.decrementMinute(o))})("keydown.space",function(o){C(e);let r=d();return w(r.decrementMinute(o))})("mousedown",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseDown(o,1,-1))})("mouseup",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("keyup.enter",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("keyup.space",function(o){C(e);let r=d();return w(r.onTimePickerElementMouseUp(o))})("mouseleave",function(){C(e);let o=d();return w(o.onTimePickerElementMouseLeave())}),_(22,Kz,2,2,"ng-template",null,2,Ie),y()(),_(24,Yz,3,5,"div",8)(25,rj,10,14,"div",8)(26,aj,3,5,"div",8)(27,gj,9,13,"div",8),y()}if(t&2){let e=d();D(e.cx("timePicker")),p("pBind",e.ptm("timePicker")),f(),D(e.cx("hourPicker")),p("pBind",e.ptm("hourPicker")),f(),p("styleClass",e.cx("pcIncrementButton"))("pt",e.ptm("pcIncrementButton")),N("aria-label",e.getTranslation("nextHour"))("data-pc-group-section","timepickerbutton"),f(3),p("pBind",e.ptm("hour")),f(),p("ngIf",e.currentHour<10),f(),de(e.currentHour),f(),p("styleClass",e.cx("pcDecrementButton"))("pt",e.ptm("pcDecrementButton")),N("aria-label",e.getTranslation("prevHour"))("data-pc-group-section","timepickerbutton"),f(3),p("pBind",e.ptm("separatorContainer")),f(),p("pBind",e.ptm("separator")),f(),de(e.timeSeparator),f(),D(e.cx("minutePicker")),p("pBind",e.ptm("minutePicker")),f(),p("styleClass",e.cx("pcIncrementButton"))("pt",e.ptm("pcIncrementButton")),N("aria-label",e.getTranslation("nextMinute"))("data-pc-group-section","timepickerbutton"),f(3),p("pBind",e.ptm("minute")),f(),p("ngIf",e.currentMinute<10),f(),de(e.currentMinute),f(),p("styleClass",e.cx("pcDecrementButton"))("pt",e.ptm("pcDecrementButton")),N("aria-label",e.getTranslation("prevMinute"))("data-pc-group-section","timepickerbutton"),f(3),p("ngIf",e.showSeconds),f(),p("ngIf",e.showSeconds),f(),p("ngIf",e.hourFormat=="12"),f(),p("ngIf",e.hourFormat=="12")}}function bj(t,i){t&1&&G(0)}function yj(t,i){if(t&1&&_(0,bj,1,0,"ng-container",22),t&2){let e=d(2);p("ngTemplateOutlet",e.buttonBarTemplate||e._buttonBarTemplate)("ngTemplateOutletContext",bt(2,O9,e.onTodayButtonClick.bind(e),e.onClearButtonClick.bind(e)))}}function _j(t,i){if(t&1){let e=$();b(0,"p-button",51),I("keydown",function(o){C(e);let r=d(2);return w(r.onContainerButtonKeydown(o))})("onClick",function(o){C(e);let r=d(2);return w(r.onTodayButtonClick(o))}),y(),b(1,"p-button",51),I("keydown",function(o){C(e);let r=d(2);return w(r.onContainerButtonKeydown(o))})("onClick",function(o){C(e);let r=d(2);return w(r.onClearButtonClick(o))}),y()}if(t&2){let e=d(2);p("styleClass",e.cx("pcTodayButton"))("label",e.getTranslation("today"))("ngClass",e.todayButtonStyleClass)("pt",e.ptm("pcTodayButton")),N("data-pc-group-section","button"),f(),p("styleClass",e.cx("pcClearButton"))("label",e.getTranslation("clear"))("ngClass",e.clearButtonStyleClass)("pt",e.ptm("pcClearButton")),N("data-pc-group-section","button")}}function vj(t,i){if(t&1&&(b(0,"div",20),_e(1,yj,1,5,"ng-container")(2,_j,2,10),y()),t&2){let e=d();D(e.cx("buttonbar")),p("pBind",e.ptm("buttonbar")),f(),ve(e.buttonBarTemplate||e._buttonBarTemplate?1:2)}}function Cj(t,i){t&1&&G(0)}var wj=` +${nD} + +/* For PrimeNG */ +.p-datepicker.ng-invalid.ng-dirty .p-inputtext { + border-color: dt('inputtext.invalid.border.color'); +} +`,xj={root:()=>({position:"relative"})},Tj={root:({instance:t})=>["p-datepicker p-component p-inputwrapper",{"p-invalid":t.invalid(),"p-datepicker-fluid":t.hasFluid,"p-inputwrapper-filled":t.$filled(),"p-variant-filled":t.$variant()==="filled","p-inputwrapper-focus":t.focus||t.overlayVisible,"p-focus":t.focus||t.overlayVisible}],pcInputText:"p-datepicker-input",dropdown:"p-datepicker-dropdown",inputIconContainer:"p-datepicker-input-icon-container",inputIcon:"p-datepicker-input-icon",panel:({instance:t})=>["p-datepicker-panel p-component",{"p-datepicker-panel p-component":!0,"p-datepicker-panel-inline":t.inline,"p-disabled":t.$disabled(),"p-datepicker-timeonly":t.timeOnly}],calendarContainer:"p-datepicker-calendar-container",calendar:"p-datepicker-calendar",header:"p-datepicker-header",pcPrevButton:"p-datepicker-prev-button",title:"p-datepicker-title",selectMonth:"p-datepicker-select-month",selectYear:"p-datepicker-select-year",decade:"p-datepicker-decade",pcNextButton:"p-datepicker-next-button",dayView:"p-datepicker-day-view",weekHeader:"p-datepicker-weekheader p-disabled",weekNumber:"p-datepicker-weeknumber",weekLabelContainer:"p-datepicker-weeklabel-container p-disabled",weekDayCell:"p-datepicker-weekday-cell",weekDay:"p-datepicker-weekday",dayCell:({date:t})=>["p-datepicker-day-cell",{"p-datepicker-other-month":t.otherMonth,"p-datepicker-today":t.today}],day:({instance:t,date:i})=>{let e="";if(t.isRangeSelection()&&t.isSelected(i)&&i.selectable){let n=t.value[0],o=t.value[1],r=n&&i.year===n.getFullYear()&&i.month===n.getMonth()&&i.day===n.getDate(),a=o&&i.year===o.getFullYear()&&i.month===o.getMonth()&&i.day===o.getDate();e=r||a?"p-datepicker-day-selected":"p-datepicker-day-selected-range"}return{"p-datepicker-day":!0,"p-datepicker-day-selected":!t.isRangeSelection()&&t.isSelected(i)&&i.selectable,"p-disabled":t.$disabled()||!i.selectable,[e]:!0}},monthView:"p-datepicker-month-view",month:({instance:t,index:i})=>["p-datepicker-month",{"p-datepicker-month-selected":t.isMonthSelected(i),"p-disabled":t.isMonthDisabled(i)}],yearView:"p-datepicker-year-view",year:({instance:t,year:i})=>["p-datepicker-year",{"p-datepicker-year-selected":t.isYearSelected(i),"p-disabled":t.isYearDisabled(i)}],timePicker:"p-datepicker-time-picker",hourPicker:"p-datepicker-hour-picker",pcIncrementButton:"p-datepicker-increment-button",pcDecrementButton:"p-datepicker-decrement-button",separator:"p-datepicker-separator",minutePicker:"p-datepicker-minute-picker",secondPicker:"p-datepicker-second-picker",ampmPicker:"p-datepicker-ampm-picker",buttonbar:"p-datepicker-buttonbar",pcTodayButton:"p-datepicker-today-button",pcClearButton:"p-datepicker-clear-button",clearIcon:"p-datepicker-clear-icon"},oD=(()=>{class t extends fe{name="datepicker";style=wj;classes=Tj;inlineStyles=xj;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var Dj={provide:Ht,useExisting:at(()=>aD),multi:!0},rD=new B("DATEPICKER_INSTANCE"),aD=(()=>{class t extends Da{zone;overlayService;componentName="DatePicker";bindDirectiveInstance=v(U,{self:!0});$pcDatePicker=v(rD,{optional:!0,skipSelf:!0})??void 0;iconDisplay="button";styleClass;inputStyle;inputId;inputStyleClass;placeholder;ariaLabelledBy;ariaLabel;iconAriaLabel;get dateFormat(){return this._dateFormat}set dateFormat(e){this._dateFormat=e,this.initialized&&this.updateInputfield()}multipleSeparator=",";rangeSeparator="-";inline=!1;showOtherMonths=!0;selectOtherMonths;showIcon;icon;readonlyInput;shortYearCutoff="+10";get hourFormat(){return this._hourFormat}set hourFormat(e){this._hourFormat=e,this.initialized&&this.updateInputfield()}timeOnly;stepHour=1;stepMinute=1;stepSecond=1;showSeconds=!1;showOnFocus=!0;showWeek=!1;startWeekFromFirstDayOfYear=!1;showClear=!1;dataType="date";selectionMode="single";maxDateCount;showButtonBar;todayButtonStyleClass;clearButtonStyleClass;autofocus;autoZIndex=!0;baseZIndex=0;panelStyleClass;panelStyle;keepInvalid=!1;hideOnDateTimeSelect=!0;touchUI;timeSeparator=":";focusTrap=!0;showTransitionOptions=".12s cubic-bezier(0, 0, 0.2, 1)";hideTransitionOptions=".1s linear";tabindex;get minDate(){return this._minDate}set minDate(e){this._minDate=e,this.currentMonth!=null&&this.currentMonth!=null&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get maxDate(){return this._maxDate}set maxDate(e){this._maxDate=e,this.currentMonth!=null&&this.currentMonth!=null&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDates(){return this._disabledDates}set disabledDates(e){this._disabledDates=e,this.currentMonth!=null&&this.currentMonth!=null&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDays(){return this._disabledDays}set disabledDays(e){this._disabledDays=e,this.currentMonth!=null&&this.currentMonth!=null&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get showTime(){return this._showTime}set showTime(e){this._showTime=e,this.currentHour===void 0&&this.initTime(this.value||new Date),this.updateInputfield()}get responsiveOptions(){return this._responsiveOptions}set responsiveOptions(e){this._responsiveOptions=e,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get numberOfMonths(){return this._numberOfMonths}set numberOfMonths(e){this._numberOfMonths=e,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get firstDayOfWeek(){return this._firstDayOfWeek}set firstDayOfWeek(e){this._firstDayOfWeek=e,this.createWeekDays()}get view(){return this._view}set view(e){this._view=e,this.currentView=this._view}get defaultDate(){return this._defaultDate}set defaultDate(e){if(this._defaultDate=e,this.initialized){let n=e||new Date;this.currentMonth=n.getMonth(),this.currentYear=n.getFullYear(),this.initTime(n),this.createMonths(this.currentMonth,this.currentYear)}}appendTo=V(void 0);motionOptions=V(void 0);computedMotionOptions=te(()=>T(T({},this.ptm("motion")),this.motionOptions()));onFocus=new P;onBlur=new P;onClose=new P;onSelect=new P;onClear=new P;onInput=new P;onTodayClick=new P;onClearClick=new P;onMonthChange=new P;onYearChange=new P;onClickOutside=new P;onShow=new P;inputfieldViewChild;set content(e){this.contentViewChild=e,this.contentViewChild&&this.overlay&&(this.isMonthNavigate?(Promise.resolve(null).then(()=>this.updateFocus()),this.isMonthNavigate=!1):!this.focus&&!this.inline&&this.initFocusableCell())}_componentStyle=v(oD);contentViewChild;value;dates;months;weekDays;currentMonth;currentYear;currentHour;currentMinute;currentSecond;p;pm;mask;maskClickListener;overlay;responsiveStyleElement;overlayVisible;overlayMinWidth;$appendTo=te(()=>this.appendTo()||this.config.overlayAppendTo());calendarElement;timePickerTimer;documentClickListener;animationEndListener;ticksTo1970;yearOptions;focus;isKeydown;_minDate;_maxDate;_dateFormat;_hourFormat="24";_showTime;_yearRange;preventDocumentListener;dayClass(e){return this._componentStyle.classes.day({instance:this,date:e})}dateTemplate;headerTemplate;footerTemplate;disabledDateTemplate;decadeTemplate;previousIconTemplate;nextIconTemplate;triggerIconTemplate;clearIconTemplate;decrementIconTemplate;incrementIconTemplate;inputIconTemplate;buttonBarTemplate;_dateTemplate;_headerTemplate;_footerTemplate;_disabledDateTemplate;_decadeTemplate;_previousIconTemplate;_nextIconTemplate;_triggerIconTemplate;_clearIconTemplate;_decrementIconTemplate;_incrementIconTemplate;_inputIconTemplate;_buttonBarTemplate;_disabledDates;_disabledDays;selectElement;todayElement;focusElement;scrollHandler;documentResizeListener;navigationState=null;isMonthNavigate;initialized;translationSubscription;_locale;_responsiveOptions;currentView;attributeSelector;panelId;_numberOfMonths=1;_firstDayOfWeek;_view="date";preventFocus;_defaultDate;_focusKey=null;window;get locale(){return this._locale}get iconButtonAriaLabel(){return this.iconAriaLabel?this.iconAriaLabel:this.getTranslation("chooseDate")}get prevIconAriaLabel(){return this.currentView==="year"?this.getTranslation("prevDecade"):this.currentView==="month"?this.getTranslation("prevYear"):this.getTranslation("prevMonth")}get nextIconAriaLabel(){return this.currentView==="year"?this.getTranslation("nextDecade"):this.currentView==="month"?this.getTranslation("nextYear"):this.getTranslation("nextMonth")}constructor(e,n){super(),this.zone=e,this.overlayService=n,this.window=this.document.defaultView}onInit(){this.attributeSelector=Le("pn_id_"),this.panelId=this.attributeSelector+"_panel";let e=this.defaultDate||new Date;this.createResponsiveStyle(),this.currentMonth=e.getMonth(),this.currentYear=e.getFullYear(),this.yearOptions=[],this.currentView=this.view,this.view==="date"&&(this.createWeekDays(),this.initTime(e),this.createMonths(this.currentMonth,this.currentYear),this.ticksTo1970=(1969*365+Math.floor(1970/4)-Math.floor(1970/100)+Math.floor(1970/400))*24*60*60*1e7),this.translationSubscription=this.config.translationObserver.subscribe(()=>{this.createWeekDays(),this.cd.markForCheck()}),this.initialized=!0}onAfterViewInit(){this.inline?this.contentViewChild&&this.contentViewChild.nativeElement.setAttribute(this.attributeSelector,""):!this.$disabled()&&this.overlay&&(this.initFocusableCell(),this.numberOfMonths===1&&this.contentViewChild&&this.contentViewChild.nativeElement&&(this.contentViewChild.nativeElement.style.width=Lt(this.el?.nativeElement)+"px"))}onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}templates;onAfterContentInit(){this.templates.forEach(e=>{switch(e.getType()){case"date":this._dateTemplate=e.template;break;case"decade":this._decadeTemplate=e.template;break;case"disabledDate":this._disabledDateTemplate=e.template;break;case"header":this._headerTemplate=e.template;break;case"inputicon":this._inputIconTemplate=e.template;break;case"buttonbar":this._buttonBarTemplate=e.template;break;case"previousicon":this._previousIconTemplate=e.template;break;case"nexticon":this._nextIconTemplate=e.template;break;case"triggericon":this._triggerIconTemplate=e.template;break;case"clearicon":this._clearIconTemplate=e.template;break;case"decrementicon":this._decrementIconTemplate=e.template;break;case"incrementicon":this._incrementIconTemplate=e.template;break;case"footer":this._footerTemplate=e.template;break;default:this._dateTemplate=e.template;break}})}getTranslation(e){return this.config.getTranslation(e)}populateYearOptions(e,n){this.yearOptions=[];for(let o=e;o<=n;o++)this.yearOptions.push(o)}createWeekDays(){this.weekDays=[];let e=this.getFirstDateOfWeek(),n=this.getTranslation(Vt.DAY_NAMES_MIN);for(let o=0;o<7;o++)this.weekDays.push(n[e]),e=e==6?0:++e}monthPickerValues(){let e=[];for(let n=0;n<=11;n++)e.push(this.config.getTranslation("monthNamesShort")[n]);return e}yearPickerValues(){let e=[],n=this.currentYear-this.currentYear%10;for(let o=0;o<10;o++)e.push(n+o);return e}createMonths(e,n){this.months=this.months=[];for(let o=0;o11&&(r=r%12,a=n+Math.floor((e+o)/12)),this.months.push(this.createMonth(r,a))}}getWeekNumber(e){let n=new Date(e.getTime());if(this.startWeekFromFirstDayOfYear){let r=+this.getFirstDateOfWeek();n.setDate(n.getDate()+6+r-n.getDay())}else n.setDate(n.getDate()+4-(n.getDay()||7));let o=n.getTime();return n.setMonth(0),n.setDate(1),Math.floor(Math.round((o-n.getTime())/864e5)/7)+1}createMonth(e,n){let o=[],r=this.getFirstDayOfMonthIndex(e,n),a=this.getDaysCountInMonth(e,n),s=this.getDaysCountInPrevMonth(e,n),l=1,c=new Date,u=[],h=Math.ceil((a+r)/7);for(let g=0;ga){let E=this.getNextMonthAndYear(e,n);m.push({day:l-a,month:E.month,year:E.year,otherMonth:!0,today:this.isToday(c,l-a,E.month,E.year),selectable:this.isSelectable(l-a,E.month,E.year,!0)})}else m.push({day:l,month:e,year:n,today:this.isToday(c,l,e,n),selectable:this.isSelectable(l,e,n,!1)});l++}this.showWeek&&u.push(this.getWeekNumber(new Date(m[0].year,m[0].month,m[0].day))),o.push(m)}return{month:e,year:n,dates:o,weekNumbers:u}}initTime(e){this.pm=e.getHours()>11,this.showTime?(this.currentMinute=e.getMinutes(),this.currentSecond=this.showSeconds?e.getSeconds():0,this.setCurrentHourPM(e.getHours())):this.timeOnly&&(this.currentMinute=0,this.currentHour=0,this.currentSecond=0)}navBackward(e){if(this.$disabled()){e.preventDefault();return}this.isMonthNavigate=!0,this.currentView==="month"?(this.decrementYear(),setTimeout(()=>{this.updateFocus()},1)):this.currentView==="year"?(this.decrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(this.currentMonth===0?(this.currentMonth=11,this.decrementYear()):this.currentMonth--,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear))}navForward(e){if(this.$disabled()){e.preventDefault();return}this.isMonthNavigate=!0,this.currentView==="month"?(this.incrementYear(),setTimeout(()=>{this.updateFocus()},1)):this.currentView==="year"?(this.incrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(this.currentMonth===11?(this.currentMonth=0,this.incrementYear()):this.currentMonth++,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear))}decrementYear(){this.currentYear--;let e=this.yearOptions;if(this.currentYeare[e.length-1]){let n=e[e.length-1]-e[0];this.populateYearOptions(e[0]+n,e[e.length-1]+n)}}switchToMonthView(e){this.setCurrentView("month"),e.preventDefault()}switchToYearView(e){this.setCurrentView("year"),e.preventDefault()}onDateSelect(e,n){if(this.$disabled()||!n.selectable){e.preventDefault();return}this.isMultipleSelection()&&this.isSelected(n)?(this.value=this.value.filter((o,r)=>!this.isDateEquals(o,n)),this.value.length===0&&(this.value=null),this.updateModel(this.value)):this.shouldSelectDate(n)&&this.selectDate(n),this.hideOnDateTimeSelect&&(this.isSingleSelection()||this.isRangeSelection()&&this.value[1])&&setTimeout(()=>{e.preventDefault(),this.hideOverlay(),this.mask&&this.disableModality(),this.cd.markForCheck()},150),this.updateInputfield(),e.preventDefault()}shouldSelectDate(e){return this.isMultipleSelection()&&this.maxDateCount!=null?this.maxDateCount>(this.value?this.value.length:0):!0}onMonthSelect(e,n){this.view==="month"?this.onDateSelect(e,{year:this.currentYear,month:n,day:1,selectable:!0}):(this.currentMonth=n,this.createMonths(this.currentMonth,this.currentYear),this.setCurrentView("date"),this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}))}onYearSelect(e,n){this.view==="year"?this.onDateSelect(e,{year:n,month:0,day:1,selectable:!0}):(this.currentYear=n,this.setCurrentView("month"),this.onYearChange.emit({month:this.currentMonth+1,year:this.currentYear}))}updateInputfield(){let e="";if(this.value){if(this.isSingleSelection())e=this.formatDateTime(this.value);else if(this.isMultipleSelection())for(let n=0;n11,e>=12?this.currentHour=e==12?12:e-12:this.currentHour=e==0?12:e):this.currentHour=e}setCurrentView(e){this.currentView=e,this.cd.detectChanges(),this.alignOverlay()}selectDate(e){let n=this.formatDateMetaToDate(e);if(this.showTime&&(this.hourFormat=="12"?this.currentHour===12?n.setHours(this.pm?12:0):n.setHours(this.pm?this.currentHour+12:this.currentHour):n.setHours(this.currentHour),n.setMinutes(this.currentMinute),n.setSeconds(this.currentSecond)),this.minDate&&this.minDate>n&&(n=this.minDate,this.setCurrentHourPM(n.getHours()),this.currentMinute=n.getMinutes(),this.currentSecond=n.getSeconds()),this.maxDate&&this.maxDate=o.getTime()?r=n:(o=n,r=null),this.updateModel([o,r])}else this.updateModel([n,null]);this.onSelect.emit(n)}updateModel(e){if(this.value=e,this.dataType=="date")this.writeModelValue(this.value),this.onModelChange(this.value);else if(this.dataType=="string")if(this.isSingleSelection())this.onModelChange(this.formatDateTime(this.value));else{let n=null;Array.isArray(this.value)&&(n=this.value.map(o=>this.formatDateTime(o))),this.writeModelValue(n),this.onModelChange(n)}}getFirstDayOfMonthIndex(e,n){let o=new Date;o.setDate(1),o.setMonth(e),o.setFullYear(n);let r=o.getDay()+this.getSundayIndex();return r>=7?r-7:r}getDaysCountInMonth(e,n){return 32-this.daylightSavingAdjust(new Date(n,e,32)).getDate()}getDaysCountInPrevMonth(e,n){let o=this.getPreviousMonthAndYear(e,n);return this.getDaysCountInMonth(o.month,o.year)}getPreviousMonthAndYear(e,n){let o,r;return e===0?(o=11,r=n-1):(o=e-1,r=n),{month:o,year:r}}getNextMonthAndYear(e,n){let o,r;return e===11?(o=0,r=n+1):(o=e+1,r=n),{month:o,year:r}}getSundayIndex(){let e=this.getFirstDateOfWeek();return e>0?7-e:0}isSelected(e){if(this.value){if(this.isSingleSelection())return this.isDateEquals(this.value,e);if(this.isMultipleSelection()){let n=!1;for(let o of this.value)if(n=this.isDateEquals(o,e),n)break;return n}else if(this.isRangeSelection())return this.value[1]?this.isDateEquals(this.value[0],e)||this.isDateEquals(this.value[1],e)||this.isDateBetween(this.value[0],this.value[1],e):this.isDateEquals(this.value[0],e)}else return!1}isComparable(){return this.value!=null&&typeof this.value!="string"}isMonthSelected(e){if(!this.isComparable())return!1;if(this.isMultipleSelection())return this.value.some(n=>n.getMonth()===e&&n.getFullYear()===this.currentYear);if(this.isRangeSelection())if(this.value[1]){let n=new Date(this.currentYear,e,1),o=new Date(this.value[0].getFullYear(),this.value[0].getMonth(),1),r=new Date(this.value[1].getFullYear(),this.value[1].getMonth(),1);return n>=o&&n<=r}else return this.value[0]?.getFullYear()===this.currentYear&&this.value[0]?.getMonth()===e;else return this.value.getMonth()===e&&this.value.getFullYear()===this.currentYear}isMonthDisabled(e,n){let o=n??this.currentYear;for(let r=1;rthis.isMonthDisabled(o,e))}isYearSelected(e){if(this.isComparable()){let n=this.isRangeSelection()?this.value[0]:this.value;return this.isMultipleSelection()?!1:n.getFullYear()===e}return!1}isDateEquals(e,n){return e&&Co(e)?e.getDate()===n.day&&e.getMonth()===n.month&&e.getFullYear()===n.year:!1}isDateBetween(e,n,o){let r=!1;if(Co(e)&&Co(n)){let a=this.formatDateMetaToDate(o);return e.getTime()<=a.getTime()&&n.getTime()>=a.getTime()}return r}isSingleSelection(){return this.selectionMode==="single"}isRangeSelection(){return this.selectionMode==="range"}isMultipleSelection(){return this.selectionMode==="multiple"}isToday(e,n,o,r){return e.getDate()===n&&e.getMonth()===o&&e.getFullYear()===r}isSelectable(e,n,o,r){let a=!0,s=!0,l=!0,c=!0;return r&&!this.selectOtherMonths?!1:(this.minDate&&(this.minDate.getFullYear()>o||this.minDate.getFullYear()===o&&this.currentView!="year"&&(this.minDate.getMonth()>n||this.minDate.getMonth()===n&&this.minDate.getDate()>e))&&(a=!1),this.maxDate&&(this.maxDate.getFullYear()1||this.$disabled()}onPrevButtonClick(e){this.navigationState={backward:!0,button:!0},this.navBackward(e)}onNextButtonClick(e){this.navigationState={backward:!1,button:!0},this.navForward(e)}onContainerButtonKeydown(e){switch(e.which){case 9:if(this.inline||this.trapFocus(e),this.inline){let n=Ye(this.el?.nativeElement,".p-datepicker-header"),o=e.target;if(this.timeOnly)return;o==n?.children[n?.children?.length-1]&&this.initFocusableCell()}break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,e.preventDefault();break;default:break}}onInputKeydown(e){this.isKeydown=!0,e.keyCode===40&&this.contentViewChild?this.trapFocus(e):e.keyCode===27?this.overlayVisible&&(this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,e.preventDefault()):e.keyCode===13?this.overlayVisible&&(this.overlayVisible=!1,e.preventDefault()):e.keyCode===9&&this.contentViewChild&&(fr(this.contentViewChild.nativeElement).forEach(n=>n.tabIndex="-1"),this.overlayVisible&&(this.overlayVisible=!1))}onDateCellKeydown(e,n,o){let r=e.currentTarget,a=r.parentElement,s=this.formatDateMetaToDate(n);switch(e.which){case 40:{r.tabIndex="-1";let x=el(a),E=a.parentElement.nextElementSibling;if(E){let k=E.children[x].children[0];Tt(k,"p-disabled")?(this.navigationState={backward:!1},this.navForward(e)):(E.children[x].children[0].tabIndex="0",E.children[x].children[0].focus())}else this.navigationState={backward:!1},this.navForward(e);e.preventDefault();break}case 38:{r.tabIndex="-1";let x=el(a),E=a.parentElement.previousElementSibling;if(E){let k=E.children[x].children[0];Tt(k,"p-disabled")?(this.navigationState={backward:!0},this.navBackward(e)):(k.tabIndex="0",k.focus())}else this.navigationState={backward:!0},this.navBackward(e);e.preventDefault();break}case 37:{r.tabIndex="-1";let x=a.previousElementSibling;if(x){let E=x.children[0];Tt(E,"p-disabled")||Tt(E.parentElement,"p-datepicker-weeknumber")?this.navigateToMonth(!0,o):(E.tabIndex="0",E.focus())}else this.navigateToMonth(!0,o);e.preventDefault();break}case 39:{r.tabIndex="-1";let x=a.nextElementSibling;if(x){let E=x.children[0];Tt(E,"p-disabled")?this.navigateToMonth(!1,o):(E.tabIndex="0",E.focus())}else this.navigateToMonth(!1,o);e.preventDefault();break}case 13:case 32:{this.onDateSelect(e,n),e.preventDefault();break}case 27:{this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,e.preventDefault();break}case 9:{this.inline||this.trapFocus(e);break}case 33:{r.tabIndex="-1";let x=new Date(s.getFullYear(),s.getMonth()-1,s.getDate()),E=this.formatDateKey(x);this.navigateToMonth(!0,o,`span[data-date='${E}']:not(.p-disabled):not(.p-ink)`),e.preventDefault();break}case 34:{r.tabIndex="-1";let x=new Date(s.getFullYear(),s.getMonth()+1,s.getDate()),E=this.formatDateKey(x);this.navigateToMonth(!1,o,`span[data-date='${E}']:not(.p-disabled):not(.p-ink)`),e.preventDefault();break}case 36:r.tabIndex="-1";let l=new Date(s.getFullYear(),s.getMonth(),1),c=this.formatDateKey(l),u=Ye(r.offsetParent,`span[data-date='${c}']:not(.p-disabled):not(.p-ink)`);u&&(u.tabIndex="0",u.focus()),e.preventDefault();break;case 35:r.tabIndex="-1";let h=new Date(s.getFullYear(),s.getMonth()+1,0),g=this.formatDateKey(h),m=Ye(r.offsetParent,`span[data-date='${g}']:not(.p-disabled):not(.p-ink)`);h&&(m.tabIndex="0",m.focus()),e.preventDefault();break;default:break}}onMonthCellKeydown(e,n){let o=e.currentTarget;switch(e.which){case 38:case 40:{o.tabIndex="-1";var r=o.parentElement.children,a=el(o);let s=r[e.which===40?a+3:a-3];s&&(s.tabIndex="0",s.focus()),e.preventDefault();break}case 37:{o.tabIndex="-1";let s=o.previousElementSibling;s?(s.tabIndex="0",s.focus()):(this.navigationState={backward:!0},this.navBackward(e)),e.preventDefault();break}case 39:{o.tabIndex="-1";let s=o.nextElementSibling;s?(s.tabIndex="0",s.focus()):(this.navigationState={backward:!1},this.navForward(e)),e.preventDefault();break}case 13:case 32:{this.onMonthSelect(e,n),e.preventDefault();break}case 27:{this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,e.preventDefault();break}case 9:{this.inline||this.trapFocus(e);break}default:break}}onYearCellKeydown(e,n){let o=e.currentTarget;switch(e.which){case 38:case 40:{o.tabIndex="-1";var r=o.parentElement.children,a=el(o);let s=r[e.which===40?a+2:a-2];s&&(s.tabIndex="0",s.focus()),e.preventDefault();break}case 37:{o.tabIndex="-1";let s=o.previousElementSibling;s?(s.tabIndex="0",s.focus()):(this.navigationState={backward:!0},this.navBackward(e)),e.preventDefault();break}case 39:{o.tabIndex="-1";let s=o.nextElementSibling;s?(s.tabIndex="0",s.focus()):(this.navigationState={backward:!1},this.navForward(e)),e.preventDefault();break}case 13:case 32:{this.onYearSelect(e,n),e.preventDefault();break}case 27:{this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,e.preventDefault();break}case 9:{this.trapFocus(e);break}default:break}}navigateToMonth(e,n,o){if(e)if(this.numberOfMonths===1||n===0)this.navigationState={backward:!0},this._focusKey=o,this.navBackward(event);else{let r=this.contentViewChild.nativeElement.children[n-1];if(o){let a=Ye(r,o);a.tabIndex="0",a.focus()}else{let a=Sn(r,".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),s=a[a.length-1];s.tabIndex="0",s.focus()}}else if(this.numberOfMonths===1||n===this.numberOfMonths-1)this.navigationState={backward:!1},this._focusKey=o,this.navForward(event);else{let r=this.contentViewChild.nativeElement.children[n+1];if(o){let a=Ye(r,o);a.tabIndex="0",a.focus()}else{let a=Ye(r,".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");a.tabIndex="0",a.focus()}}}updateFocus(){let e;if(this.navigationState){if(this.navigationState.button)this.initFocusableCell(),this.navigationState.backward?Ye(this.contentViewChild.nativeElement,".p-datepicker-prev-button").focus():Ye(this.contentViewChild.nativeElement,".p-datepicker-next-button").focus();else{if(this.navigationState.backward){let n;this.currentView==="month"?n=Sn(this.contentViewChild.nativeElement,".p-datepicker-month-view .p-datepicker-month:not(.p-disabled)"):this.currentView==="year"?n=Sn(this.contentViewChild.nativeElement,".p-datepicker-year-view .p-datepicker-year:not(.p-disabled)"):n=Sn(this.contentViewChild.nativeElement,this._focusKey||".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),n&&n.length>0&&(e=n[n.length-1])}else this.currentView==="month"?e=Ye(this.contentViewChild.nativeElement,".p-datepicker-month-view .p-datepicker-month:not(.p-disabled)"):this.currentView==="year"?e=Ye(this.contentViewChild.nativeElement,".p-datepicker-year-view .p-datepicker-year:not(.p-disabled)"):e=Ye(this.contentViewChild.nativeElement,this._focusKey||".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");e&&(e.tabIndex="0",e.focus())}this.navigationState=null,this._focusKey=null}else this.initFocusableCell()}initFocusableCell(){let e=this.contentViewChild?.nativeElement,n;if(this.currentView==="month"){let o=Sn(e,".p-datepicker-month-view .p-datepicker-month:not(.p-disabled)"),r=Ye(e,".p-datepicker-month-view .p-datepicker-month.p-highlight");o.forEach(a=>a.tabIndex=-1),n=r||o[0],o.length===0&&Sn(e,'.p-datepicker-month-view .p-datepicker-month.p-disabled[tabindex = "0"]').forEach(s=>s.tabIndex=-1)}else if(this.currentView==="year"){let o=Sn(e,".p-datepicker-year-view .p-datepicker-year:not(.p-disabled)"),r=Ye(e,".p-datepicker-year-view .p-datepicker-year.p-highlight");o.forEach(a=>a.tabIndex=-1),n=r||o[0],o.length===0&&Sn(e,'.p-datepicker-year-view .p-datepicker-year.p-disabled[tabindex = "0"]').forEach(s=>s.tabIndex=-1)}else if(n=Ye(e,"span.p-highlight"),!n){let o=Ye(e,"td.p-datepicker-today span:not(.p-disabled):not(.p-ink)");o?n=o:n=Ye(e,".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)")}n&&(n.tabIndex="0",!this.preventFocus&&(!this.navigationState||!this.navigationState.button)&&setTimeout(()=>{this.$disabled()||n.focus()},1),this.preventFocus=!1)}trapFocus(e){let n=fr(this.contentViewChild.nativeElement);if(n&&n.length>0)if(!n[0].ownerDocument.activeElement)n[0].focus();else{let o=n.indexOf(n[0].ownerDocument.activeElement);if(e.shiftKey)if(o==-1||o===0)if(this.focusTrap)n[n.length-1].focus();else{if(o===-1)return this.hideOverlay();if(o===0)return}else n[o-1].focus();else if(o==-1)if(this.timeOnly)n[0].focus();else{let r=0;for(let a=0;a=12),!0){case(x&&s&&this.minDate.getHours()===12&&this.minDate.getHours()>c):a[0]=11;case(x&&this.minDate.getHours()===c&&this.minDate.getMinutes()>n):a[1]=this.minDate.getMinutes();case(x&&this.minDate.getHours()===c&&this.minDate.getMinutes()===n&&this.minDate.getSeconds()>o):a[2]=this.minDate.getSeconds();break;case(x&&!s&&this.minDate.getHours()-1===c&&this.minDate.getHours()>c):a[0]=11,this.pm=!0;case(x&&this.minDate.getHours()===c&&this.minDate.getMinutes()>n):a[1]=this.minDate.getMinutes();case(x&&this.minDate.getHours()===c&&this.minDate.getMinutes()===n&&this.minDate.getSeconds()>o):a[2]=this.minDate.getSeconds();break;case(x&&s&&this.minDate.getHours()>c&&c!==12):this.setCurrentHourPM(this.minDate.getHours()),a[0]=this.currentHour||0;case(x&&this.minDate.getHours()===c&&this.minDate.getMinutes()>n):a[1]=this.minDate.getMinutes();case(x&&this.minDate.getHours()===c&&this.minDate.getMinutes()===n&&this.minDate.getSeconds()>o):a[2]=this.minDate.getSeconds();break;case(x&&this.minDate.getHours()>c):a[0]=this.minDate.getHours();case(x&&this.minDate.getHours()===c&&this.minDate.getMinutes()>n):a[1]=this.minDate.getMinutes();case(x&&this.minDate.getHours()===c&&this.minDate.getMinutes()===n&&this.minDate.getSeconds()>o):a[2]=this.minDate.getSeconds();break;case(E&&this.maxDate.getHours()=24?o-24:o:this.hourFormat=="12"&&(n<12&&o>11&&(r=!this.pm),o=o>=13?o-12:o),this.toggleAMPMIfNotMinDate(r),[this.currentHour,this.currentMinute,this.currentSecond]=this.constrainTime(o,this.currentMinute,this.currentSecond,r),e.preventDefault()}toggleAMPMIfNotMinDate(e){let n=this.value,o=n&&Co(n)?n.toDateString():null;this.minDate&&o&&this.minDate.toDateString()===o&&this.minDate.getHours()>=12?this.pm=!0:this.pm=e}onTimePickerElementMouseDown(e,n,o){this.$disabled()||(this.repeat(e,null,n,o),e.preventDefault())}onTimePickerElementMouseUp(e){this.$disabled()||(this.clearTimePickerTimer(),this.updateTime())}onTimePickerElementMouseLeave(){!this.$disabled()&&this.timePickerTimer&&(this.clearTimePickerTimer(),this.updateTime())}repeat(e,n,o,r){let a=n||500;switch(this.clearTimePickerTimer(),this.timePickerTimer=setTimeout(()=>{this.repeat(e,100,o,r),this.cd.markForCheck()},a),o){case 0:r===1?this.incrementHour(e):this.decrementHour(e);break;case 1:r===1?this.incrementMinute(e):this.decrementMinute(e);break;case 2:r===1?this.incrementSecond(e):this.decrementSecond(e);break}this.updateInputfield()}clearTimePickerTimer(){this.timePickerTimer&&(clearTimeout(this.timePickerTimer),this.timePickerTimer=null)}decrementHour(e){let n=(this.currentHour??0)-this.stepHour,o=this.pm;this.hourFormat=="24"?n=n<0?24+n:n:this.hourFormat=="12"&&(this.currentHour===12&&(o=!this.pm),n=n<=0?12+n:n),this.toggleAMPMIfNotMinDate(o),[this.currentHour,this.currentMinute,this.currentSecond]=this.constrainTime(n,this.currentMinute,this.currentSecond,o),e.preventDefault()}incrementMinute(e){let n=(this.currentMinute??0)+this.stepMinute;n=n>59?n-60:n,[this.currentHour,this.currentMinute,this.currentSecond]=this.constrainTime(this.currentHour||0,n,this.currentSecond,this.pm),e.preventDefault()}decrementMinute(e){let n=(this.currentMinute??0)-this.stepMinute;n=n<0?60+n:n,[this.currentHour,this.currentMinute,this.currentSecond]=this.constrainTime(this.currentHour||0,n,this.currentSecond||0,this.pm),e.preventDefault()}incrementSecond(e){let n=this.currentSecond+this.stepSecond;n=n>59?n-60:n,[this.currentHour,this.currentMinute,this.currentSecond]=this.constrainTime(this.currentHour||0,this.currentMinute||0,n,this.pm),e.preventDefault()}decrementSecond(e){let n=this.currentSecond-this.stepSecond;n=n<0?60+n:n,[this.currentHour,this.currentMinute,this.currentSecond]=this.constrainTime(this.currentHour||0,this.currentMinute||0,n,this.pm),e.preventDefault()}updateTime(){let e=this.value;this.isRangeSelection()&&(e=this.value[1]||this.value[0]),this.isMultipleSelection()&&(e=this.value[this.value.length-1]),e=e&&Co(e)?new Date(e.getTime()):new Date,this.hourFormat=="12"?this.currentHour===12?e.setHours(this.pm?12:0):e.setHours(this.pm?this.currentHour+12:this.currentHour):e.setHours(this.currentHour),e.setMinutes(this.currentMinute),e.setSeconds(this.currentSecond),this.isRangeSelection()&&(this.value[1]?e=[this.value[0],e]:e=[e,null]),this.isMultipleSelection()&&(e=[...this.value.slice(0,-1),e]),this.updateModel(e),this.onSelect.emit(e),this.updateInputfield()}toggleAMPM(e){let n=!this.pm;this.pm=n,[this.currentHour,this.currentMinute,this.currentSecond]=this.constrainTime(this.currentHour||0,this.currentMinute||0,this.currentSecond||0,n),this.updateTime(),e.preventDefault()}onUserInput(e){if(!this.isKeydown)return;this.isKeydown=!1;let n=e.target.value;try{let o=this.parseValueFromString(n);this.isValidSelection(o)?(this.updateModel(o),this.updateUI()):this.keepInvalid&&this.updateModel(o)}catch(o){let r=this.keepInvalid?n:null;this.updateModel(r)}this.onInput.emit(e)}isValidSelection(e){if(this.isSingleSelection())return this.isSelectable(e.getDate(),e.getMonth(),e.getFullYear(),!1);let n=e.every(o=>this.isSelectable(o.getDate(),o.getMonth(),o.getFullYear(),!1));return n&&this.isRangeSelection()&&(n=e.length===1||e.length>1&&e[1]>=e[0]),n}parseValueFromString(e){if(!e||e.trim().length===0)return null;let n;if(this.isSingleSelection())n=this.parseDateTime(e);else if(this.isMultipleSelection()){let o=e.split(this.multipleSeparator);n=[];for(let r of o)n.push(this.parseDateTime(r.trim()))}else if(this.isRangeSelection()){let o=e.split(" "+this.rangeSeparator+" ");n=[];for(let r=0;r{this.disableModality(),this.overlayVisible=!1}),this.renderer.appendChild(this.document.body,this.mask),cl())}disableModality(){this.mask&&(Ii(this.mask,"p-overlay-mask-leave"),this.animationEndListener||(this.animationEndListener=this.renderer.listen(this.mask,"animationend",this.destroyMask.bind(this))))}destroyMask(){if(!this.mask)return;this.renderer.removeChild(this.document.body,this.mask);let e=this.document.body.children,n;for(let o=0;o{let h=o+1{let m=""+h;if(r(u))for(;m.lengthr(u)?m[h]:g[h],l="",c=!1;if(e)for(o=0;o11&&o!=12&&(o-=12),this.hourFormat=="12"?n+=o===0?12:o<10?"0"+o:o:n+=o<10?"0"+o:o,n+=":",n+=r<10?"0"+r:r,this.showSeconds&&(n+=":",n+=a<10?"0"+a:a),this.hourFormat=="12"&&(n+=e.getHours()>11?" PM":" AM"),n}parseTime(e){let n=e.split(":"),o=this.showSeconds?3:2;if(n.length!==o)throw"Invalid time";let r=parseInt(n[0]),a=parseInt(n[1]),s=this.showSeconds?parseInt(n[2]):null;if(isNaN(r)||isNaN(a)||r>23||a>59||this.hourFormat=="12"&&r>12||this.showSeconds&&(isNaN(s)||s>59))throw"Invalid time";return this.hourFormat=="12"&&(r!==12&&this.pm?r+=12:!this.pm&&r===12&&(r-=12)),{hour:r,minute:a,second:s}}parseDate(e,n){if(n==null||e==null)throw"Invalid arguments";if(e=typeof e=="object"?e.toString():e+"",e==="")return null;let o,r,a,s=0,l=typeof this.shortYearCutoff!="string"?this.shortYearCutoff:new Date().getFullYear()%100+parseInt(this.shortYearCutoff,10),c=-1,u=-1,h=-1,g=-1,m=!1,x,E=se=>{let Me=o+1{let Me=E(se),nt=se==="@"?14:se==="!"?20:se==="y"&&Me?4:se==="o"?3:2,dt=se==="y"?nt:1,$t=new RegExp("^\\d{"+dt+","+nt+"}"),tn=e.substring(s).match($t);if(!tn)throw"Missing number at position "+s;return s+=tn[0].length,parseInt(tn[0],10)},z=(se,Me,nt)=>{let dt=-1,$t=E(se)?nt:Me,tn=[];for(let Yt=0;Yt<$t.length;Yt++)tn.push([Yt,$t[Yt]]);tn.sort((Yt,hi)=>-(Yt[1].length-hi[1].length));for(let Yt=0;Yt{if(e.charAt(s)!==n.charAt(o))throw"Unexpected literal at position "+s;s++};for(this.view==="month"&&(h=1),o=0;o-1){u=1,h=g;do{if(r=this.getDaysCountInMonth(c,u-1),h<=r)break;u++,h-=r}while(!0)}if(this.view==="year"&&(u=u===-1?1:u,h=h===-1?1:h),x=this.daylightSavingAdjust(new Date(c,u-1,h)),x.getFullYear()!==c||x.getMonth()+1!==u||x.getDate()!==h)throw"Invalid date";return x}daylightSavingAdjust(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null}isValidDateForTimeConstraints(e){return this.keepInvalid?!0:(!this.minDate||e>=this.minDate)&&(!this.maxDate||e<=this.maxDate)}onTodayButtonClick(e){let n=new Date,o={day:n.getDate(),month:n.getMonth(),year:n.getFullYear(),otherMonth:n.getMonth()!==this.currentMonth||n.getFullYear()!==this.currentYear,today:!0,selectable:!0};this.createMonths(n.getMonth(),n.getFullYear()),this.onDateSelect(e,o),this.onTodayClick.emit(n)}onClearButtonClick(e){this.updateModel(null),this.updateInputfield(),this.hideOverlay(),this.onClearClick.emit(e)}createResponsiveStyle(){if(this.numberOfMonths>1&&this.responsiveOptions){this.responsiveStyleElement||(this.responsiveStyleElement=this.renderer.createElement("style"),this.responsiveStyleElement.type="text/css",Mi(this.responsiveStyleElement,"nonce",this.config?.csp()?.nonce),this.renderer.appendChild(this.document.body,this.responsiveStyleElement));let e="";if(this.responsiveOptions){let n=[...this.responsiveOptions].filter(o=>!!(o.breakpoint&&o.numMonths)).sort((o,r)=>-1*o.breakpoint.localeCompare(r.breakpoint,void 0,{numeric:!0}));for(let o=0;o{let e=this.el?this.el.nativeElement.ownerDocument:this.document;this.documentClickListener=this.renderer.listen(e,"mousedown",n=>{this.isOutsideClicked(n)&&this.overlayVisible&&this.zone.run(()=>{this.hideOverlay(),this.onClickOutside.emit(n),this.cd.markForCheck()})})})}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){!this.documentResizeListener&&!this.touchUI&&(this.documentResizeListener=this.renderer.listen(this.window,"resize",this.onWindowResize.bind(this)))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new Qi(this.el?.nativeElement,()=>{this.overlayVisible&&this.hideOverlay()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}isOutsideClicked(e){return!(this.el.nativeElement.isSameNode(e.target)||this.isNavIconClicked(e)||this.el.nativeElement.contains(e.target)||this.overlay&&this.overlay.contains(e.target))}isNavIconClicked(e){return Tt(e.target,"p-datepicker-prev-button")||Tt(e.target,"p-datepicker-prev-icon")||Tt(e.target,"p-datepicker-next-button")||Tt(e.target,"p-datepicker-next-icon")}onWindowResize(){this.overlayVisible&&!qi()&&this.hideOverlay()}onOverlayHide(){this.currentView=this.view,this.mask&&this.destroyMask(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.overlay=null}writeControlValue(e){if(this.value=e,this.value&&typeof this.value=="string")try{this.value=this.parseValueFromString(this.value)}catch(n){this.keepInvalid&&(this.value=e)}this.updateInputfield(),this.updateUI(),this.cd.markForCheck()}onDestroy(){this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.translationSubscription&&this.translationSubscription.unsubscribe(),this.overlay&&this.autoZIndex&&It.clear(this.overlay),this.destroyResponsiveStyleElement(),this.clearTimePickerTimer(),this.restoreOverlayAppend(),this.onOverlayHide()}static \u0275fac=function(n){return new(n||t)(ee(Ne),ee(wo))};static \u0275cmp=H({type:t,selectors:[["p-datePicker"],["p-datepicker"],["p-date-picker"]],contentQueries:function(n,o,r){if(n&1&&Je(r,u9,4)(r,p9,4)(r,f9,4)(r,h9,4)(r,g9,4)(r,m9,4)(r,b9,4)(r,y9,4)(r,_9,4)(r,v9,4)(r,C9,4)(r,w9,4)(r,x9,4)(r,Qe,4),n&2){let a;M(a=R())&&(o.dateTemplate=a.first),M(a=R())&&(o.headerTemplate=a.first),M(a=R())&&(o.footerTemplate=a.first),M(a=R())&&(o.disabledDateTemplate=a.first),M(a=R())&&(o.decadeTemplate=a.first),M(a=R())&&(o.previousIconTemplate=a.first),M(a=R())&&(o.nextIconTemplate=a.first),M(a=R())&&(o.triggerIconTemplate=a.first),M(a=R())&&(o.clearIconTemplate=a.first),M(a=R())&&(o.decrementIconTemplate=a.first),M(a=R())&&(o.incrementIconTemplate=a.first),M(a=R())&&(o.inputIconTemplate=a.first),M(a=R())&&(o.buttonBarTemplate=a.first),M(a=R())&&(o.templates=a)}},viewQuery:function(n,o){if(n&1&&xt(T9,5)(D9,5),n&2){let r;M(r=R())&&(o.inputfieldViewChild=r.first),M(r=R())&&(o.content=r.first)}},hostVars:4,hostBindings:function(n,o){n&2&&(lt(o.sx("root")),D(o.cn(o.cx("root"),o.styleClass)))},inputs:{iconDisplay:"iconDisplay",styleClass:"styleClass",inputStyle:"inputStyle",inputId:"inputId",inputStyleClass:"inputStyleClass",placeholder:"placeholder",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",iconAriaLabel:"iconAriaLabel",dateFormat:"dateFormat",multipleSeparator:"multipleSeparator",rangeSeparator:"rangeSeparator",inline:[2,"inline","inline",S],showOtherMonths:[2,"showOtherMonths","showOtherMonths",S],selectOtherMonths:[2,"selectOtherMonths","selectOtherMonths",S],showIcon:[2,"showIcon","showIcon",S],icon:"icon",readonlyInput:[2,"readonlyInput","readonlyInput",S],shortYearCutoff:"shortYearCutoff",hourFormat:"hourFormat",timeOnly:[2,"timeOnly","timeOnly",S],stepHour:[2,"stepHour","stepHour",xe],stepMinute:[2,"stepMinute","stepMinute",xe],stepSecond:[2,"stepSecond","stepSecond",xe],showSeconds:[2,"showSeconds","showSeconds",S],showOnFocus:[2,"showOnFocus","showOnFocus",S],showWeek:[2,"showWeek","showWeek",S],startWeekFromFirstDayOfYear:"startWeekFromFirstDayOfYear",showClear:[2,"showClear","showClear",S],dataType:"dataType",selectionMode:"selectionMode",maxDateCount:[2,"maxDateCount","maxDateCount",xe],showButtonBar:[2,"showButtonBar","showButtonBar",S],todayButtonStyleClass:"todayButtonStyleClass",clearButtonStyleClass:"clearButtonStyleClass",autofocus:[2,"autofocus","autofocus",S],autoZIndex:[2,"autoZIndex","autoZIndex",S],baseZIndex:[2,"baseZIndex","baseZIndex",xe],panelStyleClass:"panelStyleClass",panelStyle:"panelStyle",keepInvalid:[2,"keepInvalid","keepInvalid",S],hideOnDateTimeSelect:[2,"hideOnDateTimeSelect","hideOnDateTimeSelect",S],touchUI:[2,"touchUI","touchUI",S],timeSeparator:"timeSeparator",focusTrap:[2,"focusTrap","focusTrap",S],showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",tabindex:[2,"tabindex","tabindex",xe],minDate:"minDate",maxDate:"maxDate",disabledDates:"disabledDates",disabledDays:"disabledDays",showTime:"showTime",responsiveOptions:"responsiveOptions",numberOfMonths:"numberOfMonths",firstDayOfWeek:"firstDayOfWeek",view:"view",defaultDate:"defaultDate",appendTo:[1,"appendTo"],motionOptions:[1,"motionOptions"]},outputs:{onFocus:"onFocus",onBlur:"onBlur",onClose:"onClose",onSelect:"onSelect",onClear:"onClear",onInput:"onInput",onTodayClick:"onTodayClick",onClearClick:"onClearClick",onMonthChange:"onMonthChange",onYearChange:"onYearChange",onClickOutside:"onClickOutside",onShow:"onShow"},features:[ne([Dj,oD,{provide:rD,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],ngContentSelectors:I9,decls:11,vars:17,consts:[["contentWrapper",""],["inputfield",""],["icon",""],[3,"ngIf"],["name","p-anchored-overlay",3,"onBeforeEnter","onAfterLeave","visible","appear","options"],[3,"click","ngStyle","pBind"],[4,"ngTemplateOutlet"],[4,"ngIf"],[3,"class","pBind",4,"ngIf"],["pInputText","","data-p-maskable","","type","text","role","combobox","aria-autocomplete","none","aria-haspopup","dialog","autocomplete","off",3,"focus","keydown","click","blur","input","pSize","value","ngStyle","pAutoFocus","variant","fluid","invalid","pt","unstyled"],["type","button","aria-haspopup","dialog","tabindex","0",3,"class","disabled","pBind","click",4,"ngIf"],["data-p-icon","times",3,"class","pBind","click",4,"ngIf"],[3,"class","pBind","click",4,"ngIf"],["data-p-icon","times",3,"click","pBind"],[3,"click","pBind"],["type","button","aria-haspopup","dialog","tabindex","0",3,"click","disabled","pBind"],[3,"ngClass","pBind",4,"ngIf"],[3,"ngClass","pBind"],["data-p-icon","calendar",3,"pBind",4,"ngIf"],["data-p-icon","calendar",3,"pBind"],[3,"pBind"],["data-p-icon","calendar",3,"class","pBind","click",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["data-p-icon","calendar",3,"click","pBind"],[3,"class","pBind",4,"ngFor","ngForOf"],["rounded","","variant","text","severity","secondary","type","button",3,"keydown","onClick","styleClass","ngStyle","ariaLabel","pt"],["type","button","pRipple","",3,"class","pBind","click","keydown",4,"ngIf"],["rounded","","variant","text","severity","secondary",3,"keydown","onClick","styleClass","ngStyle","ariaLabel","pt"],["role","grid",3,"class","pBind",4,"ngIf"],["data-p-icon","chevron-left",4,"ngIf"],["data-p-icon","chevron-left"],["type","button","pRipple","",3,"click","keydown","pBind"],["data-p-icon","chevron-right",4,"ngIf"],["data-p-icon","chevron-right"],["role","grid",3,"pBind"],["scope","col",3,"class","pBind",4,"ngFor","ngForOf"],[3,"pBind",4,"ngFor","ngForOf"],["scope","col",3,"pBind"],["draggable","false","pRipple","",3,"click","keydown","ngClass","pBind"],["class","p-hidden-accessible","aria-live","polite",4,"ngIf"],["aria-live","polite",1,"p-hidden-accessible"],["pRipple","",3,"class","pBind","click","keydown",4,"ngFor","ngForOf"],["pRipple","",3,"click","keydown","pBind"],["rounded","","variant","text","severity","secondary",3,"keydown","keydown.enter","keydown.space","mousedown","mouseup","keyup.enter","keyup.space","mouseleave","styleClass","pt"],[1,"p-datepicker-separator",3,"pBind"],["data-p-icon","chevron-up",3,"pBind",4,"ngIf"],["data-p-icon","chevron-up",3,"pBind"],["data-p-icon","chevron-down",3,"pBind",4,"ngIf"],["data-p-icon","chevron-down",3,"pBind"],["text","","rounded","","severity","secondary",3,"keydown","onClick","keydown.enter","styleClass","pt"],["text","","rounded","","severity","secondary",3,"keydown","click","keydown.enter","styleClass","pt"],["size","small","severity","secondary","variant","text","size","small",3,"keydown","onClick","styleClass","label","ngClass","pt"]],template:function(n,o){n&1&&(st(E9),_(0,q9,5,28,"ng-template",3),b(1,"p-motion",4),I("onBeforeEnter",function(a){return o.onOverlayBeforeEnter(a)})("onAfterLeave",function(a){return o.onOverlayAfterLeave(a)}),b(2,"div",5,0),I("click",function(a){return o.onOverlayClick(a)}),et(4),_(5,K9,1,0,"ng-container",6)(6,Mz,5,6,"ng-container",7)(7,mj,28,38,"div",8)(8,vj,3,4,"div",8),et(9,1),_(10,Cj,1,0,"ng-container",6),y()()),n&2&&(p("ngIf",!o.inline),f(),p("visible",o.inline||o.overlayVisible)("appear",!o.inline)("options",o.computedMotionOptions()),f(),D(o.cn(o.cx("panel"),o.panelStyleClass)),p("ngStyle",o.panelStyle)("pBind",o.ptm("panel")),N("id",o.panelId)("aria-label",o.getTranslation("chooseDate"))("role",o.inline?null:"dialog")("aria-modal",o.inline?null:"true"),f(3),p("ngTemplateOutlet",o.headerTemplate||o._headerTemplate),f(),p("ngIf",!o.timeOnly),f(),p("ngIf",(o.showTime||o.timeOnly)&&o.currentView==="date"),f(),p("ngIf",o.showButtonBar),f(2),p("ngTemplateOutlet",o.footerTemplate||o._footerTemplate))},dependencies:[De,xn,Hn,ot,qe,Jt,So,Oi,wT,xT,TT,Ru,Io,CT,Ri,ko,re,rt,U,Mo,fl],encapsulation:2,changeDetection:0})}return t})(),sD=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[aD,re,re]})}return t})();var Ej=["data-p-icon","filter-fill"],lD=(()=>{class t extends oe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["","data-p-icon","filter-fill"]],features:[A],attrs:Ej,decls:1,vars:0,consts:[["d","M13.7274 0.33847C13.6228 0.130941 13.4095 0 13.1764 0H0.82351C0.590451 0 0.377157 0.130941 0.272568 0.33847C0.167157 0.545999 0.187746 0.795529 0.325275 0.98247L4.73527 6.99588V13.3824C4.73527 13.7233 5.01198 14 5.35292 14H8.64704C8.98798 14 9.26469 13.7233 9.26469 13.3824V6.99588L13.6747 0.98247C13.8122 0.795529 13.8328 0.545999 13.7274 0.33847Z","fill","currentColor"]],template:function(n,o){n&1&&(j(),J(0,"path",0))},encapsulation:2})}return t})();var cD=` + .p-inputnumber { + display: inline-flex; + position: relative; + } + + .p-inputnumber-button { + display: flex; + align-items: center; + justify-content: center; + flex: 0 0 auto; + cursor: pointer; + background: dt('inputnumber.button.background'); + color: dt('inputnumber.button.color'); + width: dt('inputnumber.button.width'); + transition: + background dt('inputnumber.transition.duration'), + color dt('inputnumber.transition.duration'), + border-color dt('inputnumber.transition.duration'), + outline-color dt('inputnumber.transition.duration'); + } + + .p-inputnumber-button:disabled { + cursor: auto; + } + + .p-inputnumber-button:not(:disabled):hover { + background: dt('inputnumber.button.hover.background'); + color: dt('inputnumber.button.hover.color'); + } + + .p-inputnumber-button:not(:disabled):active { + background: dt('inputnumber.button.active.background'); + color: dt('inputnumber.button.active.color'); + } + + .p-inputnumber-stacked .p-inputnumber-button { + position: relative; + flex: 1 1 auto; + border: 0 none; + } + + .p-inputnumber-stacked .p-inputnumber-button-group { + display: flex; + flex-direction: column; + position: absolute; + inset-block-start: 1px; + inset-inline-end: 1px; + height: calc(100% - 2px); + z-index: 1; + } + + .p-inputnumber-stacked .p-inputnumber-increment-button { + padding: 0; + border-start-end-radius: calc(dt('inputnumber.button.border.radius') - 1px); + } + + .p-inputnumber-stacked .p-inputnumber-decrement-button { + padding: 0; + border-end-end-radius: calc(dt('inputnumber.button.border.radius') - 1px); + } + + .p-inputnumber-stacked .p-inputnumber-input { + padding-inline-end: calc(dt('inputnumber.button.width') + dt('form.field.padding.x')); + } + + .p-inputnumber-horizontal .p-inputnumber-button { + border: 1px solid dt('inputnumber.button.border.color'); + } + + .p-inputnumber-horizontal .p-inputnumber-button:hover { + border-color: dt('inputnumber.button.hover.border.color'); + } + + .p-inputnumber-horizontal .p-inputnumber-button:active { + border-color: dt('inputnumber.button.active.border.color'); + } + + .p-inputnumber-horizontal .p-inputnumber-increment-button { + order: 3; + border-start-end-radius: dt('inputnumber.button.border.radius'); + border-end-end-radius: dt('inputnumber.button.border.radius'); + border-inline-start: 0 none; + } + + .p-inputnumber-horizontal .p-inputnumber-input { + order: 2; + border-radius: 0; + } + + .p-inputnumber-horizontal .p-inputnumber-decrement-button { + order: 1; + border-start-start-radius: dt('inputnumber.button.border.radius'); + border-end-start-radius: dt('inputnumber.button.border.radius'); + border-inline-end: 0 none; + } + + .p-floatlabel:has(.p-inputnumber-horizontal) label { + margin-inline-start: dt('inputnumber.button.width'); + } + + .p-inputnumber-vertical { + flex-direction: column; + } + + .p-inputnumber-vertical .p-inputnumber-button { + border: 1px solid dt('inputnumber.button.border.color'); + padding: dt('inputnumber.button.vertical.padding'); + } + + .p-inputnumber-vertical .p-inputnumber-button:hover { + border-color: dt('inputnumber.button.hover.border.color'); + } + + .p-inputnumber-vertical .p-inputnumber-button:active { + border-color: dt('inputnumber.button.active.border.color'); + } + + .p-inputnumber-vertical .p-inputnumber-increment-button { + order: 1; + border-start-start-radius: dt('inputnumber.button.border.radius'); + border-start-end-radius: dt('inputnumber.button.border.radius'); + width: 100%; + border-block-end: 0 none; + } + + .p-inputnumber-vertical .p-inputnumber-input { + order: 2; + border-radius: 0; + text-align: center; + } + + .p-inputnumber-vertical .p-inputnumber-decrement-button { + order: 3; + border-end-start-radius: dt('inputnumber.button.border.radius'); + border-end-end-radius: dt('inputnumber.button.border.radius'); + width: 100%; + border-block-start: 0 none; + } + + .p-inputnumber-input { + flex: 1 1 auto; + } + + .p-inputnumber-fluid { + width: 100%; + } + + .p-inputnumber-fluid .p-inputnumber-input { + width: 1%; + } + + .p-inputnumber-fluid.p-inputnumber-vertical .p-inputnumber-input { + width: 100%; + } + + .p-inputnumber:has(.p-inputtext-sm) .p-inputnumber-button .p-icon { + font-size: dt('form.field.sm.font.size'); + width: dt('form.field.sm.font.size'); + height: dt('form.field.sm.font.size'); + } + + .p-inputnumber:has(.p-inputtext-lg) .p-inputnumber-button .p-icon { + font-size: dt('form.field.lg.font.size'); + width: dt('form.field.lg.font.size'); + height: dt('form.field.lg.font.size'); + } + + .p-inputnumber-clear-icon { + position: absolute; + top: 50%; + margin-top: -0.5rem; + cursor: pointer; + inset-inline-end: dt('form.field.padding.x'); + color: dt('form.field.icon.color'); + } + + .p-inputnumber:has(.p-inputnumber-clear-icon) .p-inputnumber-input { + padding-inline-end: calc((dt('form.field.padding.x') * 2) + dt('icon.size')); + } + + .p-inputnumber-stacked .p-inputnumber-clear-icon { + inset-inline-end: calc(dt('inputnumber.button.width') + dt('form.field.padding.x')); + } + + .p-inputnumber-stacked:has(.p-inputnumber-clear-icon) .p-inputnumber-input { + padding-inline-end: calc(dt('inputnumber.button.width') + (dt('form.field.padding.x') * 2) + dt('icon.size')); + } + + .p-inputnumber-horizontal .p-inputnumber-clear-icon { + inset-inline-end: calc(dt('inputnumber.button.width') + dt('form.field.padding.x')); + } +`;var Ij=["clearicon"],Sj=["incrementbuttonicon"],kj=["decrementbuttonicon"],Mj=["input"];function Rj(t,i){if(t&1){let e=$();j(),b(0,"svg",7),I("click",function(){C(e);let o=d(2);return w(o.clear())}),y()}if(t&2){let e=d(2);D(e.cx("clearIcon")),p("pBind",e.ptm("clearIcon"))}}function Oj(t,i){}function Aj(t,i){t&1&&_(0,Oj,0,0,"ng-template")}function Nj(t,i){if(t&1){let e=$();b(0,"span",8),I("click",function(){C(e);let o=d(2);return w(o.clear())}),_(1,Aj,1,0,null,9),y()}if(t&2){let e=d(2);D(e.cx("clearIcon")),p("pBind",e.ptm("clearIcon")),f(),p("ngTemplateOutlet",e.clearIconTemplate||e._clearIconTemplate)}}function Fj(t,i){if(t&1&&(q(0),_(1,Rj,1,3,"svg",5)(2,Nj,2,4,"span",6),K()),t&2){let e=d();f(),p("ngIf",!e.clearIconTemplate&&!e._clearIconTemplate),f(),p("ngIf",e.clearIconTemplate||e._clearIconTemplate)}}function Pj(t,i){if(t&1&&W(0,"span",13),t&2){let e=d(2);p("pBind",e.ptm("incrementButtonIcon"))("ngClass",e.incrementButtonIcon)}}function Lj(t,i){if(t&1&&(j(),W(0,"svg",15)),t&2){let e=d(3);p("pBind",e.ptm("incrementButtonIcon"))}}function Bj(t,i){}function Vj(t,i){t&1&&_(0,Bj,0,0,"ng-template")}function zj(t,i){if(t&1&&(q(0),_(1,Lj,1,1,"svg",14)(2,Vj,1,0,null,9),K()),t&2){let e=d(2);f(),p("ngIf",!e.incrementButtonIconTemplate&&!e._incrementButtonIconTemplate),f(),p("ngTemplateOutlet",e.incrementButtonIconTemplate||e._incrementButtonIconTemplate)}}function jj(t,i){if(t&1&&W(0,"span",13),t&2){let e=d(2);p("pBind",e.ptm("decrementButtonIcon"))("ngClass",e.decrementButtonIcon)}}function Hj(t,i){if(t&1&&(j(),W(0,"svg",17)),t&2){let e=d(3);p("pBind",e.ptm("decrementButtonIcon"))}}function $j(t,i){}function Uj(t,i){t&1&&_(0,$j,0,0,"ng-template")}function Wj(t,i){if(t&1&&(q(0),_(1,Hj,1,1,"svg",16)(2,Uj,1,0,null,9),K()),t&2){let e=d(2);f(),p("ngIf",!e.decrementButtonIconTemplate&&!e._decrementButtonIconTemplate),f(),p("ngTemplateOutlet",e.decrementButtonIconTemplate||e._decrementButtonIconTemplate)}}function Gj(t,i){if(t&1){let e=$();b(0,"span",10)(1,"button",11),I("mousedown",function(o){C(e);let r=d();return w(r.onUpButtonMouseDown(o))})("mouseup",function(){C(e);let o=d();return w(o.onUpButtonMouseUp())})("mouseleave",function(){C(e);let o=d();return w(o.onUpButtonMouseLeave())})("keydown",function(o){C(e);let r=d();return w(r.onUpButtonKeyDown(o))})("keyup",function(){C(e);let o=d();return w(o.onUpButtonKeyUp())}),_(2,Pj,1,2,"span",12)(3,zj,3,2,"ng-container",2),y(),b(4,"button",11),I("mousedown",function(o){C(e);let r=d();return w(r.onDownButtonMouseDown(o))})("mouseup",function(){C(e);let o=d();return w(o.onDownButtonMouseUp())})("mouseleave",function(){C(e);let o=d();return w(o.onDownButtonMouseLeave())})("keydown",function(o){C(e);let r=d();return w(r.onDownButtonKeyDown(o))})("keyup",function(){C(e);let o=d();return w(o.onDownButtonKeyUp())}),_(5,jj,1,2,"span",12)(6,Wj,3,2,"ng-container",2),y()()}if(t&2){let e=d();D(e.cx("buttonGroup")),p("pBind",e.ptm("buttonGroup")),N("data-p",e.dataP),f(),D(e.cn(e.cx("incrementButton"),e.incrementButtonClass)),p("pBind",e.ptm("incrementButton")),N("disabled",e.$disabled()?"":void 0)("aria-hidden",!0)("data-p",e.dataP),f(),p("ngIf",e.incrementButtonIcon),f(),p("ngIf",!e.incrementButtonIcon),f(),D(e.cn(e.cx("decrementButton"),e.decrementButtonClass)),p("pBind",e.ptm("decrementButton")),N("disabled",e.$disabled()?"":void 0)("aria-hidden",!0)("data-p",e.dataP),f(),p("ngIf",e.decrementButtonIcon),f(),p("ngIf",!e.decrementButtonIcon)}}function qj(t,i){if(t&1&&W(0,"span",13),t&2){let e=d(2);p("pBind",e.ptm("incrementButtonIcon"))("ngClass",e.incrementButtonIcon)}}function Kj(t,i){if(t&1&&(j(),W(0,"svg",15)),t&2){let e=d(3);p("pBind",e.ptm("incrementButtonIcon"))}}function Yj(t,i){}function Qj(t,i){t&1&&_(0,Yj,0,0,"ng-template")}function Zj(t,i){if(t&1&&(q(0),_(1,Kj,1,1,"svg",14)(2,Qj,1,0,null,9),K()),t&2){let e=d(2);f(),p("ngIf",!e.incrementButtonIconTemplate&&!e._incrementButtonIconTemplate),f(),p("ngTemplateOutlet",e.incrementButtonIconTemplate||e._incrementButtonIconTemplate)}}function Xj(t,i){if(t&1){let e=$();b(0,"button",11),I("mousedown",function(o){C(e);let r=d();return w(r.onUpButtonMouseDown(o))})("mouseup",function(){C(e);let o=d();return w(o.onUpButtonMouseUp())})("mouseleave",function(){C(e);let o=d();return w(o.onUpButtonMouseLeave())})("keydown",function(o){C(e);let r=d();return w(r.onUpButtonKeyDown(o))})("keyup",function(){C(e);let o=d();return w(o.onUpButtonKeyUp())}),_(1,qj,1,2,"span",12)(2,Zj,3,2,"ng-container",2),y()}if(t&2){let e=d();D(e.cn(e.cx("incrementButton"),e.incrementButtonClass)),p("pBind",e.ptm("incrementButton")),N("disabled",e.$disabled()?"":void 0)("aria-hidden",!0)("data-p",e.dataP),f(),p("ngIf",e.incrementButtonIcon),f(),p("ngIf",!e.incrementButtonIcon)}}function Jj(t,i){if(t&1&&W(0,"span",13),t&2){let e=d(2);p("pBind",e.ptm("decrementButtonIcon"))("ngClass",e.decrementButtonIcon)}}function eH(t,i){if(t&1&&(j(),W(0,"svg",17)),t&2){let e=d(3);p("pBind",e.ptm("decrementButtonIcon"))}}function tH(t,i){}function nH(t,i){t&1&&_(0,tH,0,0,"ng-template")}function iH(t,i){if(t&1&&(q(0),_(1,eH,1,1,"svg",16)(2,nH,1,0,null,9),K()),t&2){let e=d(2);f(),p("ngIf",!e.decrementButtonIconTemplate&&!e._decrementButtonIconTemplate),f(),p("ngTemplateOutlet",e.decrementButtonIconTemplate||e._decrementButtonIconTemplate)}}function oH(t,i){if(t&1){let e=$();b(0,"button",11),I("mousedown",function(o){C(e);let r=d();return w(r.onDownButtonMouseDown(o))})("mouseup",function(){C(e);let o=d();return w(o.onDownButtonMouseUp())})("mouseleave",function(){C(e);let o=d();return w(o.onDownButtonMouseLeave())})("keydown",function(o){C(e);let r=d();return w(r.onDownButtonKeyDown(o))})("keyup",function(){C(e);let o=d();return w(o.onDownButtonKeyUp())}),_(1,Jj,1,2,"span",12)(2,iH,3,2,"ng-container",2),y()}if(t&2){let e=d();D(e.cn(e.cx("decrementButton"),e.decrementButtonClass)),p("pBind",e.ptm("decrementButton")),N("disabled",e.$disabled()?"":void 0)("aria-hidden",!0)("data-p",e.dataP),f(),p("ngIf",e.decrementButtonIcon),f(),p("ngIf",!e.decrementButtonIcon)}}var rH=` + ${cD} + + /* For PrimeNG */ + p-inputNumber.ng-invalid.ng-dirty > .p-inputtext, + p-input-number.ng-invalid.ng-dirty > .p-inputtext, + p-inputnumber.ng-invalid.ng-dirty > .p-inputtext { + border-color: dt('inputtext.invalid.border.color'); + } + + p-inputNumber.ng-invalid.ng-dirty > .p-inputtext:enabled:focus, + p-input-number.ng-invalid.ng-dirty > .p-inputtext:enabled:focus, + p-inputnumber.ng-invalid.ng-dirty > .p-inputtext:enabled:focus { + border-color: dt('inputtext.focus.border.color'); + } + + p-inputNumber.ng-invalid.ng-dirty > .p-inputtext::placeholder, + p-input-number.ng-invalid.ng-dirty > .p-inputtext::placeholder, + p-inputnumber.ng-invalid.ng-dirty > .p-inputtext::placeholder { + color: dt('inputtext.invalid.placeholder.color'); + } +`,aH={root:({instance:t})=>["p-inputnumber p-component p-inputwrapper",{"p-inputwrapper-filled":t.$filled()||t.allowEmpty===!1,"p-inputwrapper-focus":t.focused,"p-inputnumber-stacked":t.showButtons&&t.buttonLayout==="stacked","p-inputnumber-horizontal":t.showButtons&&t.buttonLayout==="horizontal","p-inputnumber-vertical":t.showButtons&&t.buttonLayout==="vertical","p-inputnumber-fluid":t.hasFluid,"p-invalid":t.invalid()}],pcInputText:"p-inputnumber-input",buttonGroup:"p-inputnumber-button-group",incrementButton:({instance:t})=>["p-inputnumber-button p-inputnumber-increment-button",{"p-disabled":t.showButtons&&t.max()!=null&&t.maxlength()}],decrementButton:({instance:t})=>["p-inputnumber-button p-inputnumber-decrement-button",{"p-disabled":t.showButtons&&t.min()!=null&&t.minlength()}],clearIcon:"p-inputnumber-clear-icon"},dD=(()=>{class t extends fe{name="inputnumber";style=rH;classes=aH;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var uD=new B("INPUTNUMBER_INSTANCE"),sH={provide:Ht,useExisting:at(()=>Ea),multi:!0},Ea=(()=>{class t extends Da{injector;componentName="InputNumber";$pcInputNumber=v(uD,{optional:!0,skipSelf:!0})??void 0;_componentStyle=v(dD);bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}showButtons=!1;format=!0;buttonLayout="stacked";inputId;styleClass;placeholder;tabindex;title;ariaLabelledBy;ariaDescribedBy;ariaLabel;ariaRequired;autocomplete;incrementButtonClass;decrementButtonClass;incrementButtonIcon;decrementButtonIcon;readonly;allowEmpty=!0;locale;localeMatcher;mode="decimal";currency;currencyDisplay;useGrouping=!0;minFractionDigits;maxFractionDigits;prefix;suffix;inputStyle;inputStyleClass;showClear=!1;autofocus;onInput=new P;onFocus=new P;onBlur=new P;onKeyDown=new P;onClear=new P;clearIconTemplate;incrementButtonIconTemplate;decrementButtonIconTemplate;templates;input;_clearIconTemplate;_incrementButtonIconTemplate;_decrementButtonIconTemplate;value;focused;initialized;groupChar="";prefixChar="";suffixChar="";isSpecialChar;timer;lastValue;_numeral;numberFormat;_decimal;_decimalChar="";_group;_minusSign;_currency;_prefix;_suffix;_index;ngControl=null;constructor(e){super(),this.injector=e}onChanges(e){["locale","localeMatcher","mode","currency","currencyDisplay","useGrouping","minFractionDigits","maxFractionDigits","prefix","suffix"].some(o=>!!e[o])&&this.updateConstructParser()}onInit(){this.ngControl=this.injector.get(Mn,null,{optional:!0}),this.constructParser(),this.initialized=!0}onAfterContentInit(){this.templates.forEach(e=>{switch(e.getType()){case"clearicon":this._clearIconTemplate=e.template;break;case"incrementbuttonicon":this._incrementButtonIconTemplate=e.template;break;case"decrementbuttonicon":this._decrementButtonIconTemplate=e.template;break}})}getOptions(){let e=(a,s,l)=>{if(!(a==null||isNaN(a)||!isFinite(a)))return Math.max(s,Math.min(l,Math.floor(a)))},n=e(this.minFractionDigits,0,20),o=e(this.maxFractionDigits,0,100),r=n!=null&&o!=null&&n>o?o:n;return{localeMatcher:this.localeMatcher,style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,useGrouping:this.useGrouping,minimumFractionDigits:r,maximumFractionDigits:o}}constructParser(){let e=this.getOptions(),n=Object.fromEntries(Object.entries(e).filter(([a,s])=>s!==void 0));this.numberFormat=new Intl.NumberFormat(this.locale,n);let o=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),r=new Map(o.map((a,s)=>[a,s]));this._numeral=new RegExp(`[${o.join("")}]`,"g"),this._group=this.getGroupingExpression(),this._minusSign=this.getMinusSignExpression(),this._currency=this.getCurrencyExpression(),this._decimal=this.getDecimalExpression(),this._decimalChar=this.getDecimalChar(),this._suffix=this.getSuffixExpression(),this._prefix=this.getPrefixExpression(),this._index=a=>r.get(a)}updateConstructParser(){this.initialized&&this.constructParser()}escapeRegExp(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}getDecimalExpression(){let e=this.getDecimalChar();return new RegExp(`[${e}]`,"g")}getDecimalChar(){return new Intl.NumberFormat(this.locale,ie(T({},this.getOptions()),{useGrouping:!1})).format(1.1).replace(this._currency,"").trim().replace(this._numeral,"")}getGroupingExpression(){let e=new Intl.NumberFormat(this.locale,{useGrouping:!0});return this.groupChar=e.format(1e6).trim().replace(this._numeral,"").charAt(0),new RegExp(`[${this.groupChar}]`,"g")}getMinusSignExpression(){let e=new Intl.NumberFormat(this.locale,{useGrouping:!1});return new RegExp(`[${e.format(-1).trim().replace(this._numeral,"")}]`,"g")}getCurrencyExpression(){if(this.currency){let e=new Intl.NumberFormat(this.locale,{style:"currency",currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});return new RegExp(`[${e.format(1).replace(/\s/g,"").replace(this._numeral,"").replace(this._group,"")}]`,"g")}return new RegExp("[]","g")}getPrefixExpression(){if(this.prefix)this.prefixChar=this.prefix;else{let e=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay});this.prefixChar=e.format(1).split("1")[0]}return new RegExp(`${this.escapeRegExp(this.prefixChar||"")}`,"g")}getSuffixExpression(){if(this.suffix)this.suffixChar=this.suffix;else{let e=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});this.suffixChar=e.format(1).split("1")[1]}return new RegExp(`${this.escapeRegExp(this.suffixChar||"")}`,"g")}formatValue(e){if(e!=null){if(e==="-")return e;if(this.format){let o=new Intl.NumberFormat(this.locale,this.getOptions()).format(e);return this.prefix&&e!=this.prefix&&(o=this.prefix+o),this.suffix&&e!=this.suffix&&(o=o+this.suffix),o}return e.toString()}return""}parseValue(e){let n=this._suffix?new RegExp(this._suffix,""):/(?:)/,o=this._prefix?new RegExp(this._prefix,""):/(?:)/,r=this._currency?new RegExp(this._currency,""):/(?:)/,a=e.replace(n,"").replace(o,"").trim().replace(/\s/g,"").replace(r,"").replace(this._group,"").replace(this._minusSign,"-").replace(this._decimal,".").replace(this._numeral,this._index);if(a){if(a==="-")return a;let s=+a;return isNaN(s)?null:s}return null}repeat(e,n,o){if(this.readonly)return;let r=n||500;this.clearTimer(),this.timer=setTimeout(()=>{this.repeat(e,40,o)},r),this.spin(e,o)}spin(e,n){let o=(this.step()??1)*n,r=this.parseValue(this.input?.nativeElement.value)||0,a=this.validateValue(r+o),s=this.maxlength();s&&s=0;s--)if(this.isNumeralChar(r.charAt(s))){this.input.nativeElement.setSelectionRange(s,s);break}break;case"Tab":case"Enter":a=this.validateValue(this.parseValue(this.input.nativeElement.value)),this.input.nativeElement.value=this.formatValue(a),this.input.nativeElement.setAttribute("aria-valuenow",a),this.updateModel(e,a);break;case"Backspace":{if(e.preventDefault(),n===o){if(n==1&&this.prefix||n==r.length&&this.suffix)break;let s=r.charAt(n-1),{decimalCharIndex:l,decimalCharIndexWithoutPrefix:c}=this.getDecimalCharIndexes(r);if(this.isNumeralChar(s)){let u=this.getDecimalLength(r);if(this._group.test(s))this._group.lastIndex=0,a=r.slice(0,n-2)+r.slice(n-1);else if(this._decimal.test(s))this._decimal.lastIndex=0,u?this.input?.nativeElement.setSelectionRange(n-1,n-1):a=r.slice(0,n-1)+r.slice(n);else if(l>0&&n>l){let h=this.isDecimalMode()&&(this.minFractionDigits||0)0?a:""):a=r.slice(0,n-1)+r.slice(n)}else this.mode==="currency"&&this._currency&&s.search(this._currency)!=-1&&(a=r.slice(1));this.updateValue(e,a,null,"delete-single")}else a=this.deleteRange(r,n,o),this.updateValue(e,a,null,"delete-range");break}case"Delete":if(e.preventDefault(),n===o){if(n==0&&this.prefix||n==r.length-1&&this.suffix)break;let s=r.charAt(n),{decimalCharIndex:l,decimalCharIndexWithoutPrefix:c}=this.getDecimalCharIndexes(r);if(this.isNumeralChar(s)){let u=this.getDecimalLength(r);if(this._group.test(s))this._group.lastIndex=0,a=r.slice(0,n)+r.slice(n+2);else if(this._decimal.test(s))this._decimal.lastIndex=0,u?this.input?.nativeElement.setSelectionRange(n+1,n+1):a=r.slice(0,n)+r.slice(n+1);else if(l>0&&n>l){let h=this.isDecimalMode()&&(this.minFractionDigits||0)0?a:""):a=r.slice(0,n)+r.slice(n+1)}this.updateValue(e,a,null,"delete-back-single")}else a=this.deleteRange(r,n,o),this.updateValue(e,a,null,"delete-range");break;case"Home":this.min()&&(this.updateModel(e,this.min()),e.preventDefault());break;case"End":this.max()&&(this.updateModel(e,this.max()),e.preventDefault());break;default:break}this.onKeyDown.emit(e)}onInputKeyPress(e){if(this.readonly)return;let n=e.which||e.keyCode,o=String.fromCharCode(n),r=this.isDecimalSign(o),a=this.isMinusSign(o);n!=13&&e.preventDefault(),!r&&e.code==="NumpadDecimal"&&(r=!0,o=this._decimalChar,n=o.charCodeAt(0));let{value:s,selectionStart:l,selectionEnd:c}=this.input.nativeElement,u=this.parseValue(s+o),h=u!=null?u.toString():"",g=s.substring(l,c),m=this.parseValue(g),x=m!=null?m.toString():"";if(l!==c&&x.length>0){this.insert(e,o,{isDecimalSign:r,isMinusSign:a});return}let E=this.maxlength();E&&h.length>E||(48<=n&&n<=57||a||r)&&this.insert(e,o,{isDecimalSign:r,isMinusSign:a})}onPaste(e){if(!this.$disabled()&&!this.readonly){e.preventDefault();let n=(e.clipboardData||this.document.defaultView.clipboardData).getData("Text");if(this.inputId==="integeronly"&&/[^\d-]/.test(n))return;if(n){this.maxlength()&&(n=n.toString().substring(0,this.maxlength()));let o=this.parseValue(n);o!=null&&this.insert(e,o.toString())}}}allowMinusSign(){let e=this.min();return e==null||e<0}isMinusSign(e){return this._minusSign.test(e)||e==="-"?(this._minusSign.lastIndex=0,!0):!1}isDecimalSign(e){return this._decimal.test(e)?(this._decimal.lastIndex=0,!0):!1}isDecimalMode(){return this.mode==="decimal"}getDecimalCharIndexes(e){let n=e.search(this._decimal);this._decimal.lastIndex=0;let r=e.replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").search(this._decimal);return this._decimal.lastIndex=0,{decimalCharIndex:n,decimalCharIndexWithoutPrefix:r}}getCharIndexes(e){let n=e.search(this._decimal);this._decimal.lastIndex=0;let o=e.search(this._minusSign);this._minusSign.lastIndex=0;let r=e.search(this._suffix);this._suffix.lastIndex=0;let a=e.search(this._currency);return this._currency.lastIndex=0,{decimalCharIndex:n,minusCharIndex:o,suffixCharIndex:r,currencyCharIndex:a}}insert(e,n,o={isDecimalSign:!1,isMinusSign:!1}){let r=n.search(this._minusSign);if(this._minusSign.lastIndex=0,!this.allowMinusSign()&&r!==-1)return;let a=this.input?.nativeElement.selectionStart,s=this.input?.nativeElement.selectionEnd,l=this.input?.nativeElement.value.trim(),{decimalCharIndex:c,minusCharIndex:u,suffixCharIndex:h,currencyCharIndex:g}=this.getCharIndexes(l),m;if(o.isMinusSign)a===0&&(m=l,(u===-1||s!==0)&&(m=this.insertText(l,n,0,s)),this.updateValue(e,m,n,"insert"));else if(o.isDecimalSign)c>0&&a===c?this.updateValue(e,l,n,"insert"):c>a&&c0&&a>c){if(a+n.length-(c+1)<=x){let k=g>=a?g-1:h>=a?h:l.length;m=l.slice(0,a)+n+l.slice(a+n.length,k)+l.slice(k),this.updateValue(e,m,n,E)}}else m=this.insertText(l,n,a,s),this.updateValue(e,m,n,E)}}insertText(e,n,o,r){if((n==="."?n:n.split(".")).length===2){let s=e.slice(o,r).search(this._decimal);return this._decimal.lastIndex=0,s>0?e.slice(0,o)+this.formatValue(n)+e.slice(r):e||this.formatValue(n)}else return r-o===e.length?this.formatValue(n):o===0?n+e.slice(r):r===e.length?e.slice(0,o)+n:e.slice(0,o)+n+e.slice(r)}deleteRange(e,n,o){let r;return o-n===e.length?r="":n===0?r=e.slice(o):o===e.length?r=e.slice(0,n):r=e.slice(0,n)+e.slice(o),r}initCursor(){let e=this.input?.nativeElement.selectionStart,n=this.input?.nativeElement.selectionEnd,o=this.input?.nativeElement.value,r=o.length,a=null,s=(this.prefixChar||"").length;o=o.replace(this._prefix,""),(e===n||e!==0||n=0;)if(l=o.charAt(c),this.isNumeralChar(l)){a=c+s;break}else c--;if(a!==null)this.input?.nativeElement.setSelectionRange(a+1,a+1);else{for(c=e;co?o:e}updateInput(e,n,o,r){n=n||"";let a=this.input?.nativeElement.value,s=this.formatValue(e),l=a.length;if(s!==r&&(s=this.concatValues(s,r)),l===0){this.input.nativeElement.value=s,this.input.nativeElement.setSelectionRange(0,0);let u=this.initCursor()+n.length;this.input.nativeElement.setSelectionRange(u,u)}else{let c=this.input.nativeElement.selectionStart,u=this.input.nativeElement.selectionEnd,h=this.maxlength();if(h&&s.length>h&&(s=s.slice(0,h),c=Math.min(c,h),u=Math.min(u,h)),h&&hxe(e,void 0)],maxFractionDigits:[2,"maxFractionDigits","maxFractionDigits",e=>xe(e,void 0)],prefix:"prefix",suffix:"suffix",inputStyle:"inputStyle",inputStyleClass:"inputStyleClass",showClear:[2,"showClear","showClear",S],autofocus:[2,"autofocus","autofocus",S]},outputs:{onInput:"onInput",onFocus:"onFocus",onBlur:"onBlur",onKeyDown:"onKeyDown",onClear:"onClear"},features:[ne([sH,dD,{provide:uD,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],decls:6,vars:38,consts:[["input",""],["pInputText","","role","spinbutton","inputmode","decimal",3,"input","keydown","keypress","paste","click","focus","blur","value","ngStyle","variant","invalid","pSize","pt","unstyled","pAutoFocus","fluid"],[4,"ngIf"],[3,"pBind","class",4,"ngIf"],["type","button","tabindex","-1",3,"pBind","class","mousedown","mouseup","mouseleave","keydown","keyup",4,"ngIf"],["data-p-icon","times",3,"pBind","class","click",4,"ngIf"],[3,"pBind","class","click",4,"ngIf"],["data-p-icon","times",3,"click","pBind"],[3,"click","pBind"],[4,"ngTemplateOutlet"],[3,"pBind"],["type","button","tabindex","-1",3,"mousedown","mouseup","mouseleave","keydown","keyup","pBind"],[3,"pBind","ngClass",4,"ngIf"],[3,"pBind","ngClass"],["data-p-icon","angle-up",3,"pBind",4,"ngIf"],["data-p-icon","angle-up",3,"pBind"],["data-p-icon","angle-down",3,"pBind",4,"ngIf"],["data-p-icon","angle-down",3,"pBind"]],template:function(n,o){n&1&&(b(0,"input",1,0),I("input",function(a){return o.onUserInput(a)})("keydown",function(a){return o.onInputKeyDown(a)})("keypress",function(a){return o.onInputKeyPress(a)})("paste",function(a){return o.onPaste(a)})("click",function(){return o.onInputClick()})("focus",function(a){return o.onInputFocus(a)})("blur",function(a){return o.onInputBlur(a)}),y(),_(2,Fj,3,2,"ng-container",2)(3,Gj,7,20,"span",3)(4,Xj,3,8,"button",4)(5,oH,3,8,"button",4)),n&2&&(D(o.cn(o.cx("pcInputText"),o.inputStyleClass)),p("value",o.formattedValue())("ngStyle",o.inputStyle)("variant",o.$variant())("invalid",o.invalid())("pSize",o.size())("pt",o.ptm("pcInputText"))("unstyled",o.unstyled())("pAutoFocus",o.autofocus)("fluid",o.hasFluid),N("id",o.inputId)("aria-valuemin",o.min())("aria-valuemax",o.max())("aria-valuenow",o.value)("placeholder",o.placeholder)("aria-label",o.ariaLabel)("aria-labelledby",o.ariaLabelledBy)("aria-describedby",o.ariaDescribedBy)("title",o.title)("size",o.inputSize())("name",o.name())("autocomplete",o.autocomplete)("maxlength",o.maxlength())("minlength",o.minlength())("tabindex",o.tabindex)("aria-required",o.ariaRequired)("min",o.min())("max",o.max())("step",o.step()??1)("required",o.required()?"":void 0)("readonly",o.readonly?"":void 0)("disabled",o.$disabled()?"":void 0)("data-p",o.dataP),f(2),p("ngIf",o.buttonLayout!="vertical"&&o.showClear&&o.value),f(),p("ngIf",o.showButtons&&o.buttonLayout==="stacked"),f(),p("ngIf",o.showButtons&&o.buttonLayout!=="stacked"),f(),p("ngIf",o.showButtons&&o.buttonLayout!=="stacked"))},dependencies:[De,xn,ot,qe,Jt,ko,Ri,Io,_T,mT,re,rt,U],encapsulation:2,changeDetection:0})}return t})(),Hu=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[Ea,re,re]})}return t})();var pD=` + .p-iconfield { + position: relative; + display: block; + } + + .p-inputicon { + position: absolute; + top: 50%; + margin-top: calc(-1 * (dt('icon.size') / 2)); + color: dt('iconfield.icon.color'); + line-height: 1; + z-index: 1; + } + + .p-iconfield .p-inputicon:first-child { + inset-inline-start: dt('form.field.padding.x'); + } + + .p-iconfield .p-inputicon:last-child { + inset-inline-end: dt('form.field.padding.x'); + } + + .p-iconfield .p-inputtext:not(:first-child), + .p-iconfield .p-inputwrapper:not(:first-child) .p-inputtext { + padding-inline-start: calc((dt('form.field.padding.x') * 2) + dt('icon.size')); + } + + .p-iconfield .p-inputtext:not(:last-child) { + padding-inline-end: calc((dt('form.field.padding.x') * 2) + dt('icon.size')); + } + + .p-iconfield:has(.p-inputfield-sm) .p-inputicon { + font-size: dt('form.field.sm.font.size'); + width: dt('form.field.sm.font.size'); + height: dt('form.field.sm.font.size'); + margin-top: calc(-1 * (dt('form.field.sm.font.size') / 2)); + } + + .p-iconfield:has(.p-inputfield-lg) .p-inputicon { + font-size: dt('form.field.lg.font.size'); + width: dt('form.field.lg.font.size'); + height: dt('form.field.lg.font.size'); + margin-top: calc(-1 * (dt('form.field.lg.font.size') / 2)); + } +`;var cH=["*"],dH={root:({instance:t})=>["p-iconfield",{"p-iconfield-left":t.iconPosition=="left","p-iconfield-right":t.iconPosition=="right"}]},fD=(()=>{class t extends fe{name="iconfield";style=pD;classes=dH;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var hD=new B("ICONFIELD_INSTANCE"),gD=(()=>{class t extends ke{componentName="IconField";hostName="";_componentStyle=v(fD);$pcIconField=v(hD,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}iconPosition="left";styleClass;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-iconfield"],["p-iconField"],["p-icon-field"]],hostVars:2,hostBindings:function(n,o){n&2&&D(o.cn(o.cx("root"),o.styleClass))},inputs:{hostName:"hostName",iconPosition:"iconPosition",styleClass:"styleClass"},features:[ne([fD,{provide:hD,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],ngContentSelectors:cH,decls:1,vars:0,template:function(n,o){n&1&&(st(),et(0))},dependencies:[De,rt],encapsulation:2,changeDetection:0})}return t})();var uH=["*"],pH={root:"p-inputicon"},mD=(()=>{class t extends fe{name="inputicon";classes=pH;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})(),bD=new B("INPUTICON_INSTANCE"),yD=(()=>{class t extends ke{componentName="InputIcon";hostName="";styleClass;_componentStyle=v(mD);$pcInputIcon=v(bD,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-inputicon"],["p-inputIcon"]],hostVars:2,hostBindings:function(n,o){n&2&&D(o.cn(o.cx("root"),o.styleClass))},inputs:{hostName:"hostName",styleClass:"styleClass"},features:[ne([mD,{provide:bD,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],ngContentSelectors:uH,decls:1,vars:0,template:function(n,o){n&1&&(st(),et(0))},dependencies:[De,re,rt],encapsulation:2,changeDetection:0})}return t})();var _D=["content"],fH=["overlay"],vD=["*","*"],hH=()=>({mode:null}),xD=t=>({$implicit:t}),gH=t=>({mode:t});function mH(t,i){t&1&&G(0)}function bH(t,i){if(t&1&&(et(0),_(1,mH,1,0,"ng-container",3)),t&2){let e=d();f(),p("ngTemplateOutlet",e.contentTemplate||e._contentTemplate)("ngTemplateOutletContext",be(3,xD,wn(2,hH)))}}function yH(t,i){t&1&&G(0)}function _H(t,i){if(t&1){let e=$();b(0,"div",5,0),I("click",function(){C(e);let o=d(2);return w(o.onOverlayClick())}),b(2,"p-motion",6),I("onBeforeEnter",function(o){C(e);let r=d(2);return w(r.onOverlayBeforeEnter(o))})("onEnter",function(o){C(e);let r=d(2);return w(r.onOverlayEnter(o))})("onAfterEnter",function(o){C(e);let r=d(2);return w(r.onOverlayAfterEnter(o))})("onBeforeLeave",function(o){C(e);let r=d(2);return w(r.onOverlayBeforeLeave(o))})("onLeave",function(o){C(e);let r=d(2);return w(r.onOverlayLeave(o))})("onAfterLeave",function(o){C(e);let r=d(2);return w(r.onOverlayAfterLeave(o))}),b(3,"div",5,1),I("click",function(o){C(e);let r=d(2);return w(r.onOverlayContentClick(o))}),et(5,1),_(6,yH,1,0,"ng-container",3),y()()()}if(t&2){let e=d(2);lt(e.sx("root")),D(e.cn(e.cx("root"),e.styleClass)),p("pBind",e.ptm("root")),f(2),p("visible",e.visible)("appear",!0)("options",e.computedMotionOptions()),f(),D(e.cn(e.cx("content"),e.contentStyleClass)),p("pBind",e.ptm("content")),f(3),p("ngTemplateOutlet",e.contentTemplate||e._contentTemplate)("ngTemplateOutletContext",be(15,xD,be(13,gH,e.overlayMode)))}}function vH(t,i){if(t&1&&_(0,_H,7,17,"div",4),t&2){let e=d();p("ngIf",e.modalVisible)}}var CH={root:()=>({position:"absolute",top:"0"})},wH=` +.p-overlay-modal { + display: flex; + align-items: center; + justify-content: center; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.p-overlay-content { + transform-origin: inherit; + will-change: transform; +} + +/* Github Issue #18560 */ +.p-component-overlay.p-component { + position: relative; +} + +.p-overlay-modal > .p-overlay-content { + z-index: 1; + width: 90%; +} + +/* Position */ +/* top */ +.p-overlay-top { + align-items: flex-start; +} +.p-overlay-top-start { + align-items: flex-start; + justify-content: flex-start; +} +.p-overlay-top-end { + align-items: flex-start; + justify-content: flex-end; +} + +/* bottom */ +.p-overlay-bottom { + align-items: flex-end; +} +.p-overlay-bottom-start { + align-items: flex-end; + justify-content: flex-start; +} +.p-overlay-bottom-end { + align-items: flex-end; + justify-content: flex-end; +} + +/* left */ +.p-overlay-left { + justify-content: flex-start; +} +.p-overlay-left-start { + justify-content: flex-start; + align-items: flex-start; +} +.p-overlay-left-end { + justify-content: flex-start; + align-items: flex-end; +} + +/* right */ +.p-overlay-right { + justify-content: flex-end; +} +.p-overlay-right-start { + justify-content: flex-end; + align-items: flex-start; +} +.p-overlay-right-end { + justify-content: flex-end; + align-items: flex-end; +} + +.p-overlay-content ~ .p-overlay-content { + display: none; +} +`,xH={host:"p-overlay-host",root:({instance:t})=>["p-overlay p-component",{"p-overlay-modal p-overlay-mask p-overlay-mask-enter-active":t.modal,"p-overlay-center":t.modal&&t.overlayResponsiveDirection==="center","p-overlay-top":t.modal&&t.overlayResponsiveDirection==="top","p-overlay-top-start":t.modal&&t.overlayResponsiveDirection==="top-start","p-overlay-top-end":t.modal&&t.overlayResponsiveDirection==="top-end","p-overlay-bottom":t.modal&&t.overlayResponsiveDirection==="bottom","p-overlay-bottom-start":t.modal&&t.overlayResponsiveDirection==="bottom-start","p-overlay-bottom-end":t.modal&&t.overlayResponsiveDirection==="bottom-end","p-overlay-left":t.modal&&t.overlayResponsiveDirection==="left","p-overlay-left-start":t.modal&&t.overlayResponsiveDirection==="left-start","p-overlay-left-end":t.modal&&t.overlayResponsiveDirection==="left-end","p-overlay-right":t.modal&&t.overlayResponsiveDirection==="right","p-overlay-right-start":t.modal&&t.overlayResponsiveDirection==="right-start","p-overlay-right-end":t.modal&&t.overlayResponsiveDirection==="right-end"}],content:"p-overlay-content"},CD=(()=>{class t extends fe{name="overlay";style=wH;classes=xH;inlineStyles=CH;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})(),wD=new B("OVERLAY_INSTANCE"),TD=(()=>{class t extends ke{overlayService;zone;componentName="Overlay";$pcOverlay=v(wD,{optional:!0,skipSelf:!0})??void 0;hostName="";get visible(){return this._visible}set visible(e){this._visible=e,this._visible&&!this.modalVisible&&(this.modalVisible=!0)}get mode(){return this._mode||this.overlayOptions?.mode}set mode(e){this._mode=e}get style(){return me.merge(this._style,this.modal?this.overlayResponsiveOptions?.style:this.overlayOptions?.style)}set style(e){this._style=e}get styleClass(){return me.merge(this._styleClass,this.modal?this.overlayResponsiveOptions?.styleClass:this.overlayOptions?.styleClass)}set styleClass(e){this._styleClass=e}get contentStyle(){return me.merge(this._contentStyle,this.modal?this.overlayResponsiveOptions?.contentStyle:this.overlayOptions?.contentStyle)}set contentStyle(e){this._contentStyle=e}get contentStyleClass(){return me.merge(this._contentStyleClass,this.modal?this.overlayResponsiveOptions?.contentStyleClass:this.overlayOptions?.contentStyleClass)}set contentStyleClass(e){this._contentStyleClass=e}get target(){let e=this._target||this.overlayOptions?.target;return e===void 0?"@prev":e}set target(e){this._target=e}get autoZIndex(){let e=this._autoZIndex||this.overlayOptions?.autoZIndex;return e===void 0?!0:e}set autoZIndex(e){this._autoZIndex=e}get baseZIndex(){let e=this._baseZIndex||this.overlayOptions?.baseZIndex;return e===void 0?0:e}set baseZIndex(e){this._baseZIndex=e}get showTransitionOptions(){let e=this._showTransitionOptions||this.overlayOptions?.showTransitionOptions;return e===void 0?".12s cubic-bezier(0, 0, 0.2, 1)":e}set showTransitionOptions(e){this._showTransitionOptions=e}get hideTransitionOptions(){let e=this._hideTransitionOptions||this.overlayOptions?.hideTransitionOptions;return e===void 0?".1s linear":e}set hideTransitionOptions(e){this._hideTransitionOptions=e}get listener(){return this._listener||this.overlayOptions?.listener}set listener(e){this._listener=e}get responsive(){return this._responsive||this.overlayOptions?.responsive}set responsive(e){this._responsive=e}get options(){return this._options}set options(e){this._options=e}appendTo=V(void 0);inline=V(!1);motionOptions=V(void 0);computedMotionOptions=te(()=>T(T({},this.ptm("motion")),this.motionOptions()||this.overlayOptions?.motionOptions));visibleChange=new P;onBeforeShow=new P;onShow=new P;onBeforeHide=new P;onHide=new P;onAnimationStart=new P;onAnimationDone=new P;onBeforeEnter=new P;onEnter=new P;onAfterEnter=new P;onBeforeLeave=new P;onLeave=new P;onAfterLeave=new P;overlayViewChild;contentViewChild;contentTemplate;templates;hostAttrSelector=V();$appendTo=te(()=>this.appendTo()||this.config.overlayAppendTo());_contentTemplate;_visible=!1;_mode;_style;_styleClass;_contentStyle;_contentStyleClass;_target;_autoZIndex;_baseZIndex;_showTransitionOptions;_hideTransitionOptions;_listener;_responsive;_options;modalVisible=!1;isOverlayClicked=!1;isOverlayContentClicked=!1;scrollHandler;documentClickListener;documentResizeListener;_componentStyle=v(CD);bindDirectiveInstance=v(U,{self:!0});documentKeyboardListener;parentDragSubscription=null;window;transformOptions={default:"scaleY(0.8)",center:"scale(0.7)",top:"translate3d(0px, -100%, 0px)","top-start":"translate3d(0px, -100%, 0px)","top-end":"translate3d(0px, -100%, 0px)",bottom:"translate3d(0px, 100%, 0px)","bottom-start":"translate3d(0px, 100%, 0px)","bottom-end":"translate3d(0px, 100%, 0px)",left:"translate3d(-100%, 0px, 0px)","left-start":"translate3d(-100%, 0px, 0px)","left-end":"translate3d(-100%, 0px, 0px)",right:"translate3d(100%, 0px, 0px)","right-start":"translate3d(100%, 0px, 0px)","right-end":"translate3d(100%, 0px, 0px)"};get modal(){if(_t(this.platformId))return this.mode==="modal"||this.overlayResponsiveOptions&&this.document.defaultView?.matchMedia(this.overlayResponsiveOptions.media?.replace("@media","")||`(max-width: ${this.overlayResponsiveOptions.breakpoint})`).matches}get overlayMode(){return this.mode||(this.modal?"modal":"overlay")}get overlayOptions(){return T(T({},this.config?.overlayOptions),this.options)}get overlayResponsiveOptions(){return T(T({},this.overlayOptions?.responsive),this.responsive)}get overlayResponsiveDirection(){return this.overlayResponsiveOptions?.direction||"center"}get overlayEl(){return this.overlayViewChild?.nativeElement}get contentEl(){return this.contentViewChild?.nativeElement}get targetEl(){return wm(this.target,this.el?.nativeElement)}constructor(e,n){super(),this.overlayService=e,this.zone=n}onAfterContentInit(){this.templates?.forEach(e=>{e.getType()==="content"?this._contentTemplate=e.template:this._contentTemplate=e.template})}onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptm("host"))}show(e,n=!1){this.onVisibleChange(!0),this.handleEvents("onShow",{overlay:e||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),n&&hn(this.targetEl),this.modal&&Ii(this.document?.body,"p-overflow-hidden")}hide(e,n=!1){if(this.visible)this.onVisibleChange(!1),this.handleEvents("onHide",{overlay:e||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),n&&hn(this.targetEl),this.modal&&In(this.document?.body,"p-overflow-hidden");else return}onVisibleChange(e){this._visible=e,this.visibleChange.emit(e)}onOverlayClick(){this.isOverlayClicked=!0}onOverlayContentClick(e){this.overlayService.add({originalEvent:e,target:this.targetEl}),this.isOverlayContentClicked=!0}container=Y(void 0);onOverlayBeforeEnter(e){this.handleEvents("onBeforeShow",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.container.set(this.overlayEl||e.element),this.show(this.overlayEl,!0),this.hostAttrSelector()&&this.overlayEl&&this.overlayEl.setAttribute(this.hostAttrSelector(),""),this.appendOverlay(),this.alignOverlay(),this.bindParentDragListener(),this.setZIndex(),this.handleEvents("onBeforeEnter",e)}onOverlayEnter(e){this.handleEvents("onEnter",e)}onOverlayAfterEnter(e){this.bindListeners(),this.handleEvents("onAfterEnter",e)}onOverlayBeforeLeave(e){this.handleEvents("onBeforeHide",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.handleEvents("onBeforeLeave",e)}onOverlayLeave(e){this.handleEvents("onLeave",e)}onOverlayAfterLeave(e){this.hide(this.overlayEl,!0),this.container.set(null),this.unbindListeners(),this.appendOverlay(),It.clear(this.overlayEl),this.modalVisible=!1,this.cd.markForCheck(),this.handleEvents("onAfterLeave",e)}handleEvents(e,n){this[e].emit(n),this.options&&this.options[e]&&this.options[e](n),this.config?.overlayOptions&&(this.config?.overlayOptions)[e]&&(this.config?.overlayOptions)[e](n)}setZIndex(){this.autoZIndex&&It.set(this.overlayMode,this.overlayEl,this.baseZIndex+this.config?.zIndex[this.overlayMode])}appendOverlay(){this.$appendTo()&&this.$appendTo()!=="self"&&(this.$appendTo()==="body"?ci(this.document.body,this.overlayEl):ci(this.$appendTo(),this.overlayEl))}alignOverlay(){this.modal||this.overlayEl&&this.targetEl&&(this.overlayEl.style.minWidth=Lt(this.targetEl)+"px",this.$appendTo()==="self"?cu(this.overlayEl,this.targetEl):Js(this.overlayEl,this.targetEl))}bindListeners(){this.bindScrollListener(),this.bindDocumentClickListener(),this.bindDocumentResizeListener(),this.bindDocumentKeyboardListener()}unbindListeners(){this.unbindScrollListener(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindDocumentKeyboardListener(),this.unbindParentDragListener()}bindParentDragListener(){!this.parentDragSubscription&&this.$appendTo()!=="self"&&this.targetEl&&(this.parentDragSubscription=this.overlayService.parentDragObservable.subscribe(e=>{e.contains(this.targetEl)&&this.hide(this.overlayEl,!0)}))}unbindParentDragListener(){this.parentDragSubscription&&(this.parentDragSubscription.unsubscribe(),this.parentDragSubscription=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new Qi(this.targetEl,e=>{(!this.listener||this.listener(e,{type:"scroll",mode:this.overlayMode,valid:!0}))&&this.hide(e,!0)})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=this.renderer.listen(this.document,"click",e=>{let o=!(this.targetEl&&(this.targetEl.isSameNode(e.target)||!this.isOverlayClicked&&this.targetEl.contains(e.target)))&&!this.isOverlayContentClicked;(this.listener?this.listener(e,{type:"outside",mode:this.overlayMode,valid:e.which!==3&&o}):o)&&this.hide(e),this.isOverlayClicked=this.isOverlayContentClicked=!1}))}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){this.documentResizeListener||(this.documentResizeListener=this.renderer.listen(this.document.defaultView,"resize",e=>{(this.listener?this.listener(e,{type:"resize",mode:this.overlayMode,valid:!qi()}):!qi())&&this.hide(e,!0)}))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindDocumentKeyboardListener(){this.documentKeyboardListener||this.zone.runOutsideAngular(()=>{this.documentKeyboardListener=this.renderer.listen(this.document.defaultView,"keydown",e=>{if(this.overlayOptions.hideOnEscape===!1||e.code!=="Escape")return;(this.listener?this.listener(e,{type:"keydown",mode:this.overlayMode,valid:!qi()}):!qi())&&this.zone.run(()=>{this.hide(e,!0)})})})}unbindDocumentKeyboardListener(){this.documentKeyboardListener&&(this.documentKeyboardListener(),this.documentKeyboardListener=null)}onDestroy(){this.hide(this.overlayEl,!0),this.overlayEl&&this.$appendTo()!=="self"&&(this.renderer.appendChild(this.el.nativeElement,this.overlayEl),It.clear(this.overlayEl)),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.unbindListeners()}static \u0275fac=function(n){return new(n||t)(ee(wo),ee(Ne))};static \u0275cmp=H({type:t,selectors:[["p-overlay"]],contentQueries:function(n,o,r){if(n&1&&Je(r,_D,4)(r,Qe,4),n&2){let a;M(a=R())&&(o.contentTemplate=a.first),M(a=R())&&(o.templates=a)}},viewQuery:function(n,o){if(n&1&&xt(fH,5)(_D,5),n&2){let r;M(r=R())&&(o.overlayViewChild=r.first),M(r=R())&&(o.contentViewChild=r.first)}},inputs:{hostName:"hostName",visible:"visible",mode:"mode",style:"style",styleClass:"styleClass",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",target:"target",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",listener:"listener",responsive:"responsive",options:"options",appendTo:[1,"appendTo"],inline:[1,"inline"],motionOptions:[1,"motionOptions"],hostAttrSelector:[1,"hostAttrSelector"]},outputs:{visibleChange:"visibleChange",onBeforeShow:"onBeforeShow",onShow:"onShow",onBeforeHide:"onBeforeHide",onHide:"onHide",onAnimationStart:"onAnimationStart",onAnimationDone:"onAnimationDone",onBeforeEnter:"onBeforeEnter",onEnter:"onEnter",onAfterEnter:"onAfterEnter",onBeforeLeave:"onBeforeLeave",onLeave:"onLeave",onAfterLeave:"onAfterLeave"},features:[ne([CD,{provide:wD,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],ngContentSelectors:vD,decls:2,vars:1,consts:[["overlay",""],["content",""],[3,"class","style","pBind"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"class","style","pBind","click",4,"ngIf"],[3,"click","pBind"],["name","p-anchored-overlay",3,"onBeforeEnter","onEnter","onAfterEnter","onBeforeLeave","onLeave","onAfterLeave","visible","appear","options"]],template:function(n,o){n&1&&(st(vD),_e(0,bH,2,5)(1,vH,1,1,"div",2)),n&2&&ve(o.inline()?0:1)},dependencies:[De,ot,qe,re,U,Mo,fl],encapsulation:2,changeDetection:0})}return t})();var DD=["content"],TH=["item"],DH=["loader"],EH=["loadericon"],IH=["element"],SH=["*"],e0=(t,i)=>({$implicit:t,options:i}),kH=t=>({numCols:t}),SD=t=>({options:t}),MH=()=>({styleClass:"p-virtualscroller-loading-icon"}),RH=(t,i)=>({rows:t,columns:i});function OH(t,i){t&1&&G(0)}function AH(t,i){if(t&1&&(q(0),_(1,OH,1,0,"ng-container",10),K()),t&2){let e=d(2);f(),p("ngTemplateOutlet",e.contentTemplate||e._contentTemplate)("ngTemplateOutletContext",bt(2,e0,e.loadedItems,e.getContentOptions()))}}function NH(t,i){t&1&&G(0)}function FH(t,i){if(t&1&&(q(0),_(1,NH,1,0,"ng-container",10),K()),t&2){let e=i.$implicit,n=i.index,o=d(3);f(),p("ngTemplateOutlet",o.itemTemplate||o._itemTemplate)("ngTemplateOutletContext",bt(2,e0,e,o.getOptions(n)))}}function PH(t,i){if(t&1&&(b(0,"div",11,3),_(2,FH,2,5,"ng-container",12),y()),t&2){let e=d(2);lt(e.contentStyle),D(e.cn(e.cx("content"),e.contentStyleClass)),p("pBind",e.ptm("content")),f(2),p("ngForOf",e.loadedItems)("ngForTrackBy",e._trackBy)}}function LH(t,i){if(t&1&&W(0,"div",13),t&2){let e=d(2);D(e.cx("spacer")),p("ngStyle",e.spacerStyle)("pBind",e.ptm("spacer"))}}function BH(t,i){t&1&&G(0)}function VH(t,i){if(t&1&&(q(0),_(1,BH,1,0,"ng-container",10),K()),t&2){let e=i.index,n=d(4);f(),p("ngTemplateOutlet",n.loaderTemplate||n._loaderTemplate)("ngTemplateOutletContext",be(4,SD,n.getLoaderOptions(e,n.both&&be(2,kH,n.numItemsInViewport.cols))))}}function zH(t,i){if(t&1&&(q(0),_(1,VH,2,6,"ng-container",14),K()),t&2){let e=d(3);f(),p("ngForOf",e.loaderArr)}}function jH(t,i){t&1&&G(0)}function HH(t,i){if(t&1&&(q(0),_(1,jH,1,0,"ng-container",10),K()),t&2){let e=d(4);f(),p("ngTemplateOutlet",e.loaderIconTemplate||e._loaderIconTemplate)("ngTemplateOutletContext",be(3,SD,wn(2,MH)))}}function $H(t,i){if(t&1&&(j(),W(0,"svg",15)),t&2){let e=d(4);D(e.cx("loadingIcon")),p("spin",!0)("pBind",e.ptm("loadingIcon"))}}function UH(t,i){if(t&1&&_(0,HH,2,5,"ng-container",6)(1,$H,1,4,"ng-template",null,5,Ie),t&2){let e=Ft(2),n=d(3);p("ngIf",n.loaderIconTemplate||n._loaderIconTemplate)("ngIfElse",e)}}function WH(t,i){if(t&1&&(b(0,"div",11),_(1,zH,2,1,"ng-container",6)(2,UH,3,2,"ng-template",null,4,Ie),y()),t&2){let e=Ft(3),n=d(2);D(n.cx("loader")),p("pBind",n.ptm("loader")),f(),p("ngIf",n.loaderTemplate||n._loaderTemplate)("ngIfElse",e)}}function GH(t,i){if(t&1){let e=$();q(0),b(1,"div",7,1),I("scroll",function(o){C(e);let r=d();return w(r.onContainerScroll(o))}),_(3,AH,2,5,"ng-container",6)(4,PH,3,7,"ng-template",null,2,Ie)(6,LH,1,4,"div",8)(7,WH,4,5,"div",9),y(),K()}if(t&2){let e=Ft(5),n=d();f(),D(n.cn(n.cx("root"),n.styleClass)),p("ngStyle",n._style)("pBind",n.ptm("root")),N("id",n._id)("tabindex",n.tabindex),f(2),p("ngIf",n.contentTemplate||n._contentTemplate)("ngIfElse",e),f(3),p("ngIf",n._showSpacer),f(),p("ngIf",!n.loaderDisabled&&n._showLoader&&n.d_loading)}}function qH(t,i){t&1&&G(0)}function KH(t,i){if(t&1&&(q(0),_(1,qH,1,0,"ng-container",10),K()),t&2){let e=d(2);f(),p("ngTemplateOutlet",e.contentTemplate||e._contentTemplate)("ngTemplateOutletContext",bt(5,e0,e.items,bt(2,RH,e._items,e.loadedColumns)))}}function YH(t,i){if(t&1&&(et(0),_(1,KH,2,8,"ng-container",16)),t&2){let e=d();f(),p("ngIf",e.contentTemplate||e._contentTemplate)}}var QH=` +.p-virtualscroller { + position: relative; + overflow: auto; + contain: strict; + transform: translateZ(0); + will-change: scroll-position; + outline: 0 none; +} + +.p-virtualscroller-content { + position: absolute; + top: 0; + left: 0; + min-height: 100%; + min-width: 100%; + will-change: transform; +} + +.p-virtualscroller-spacer { + position: absolute; + top: 0; + left: 0; + height: 1px; + width: 1px; + transform-origin: 0 0; + pointer-events: none; +} + +.p-virtualscroller-loader { + position: sticky; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: dt('virtualscroller.loader.mask.background'); + color: dt('virtualscroller.loader.mask.color'); +} + +.p-virtualscroller-loader-mask { + display: flex; + align-items: center; + justify-content: center; +} + +.p-virtualscroller-loading-icon { + font-size: dt('virtualscroller.loader.icon.size'); + width: dt('virtualscroller.loader.icon.size'); + height: dt('virtualscroller.loader.icon.size'); +} + +.p-virtualscroller-horizontal > .p-virtualscroller-content { + display: flex; +} + +.p-virtualscroller-inline .p-virtualscroller-content { + position: static; +} +`,ZH={root:({instance:t})=>["p-virtualscroller",{"p-virtualscroller-inline":t.inline,"p-virtualscroller-both p-both-scroll":t.both,"p-virtualscroller-horizontal p-horizontal-scroll":t.horizontal}],content:"p-virtualscroller-content",spacer:"p-virtualscroller-spacer",loader:({instance:t})=>["p-virtualscroller-loader",{"p-virtualscroller-loader-mask":!t.loaderTemplate}],loadingIcon:"p-virtualscroller-loading-icon"},ED=(()=>{class t extends fe{name="virtualscroller";css=QH;classes=ZH;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var ID=new B("SCROLLER_INSTANCE"),hl=(()=>{class t extends ke{zone;componentName="VirtualScroller";bindDirectiveInstance=v(U,{self:!0});$pcScroller=v(ID,{optional:!0,skipSelf:!0})??void 0;hostName="";get id(){return this._id}set id(e){this._id=e}get style(){return this._style}set style(e){this._style=e}get styleClass(){return this._styleClass}set styleClass(e){this._styleClass=e}get tabindex(){return this._tabindex}set tabindex(e){this._tabindex=e}get items(){return this._items}set items(e){this._items=e}get itemSize(){return this._itemSize}set itemSize(e){this._itemSize=e}get scrollHeight(){return this._scrollHeight}set scrollHeight(e){this._scrollHeight=e}get scrollWidth(){return this._scrollWidth}set scrollWidth(e){this._scrollWidth=e}get orientation(){return this._orientation}set orientation(e){this._orientation=e}get step(){return this._step}set step(e){this._step=e}get delay(){return this._delay}set delay(e){this._delay=e}get resizeDelay(){return this._resizeDelay}set resizeDelay(e){this._resizeDelay=e}get appendOnly(){return this._appendOnly}set appendOnly(e){this._appendOnly=e}get inline(){return this._inline}set inline(e){this._inline=e}get lazy(){return this._lazy}set lazy(e){this._lazy=e}get disabled(){return this._disabled}set disabled(e){this._disabled=e}get loaderDisabled(){return this._loaderDisabled}set loaderDisabled(e){this._loaderDisabled=e}get columns(){return this._columns}set columns(e){this._columns=e}get showSpacer(){return this._showSpacer}set showSpacer(e){this._showSpacer=e}get showLoader(){return this._showLoader}set showLoader(e){this._showLoader=e}get numToleratedItems(){return this._numToleratedItems}set numToleratedItems(e){this._numToleratedItems=e}get loading(){return this._loading}set loading(e){this._loading=e}get autoSize(){return this._autoSize}set autoSize(e){this._autoSize=e}get trackBy(){return this._trackBy}set trackBy(e){this._trackBy=e}get options(){return this._options}set options(e){this._options=e,e&&typeof e=="object"&&(Object.entries(e).forEach(([n,o])=>this[`_${n}`]!==o&&(this[`_${n}`]=o)),Object.entries(e).forEach(([n,o])=>this[`${n}`]!==o&&(this[`${n}`]=o)))}onLazyLoad=new P;onScroll=new P;onScrollIndexChange=new P;elementViewChild;contentViewChild;height;_id;_style;_styleClass;_tabindex=0;_items;_itemSize=0;_scrollHeight;_scrollWidth;_orientation="vertical";_step=0;_delay=0;_resizeDelay=10;_appendOnly=!1;_inline=!1;_lazy=!1;_disabled=!1;_loaderDisabled=!1;_columns;_showSpacer=!0;_showLoader=!1;_numToleratedItems;_loading;_autoSize=!1;_trackBy;_options;d_loading=!1;d_numToleratedItems;contentEl;contentTemplate;itemTemplate;loaderTemplate;loaderIconTemplate;templates;_contentTemplate;_itemTemplate;_loaderTemplate;_loaderIconTemplate;first=0;last=0;page=0;isRangeChanged=!1;numItemsInViewport=0;lastScrollPos=0;lazyLoadState={};loaderArr=[];spacerStyle={};contentStyle={};scrollTimeout;resizeTimeout;initialized=!1;windowResizeListener;defaultWidth;defaultHeight;defaultContentWidth;defaultContentHeight;_contentStyleClass;get contentStyleClass(){return this._contentStyleClass}set contentStyleClass(e){this._contentStyleClass=e}get vertical(){return this._orientation==="vertical"}get horizontal(){return this._orientation==="horizontal"}get both(){return this._orientation==="both"}get loadedItems(){return this._items&&!this.d_loading?this.both?this._items.slice(this._appendOnly?0:this.first.rows,this.last.rows).map(e=>this._columns?e:Array.isArray(e)?e.slice(this._appendOnly?0:this.first.cols,this.last.cols):e):this.horizontal&&this._columns?this._items:this._items.slice(this._appendOnly?0:this.first,this.last):[]}get loadedRows(){return this.d_loading?this._loaderDisabled?this.loaderArr:[]:this.loadedItems}get loadedColumns(){return this._columns&&(this.both||this.horizontal)?this.d_loading&&this._loaderDisabled?this.both?this.loaderArr[0]:this.loaderArr:this._columns.slice(this.both?this.first.cols:this.first,this.both?this.last.cols:this.last):this._columns}_componentStyle=v(ED);constructor(e){super(),this.zone=e}onInit(){this.setInitialState()}onChanges(e){let n=!1;if(this.scrollHeight=="100%"&&(this.height="100%"),e.loading){let{previousValue:o,currentValue:r}=e.loading;this.lazy&&o!==r&&r!==this.d_loading&&(this.d_loading=r,n=!0)}if(e.orientation&&(this.lastScrollPos=this.both?{top:0,left:0}:0),e.numToleratedItems){let{previousValue:o,currentValue:r}=e.numToleratedItems;o!==r&&r!==this.d_numToleratedItems&&(this.d_numToleratedItems=r)}if(e.options){let{previousValue:o,currentValue:r}=e.options;this.lazy&&o?.loading!==r?.loading&&r?.loading!==this.d_loading&&(this.d_loading=r.loading,n=!0),o?.numToleratedItems!==r?.numToleratedItems&&r?.numToleratedItems!==this.d_numToleratedItems&&(this.d_numToleratedItems=r.numToleratedItems)}this.initialized&&!n&&(e.items?.previousValue?.length!==e.items?.currentValue?.length||e.itemSize||e.scrollHeight||e.scrollWidth)&&this.init()}onAfterContentInit(){this.templates.forEach(e=>{switch(e.getType()){case"content":this._contentTemplate=e.template;break;case"item":this._itemTemplate=e.template;break;case"loader":this._loaderTemplate=e.template;break;case"loadericon":this._loaderIconTemplate=e.template;break;default:this._itemTemplate=e.template;break}})}onAfterViewInit(){Promise.resolve().then(()=>{this.viewInit()})}onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptm("host")),this.initialized||this.viewInit()}onDestroy(){this.unbindResizeListener(),this.contentEl=null,this.initialized=!1}viewInit(){_t(this.platformId)&&!this.initialized&&Tm(this.elementViewChild?.nativeElement)&&(this.setInitialState(),this.setContentEl(this.contentEl),this.init(),this.defaultWidth=ki(this.elementViewChild?.nativeElement),this.defaultHeight=Si(this.elementViewChild?.nativeElement),this.defaultContentWidth=ki(this.contentEl),this.defaultContentHeight=Si(this.contentEl),this.initialized=!0)}init(){this._disabled||(this.bindResizeListener(),setTimeout(()=>{this.setSpacerSize(),this.setSize(),this.calculateOptions(),this.calculateAutoSize(),this.cd.detectChanges()},1))}setContentEl(e){this.contentEl=e||this.contentViewChild?.nativeElement||Ye(this.elementViewChild?.nativeElement,".p-virtualscroller-content")}setInitialState(){this.first=this.both?{rows:0,cols:0}:0,this.last=this.both?{rows:0,cols:0}:0,this.numItemsInViewport=this.both?{rows:0,cols:0}:0,this.lastScrollPos=this.both?{top:0,left:0}:0,(this.d_loading===void 0||this.d_loading===!1)&&(this.d_loading=this._loading||!1),this.d_numToleratedItems=this._numToleratedItems,this.loaderArr=this.loaderArr.length>0?this.loaderArr:[]}getElementRef(){return this.elementViewChild}getPageByFirst(e){return Math.floor(((e??this.first)+this.d_numToleratedItems*4)/(this._step||1))}isPageChanged(e){return this._step?this.page!==this.getPageByFirst(e??this.first):!0}scrollTo(e){this.elementViewChild?.nativeElement?.scrollTo(e)}scrollToIndex(e,n="auto"){if(this.both?e.every(r=>r>-1):e>-1){let r=this.first,{scrollTop:a=0,scrollLeft:s=0}=this.elementViewChild?.nativeElement,{numToleratedItems:l}=this.calculateNumItems(),c=this.getContentPosition(),u=this.itemSize,h=(z=0,Q)=>z<=Q?0:z,g=(z,Q,se)=>z*Q+se,m=(z=0,Q=0)=>this.scrollTo({left:z,top:Q,behavior:n}),x=this.both?{rows:0,cols:0}:0,E=!1,k=!1;this.both?(x={rows:h(e[0],l[0]),cols:h(e[1],l[1])},m(g(x.cols,u[1],c.left),g(x.rows,u[0],c.top)),k=this.lastScrollPos.top!==a||this.lastScrollPos.left!==s,E=x.rows!==r.rows||x.cols!==r.cols):(x=h(e,l),this.horizontal?m(g(x,u,c.left),a):m(s,g(x,u,c.top)),k=this.lastScrollPos!==(this.horizontal?s:a),E=x!==r),this.isRangeChanged=E,k&&(this.first=x)}}scrollInView(e,n,o="auto"){if(n){let{first:r,viewport:a}=this.getRenderedRange(),s=(u=0,h=0)=>this.scrollTo({left:u,top:h,behavior:o}),l=n==="to-start",c=n==="to-end";if(l){if(this.both)a.first.rows-r.rows>e[0]?s(a.first.cols*this._itemSize[1],(a.first.rows-1)*this._itemSize[0]):a.first.cols-r.cols>e[1]&&s((a.first.cols-1)*this._itemSize[1],a.first.rows*this._itemSize[0]);else if(a.first-r>e){let u=(a.first-1)*this._itemSize;this.horizontal?s(u,0):s(0,u)}}else if(c){if(this.both)a.last.rows-r.rows<=e[0]+1?s(a.first.cols*this._itemSize[1],(a.first.rows+1)*this._itemSize[0]):a.last.cols-r.cols<=e[1]+1&&s((a.first.cols+1)*this._itemSize[1],a.first.rows*this._itemSize[0]);else if(a.last-r<=e+1){let u=(a.first+1)*this._itemSize;this.horizontal?s(u,0):s(0,u)}}}else this.scrollToIndex(e,o)}getRenderedRange(){let e=(r,a)=>a||r?Math.floor(r/(a||r)):0,n=this.first,o=0;if(this.elementViewChild?.nativeElement){let{scrollTop:r,scrollLeft:a}=this.elementViewChild.nativeElement;if(this.both)n={rows:e(r,this._itemSize[0]),cols:e(a,this._itemSize[1])},o={rows:n.rows+this.numItemsInViewport.rows,cols:n.cols+this.numItemsInViewport.cols};else{let s=this.horizontal?a:r;n=e(s,this._itemSize),o=n+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:n,last:o}}}calculateNumItems(){let e=this.getContentPosition(),n=(this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetWidth-e.left:0)||0,o=(this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetHeight-e.top:0)||0,r=(c,u)=>u||c?Math.ceil(c/(u||c)):0,a=c=>Math.ceil(c/2),s=this.both?{rows:r(o,this._itemSize[0]),cols:r(n,this._itemSize[1])}:r(this.horizontal?n:o,this._itemSize),l=this.d_numToleratedItems||(this.both?[a(s.rows),a(s.cols)]:a(s));return{numItemsInViewport:s,numToleratedItems:l}}calculateOptions(){let{numItemsInViewport:e,numToleratedItems:n}=this.calculateNumItems(),o=(s,l,c,u=!1)=>this.getLast(s+l+(sArray.from({length:e.cols})):Array.from({length:e})),this._lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this._step?this.both?{rows:0,cols:r.cols}:0:r,last:Math.min(this._step?this._step:this.last,this._items.length)},this.handleEvents("onLazyLoad",this.lazyLoadState)})}calculateAutoSize(){this._autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.contentEl){this.contentEl.style.minHeight=this.contentEl.style.minWidth="auto",this.contentEl.style.position="relative",this.elementViewChild.nativeElement.style.contain="none";let[e,n]=[ki(this.contentEl),Si(this.contentEl)];e!==this.defaultContentWidth&&(this.elementViewChild.nativeElement.style.width=""),n!==this.defaultContentHeight&&(this.elementViewChild.nativeElement.style.height="");let[o,r]=[ki(this.elementViewChild.nativeElement),Si(this.elementViewChild.nativeElement)];(this.both||this.horizontal)&&(this.elementViewChild.nativeElement.style.width=oe.style[h]=g;this.both||this.horizontal?(u("height",c),u("width",a)):u("height",c)}}setSpacerSize(){if(this._items){let e=this.getContentPosition(),n=(o,r,a,s=0)=>this.spacerStyle=ie(T({},this.spacerStyle),{[`${o}`]:(r||[]).length*a+s+"px"});this.both?(n("height",this._items,this._itemSize[0],e.y),n("width",this._columns||this._items[1],this._itemSize[1],e.x)):this.horizontal?n("width",this._columns||this._items,this._itemSize,e.x):n("height",this._items,this._itemSize,e.y)}}setContentPosition(e){if(this.contentEl&&!this._appendOnly){let n=e?e.first:this.first,o=(a,s)=>a*s,r=(a=0,s=0)=>this.contentStyle=ie(T({},this.contentStyle),{transform:`translate3d(${a}px, ${s}px, 0)`});if(this.both)r(o(n.cols,this._itemSize[1]),o(n.rows,this._itemSize[0]));else{let a=o(n,this._itemSize);this.horizontal?r(a,0):r(0,a)}}}onScrollPositionChange(e){let n=e.target;if(!n)throw new Error("Event target is null");let o=this.getContentPosition(),r=(k,z)=>k?k>z?k-z:k:0,a=(k,z)=>z||k?Math.floor(k/(z||k)):0,s=(k,z,Q,se,Me,nt)=>k<=Me?Me:nt?Q-se-Me:z+Me-1,l=(k,z,Q,se,Me,nt,dt)=>k<=nt?0:Math.max(0,dt?kz?Q:k-2*nt),c=(k,z,Q,se,Me,nt=!1)=>{let dt=z+se+2*Me;return k>=Me&&(dt+=Me+1),this.getLast(dt,nt)},u=r(n.scrollTop,o.top),h=r(n.scrollLeft,o.left),g=this.both?{rows:0,cols:0}:0,m=this.last,x=!1,E=this.lastScrollPos;if(this.both){let k=this.lastScrollPos.top<=u,z=this.lastScrollPos.left<=h;if(!this._appendOnly||this._appendOnly&&(k||z)){let Q={rows:a(u,this._itemSize[0]),cols:a(h,this._itemSize[1])},se={rows:s(Q.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],k),cols:s(Q.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],z)};g={rows:l(Q.rows,se.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],k),cols:l(Q.cols,se.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],z)},m={rows:c(Q.rows,g.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:c(Q.cols,g.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},x=g.rows!==this.first.rows||m.rows!==this.last.rows||g.cols!==this.first.cols||m.cols!==this.last.cols||this.isRangeChanged,E={top:u,left:h}}}else{let k=this.horizontal?h:u,z=this.lastScrollPos<=k;if(!this._appendOnly||this._appendOnly&&z){let Q=a(k,this._itemSize),se=s(Q,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,z);g=l(Q,se,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,z),m=c(Q,g,this.last,this.numItemsInViewport,this.d_numToleratedItems),x=g!==this.first||m!==this.last||this.isRangeChanged,E=k}}return{first:g,last:m,isRangeChanged:x,scrollPos:E}}onScrollChange(e){let{first:n,last:o,isRangeChanged:r,scrollPos:a}=this.onScrollPositionChange(e);if(r){let s={first:n,last:o};if(this.setContentPosition(s),this.first=n,this.last=o,this.lastScrollPos=a,this.handleEvents("onScrollIndexChange",s),this._lazy&&this.isPageChanged(n)){let l={first:this._step?Math.min(this.getPageByFirst(n)*this._step,this._items.length-this._step):n,last:Math.min(this._step?(this.getPageByFirst(n)+1)*this._step:o,this._items.length)};(this.lazyLoadState.first!==l.first||this.lazyLoadState.last!==l.last)&&this.handleEvents("onLazyLoad",l),this.lazyLoadState=l}}}onContainerScroll(e){if(this.handleEvents("onScroll",{originalEvent:e}),this._delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this._showLoader){let{isRangeChanged:n}=this.onScrollPositionChange(e);(n||this._step&&this.isPageChanged())&&(this.d_loading=!0,this.cd.detectChanges())}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(e),this.d_loading&&this._showLoader&&(!this._lazy||this._loading===void 0)&&(this.d_loading=!1,this.page=this.getPageByFirst()),this.cd.detectChanges()},this._delay)}else!this.d_loading&&this.onScrollChange(e)}bindResizeListener(){_t(this.platformId)&&(this.windowResizeListener||this.zone.runOutsideAngular(()=>{let e=this.document.defaultView,n=qi()?"orientationchange":"resize";this.windowResizeListener=this.renderer.listen(e,n,this.onWindowResize.bind(this))}))}unbindResizeListener(){this.windowResizeListener&&(this.windowResizeListener(),this.windowResizeListener=null)}onWindowResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(Tm(this.elementViewChild?.nativeElement)){let[e,n]=[ki(this.elementViewChild?.nativeElement),Si(this.elementViewChild?.nativeElement)],[o,r]=[e!==this.defaultWidth,n!==this.defaultHeight];(this.both?o||r:this.horizontal?o:this.vertical&&r)&&this.zone.run(()=>{this.d_numToleratedItems=this._numToleratedItems,this.defaultWidth=e,this.defaultHeight=n,this.defaultContentWidth=ki(this.contentEl),this.defaultContentHeight=Si(this.contentEl),this.init()})}},this._resizeDelay)}handleEvents(e,n){return this.options&&this.options[e]?this.options[e](n):this[e].emit(n)}getContentOptions(){return{contentStyleClass:`p-virtualscroller-content ${this.d_loading?"p-virtualscroller-loading":""}`,items:this.loadedItems,getItemOptions:e=>this.getOptions(e),loading:this.d_loading,getLoaderOptions:(e,n)=>this.getLoaderOptions(e,n),itemSize:this._itemSize,rows:this.loadedRows,columns:this.loadedColumns,spacerStyle:this.spacerStyle,contentStyle:this.contentStyle,vertical:this.vertical,horizontal:this.horizontal,both:this.both,scrollTo:this.scrollTo.bind(this),scrollToIndex:this.scrollToIndex.bind(this),orientation:this._orientation,scrollableElement:this.elementViewChild?.nativeElement}}getOptions(e){let n=(this._items||[]).length,o=this.both?this.first.rows+e:this.first+e;return{index:o,count:n,first:o===0,last:o===n-1,even:o%2===0,odd:o%2!==0}}getLoaderOptions(e,n){let o=this.loaderArr.length;return T({index:e,count:o,first:e===0,last:e===o-1,even:e%2===0,odd:e%2!==0,loading:this.d_loading},n)}static \u0275fac=function(n){return new(n||t)(ee(Ne))};static \u0275cmp=H({type:t,selectors:[["p-scroller"],["p-virtualscroller"],["p-virtual-scroller"],["p-virtualScroller"]],contentQueries:function(n,o,r){if(n&1&&Je(r,DD,4)(r,TH,4)(r,DH,4)(r,EH,4)(r,Qe,4),n&2){let a;M(a=R())&&(o.contentTemplate=a.first),M(a=R())&&(o.itemTemplate=a.first),M(a=R())&&(o.loaderTemplate=a.first),M(a=R())&&(o.loaderIconTemplate=a.first),M(a=R())&&(o.templates=a)}},viewQuery:function(n,o){if(n&1&&xt(IH,5)(DD,5),n&2){let r;M(r=R())&&(o.elementViewChild=r.first),M(r=R())&&(o.contentViewChild=r.first)}},hostVars:2,hostBindings:function(n,o){n&2&&Xt("height",o.height)},inputs:{hostName:"hostName",id:"id",style:"style",styleClass:"styleClass",tabindex:"tabindex",items:"items",itemSize:"itemSize",scrollHeight:"scrollHeight",scrollWidth:"scrollWidth",orientation:"orientation",step:"step",delay:"delay",resizeDelay:"resizeDelay",appendOnly:"appendOnly",inline:"inline",lazy:"lazy",disabled:"disabled",loaderDisabled:"loaderDisabled",columns:"columns",showSpacer:"showSpacer",showLoader:"showLoader",numToleratedItems:"numToleratedItems",loading:"loading",autoSize:"autoSize",trackBy:"trackBy",options:"options"},outputs:{onLazyLoad:"onLazyLoad",onScroll:"onScroll",onScrollIndexChange:"onScrollIndexChange"},features:[ne([ED,{provide:ID,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],ngContentSelectors:SH,decls:3,vars:2,consts:[["disabledContainer",""],["element",""],["buildInContent",""],["content",""],["buildInLoader",""],["buildInLoaderIcon",""],[4,"ngIf","ngIfElse"],[3,"scroll","ngStyle","pBind"],[3,"class","ngStyle","pBind",4,"ngIf"],[3,"class","pBind",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"pBind"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngStyle","pBind"],[4,"ngFor","ngForOf"],["data-p-icon","spinner",3,"spin","pBind"],[4,"ngIf"]],template:function(n,o){if(n&1&&(st(),_(0,GH,8,10,"ng-container",6)(1,YH,2,1,"ng-template",null,0,Ie)),n&2){let r=Ft(2);p("ngIf",!o._disabled)("ngIfElse",r)}},dependencies:[De,Hn,ot,qe,Jt,br,re,U],encapsulation:2})}return t})(),t0=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[hl,re,re]})}return t})();var kD=` + .p-tooltip { + position: absolute; + display: none; + max-width: dt('tooltip.max.width'); + } + + .p-tooltip-right, + .p-tooltip-left { + padding: 0 dt('tooltip.gutter'); + } + + .p-tooltip-top, + .p-tooltip-bottom { + padding: dt('tooltip.gutter') 0; + } + + .p-tooltip-text { + white-space: pre-line; + word-break: break-word; + background: dt('tooltip.background'); + color: dt('tooltip.color'); + padding: dt('tooltip.padding'); + box-shadow: dt('tooltip.shadow'); + border-radius: dt('tooltip.border.radius'); + } + + .p-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + } + + .p-tooltip-right .p-tooltip-arrow { + margin-top: calc(-1 * dt('tooltip.gutter')); + border-width: dt('tooltip.gutter') dt('tooltip.gutter') dt('tooltip.gutter') 0; + border-right-color: dt('tooltip.background'); + } + + .p-tooltip-left .p-tooltip-arrow { + margin-top: calc(-1 * dt('tooltip.gutter')); + border-width: dt('tooltip.gutter') 0 dt('tooltip.gutter') dt('tooltip.gutter'); + border-left-color: dt('tooltip.background'); + } + + .p-tooltip-top .p-tooltip-arrow { + margin-left: calc(-1 * dt('tooltip.gutter')); + border-width: dt('tooltip.gutter') dt('tooltip.gutter') 0 dt('tooltip.gutter'); + border-top-color: dt('tooltip.background'); + border-bottom-color: dt('tooltip.background'); + } + + .p-tooltip-bottom .p-tooltip-arrow { + margin-left: calc(-1 * dt('tooltip.gutter')); + border-width: 0 dt('tooltip.gutter') dt('tooltip.gutter') dt('tooltip.gutter'); + border-top-color: dt('tooltip.background'); + border-bottom-color: dt('tooltip.background'); + } +`;var JH={root:"p-tooltip p-component",arrow:"p-tooltip-arrow",text:"p-tooltip-text"},MD=(()=>{class t extends fe{name="tooltip";style=kD;classes=JH;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var RD=new B("TOOLTIP_INSTANCE"),OD=(()=>{class t extends ke{zone;viewContainer;componentName="Tooltip";$pcTooltip=v(RD,{optional:!0,skipSelf:!0})??void 0;tooltipPosition;tooltipEvent="hover";positionStyle;tooltipStyleClass;tooltipZIndex;escape=!0;showDelay;hideDelay;life;positionTop;positionLeft;autoHide=!0;fitContent=!0;hideOnEscape=!0;showOnEllipsis=!1;content;get disabled(){return this._disabled}set disabled(e){this._disabled=e,this.deactivate()}tooltipOptions;appendTo=V(void 0);$appendTo=te(()=>this.appendTo()||this.config.overlayAppendTo());_tooltipOptions={tooltipLabel:null,tooltipPosition:"right",tooltipEvent:"hover",appendTo:"body",positionStyle:null,tooltipStyleClass:null,tooltipZIndex:"auto",escape:!0,disabled:null,showDelay:null,hideDelay:null,positionTop:null,positionLeft:null,life:null,autoHide:!0,hideOnEscape:!0,showOnEllipsis:!1,id:Le("pn_id_")+"_tooltip"};_disabled;container;styleClass;tooltipText;rootPTClasses="";showTimeout;hideTimeout;active;mouseEnterListener;mouseLeaveListener;containerMouseleaveListener;clickListener;focusListener;blurListener;touchStartListener;touchEndListener;documentTouchListener;documentEscapeListener;scrollHandler;resizeListener;_componentStyle=v(MD);interactionInProgress=!1;ptTooltip=V();pTooltipPT=V();pTooltipUnstyled=V();constructor(e,n){super(),this.zone=e,this.viewContainer=n,it(()=>{let o=this.ptTooltip()||this.pTooltipPT();o&&this.directivePT.set(o)}),it(()=>{this.pTooltipUnstyled()&&this.directiveUnstyled.set(this.pTooltipUnstyled())})}onAfterViewInit(){_t(this.platformId)&&this.zone.runOutsideAngular(()=>{let e=this.getOption("tooltipEvent");if((e==="hover"||e==="both")&&(this.mouseEnterListener=this.onMouseEnter.bind(this),this.mouseLeaveListener=this.onMouseLeave.bind(this),this.clickListener=this.onInputClick.bind(this),this.el.nativeElement.addEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.addEventListener("click",this.clickListener),this.el.nativeElement.addEventListener("mouseleave",this.mouseLeaveListener),this.touchStartListener=this.onTouchStart.bind(this),this.touchEndListener=this.onTouchEnd.bind(this),this.el.nativeElement.addEventListener("touchstart",this.touchStartListener,{passive:!0}),this.el.nativeElement.addEventListener("touchend",this.touchEndListener,{passive:!0})),e==="focus"||e==="both"){this.focusListener=this.onFocus.bind(this),this.blurListener=this.onBlur.bind(this);let n=this.el.nativeElement.querySelector(".p-component");n||(n=this.getTarget(this.el.nativeElement)),n.addEventListener("focus",this.focusListener),n.addEventListener("blur",this.blurListener)}})}onChanges(e){e.tooltipPosition&&this.setOption({tooltipPosition:e.tooltipPosition.currentValue}),e.tooltipEvent&&this.setOption({tooltipEvent:e.tooltipEvent.currentValue}),e.appendTo&&this.setOption({appendTo:e.appendTo.currentValue}),e.positionStyle&&this.setOption({positionStyle:e.positionStyle.currentValue}),e.tooltipStyleClass&&this.setOption({tooltipStyleClass:e.tooltipStyleClass.currentValue}),e.tooltipZIndex&&this.setOption({tooltipZIndex:e.tooltipZIndex.currentValue}),e.escape&&this.setOption({escape:e.escape.currentValue}),e.showDelay&&this.setOption({showDelay:e.showDelay.currentValue}),e.hideDelay&&this.setOption({hideDelay:e.hideDelay.currentValue}),e.life&&this.setOption({life:e.life.currentValue}),e.positionTop&&this.setOption({positionTop:e.positionTop.currentValue}),e.positionLeft&&this.setOption({positionLeft:e.positionLeft.currentValue}),e.disabled&&this.setOption({disabled:e.disabled.currentValue}),e.content&&(this.setOption({tooltipLabel:e.content.currentValue}),this.active&&(e.content.currentValue?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide())),e.autoHide&&this.setOption({autoHide:e.autoHide.currentValue}),e.showOnEllipsis&&this.setOption({showOnEllipsis:e.showOnEllipsis.currentValue}),e.id&&this.setOption({id:e.id.currentValue}),e.tooltipOptions&&(this._tooltipOptions=T(T({},this._tooltipOptions),e.tooltipOptions.currentValue),this.deactivate(),this.active&&(this.getOption("tooltipLabel")?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide()))}isAutoHide(){return this.getOption("autoHide")}onMouseEnter(e){!this.container&&!this.showTimeout&&this.activate()}onMouseLeave(e){this.isAutoHide()?this.deactivate():!(Tt(e.relatedTarget,"p-tooltip")||Tt(e.relatedTarget,"p-tooltip-text")||Tt(e.relatedTarget,"p-tooltip-arrow"))&&this.deactivate()}onTouchStart(e){!this.container&&!this.showTimeout&&(this.activate(),this.isAutoHide()||this.bindDocumentTouchListener())}onTouchEnd(e){this.isAutoHide()&&this.deactivate()}bindDocumentTouchListener(){this.documentTouchListener||(this.documentTouchListener=this.renderer.listen("document","touchstart",e=>{this.container&&!this.container.contains(e.target)&&!this.el.nativeElement.contains(e.target)&&(this.deactivate(),this.unbindDocumentTouchListener())}))}unbindDocumentTouchListener(){this.documentTouchListener&&(this.documentTouchListener(),this.documentTouchListener=null)}onFocus(e){this.activate()}onBlur(e){this.deactivate()}onInputClick(e){this.deactivate()}hasEllipsis(){let e=this.el.nativeElement;return e.offsetWidth{this.show()},this.getOption("showDelay")):this.show(),this.getOption("life")){let e=this.getOption("showDelay")?this.getOption("life")+this.getOption("showDelay"):this.getOption("life");this.hideTimeout=setTimeout(()=>{this.hide()},e)}this.getOption("hideOnEscape")&&(this.documentEscapeListener=this.renderer.listen("document","keydown.escape",()=>{this.deactivate(),this.documentEscapeListener?.()})),this.interactionInProgress=!0}}deactivate(){this.interactionInProgress=!1,this.active=!1,this.clearShowTimeout(),this.getOption("hideDelay")?(this.clearHideTimeout(),this.hideTimeout=setTimeout(()=>{this.hide()},this.getOption("hideDelay"))):this.hide(),this.documentEscapeListener&&this.documentEscapeListener()}create(){this.container&&(this.clearHideTimeout(),this.remove()),this.container=pr("div",{class:this.cx("root"),"p-bind":this.ptm("root"),"data-pc-section":"root"}),this.container.setAttribute("role","tooltip");let e=pr("div",{class:this.cx("arrow"),"p-bind":this.ptm("arrow"),"data-pc-section":"arrow"});this.container.appendChild(e),this.tooltipText=pr("div",{class:this.cx("text"),"p-bind":this.ptm("text"),"data-pc-section":"text"}),this.updateText(),this.getOption("positionStyle")&&(this.container.style.position=this.getOption("positionStyle")),this.container.appendChild(this.tooltipText),this.getOption("appendTo")==="body"?document.body.appendChild(this.container):this.getOption("appendTo")==="target"?ci(this.container,this.el.nativeElement):ci(this.getOption("appendTo"),this.container),this.container.style.display="none",this.fitContent&&(this.container.style.width="fit-content"),this.isAutoHide()?this.container.style.pointerEvents="none":(this.container.style.pointerEvents="unset",this.bindContainerMouseleaveListener())}bindContainerMouseleaveListener(){if(!this.containerMouseleaveListener){let e=this.container??this.container.nativeElement;this.containerMouseleaveListener=this.renderer.listen(e,"mouseleave",n=>{this.deactivate()})}}unbindContainerMouseleaveListener(){this.containerMouseleaveListener&&(this.bindContainerMouseleaveListener(),this.containerMouseleaveListener=null)}show(){if(!this.getOption("tooltipLabel")||this.getOption("disabled"))return;this.create(),this.el.nativeElement.closest("p-dialog")?setTimeout(()=>{this.container&&(this.container.style.display="inline-block"),this.container&&this.align()},100):(this.container.style.display="inline-block",this.align()),uC(this.container,250),this.getOption("tooltipZIndex")==="auto"?It.set("tooltip",this.container,this.config.zIndex.tooltip):this.container.style.zIndex=this.getOption("tooltipZIndex"),this.bindDocumentResizeListener(),this.bindScrollListener()}hide(){this.getOption("tooltipZIndex")==="auto"&&It.clear(this.container),this.remove()}updateText(){let e=this.getOption("tooltipLabel");if(e&&typeof e.createEmbeddedView=="function"){let n=this.viewContainer.createEmbeddedView(e);n.detectChanges(),n.rootNodes.forEach(o=>this.tooltipText.appendChild(o))}else this.getOption("escape")?(this.tooltipText.innerHTML="",this.tooltipText.appendChild(document.createTextNode(e))):this.tooltipText.innerHTML=e}align(){let e=this.getOption("tooltipPosition"),o={top:[this.alignTop,this.alignBottom,this.alignRight,this.alignLeft],bottom:[this.alignBottom,this.alignTop,this.alignRight,this.alignLeft],left:[this.alignLeft,this.alignRight,this.alignTop,this.alignBottom],right:[this.alignRight,this.alignLeft,this.alignTop,this.alignBottom]}[e]||[];for(let[r,a]of o.entries())if(r===0)a.call(this);else if(this.isOutOfBounds())a.call(this);else break}getHostOffset(){if(this.getOption("appendTo")==="body"||this.getOption("appendTo")==="target"){let e=this.el.nativeElement.getBoundingClientRect(),n=e.left+vm(),o=e.top+Cm();return{left:n,top:o}}else return{left:0,top:0}}get activeElement(){return this.el.nativeElement.nodeName.startsWith("P-")?Ye(this.el.nativeElement,".p-component"):this.el.nativeElement}alignRight(){this.preAlign("right");let e=this.activeElement,n=Lt(e),o=(cn(e)-cn(this.container))/2;this.alignTooltip(n,o);let r=this.getArrowElement();r.style.top="50%",r.style.right=null,r.style.bottom=null,r.style.left="0"}alignLeft(){this.preAlign("left");let e=this.getArrowElement(),n=Lt(this.container),o=(cn(this.el.nativeElement)-cn(this.container))/2;this.alignTooltip(-n,o),e.style.top="50%",e.style.right="0",e.style.bottom=null,e.style.left=null}alignTop(){this.preAlign("top");let e=this.getArrowElement(),n=this.getHostOffset(),o=Lt(this.container),r=(Lt(this.el.nativeElement)-Lt(this.container))/2,a=cn(this.container);this.alignTooltip(r,-a);let s=n.left-this.getHostOffset().left+o/2;e.style.top=null,e.style.right=null,e.style.bottom="0",e.style.left=s+"px"}getArrowElement(){return Ye(this.container,'[data-pc-section="arrow"]')}alignBottom(){this.preAlign("bottom");let e=this.getArrowElement(),n=Lt(this.container),o=this.getHostOffset(),r=(Lt(this.el.nativeElement)-Lt(this.container))/2,a=cn(this.el.nativeElement);this.alignTooltip(r,a);let s=o.left-this.getHostOffset().left+n/2;e.style.top="0",e.style.right=null,e.style.bottom=null,e.style.left=s+"px"}alignTooltip(e,n){let o=this.getHostOffset(),r=o.left+e,a=o.top+n;this.container.style.left=r+this.getOption("positionLeft")+"px",this.container.style.top=a+this.getOption("positionTop")+"px"}setOption(e){this._tooltipOptions=T(T({},this._tooltipOptions),e)}getOption(e){return this._tooltipOptions[e]}getTarget(e){return Tt(e,"p-inputwrapper")?Ye(e,"input"):e}preAlign(e){this.container.style.left="-999px",this.container.style.top="-999px",this.container.className=this.cn(this.cx("root"),this.ptm("root")?.class,"p-tooltip-"+e,this.getOption("tooltipStyleClass"))}isOutOfBounds(){let e=this.container.getBoundingClientRect(),n=e.top,o=e.left,r=Lt(this.container),a=cn(this.container),s=ur();return o+r>s.width||o<0||n<0||n+a>s.height}onWindowResize(e){this.hide()}bindDocumentResizeListener(){this.zone.runOutsideAngular(()=>{this.resizeListener=this.onWindowResize.bind(this),window.addEventListener("resize",this.resizeListener)})}unbindDocumentResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new Qi(this.el.nativeElement,()=>{this.container&&this.hide()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}unbindEvents(){let e=this.getOption("tooltipEvent");if((e==="hover"||e==="both")&&(this.el.nativeElement.removeEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.removeEventListener("mouseleave",this.mouseLeaveListener),this.el.nativeElement.removeEventListener("click",this.clickListener),this.el.nativeElement.removeEventListener("touchstart",this.touchStartListener),this.el.nativeElement.removeEventListener("touchend",this.touchEndListener),this.unbindDocumentTouchListener()),e==="focus"||e==="both"){let n=this.el.nativeElement.querySelector(".p-component");n||(n=this.getTarget(this.el.nativeElement)),n.removeEventListener("focus",this.focusListener),n.removeEventListener("blur",this.blurListener)}this.unbindDocumentResizeListener()}remove(){this.container&&this.container.parentElement&&(this.getOption("appendTo")==="body"?document.body.removeChild(this.container):this.getOption("appendTo")==="target"?this.el.nativeElement.removeChild(this.container):mC(this.getOption("appendTo"),this.container)),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.unbindContainerMouseleaveListener(),this.unbindDocumentTouchListener(),this.clearTimeouts(),this.container=null,this.scrollHandler=null}clearShowTimeout(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null)}clearHideTimeout(){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout()}onDestroy(){this.unbindEvents(),this.container&&It.clear(this.container),this.remove(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.documentEscapeListener&&this.documentEscapeListener()}static \u0275fac=function(n){return new(n||t)(ee(Ne),ee(Bn))};static \u0275dir=ge({type:t,selectors:[["","pTooltip",""]],inputs:{tooltipPosition:"tooltipPosition",tooltipEvent:"tooltipEvent",positionStyle:"positionStyle",tooltipStyleClass:"tooltipStyleClass",tooltipZIndex:"tooltipZIndex",escape:[2,"escape","escape",S],showDelay:[2,"showDelay","showDelay",xe],hideDelay:[2,"hideDelay","hideDelay",xe],life:[2,"life","life",xe],positionTop:[2,"positionTop","positionTop",xe],positionLeft:[2,"positionLeft","positionLeft",xe],autoHide:[2,"autoHide","autoHide",S],fitContent:[2,"fitContent","fitContent",S],hideOnEscape:[2,"hideOnEscape","hideOnEscape",S],showOnEllipsis:[2,"showOnEllipsis","showOnEllipsis",S],content:[0,"pTooltip","content"],disabled:[0,"tooltipDisabled","disabled"],tooltipOptions:"tooltipOptions",appendTo:[1,"appendTo"],ptTooltip:[1,"ptTooltip"],pTooltipPT:[1,"pTooltipPT"],pTooltipUnstyled:[1,"pTooltipUnstyled"]},features:[ne([MD,{provide:RD,useExisting:t},{provide:Te,useExisting:t}]),A]})}return t})();var AD=` + .p-select { + display: inline-flex; + cursor: pointer; + position: relative; + user-select: none; + background: dt('select.background'); + border: 1px solid dt('select.border.color'); + transition: + background dt('select.transition.duration'), + color dt('select.transition.duration'), + border-color dt('select.transition.duration'), + outline-color dt('select.transition.duration'), + box-shadow dt('select.transition.duration'); + border-radius: dt('select.border.radius'); + outline-color: transparent; + box-shadow: dt('select.shadow'); + } + + .p-select:not(.p-disabled):hover { + border-color: dt('select.hover.border.color'); + } + + .p-select:not(.p-disabled).p-focus { + border-color: dt('select.focus.border.color'); + box-shadow: dt('select.focus.ring.shadow'); + outline: dt('select.focus.ring.width') dt('select.focus.ring.style') dt('select.focus.ring.color'); + outline-offset: dt('select.focus.ring.offset'); + } + + .p-select.p-variant-filled { + background: dt('select.filled.background'); + } + + .p-select.p-variant-filled:not(.p-disabled):hover { + background: dt('select.filled.hover.background'); + } + + .p-select.p-variant-filled:not(.p-disabled).p-focus { + background: dt('select.filled.focus.background'); + } + + .p-select.p-invalid { + border-color: dt('select.invalid.border.color'); + } + + .p-select.p-disabled { + opacity: 1; + background: dt('select.disabled.background'); + } + + .p-select-clear-icon { + align-self: center; + color: dt('select.clear.icon.color'); + inset-inline-end: dt('select.dropdown.width'); + } + + .p-select-dropdown { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + background: transparent; + color: dt('select.dropdown.color'); + width: dt('select.dropdown.width'); + border-start-end-radius: dt('select.border.radius'); + border-end-end-radius: dt('select.border.radius'); + } + + .p-select-label { + display: block; + white-space: nowrap; + overflow: hidden; + flex: 1 1 auto; + width: 1%; + padding: dt('select.padding.y') dt('select.padding.x'); + text-overflow: ellipsis; + cursor: pointer; + color: dt('select.color'); + background: transparent; + border: 0 none; + outline: 0 none; + font-size: 1rem; + } + + .p-select-label.p-placeholder { + color: dt('select.placeholder.color'); + } + + .p-select.p-invalid .p-select-label.p-placeholder { + color: dt('select.invalid.placeholder.color'); + } + + .p-select.p-disabled .p-select-label { + color: dt('select.disabled.color'); + } + + .p-select-label-empty { + overflow: hidden; + opacity: 0; + } + + input.p-select-label { + cursor: default; + } + + .p-select-overlay { + position: absolute; + top: 0; + left: 0; + background: dt('select.overlay.background'); + color: dt('select.overlay.color'); + border: 1px solid dt('select.overlay.border.color'); + border-radius: dt('select.overlay.border.radius'); + box-shadow: dt('select.overlay.shadow'); + min-width: 100%; + transform-origin: inherit; + will-change: transform; + } + + .p-select-header { + padding: dt('select.list.header.padding'); + } + + .p-select-filter { + width: 100%; + } + + .p-select-list-container { + overflow: auto; + } + + .p-select-option-group { + cursor: auto; + margin: 0; + padding: dt('select.option.group.padding'); + background: dt('select.option.group.background'); + color: dt('select.option.group.color'); + font-weight: dt('select.option.group.font.weight'); + } + + .p-select-list { + margin: 0; + padding: 0; + list-style-type: none; + padding: dt('select.list.padding'); + gap: dt('select.list.gap'); + display: flex; + flex-direction: column; + } + + .p-select-option { + cursor: pointer; + font-weight: normal; + white-space: nowrap; + position: relative; + overflow: hidden; + display: flex; + align-items: center; + padding: dt('select.option.padding'); + border: 0 none; + color: dt('select.option.color'); + background: transparent; + transition: + background dt('select.transition.duration'), + color dt('select.transition.duration'), + border-color dt('select.transition.duration'), + box-shadow dt('select.transition.duration'), + outline-color dt('select.transition.duration'); + border-radius: dt('select.option.border.radius'); + } + + .p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus { + background: dt('select.option.focus.background'); + color: dt('select.option.focus.color'); + } + + .p-select-option:not(.p-select-option-selected):not(.p-disabled):hover { + background: dt('select.option.focus.background'); + color: dt('select.option.focus.color'); + } + + .p-select-option.p-select-option-selected { + background: dt('select.option.selected.background'); + color: dt('select.option.selected.color'); + } + + .p-select-option.p-select-option-selected.p-focus { + background: dt('select.option.selected.focus.background'); + color: dt('select.option.selected.focus.color'); + } + + .p-select-option-blank-icon { + flex-shrink: 0; + } + + .p-select-option-check-icon { + position: relative; + flex-shrink: 0; + margin-inline-start: dt('select.checkmark.gutter.start'); + margin-inline-end: dt('select.checkmark.gutter.end'); + color: dt('select.checkmark.color'); + } + + .p-select-empty-message { + padding: dt('select.empty.message.padding'); + } + + .p-select-fluid { + display: flex; + width: 100%; + } + + .p-select-sm .p-select-label { + font-size: dt('select.sm.font.size'); + padding-block: dt('select.sm.padding.y'); + padding-inline: dt('select.sm.padding.x'); + } + + .p-select-sm .p-select-dropdown .p-icon { + font-size: dt('select.sm.font.size'); + width: dt('select.sm.font.size'); + height: dt('select.sm.font.size'); + } + + .p-select-lg .p-select-label { + font-size: dt('select.lg.font.size'); + padding-block: dt('select.lg.padding.y'); + padding-inline: dt('select.lg.padding.x'); + } + + .p-select-lg .p-select-dropdown .p-icon { + font-size: dt('select.lg.font.size'); + width: dt('select.lg.font.size'); + height: dt('select.lg.font.size'); + } + + .p-floatlabel-in .p-select-filter { + padding-block-start: dt('select.padding.y'); + padding-block-end: dt('select.padding.y'); + } +`;var gl=t=>({height:t}),n0=t=>({$implicit:t});function e$(t,i){if(t&1&&(j(),W(0,"svg",6)),t&2){let e=d(2);D(e.cx("optionCheckIcon")),p("pBind",e.$pcSelect==null?null:e.$pcSelect.ptm("optionCheckIcon"))}}function t$(t,i){if(t&1&&(j(),W(0,"svg",7)),t&2){let e=d(2);D(e.cx("optionBlankIcon")),p("pBind",e.$pcSelect==null?null:e.$pcSelect.ptm("optionBlankIcon"))}}function n$(t,i){if(t&1&&(q(0),_(1,e$,1,3,"svg",4)(2,t$,1,3,"svg",5),K()),t&2){let e=d();f(),p("ngIf",e.selected),f(),p("ngIf",!e.selected)}}function i$(t,i){if(t&1&&(b(0,"span",8),L(1),y()),t&2){let e=d();p("pBind",e.$pcSelect==null?null:e.$pcSelect.ptm("optionLabel")),f(),de(e.label??"empty")}}function o$(t,i){t&1&&G(0)}var r$=["item"],a$=["group"],s$=["loader"],l$=["selectedItem"],c$=["header"],ND=["filter"],d$=["footer"],u$=["emptyfilter"],p$=["empty"],f$=["dropdownicon"],h$=["loadingicon"],g$=["clearicon"],m$=["filtericon"],b$=["onicon"],y$=["officon"],_$=["cancelicon"],v$=["focusInput"],C$=["editableInput"],w$=["items"],x$=["scroller"],T$=["overlay"],D$=["firstHiddenFocusableEl"],E$=["lastHiddenFocusableEl"],FD=t=>({class:t}),PD=t=>({options:t}),LD=(t,i)=>({$implicit:t,options:i}),I$=()=>({});function S$(t,i){if(t&1&&(q(0),L(1),K()),t&2){let e=d(2);f(),de(e.label()==="p-emptylabel"?"\xA0":e.label())}}function k$(t,i){if(t&1&&G(0,24),t&2){let e=d(2);p("ngTemplateOutlet",e.selectedItemTemplate||e._selectedItemTemplate)("ngTemplateOutletContext",be(2,n0,e.selectedOption))}}function M$(t,i){if(t&1&&(b(0,"span"),L(1),y()),t&2){let e=d(3);f(),de(e.label()==="p-emptylabel"?"\xA0":e.label())}}function R$(t,i){if(t&1&&_(0,M$,2,1,"span",18),t&2){let e=d(2);p("ngIf",e.isSelectedOptionEmpty())}}function O$(t,i){if(t&1){let e=$();b(0,"span",22,3),I("focus",function(o){C(e);let r=d();return w(r.onInputFocus(o))})("blur",function(o){C(e);let r=d();return w(r.onInputBlur(o))})("keydown",function(o){C(e);let r=d();return w(r.onKeyDown(o))}),_(2,S$,2,1,"ng-container",20)(3,k$,1,4,"ng-container",23)(4,R$,1,1,"ng-template",null,4,Ie),y()}if(t&2){let e=Ft(5),n=d();D(n.cx("label")),p("pBind",n.ptm("label"))("pTooltip",n.tooltip)("pTooltipUnstyled",n.unstyled())("tooltipPosition",n.tooltipPosition)("positionStyle",n.tooltipPositionStyle)("tooltipStyleClass",n.tooltipStyleClass)("pAutoFocus",n.autofocus),N("aria-disabled",n.$disabled())("id",n.inputId)("aria-label",n.ariaLabel||(n.label()==="p-emptylabel"?void 0:n.label()))("aria-labelledby",n.ariaLabelledBy)("aria-haspopup","listbox")("aria-expanded",n.overlayVisible??!1)("aria-controls",n.overlayVisible?n.id+"_list":null)("tabindex",n.$disabled()?-1:n.tabindex)("aria-activedescendant",n.focused?n.focusedOptionId:void 0)("aria-required",n.required())("required",n.required()?"":void 0)("disabled",n.$disabled()?"":void 0)("data-p",n.labelDataP),f(2),p("ngIf",!n.selectedItemTemplate&&!n._selectedItemTemplate)("ngIfElse",e),f(),p("ngIf",(n.selectedItemTemplate||n._selectedItemTemplate)&&!n.isSelectedOptionEmpty())}}function A$(t,i){if(t&1){let e=$();b(0,"input",25,5),I("input",function(o){C(e);let r=d();return w(r.onEditableInput(o))})("keydown",function(o){C(e);let r=d();return w(r.onKeyDown(o))})("focus",function(o){C(e);let r=d();return w(r.onInputFocus(o))})("blur",function(o){C(e);let r=d();return w(r.onInputBlur(o))}),y()}if(t&2){let e=d();D(e.cx("label")),p("pBind",e.ptm("label"))("pAutoFocus",e.autofocus),N("id",e.inputId)("aria-haspopup","listbox")("placeholder",e.modelValue()===void 0||e.modelValue()===null?e.placeholder():void 0)("aria-label",e.ariaLabel||(e.label()==="p-emptylabel"?void 0:e.label()))("aria-activedescendant",e.focused?e.focusedOptionId:void 0)("name",e.name())("minlength",e.minlength())("min",e.min())("max",e.max())("pattern",e.pattern())("size",e.inputSize())("maxlength",e.maxlength())("required",e.required()?"":void 0)("readonly",e.readonly?"":void 0)("disabled",e.$disabled()?"":void 0)("data-p",e.labelDataP)}}function N$(t,i){if(t&1){let e=$();j(),b(0,"svg",28),I("click",function(o){C(e);let r=d(2);return w(r.clear(o))}),y()}if(t&2){let e=d(2);D(e.cx("clearIcon")),p("pBind",e.ptm("clearIcon")),N("data-pc-section","clearicon")}}function F$(t,i){}function P$(t,i){t&1&&_(0,F$,0,0,"ng-template")}function L$(t,i){if(t&1){let e=$();b(0,"span",29),I("click",function(o){C(e);let r=d(2);return w(r.clear(o))}),_(1,P$,1,0,null,30),y()}if(t&2){let e=d(2);D(e.cx("clearIcon")),p("pBind",e.ptm("clearIcon")),N("data-pc-section","clearicon"),f(),p("ngTemplateOutlet",e.clearIconTemplate||e._clearIconTemplate)("ngTemplateOutletContext",be(6,FD,e.cx("clearIcon")))}}function B$(t,i){if(t&1&&(q(0),_(1,N$,1,4,"svg",26)(2,L$,2,8,"span",27),K()),t&2){let e=d();f(),p("ngIf",!e.clearIconTemplate&&!e._clearIconTemplate),f(),p("ngIf",e.clearIconTemplate||e._clearIconTemplate)}}function V$(t,i){t&1&&G(0)}function z$(t,i){if(t&1&&(q(0),_(1,V$,1,0,"ng-container",31),K()),t&2){let e=d(2);f(),p("ngTemplateOutlet",e.loadingIconTemplate||e._loadingIconTemplate)}}function j$(t,i){if(t&1&&W(0,"span",33),t&2){let e=d(3);D(e.cn(e.cx("loadingIcon"),"pi-spin"+e.loadingIcon)),p("pBind",e.ptm("loadingIcon"))}}function H$(t,i){if(t&1&&W(0,"span",33),t&2){let e=d(3);D(e.cn(e.cx("loadingIcon"),"pi pi-spinner pi-spin")),p("pBind",e.ptm("loadingIcon"))}}function $$(t,i){if(t&1&&(q(0),_(1,j$,1,3,"span",32)(2,H$,1,3,"span",32),K()),t&2){let e=d(2);f(),p("ngIf",e.loadingIcon),f(),p("ngIf",!e.loadingIcon)}}function U$(t,i){if(t&1&&(q(0),_(1,z$,2,1,"ng-container",18)(2,$$,3,2,"ng-container",18),K()),t&2){let e=d();f(),p("ngIf",e.loadingIconTemplate||e._loadingIconTemplate),f(),p("ngIf",!e.loadingIconTemplate&&!e._loadingIconTemplate)}}function W$(t,i){if(t&1&&W(0,"span",36),t&2){let e=d(3);D(e.cn(e.cx("dropdownIcon"),e.dropdownIcon)),p("pBind",e.ptm("dropdownIcon"))}}function G$(t,i){if(t&1&&(j(),W(0,"svg",37)),t&2){let e=d(3);D(e.cx("dropdownIcon")),p("pBind",e.ptm("dropdownIcon"))}}function q$(t,i){if(t&1&&(q(0),_(1,W$,1,3,"span",34)(2,G$,1,3,"svg",35),K()),t&2){let e=d(2);f(),p("ngIf",e.dropdownIcon),f(),p("ngIf",!e.dropdownIcon)}}function K$(t,i){}function Y$(t,i){t&1&&_(0,K$,0,0,"ng-template")}function Q$(t,i){if(t&1&&(b(0,"span",36),_(1,Y$,1,0,null,30),y()),t&2){let e=d(2);D(e.cx("dropdownIcon")),p("pBind",e.ptm("dropdownIcon")),f(),p("ngTemplateOutlet",e.dropdownIconTemplate||e._dropdownIconTemplate)("ngTemplateOutletContext",be(5,FD,e.cx("dropdownIcon")))}}function Z$(t,i){if(t&1&&_(0,q$,3,2,"ng-container",18)(1,Q$,2,7,"span",34),t&2){let e=d();p("ngIf",!e.dropdownIconTemplate&&!e._dropdownIconTemplate),f(),p("ngIf",e.dropdownIconTemplate||e._dropdownIconTemplate)}}function X$(t,i){t&1&&G(0)}function J$(t,i){t&1&&G(0)}function eU(t,i){if(t&1&&(q(0),_(1,J$,1,0,"ng-container",30),K()),t&2){let e=d(3);f(),p("ngTemplateOutlet",e.filterTemplate||e._filterTemplate)("ngTemplateOutletContext",be(2,PD,e.filterOptions))}}function tU(t,i){if(t&1&&(j(),W(0,"svg",45)),t&2){let e=d(4);p("pBind",e.ptm("filterIcon"))}}function nU(t,i){}function iU(t,i){t&1&&_(0,nU,0,0,"ng-template")}function oU(t,i){if(t&1&&(b(0,"span",36),_(1,iU,1,0,null,31),y()),t&2){let e=d(4);p("pBind",e.ptm("filterIcon")),f(),p("ngTemplateOutlet",e.filterIconTemplate||e._filterIconTemplate)}}function rU(t,i){if(t&1){let e=$();b(0,"p-iconfield",41)(1,"input",42,10),I("input",function(o){C(e);let r=d(3);return w(r.onFilterInputChange(o))})("keydown",function(o){C(e);let r=d(3);return w(r.onFilterKeyDown(o))})("blur",function(o){C(e);let r=d(3);return w(r.onFilterBlur(o))}),y(),b(3,"p-inputicon",41),_(4,tU,1,1,"svg",43)(5,oU,2,2,"span",44),y()()}if(t&2){let e=d(3);p("pt",e.ptm("pcFilterContainer"))("unstyled",e.unstyled()),f(),D(e.cx("pcFilter")),p("pSize",e.size())("value",e._filterValue()||"")("variant",e.$variant())("pt",e.ptm("pcFilter"))("unstyled",e.unstyled()),N("placeholder",e.filterPlaceholder)("aria-owns",e.id+"_list")("aria-label",e.ariaFilterLabel)("aria-activedescendant",e.focusedOptionId),f(2),p("pt",e.ptm("pcFilterIconContainer"))("unstyled",e.unstyled()),f(),p("ngIf",!e.filterIconTemplate&&!e._filterIconTemplate),f(),p("ngIf",e.filterIconTemplate||e._filterIconTemplate)}}function aU(t,i){if(t&1&&(b(0,"div",29),I("click",function(n){return n.stopPropagation()}),_(1,eU,2,4,"ng-container",20)(2,rU,6,17,"ng-template",null,9,Ie),y()),t&2){let e=Ft(3),n=d(2);D(n.cx("header")),p("pBind",n.ptm("header")),f(),p("ngIf",n.filterTemplate||n._filterTemplate)("ngIfElse",e)}}function sU(t,i){t&1&&G(0)}function lU(t,i){if(t&1&&_(0,sU,1,0,"ng-container",30),t&2){let e=i.$implicit,n=i.options;d(2);let o=Ft(9);p("ngTemplateOutlet",o)("ngTemplateOutletContext",bt(2,LD,e,n))}}function cU(t,i){t&1&&G(0)}function dU(t,i){if(t&1&&_(0,cU,1,0,"ng-container",30),t&2){let e=i.options,n=d(4);p("ngTemplateOutlet",n.loaderTemplate||n._loaderTemplate)("ngTemplateOutletContext",be(2,PD,e))}}function uU(t,i){t&1&&(q(0),_(1,dU,1,4,"ng-template",null,12,Ie),K())}function pU(t,i){if(t&1){let e=$();b(0,"p-scroller",46,11),I("onLazyLoad",function(o){C(e);let r=d(2);return w(r.onLazyLoad.emit(o))}),_(2,lU,1,5,"ng-template",null,2,Ie)(4,uU,3,0,"ng-container",18),y()}if(t&2){let e=d(2);lt(be(9,gl,e.scrollHeight)),p("items",e.visibleOptions())("itemSize",e.virtualScrollItemSize)("autoSize",!0)("lazy",e.lazy)("options",e.virtualScrollOptions)("pt",e.ptm("virtualScroller")),f(4),p("ngIf",e.loaderTemplate||e._loaderTemplate)}}function fU(t,i){t&1&&G(0)}function hU(t,i){if(t&1&&(q(0),_(1,fU,1,0,"ng-container",30),K()),t&2){d();let e=Ft(9),n=d();f(),p("ngTemplateOutlet",e)("ngTemplateOutletContext",bt(3,LD,n.visibleOptions(),wn(2,I$)))}}function gU(t,i){if(t&1&&(b(0,"span",36),L(1),y()),t&2){let e=d(2).$implicit,n=d(3);D(n.cx("optionGroupLabel")),p("pBind",n.ptm("optionGroupLabel")),f(),de(n.getOptionGroupLabel(e.optionGroup))}}function mU(t,i){t&1&&G(0)}function bU(t,i){if(t&1&&(q(0),b(1,"li",50),_(2,gU,2,4,"span",34)(3,mU,1,0,"ng-container",30),y(),K()),t&2){let e=d(),n=e.$implicit,o=e.index,r=d().options,a=d(2);f(),D(a.cx("optionGroup")),p("ngStyle",be(8,gl,r.itemSize+"px"))("pBind",a.ptm("optionGroup")),N("id",a.id+"_"+a.getOptionIndex(o,r)),f(),p("ngIf",!a.groupTemplate&&!a._groupTemplate),f(),p("ngTemplateOutlet",a.groupTemplate||a._groupTemplate)("ngTemplateOutletContext",be(10,n0,n.optionGroup))}}function yU(t,i){if(t&1){let e=$();q(0),b(1,"p-selectItem",51),I("onClick",function(o){C(e);let r=d().$implicit,a=d(3);return w(a.onOptionSelect(o,r))})("onMouseEnter",function(o){C(e);let r=d().index,a=d().options,s=d(2);return w(s.onOptionMouseEnter(o,s.getOptionIndex(r,a)))}),y(),K()}if(t&2){let e=d(),n=e.$implicit,o=e.index,r=d().options,a=d(2);f(),p("id",a.id+"_"+a.getOptionIndex(o,r))("option",n)("checkmark",a.checkmark)("selected",a.isSelected(n))("label",a.getOptionLabel(n))("disabled",a.isOptionDisabled(n))("template",a.itemTemplate||a._itemTemplate)("focused",a.focusedOptionIndex()===a.getOptionIndex(o,r))("ariaPosInset",a.getAriaPosInset(a.getOptionIndex(o,r)))("ariaSetSize",a.ariaSetSize)("index",o)("unstyled",a.unstyled())("scrollerOptions",r)}}function _U(t,i){if(t&1&&_(0,bU,4,12,"ng-container",18)(1,yU,2,13,"ng-container",18),t&2){let e=i.$implicit,n=d(3);p("ngIf",n.isOptionGroup(e)),f(),p("ngIf",!n.isOptionGroup(e))}}function vU(t,i){if(t&1&&L(0),t&2){let e=d(4);ct(" ",e.emptyFilterMessageLabel," ")}}function CU(t,i){t&1&&G(0,null,14)}function wU(t,i){if(t&1&&_(0,CU,2,0,"ng-container",31),t&2){let e=d(4);p("ngTemplateOutlet",e.emptyFilterTemplate||e._emptyFilterTemplate||e.emptyTemplate||e._emptyTemplate)}}function xU(t,i){if(t&1&&(b(0,"li",50),_e(1,vU,1,1)(2,wU,1,1,"ng-container"),y()),t&2){let e=d().options,n=d(2);D(n.cx("emptyMessage")),p("ngStyle",be(5,gl,e.itemSize+"px"))("pBind",n.ptm("emptyMessage")),f(),ve(!n.emptyFilterTemplate&&!n._emptyFilterTemplate&&!n.emptyTemplate?1:2)}}function TU(t,i){if(t&1&&L(0),t&2){let e=d(4);ct(" ",e.emptyMessageLabel||e.emptyFilterMessageLabel," ")}}function DU(t,i){t&1&&G(0,null,15)}function EU(t,i){if(t&1&&_(0,DU,2,0,"ng-container",31),t&2){let e=d(4);p("ngTemplateOutlet",e.emptyTemplate||e._emptyTemplate)}}function IU(t,i){if(t&1&&(b(0,"li",50),_e(1,TU,1,1)(2,EU,1,1,"ng-container"),y()),t&2){let e=d().options,n=d(2);D(n.cx("emptyMessage")),p("ngStyle",be(5,gl,e.itemSize+"px"))("pBind",n.ptm("emptyMessage")),f(),ve(!n.emptyTemplate&&!n._emptyTemplate?1:2)}}function SU(t,i){if(t&1&&(b(0,"ul",47,13),_(2,_U,2,2,"ng-template",48)(3,xU,3,7,"li",49)(4,IU,3,7,"li",49),y()),t&2){let e=i.$implicit,n=i.options,o=d(2);lt(n.contentStyle),D(o.cn(o.cx("list"),n.contentStyleClass)),p("pBind",o.ptm("list")),N("id",o.id+"_list")("aria-label",o.listLabel),f(2),p("ngForOf",e),f(),p("ngIf",o.filterValue&&o.isEmpty()),f(),p("ngIf",!o.filterValue&&o.isEmpty())}}function kU(t,i){t&1&&G(0)}function MU(t,i){if(t&1){let e=$();b(0,"div",38)(1,"span",39,6),I("focus",function(o){C(e);let r=d();return w(r.onFirstHiddenFocus(o))}),y(),_(3,X$,1,0,"ng-container",31)(4,aU,4,5,"div",27),b(5,"div",36),_(6,pU,5,11,"p-scroller",40)(7,hU,2,6,"ng-container",18)(8,SU,5,10,"ng-template",null,7,Ie),y(),_(10,kU,1,0,"ng-container",31),b(11,"span",39,8),I("focus",function(o){C(e);let r=d();return w(r.onLastHiddenFocus(o))}),y()()}if(t&2){let e=d();D(e.cn(e.cx("overlay"),e.panelStyleClass)),p("ngStyle",e.panelStyle)("pBind",e.ptm("overlay")),N("data-p",e.overlayDataP),f(),p("pBind",e.ptm("hiddenFirstFocusableEl")),N("tabindex",0)("data-p-hidden-accessible",!0)("data-p-hidden-focusable",!0),f(2),p("ngTemplateOutlet",e.headerTemplate||e._headerTemplate),f(),p("ngIf",e.filter),f(),D(e.cx("listContainer")),Xt("max-height",e.virtualScroll?"auto":e.scrollHeight||"auto"),p("pBind",e.ptm("listContainer")),f(),p("ngIf",e.virtualScroll),f(),p("ngIf",!e.virtualScroll),f(3),p("ngTemplateOutlet",e.footerTemplate||e._footerTemplate),f(),p("pBind",e.ptm("hiddenLastFocusableEl")),N("tabindex",0)("data-p-hidden-accessible",!0)("data-p-hidden-focusable",!0)}}var RU=` + ${AD} + + /* For PrimeNG */ + .p-select-label.p-placeholder { + color: dt('select.placeholder.color'); + } + + .p-select.ng-invalid.ng-dirty { + border-color: dt('select.invalid.border.color'); + } + + .p-dropdown.ng-invalid.ng-dirty .p-dropdown-label.p-placeholder, + .p-select.ng-invalid.ng-dirty .p-select-label.p-placeholder { + color: dt('select.invalid.placeholder.color'); + } +`,OU={root:({instance:t})=>["p-select p-component p-inputwrapper",{"p-disabled":t.$disabled(),"p-variant-filled":t.$variant()==="filled","p-focus":t.focused,"p-invalid":t.invalid(),"p-inputwrapper-filled":t.$filled(),"p-inputwrapper-focus":t.focused||t.overlayVisible,"p-select-open":t.overlayVisible,"p-select-fluid":t.hasFluid,"p-select-sm p-inputfield-sm":t.size()==="small","p-select-lg p-inputfield-lg":t.size()==="large"}],label:({instance:t})=>["p-select-label",{"p-placeholder":t.placeholder()&&t.label()===t.placeholder(),"p-select-label-empty":!t.editable&&!t.selectedItemTemplate&&(t.label()===void 0||t.label()===null||t.label()==="p-emptylabel"||t.label().length===0)}],clearIcon:"p-select-clear-icon",dropdown:"p-select-dropdown",loadingIcon:"p-select-loading-icon",dropdownIcon:"p-select-dropdown-icon",overlay:"p-select-overlay p-component-overlay p-component",header:"p-select-header",pcFilter:"p-select-filter",listContainer:"p-select-list-container",list:"p-select-list",optionGroup:"p-select-option-group",optionGroupLabel:"p-select-option-group-label",option:({instance:t})=>["p-select-option",{"p-select-option-selected":t.selected&&!t.checkmark,"p-disabled":t.disabled,"p-focus":t.focused}],optionLabel:"p-select-option-label",optionCheckIcon:"p-select-option-check-icon",optionBlankIcon:"p-select-option-blank-icon",emptyMessage:"p-select-empty-message"},$u=(()=>{class t extends fe{name="select";style=RU;classes=OU;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var BD=new B("SELECT_INSTANCE"),AU=new B("SELECT_ITEM_INSTANCE"),NU={provide:Ht,useExisting:at(()=>Ia),multi:!0},FU=(()=>{class t extends ke{hostName="select";$pcSelectItem=v(AU,{optional:!0,skipSelf:!0})??void 0;$pcSelect=v(BD,{optional:!0,skipSelf:!0})??void 0;id;option;selected;focused;label;disabled;visible;itemSize;ariaPosInset;ariaSetSize;template;checkmark;index;scrollerOptions;onClick=new P;onMouseEnter=new P;_componentStyle=v($u);onOptionClick(e){this.onClick.emit(e)}onOptionMouseEnter(e){this.onMouseEnter.emit(e)}getPTOptions(){return this.$pcSelect?.getPTItemOptions?.(this.option,this.scrollerOptions,this.index??0,"option")??this.$pcSelect?.ptm("option",{context:{option:this.option,selected:this.selected,focused:this.focused,disabled:this.disabled}})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-selectItem"]],inputs:{id:"id",option:"option",selected:[2,"selected","selected",S],focused:[2,"focused","focused",S],label:"label",disabled:[2,"disabled","disabled",S],visible:[2,"visible","visible",S],itemSize:[2,"itemSize","itemSize",xe],ariaPosInset:"ariaPosInset",ariaSetSize:"ariaSetSize",template:"template",checkmark:[2,"checkmark","checkmark",S],index:"index",scrollerOptions:"scrollerOptions"},outputs:{onClick:"onClick",onMouseEnter:"onMouseEnter"},features:[ne([$u,{provide:Te,useExisting:t}]),A],decls:4,vars:21,consts:[["role","option","pRipple","",3,"click","mouseenter","id","pBind","ngStyle"],[4,"ngIf"],[3,"pBind",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["data-p-icon","check",3,"class","pBind",4,"ngIf"],["data-p-icon","blank",3,"class","pBind",4,"ngIf"],["data-p-icon","check",3,"pBind"],["data-p-icon","blank",3,"pBind"],[3,"pBind"]],template:function(n,o){n&1&&(b(0,"li",0),I("click",function(a){return o.onOptionClick(a)})("mouseenter",function(a){return o.onOptionMouseEnter(a)}),_(1,n$,3,2,"ng-container",1)(2,i$,2,2,"span",2)(3,o$,1,0,"ng-container",3),y()),n&2&&(D(o.cx("option")),p("id",o.id)("pBind",o.getPTOptions())("ngStyle",be(17,gl,(o.scrollerOptions==null?null:o.scrollerOptions.itemSize)+"px")),N("aria-label",o.label)("aria-setsize",o.ariaSetSize)("aria-posinset",o.ariaPosInset)("aria-selected",o.selected)("data-p-focused",o.focused)("data-p-highlight",o.selected)("data-p-selected",o.selected)("data-p-disabled",o.disabled),f(),p("ngIf",o.checkmark),f(),p("ngIf",!o.template),f(),p("ngTemplateOutlet",o.template)("ngTemplateOutletContext",be(19,n0,o.option)))},dependencies:[De,ot,qe,Jt,re,Oi,Mu,vT,rt,U],encapsulation:2})}return t})(),Ia=(()=>{class t extends Da{zone;filterService;componentName="Select";bindDirectiveInstance=v(U,{self:!0});id;scrollHeight="200px";filter;panelStyle;styleClass;panelStyleClass;readonly;editable;tabindex=0;set placeholder(e){this._placeholder.set(e)}get placeholder(){return this._placeholder.asReadonly()}loadingIcon;filterPlaceholder;filterLocale;inputId;dataKey;filterBy;filterFields;autofocus;resetFilterOnHide=!1;checkmark=!1;dropdownIcon;loading=!1;optionLabel;optionValue;optionDisabled;optionGroupLabel="label";optionGroupChildren="items";group;showClear;emptyFilterMessage="";emptyMessage="";lazy=!1;virtualScroll;virtualScrollItemSize;virtualScrollOptions;overlayOptions;ariaFilterLabel;ariaLabel;ariaLabelledBy;filterMatchMode="contains";tooltip="";tooltipPosition="right";tooltipPositionStyle="absolute";tooltipStyleClass;focusOnHover=!0;selectOnFocus=!1;autoOptionFocus=!1;autofocusFilter=!0;get filterValue(){return this._filterValue()}set filterValue(e){setTimeout(()=>{this._filterValue.set(e)})}get options(){return this._options()}set options(e){mm(e,this._options())||this._options.set(e)}appendTo=V(void 0);motionOptions=V(void 0);onChange=new P;onFilter=new P;onFocus=new P;onBlur=new P;onClick=new P;onShow=new P;onHide=new P;onClear=new P;onLazyLoad=new P;_componentStyle=v($u);filterViewChild;focusInputViewChild;editableInputViewChild;itemsViewChild;scroller;overlayViewChild;firstHiddenFocusableElementOnOverlay;lastHiddenFocusableElementOnOverlay;itemsWrapper;$appendTo=te(()=>this.appendTo()||this.config.overlayAppendTo());itemTemplate;groupTemplate;loaderTemplate;selectedItemTemplate;headerTemplate;filterTemplate;footerTemplate;emptyFilterTemplate;emptyTemplate;dropdownIconTemplate;loadingIconTemplate;clearIconTemplate;filterIconTemplate;onIconTemplate;offIconTemplate;cancelIconTemplate;templates;_itemTemplate;_selectedItemTemplate;_headerTemplate;_filterTemplate;_footerTemplate;_emptyFilterTemplate;_emptyTemplate;_groupTemplate;_loaderTemplate;_dropdownIconTemplate;_loadingIconTemplate;_clearIconTemplate;_filterIconTemplate;_cancelIconTemplate;_onIconTemplate;_offIconTemplate;filterOptions;_options=Y(null);_placeholder=Y(void 0);value;hover;focused;overlayVisible;optionsChanged;panel;dimensionsUpdated;hoveredItem;selectedOptionUpdated;_filterValue=Y(null);searchValue;searchIndex;searchTimeout;previousSearchChar;currentSearchChar;preventModelTouched;focusedOptionIndex=Y(-1);labelId;listId;clicked=Y(!1);get emptyMessageLabel(){return this.emptyMessage||this.config.getTranslation(Vt.EMPTY_MESSAGE)}get emptyFilterMessageLabel(){return this.emptyFilterMessage||this.config.getTranslation(Vt.EMPTY_FILTER_MESSAGE)}get isVisibleClearIcon(){return this.modelValue()!=null&&this.hasSelectedOption()&&this.showClear&&!this.$disabled()}get listLabel(){return this.config.getTranslation(Vt.ARIA).listLabel}get focusedOptionId(){return this.focusedOptionIndex()!==-1?`${this.id}_${this.focusedOptionIndex()}`:null}visibleOptions=te(()=>{let e=this.getAllVisibleAndNonVisibleOptions();if(this._filterValue()){let o=!(this.filterBy||this.optionLabel)&&!this.filterFields&&!this.optionValue?this.options?.filter(r=>r.label?r.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim())!==-1:r.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim())!==-1):this.filterService.filter(e,this.searchFields(),this._filterValue().trim(),this.filterMatchMode,this.filterLocale);if(this.group){let r=this.options||[],a=[];return r.forEach(s=>{let c=this.getOptionGroupChildren(s).filter(u=>o?.includes(u));c.length>0&&a.push(ie(T({},s),{[typeof this.optionGroupChildren=="string"?this.optionGroupChildren:"items"]:[...c]}))}),this.flatOptions(a)}return o}return e});label=te(()=>{let e=this.getAllVisibleAndNonVisibleOptions(),n=e.findIndex(o=>this.isOptionValueEqualsModelValue(o));if(n!==-1){let o=e[n];return this.getOptionLabel(o)}return this.placeholder()||"p-emptylabel"});selectedOption;constructor(e,n){super(),this.zone=e,this.filterService=n,it(()=>{let o=this.modelValue(),r=this.visibleOptions();if(r&&en(r)){let a=this.findSelectedOptionIndex();if(a!==-1||o===void 0||typeof o=="string"&&o.length===0||this.isModelValueNotSet()||this.editable)this.selectedOption=r[a];else{let s=r.findIndex(l=>this.isSelected(l));s!==-1&&(this.selectedOption=r[s])}}ga(r)&&(o===void 0||this.isModelValueNotSet())&&en(this.selectedOption)&&(this.selectedOption=null),o!==void 0&&this.editable&&this.updateEditableLabel(),this.cd.markForCheck()})}isModelValueNotSet(){return this.modelValue()===null&&!this.isOptionValueEqualsModelValue(this.selectedOption)}getAllVisibleAndNonVisibleOptions(){return this.group?this.flatOptions(this.options):this.options||[]}onInit(){this.id=this.id||Le("pn_id_"),this.autoUpdateModel(),this.filterBy&&(this.filterOptions={filter:e=>this.onFilterInputChange(e),reset:()=>this.resetFilter()})}onAfterContentInit(){this.templates.forEach(e=>{switch(e.getType()){case"item":this._itemTemplate=e.template;break;case"selectedItem":this._selectedItemTemplate=e.template;break;case"header":this._headerTemplate=e.template;break;case"filter":this._filterTemplate=e.template;break;case"footer":this._footerTemplate=e.template;break;case"emptyfilter":this._emptyFilterTemplate=e.template;break;case"empty":this._emptyTemplate=e.template;break;case"group":this._groupTemplate=e.template;break;case"loader":this._loaderTemplate=e.template;break;case"dropdownicon":this._dropdownIconTemplate=e.template;break;case"loadingicon":this._loadingIconTemplate=e.template;break;case"clearicon":this._clearIconTemplate=e.template;break;case"filtericon":this._filterIconTemplate=e.template;break;case"cancelicon":this._cancelIconTemplate=e.template;break;case"onicon":this._onIconTemplate=e.template;break;case"officon":this._offIconTemplate=e.template;break;default:this._itemTemplate=e.template;break}})}onAfterViewChecked(){if(this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"])),this.optionsChanged&&this.overlayVisible&&(this.optionsChanged=!1,this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.overlayViewChild&&this.overlayViewChild.alignOverlay()},1)})),this.selectedOptionUpdated&&this.itemsWrapper){let e=Ye(this.overlayViewChild?.overlayViewChild?.nativeElement,'li[data-p-selected="true"]');e&&bC(this.itemsWrapper,e),this.selectedOptionUpdated=!1}}flatOptions(e){return(e||[]).reduce((n,o,r)=>{n.push({optionGroup:o,group:!0,index:r});let a=this.getOptionGroupChildren(o);return a&&a.forEach(s=>n.push(s)),n},[])}autoUpdateModel(){this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption()&&(this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex()),this.onOptionSelect(null,this.visibleOptions()[this.focusedOptionIndex()],!1))}onOptionSelect(e,n,o=!0,r=!1){if(!this.isOptionDisabled(n)){if(!this.isSelected(n)){let a=this.getOptionValue(n);this.updateModel(a,e),this.focusedOptionIndex.set(this.findSelectedOptionIndex()),r===!1&&this.onChange.emit({originalEvent:e,value:a})}o&&this.hide(!0)}}onOptionMouseEnter(e,n){this.focusOnHover&&this.changeFocusedOptionIndex(e,n)}updateModel(e,n){this.value=e,this.onModelChange(e),this.writeModelValue(e),this.selectedOptionUpdated=!0}allowModelChange(){return!!this.modelValue()&&!this.placeholder()&&(this.modelValue()===void 0||this.modelValue()===null)&&!this.editable&&this.options&&this.options.length}isSelected(e){return this.isOptionValueEqualsModelValue(e)}isOptionValueEqualsModelValue(e){return e!=null&&!this.isOptionGroup(e)&&fn(this.modelValue(),this.getOptionValue(e),this.equalityKey())}onAfterViewInit(){this.editable&&this.updateEditableLabel(),this.updatePlaceHolderForFloatingLabel()}updatePlaceHolderForFloatingLabel(){let e=this.el.nativeElement.parentElement,n=e?.classList.contains("p-float-label");if(e&&n&&!this.selectedOption){let o=e.querySelector("label");o&&this._placeholder.set(o.textContent)}}updateEditableLabel(){this.editableInputViewChild&&(this.editableInputViewChild.nativeElement.value=this.getOptionLabel(this.selectedOption)||this.modelValue()||"")}clearEditableLabel(){this.editableInputViewChild&&(this.editableInputViewChild.nativeElement.value="")}getOptionIndex(e,n){return this.virtualScrollerDisabled?e:n&&n.getItemOptions(e).index}getOptionLabel(e){return this.optionLabel!==void 0&&this.optionLabel!==null?pn(e,this.optionLabel):e&&e.label!==void 0?e.label:e}getOptionValue(e){return this.optionValue&&this.optionValue!==null?pn(e,this.optionValue):!this.optionLabel&&e&&e.value!==void 0?e.value:e}getPTItemOptions(e,n,o,r){return this.ptm(r,{context:{option:e,index:o,selected:this.isSelected(e),focused:this.focusedOptionIndex()===this.getOptionIndex(o,n),disabled:this.isOptionDisabled(e)}})}isSelectedOptionEmpty(){return ga(this.selectedOption)}isOptionDisabled(e){return this.optionDisabled?pn(e,this.optionDisabled):e&&e.disabled!==void 0?e.disabled:!1}getOptionGroupLabel(e){return this.optionGroupLabel!==void 0&&this.optionGroupLabel!==null?pn(e,this.optionGroupLabel):e&&e.label!==void 0?e.label:e}getOptionGroupChildren(e){return this.optionGroupChildren!==void 0&&this.optionGroupChildren!==null?pn(e,this.optionGroupChildren):e.items}getAriaPosInset(e){return(this.optionGroupLabel?e-this.visibleOptions().slice(0,e).filter(n=>this.isOptionGroup(n)).length:e)+1}get ariaSetSize(){return this.visibleOptions().filter(e=>!this.isOptionGroup(e)).length}resetFilter(){this._filterValue.set(null),this.filterViewChild&&this.filterViewChild.nativeElement&&(this.filterViewChild.nativeElement.value="")}onContainerClick(e){this.$disabled()||this.readonly||this.loading||e.target.tagName==="INPUT"||e.target.getAttribute("data-pc-section")==="clearicon"||e.target.closest('[data-pc-section="clearicon"]')||((!this.overlayViewChild||!this.overlayViewChild.el.nativeElement.contains(e.target))&&(this.overlayVisible?this.hide(!0):this.show(!0)),this.focusInputViewChild?.nativeElement.focus({preventScroll:!0}),this.onClick.emit(e),this.clicked.set(!0),this.cd.detectChanges())}isEmpty(){return!this._options()||this.visibleOptions()&&this.visibleOptions().length===0}onEditableInput(e){let n=e.target.value;this.searchValue="",!this.searchOptions(e,n)&&this.focusedOptionIndex.set(-1),this.onModelChange(n),this.updateModel(n||null,e),setTimeout(()=>{this.onChange.emit({originalEvent:e,value:n})},1),!this.overlayVisible&&en(n)&&this.show()}show(e){this.overlayVisible=!0,this.focusedOptionIndex.set(this.focusedOptionIndex()!==-1?this.focusedOptionIndex():this.autoOptionFocus?this.findFirstFocusedOptionIndex():this.editable?-1:this.findSelectedOptionIndex()),e&&hn(this.focusInputViewChild?.nativeElement),this.cd.markForCheck()}onOverlayBeforeEnter(e){if(this.itemsWrapper=Ye(this.overlayViewChild?.overlayViewChild?.nativeElement,this.virtualScroll?'[data-pc-name="virtualscroller"]':'[data-pc-section="listcontainer"]'),this.virtualScroll&&this.scroller?.setContentEl(this.itemsViewChild?.nativeElement),this.options&&this.options.length)if(this.virtualScroll){let n=this.modelValue()?this.focusedOptionIndex():-1;n!==-1&&setTimeout(()=>{this.scroller?.scrollToIndex(n)},10)}else{let n=Ye(this.itemsWrapper,'[data-p-selected="true"]');n&&n.scrollIntoView({block:"nearest",inline:"nearest"})}this.filterViewChild&&this.filterViewChild.nativeElement&&(this.preventModelTouched=!0,this.autofocusFilter&&!this.editable&&this.filterViewChild.nativeElement.focus()),this.onShow.emit(e)}onOverlayAfterLeave(e){this.itemsWrapper=null,this.onModelTouched(),this.onHide.emit(e)}hide(e){this.overlayVisible=!1,this.focusedOptionIndex.set(-1),this.clicked.set(!1),this.searchValue="",this.overlayOptions?.mode==="modal"&&mr(),this.filter&&this.resetFilterOnHide&&this.resetFilter(),e&&(this.focusInputViewChild&&hn(this.focusInputViewChild?.nativeElement),this.editable&&this.editableInputViewChild&&hn(this.editableInputViewChild?.nativeElement)),this.cd.markForCheck()}onInputFocus(e){if(this.$disabled())return;this.focused=!0;let n=this.focusedOptionIndex()!==-1?this.focusedOptionIndex():this.overlayVisible&&this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1;this.focusedOptionIndex.set(n),this.overlayVisible&&this.scrollInView(this.focusedOptionIndex()),this.onFocus.emit(e)}onInputBlur(e){this.focused=!1,this.onBlur.emit(e),!this.preventModelTouched&&!this.overlayVisible&&this.onModelTouched(),this.preventModelTouched=!1}onKeyDown(e,n=!1){if(!(this.$disabled()||this.readonly||this.loading)){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e,this.editable);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(e,this.editable);break;case"Delete":this.onDeleteKey(e);break;case"Home":this.onHomeKey(e,this.editable);break;case"End":this.onEndKey(e,this.editable);break;case"PageDown":this.onPageDownKey(e);break;case"PageUp":this.onPageUpKey(e);break;case"Space":this.onSpaceKey(e,n);break;case"Enter":case"NumpadEnter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"Backspace":this.onBackspaceKey(e,this.editable);break;case"ShiftLeft":case"ShiftRight":break;default:!e.metaKey&&aC(e.key)&&(!this.overlayVisible&&this.show(),!this.editable&&this.searchOptions(e,e.key));break}this.clicked.set(!1)}}onFilterKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e,!0);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(e,!0);break;case"Home":this.onHomeKey(e,!0);break;case"End":this.onEndKey(e,!0);break;case"Enter":case"NumpadEnter":this.onEnterKey(e,!0);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e,!0);break;default:break}}onFilterBlur(e){this.focusedOptionIndex.set(-1)}onArrowDownKey(e){if(!this.overlayVisible)this.show(),this.editable&&this.changeFocusedOptionIndex(e,this.findSelectedOptionIndex());else{let n=this.focusedOptionIndex()!==-1?this.findNextOptionIndex(this.focusedOptionIndex()):this.clicked()?this.findFirstOptionIndex():this.findFirstFocusedOptionIndex();this.changeFocusedOptionIndex(e,n)}e.preventDefault(),e.stopPropagation()}changeFocusedOptionIndex(e,n){if(this.focusedOptionIndex()!==n&&(this.focusedOptionIndex.set(n),this.scrollInView(),this.selectOnFocus)){let o=this.visibleOptions()[n];this.onOptionSelect(e,o,!1)}}get virtualScrollerDisabled(){return!this.virtualScroll}scrollInView(e=-1){let n=e!==-1?`${this.id}_${e}`:this.focusedOptionId;if(this.itemsViewChild&&this.itemsViewChild.nativeElement){let o=Ye(this.itemsViewChild.nativeElement,`li[id="${n}"]`);o?o.scrollIntoView&&o.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||setTimeout(()=>{this.virtualScroll&&this.scroller?.scrollToIndex(e!==-1?e:this.focusedOptionIndex())},0)}}hasSelectedOption(){return this.modelValue()!==void 0}isValidSelectedOption(e){return this.isValidOption(e)&&this.isSelected(e)}equalityKey(){return this.optionValue?void 0:this.dataKey}findFirstFocusedOptionIndex(){let e=this.findSelectedOptionIndex();return e<0?this.findFirstOptionIndex():e}findFirstOptionIndex(){return this.visibleOptions().findIndex(e=>this.isValidOption(e))}findSelectedOptionIndex(){return this.hasSelectedOption()?this.visibleOptions().findIndex(e=>this.isValidSelectedOption(e)):-1}findNextOptionIndex(e){let n=ethis.isValidOption(o)):-1;return n>-1?n+e+1:e}findPrevOptionIndex(e){let n=e>0?bm(this.visibleOptions().slice(0,e),o=>this.isValidOption(o)):-1;return n>-1?n:e}findLastOptionIndex(){return bm(this.visibleOptions(),e=>this.isValidOption(e))}findLastFocusedOptionIndex(){let e=this.findSelectedOptionIndex();return e<0?this.findLastOptionIndex():e}isValidOption(e){return e!=null&&!(this.isOptionDisabled(e)||this.isOptionGroup(e))}isOptionGroup(e){return this.optionGroupLabel!==void 0&&this.optionGroupLabel!==null&&e.optionGroup!==void 0&&e.optionGroup!==null&&e.group}onArrowUpKey(e,n=!1){if(e.altKey&&!n){if(this.focusedOptionIndex()!==-1){let o=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(e,o)}this.overlayVisible&&this.hide()}else{let o=this.focusedOptionIndex()!==-1?this.findPrevOptionIndex(this.focusedOptionIndex()):this.clicked()?this.findLastOptionIndex():this.findLastFocusedOptionIndex();this.changeFocusedOptionIndex(e,o),!this.overlayVisible&&this.show()}e.preventDefault(),e.stopPropagation()}onArrowLeftKey(e,n=!1){n&&this.focusedOptionIndex.set(-1)}onDeleteKey(e){this.showClear&&(this.clear(e),e.preventDefault())}onHomeKey(e,n=!1){if(n&&e.currentTarget&&e.currentTarget.setSelectionRange){let o=e.currentTarget;e.shiftKey?o.setSelectionRange(0,o.value.length):(o.setSelectionRange(0,0),this.focusedOptionIndex.set(-1))}else this.changeFocusedOptionIndex(e,this.findFirstOptionIndex()),!this.overlayVisible&&this.show();e.preventDefault()}onEndKey(e,n=!1){if(n&&e.currentTarget&&e.currentTarget.setSelectionRange){let o=e.currentTarget;if(e.shiftKey)o.setSelectionRange(0,o.value.length);else{let r=o.value.length;o.setSelectionRange(r,r),this.focusedOptionIndex.set(-1)}}else this.changeFocusedOptionIndex(e,this.findLastOptionIndex()),!this.overlayVisible&&this.show();e.preventDefault()}onPageDownKey(e){this.scrollInView(this.visibleOptions().length-1),e.preventDefault()}onPageUpKey(e){this.scrollInView(0),e.preventDefault()}onSpaceKey(e,n=!1){!this.editable&&!n&&this.onEnterKey(e)}onEnterKey(e,n=!1){if(!this.overlayVisible)this.focusedOptionIndex.set(-1),this.onArrowDownKey(e);else{if(this.focusedOptionIndex()!==-1){let o=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(e,o)}!n&&this.hide()}e.preventDefault()}onEscapeKey(e){this.overlayVisible&&(this.hide(!0),e.preventDefault(),e.stopPropagation())}onTabKey(e,n=!1){if(!n)if(this.overlayVisible&&this.hasFocusableElements())hn(e.shiftKey?this.lastHiddenFocusableElementOnOverlay?.nativeElement:this.firstHiddenFocusableElementOnOverlay?.nativeElement),e.preventDefault();else{if(this.focusedOptionIndex()!==-1&&this.overlayVisible){let o=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(e,o)}this.overlayVisible&&this.hide(this.filter)}e.stopPropagation()}onFirstHiddenFocus(e){let n=e.relatedTarget===this.focusInputViewChild?.nativeElement?uu(this.overlayViewChild?.el?.nativeElement,':not([data-p-hidden-focusable="true"])'):this.focusInputViewChild?.nativeElement;hn(n)}onLastHiddenFocus(e){let n=e.relatedTarget===this.focusInputViewChild?.nativeElement?pu(this.overlayViewChild?.overlayViewChild?.nativeElement,':not([data-p-hidden-focusable="true"])'):this.focusInputViewChild?.nativeElement;hn(n)}hasFocusableElements(){return fr(this.overlayViewChild?.overlayViewChild?.nativeElement,':not([data-p-hidden-focusable="true"])').length>0}onBackspaceKey(e,n=!1){n&&!this.overlayVisible&&this.show()}searchFields(){return this.filterBy?.split(",")||this.filterFields||[this.optionLabel]}searchOptions(e,n){this.searchValue=(this.searchValue||"")+n;let o=-1,r=!1;return o=this.visibleOptions().findIndex(a=>this.isOptionMatched(a)),o!==-1&&(r=!0),o===-1&&this.focusedOptionIndex()===-1&&(o=this.findFirstFocusedOptionIndex()),o!==-1&&setTimeout(()=>{this.changeFocusedOptionIndex(e,o)}),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout(()=>{this.searchValue="",this.searchTimeout=null},500),r}isOptionMatched(e){return this.isValidOption(e)&&this.getOptionLabel(e).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale))}onFilterInputChange(e){let n=e.target.value;this._filterValue.set(n),this.focusedOptionIndex.set(-1),this.onFilter.emit({originalEvent:e,filter:this._filterValue()}),!this.virtualScrollerDisabled&&this.scroller?.scrollToIndex(0),setTimeout(()=>{this.overlayViewChild?.alignOverlay()}),this.cd.markForCheck()}applyFocus(){this.editable?Ye(this.el.nativeElement,'[data-pc-section="label"]').focus():hn(this.focusInputViewChild?.nativeElement)}focus(){this.applyFocus()}clear(e){this.updateModel(null,e),this.clearEditableLabel(),this.onModelTouched(),this.onChange.emit({originalEvent:e,value:this.value}),this.onClear.emit(e),this.resetFilter()}writeControlValue(e,n){this.filter&&this.resetFilter(),this.value=e,this.allowModelChange()&&this.onModelChange(e),n(this.value),this.updateEditableLabel(),this.cd.markForCheck()}get containerDataP(){return this.cn({invalid:this.invalid(),disabled:this.$disabled(),focus:this.focused,fluid:this.hasFluid,filled:this.$variant()==="filled",[this.size()]:this.size()})}get labelDataP(){return this.cn({placeholder:this.label===this.placeholder,clearable:this.showClear,disabled:this.$disabled(),[this.size()]:this.size(),empty:!this.editable&&!this.selectedItemTemplate&&(!this.label?.()||this.label()==="p-emptylabel"||this.label()?.length===0)})}get dropdownIconDataP(){return this.cn({[this.size()]:this.size()})}get overlayDataP(){return this.cn({["overlay-"+this.$appendTo()]:"overlay-"+this.$appendTo()})}static \u0275fac=function(n){return new(n||t)(ee(Ne),ee(gu))};static \u0275cmp=H({type:t,selectors:[["p-select"]],contentQueries:function(n,o,r){if(n&1&&Je(r,r$,4)(r,a$,4)(r,s$,4)(r,l$,4)(r,c$,4)(r,ND,4)(r,d$,4)(r,u$,4)(r,p$,4)(r,f$,4)(r,h$,4)(r,g$,4)(r,m$,4)(r,b$,4)(r,y$,4)(r,_$,4)(r,Qe,4),n&2){let a;M(a=R())&&(o.itemTemplate=a.first),M(a=R())&&(o.groupTemplate=a.first),M(a=R())&&(o.loaderTemplate=a.first),M(a=R())&&(o.selectedItemTemplate=a.first),M(a=R())&&(o.headerTemplate=a.first),M(a=R())&&(o.filterTemplate=a.first),M(a=R())&&(o.footerTemplate=a.first),M(a=R())&&(o.emptyFilterTemplate=a.first),M(a=R())&&(o.emptyTemplate=a.first),M(a=R())&&(o.dropdownIconTemplate=a.first),M(a=R())&&(o.loadingIconTemplate=a.first),M(a=R())&&(o.clearIconTemplate=a.first),M(a=R())&&(o.filterIconTemplate=a.first),M(a=R())&&(o.onIconTemplate=a.first),M(a=R())&&(o.offIconTemplate=a.first),M(a=R())&&(o.cancelIconTemplate=a.first),M(a=R())&&(o.templates=a)}},viewQuery:function(n,o){if(n&1&&xt(ND,5)(v$,5)(C$,5)(w$,5)(x$,5)(T$,5)(D$,5)(E$,5),n&2){let r;M(r=R())&&(o.filterViewChild=r.first),M(r=R())&&(o.focusInputViewChild=r.first),M(r=R())&&(o.editableInputViewChild=r.first),M(r=R())&&(o.itemsViewChild=r.first),M(r=R())&&(o.scroller=r.first),M(r=R())&&(o.overlayViewChild=r.first),M(r=R())&&(o.firstHiddenFocusableElementOnOverlay=r.first),M(r=R())&&(o.lastHiddenFocusableElementOnOverlay=r.first)}},hostVars:4,hostBindings:function(n,o){n&1&&I("click",function(a){return o.onContainerClick(a)}),n&2&&(N("id",o.id)("data-p",o.containerDataP),D(o.cn(o.cx("root"),o.styleClass)))},inputs:{id:"id",scrollHeight:"scrollHeight",filter:[2,"filter","filter",S],panelStyle:"panelStyle",styleClass:"styleClass",panelStyleClass:"panelStyleClass",readonly:[2,"readonly","readonly",S],editable:[2,"editable","editable",S],tabindex:[2,"tabindex","tabindex",xe],placeholder:"placeholder",loadingIcon:"loadingIcon",filterPlaceholder:"filterPlaceholder",filterLocale:"filterLocale",inputId:"inputId",dataKey:"dataKey",filterBy:"filterBy",filterFields:"filterFields",autofocus:[2,"autofocus","autofocus",S],resetFilterOnHide:[2,"resetFilterOnHide","resetFilterOnHide",S],checkmark:[2,"checkmark","checkmark",S],dropdownIcon:"dropdownIcon",loading:[2,"loading","loading",S],optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",optionGroupLabel:"optionGroupLabel",optionGroupChildren:"optionGroupChildren",group:[2,"group","group",S],showClear:[2,"showClear","showClear",S],emptyFilterMessage:"emptyFilterMessage",emptyMessage:"emptyMessage",lazy:[2,"lazy","lazy",S],virtualScroll:[2,"virtualScroll","virtualScroll",S],virtualScrollItemSize:[2,"virtualScrollItemSize","virtualScrollItemSize",xe],virtualScrollOptions:"virtualScrollOptions",overlayOptions:"overlayOptions",ariaFilterLabel:"ariaFilterLabel",ariaLabel:"ariaLabel",ariaLabelledBy:"ariaLabelledBy",filterMatchMode:"filterMatchMode",tooltip:"tooltip",tooltipPosition:"tooltipPosition",tooltipPositionStyle:"tooltipPositionStyle",tooltipStyleClass:"tooltipStyleClass",focusOnHover:[2,"focusOnHover","focusOnHover",S],selectOnFocus:[2,"selectOnFocus","selectOnFocus",S],autoOptionFocus:[2,"autoOptionFocus","autoOptionFocus",S],autofocusFilter:[2,"autofocusFilter","autofocusFilter",S],filterValue:"filterValue",options:"options",appendTo:[1,"appendTo"],motionOptions:[1,"motionOptions"]},outputs:{onChange:"onChange",onFilter:"onFilter",onFocus:"onFocus",onBlur:"onBlur",onClick:"onClick",onShow:"onShow",onHide:"onHide",onClear:"onClear",onLazyLoad:"onLazyLoad"},features:[ne([NU,$u,{provide:BD,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],decls:11,vars:18,consts:[["elseBlock",""],["overlay",""],["content",""],["focusInput",""],["defaultPlaceholder",""],["editableInput",""],["firstHiddenFocusableEl",""],["buildInItems",""],["lastHiddenFocusableEl",""],["builtInFilterElement",""],["filter",""],["scroller",""],["loader",""],["items",""],["emptyFilter",""],["empty",""],["role","combobox",3,"class","pBind","pTooltip","pTooltipUnstyled","tooltipPosition","positionStyle","tooltipStyleClass","pAutoFocus","focus","blur","keydown",4,"ngIf"],["type","text",3,"class","pBind","pAutoFocus","input","keydown","focus","blur",4,"ngIf"],[4,"ngIf"],["role","button","aria-label","dropdown trigger","aria-haspopup","listbox",3,"pBind"],[4,"ngIf","ngIfElse"],[3,"visibleChange","onBeforeEnter","onAfterLeave","onHide","hostAttrSelector","visible","options","target","appendTo","unstyled","pt","motionOptions"],["role","combobox",3,"focus","blur","keydown","pBind","pTooltip","pTooltipUnstyled","tooltipPosition","positionStyle","tooltipStyleClass","pAutoFocus"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["type","text",3,"input","keydown","focus","blur","pBind","pAutoFocus"],["data-p-icon","times",3,"class","pBind","click",4,"ngIf"],[3,"class","pBind","click",4,"ngIf"],["data-p-icon","times",3,"click","pBind"],[3,"click","pBind"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[4,"ngTemplateOutlet"],["aria-hidden","true",3,"class","pBind",4,"ngIf"],["aria-hidden","true",3,"pBind"],[3,"class","pBind",4,"ngIf"],["data-p-icon","chevron-down",3,"class","pBind",4,"ngIf"],[3,"pBind"],["data-p-icon","chevron-down",3,"pBind"],[3,"ngStyle","pBind"],["role","presentation",1,"p-hidden-accessible","p-hidden-focusable",3,"focus","pBind"],["hostName","select",3,"items","style","itemSize","autoSize","lazy","options","pt","onLazyLoad",4,"ngIf"],[3,"pt","unstyled"],["pInputText","","type","text","role","searchbox","autocomplete","off",3,"input","keydown","blur","pSize","value","variant","pt","unstyled"],["data-p-icon","search",3,"pBind",4,"ngIf"],[3,"pBind",4,"ngIf"],["data-p-icon","search",3,"pBind"],["hostName","select",3,"onLazyLoad","items","itemSize","autoSize","lazy","options","pt"],["role","listbox",3,"pBind"],["ngFor","",3,"ngForOf"],["role","option",3,"class","ngStyle","pBind",4,"ngIf"],["role","option",3,"ngStyle","pBind"],[3,"onClick","onMouseEnter","id","option","checkmark","selected","label","disabled","template","focused","ariaPosInset","ariaSetSize","index","unstyled","scrollerOptions"]],template:function(n,o){if(n&1){let r=$();_(0,O$,6,25,"span",16)(1,A$,2,20,"input",17)(2,B$,3,2,"ng-container",18),b(3,"div",19),_(4,U$,3,2,"ng-container",20)(5,Z$,2,2,"ng-template",null,0,Ie),y(),b(7,"p-overlay",21,1),zn("visibleChange",function(s){return C(r),ri(o.overlayVisible,s)||(o.overlayVisible=s),w(s)}),I("onBeforeEnter",function(s){return o.onOverlayBeforeEnter(s)})("onAfterLeave",function(s){return o.onOverlayAfterLeave(s)})("onHide",function(){return o.hide()}),_(9,MU,13,23,"ng-template",null,2,Ie),y()}if(n&2){let r=Ft(6);p("ngIf",!o.editable),f(),p("ngIf",o.editable),f(),p("ngIf",o.isVisibleClearIcon),f(),D(o.cx("dropdown")),p("pBind",o.ptm("dropdown")),N("aria-expanded",o.overlayVisible??!1)("data-pc-section","trigger"),f(),p("ngIf",o.loading)("ngIfElse",r),f(3),p("hostAttrSelector",o.$attrSelector),Vn("visible",o.overlayVisible),p("options",o.overlayOptions)("target","@parent")("appendTo",o.$appendTo())("unstyled",o.unstyled())("pt",o.ptm("pcOverlay"))("motionOptions",o.motionOptions())}},dependencies:[De,Hn,ot,qe,Jt,FU,TD,OD,Ri,Io,Ru,kT,ko,gD,yD,hl,re,rt,U],encapsulation:2,changeDetection:0})}return t})(),Uu=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[Ia,re,re]})}return t})();var VD=` + .p-paginator { + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + background: dt('paginator.background'); + color: dt('paginator.color'); + padding: dt('paginator.padding'); + border-radius: dt('paginator.border.radius'); + gap: dt('paginator.gap'); + } + + .p-paginator-content { + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + gap: dt('paginator.gap'); + } + + .p-paginator-content-start { + margin-inline-end: auto; + } + + .p-paginator-content-end { + margin-inline-start: auto; + } + + .p-paginator-page, + .p-paginator-next, + .p-paginator-last, + .p-paginator-first, + .p-paginator-prev { + cursor: pointer; + display: inline-flex; + align-items: center; + justify-content: center; + line-height: 1; + user-select: none; + overflow: hidden; + position: relative; + background: dt('paginator.nav.button.background'); + border: 0 none; + color: dt('paginator.nav.button.color'); + min-width: dt('paginator.nav.button.width'); + height: dt('paginator.nav.button.height'); + transition: + background dt('paginator.transition.duration'), + color dt('paginator.transition.duration'), + outline-color dt('paginator.transition.duration'), + box-shadow dt('paginator.transition.duration'); + border-radius: dt('paginator.nav.button.border.radius'); + padding: 0; + margin: 0; + } + + .p-paginator-page:focus-visible, + .p-paginator-next:focus-visible, + .p-paginator-last:focus-visible, + .p-paginator-first:focus-visible, + .p-paginator-prev:focus-visible { + box-shadow: dt('paginator.nav.button.focus.ring.shadow'); + outline: dt('paginator.nav.button.focus.ring.width') dt('paginator.nav.button.focus.ring.style') dt('paginator.nav.button.focus.ring.color'); + outline-offset: dt('paginator.nav.button.focus.ring.offset'); + } + + .p-paginator-page:not(.p-disabled):not(.p-paginator-page-selected):hover, + .p-paginator-first:not(.p-disabled):hover, + .p-paginator-prev:not(.p-disabled):hover, + .p-paginator-next:not(.p-disabled):hover, + .p-paginator-last:not(.p-disabled):hover { + background: dt('paginator.nav.button.hover.background'); + color: dt('paginator.nav.button.hover.color'); + } + + .p-paginator-page.p-paginator-page-selected { + background: dt('paginator.nav.button.selected.background'); + color: dt('paginator.nav.button.selected.color'); + } + + .p-paginator-current { + color: dt('paginator.current.page.report.color'); + } + + .p-paginator-pages { + display: flex; + align-items: center; + gap: dt('paginator.gap'); + } + + .p-paginator-jtp-input .p-inputtext { + max-width: dt('paginator.jump.to.page.input.max.width'); + } + + .p-paginator-first:dir(rtl), + .p-paginator-prev:dir(rtl), + .p-paginator-next:dir(rtl), + .p-paginator-last:dir(rtl) { + transform: rotate(180deg); + } +`;var LU=["dropdownicon"],BU=["firstpagelinkicon"],VU=["previouspagelinkicon"],zU=["lastpagelinkicon"],jU=["nextpagelinkicon"],Wu=t=>({$implicit:t}),HU=t=>({pageLink:t});function $U(t,i){t&1&&G(0)}function UU(t,i){if(t&1&&(b(0,"div",10),_(1,$U,1,0,"ng-container",11),y()),t&2){let e=d();D(e.cx("contentStart")),p("pBind",e.ptm("contentStart")),f(),p("ngTemplateOutlet",e.templateLeft)("ngTemplateOutletContext",be(5,Wu,e.paginatorState))}}function WU(t,i){if(t&1&&(b(0,"span",10),L(1),y()),t&2){let e=d();D(e.cx("current")),p("pBind",e.ptm("current")),f(),de(e.currentPageReport)}}function GU(t,i){if(t&1&&(j(),W(0,"svg",14)),t&2){let e=d(2);D(e.cx("firstIcon")),p("pBind",e.ptm("firstIcon"))}}function qU(t,i){}function KU(t,i){t&1&&_(0,qU,0,0,"ng-template")}function YU(t,i){if(t&1&&(b(0,"span"),_(1,KU,1,0,null,15),y()),t&2){let e=d(2);D(e.cx("firstIcon")),f(),p("ngTemplateOutlet",e.firstPageLinkIconTemplate||e._firstPageLinkIconTemplate)}}function QU(t,i){if(t&1){let e=$();b(0,"button",12),I("click",function(o){C(e);let r=d();return w(r.changePageToFirst(o))}),_(1,GU,1,3,"svg",13)(2,YU,2,3,"span",4),y()}if(t&2){let e=d();D(e.cx("first")),p("pBind",e.ptm("first")),N("aria-label",e.getAriaLabel("firstPageLabel")),f(),p("ngIf",!e.firstPageLinkIconTemplate&&!e._firstPageLinkIconTemplate),f(),p("ngIf",e.firstPageLinkIconTemplate||e._firstPageLinkIconTemplate)}}function ZU(t,i){if(t&1&&(j(),W(0,"svg",16)),t&2){let e=d();D(e.cx("prevIcon")),p("pBind",e.ptm("prevIcon"))}}function XU(t,i){}function JU(t,i){t&1&&_(0,XU,0,0,"ng-template")}function eW(t,i){if(t&1&&(b(0,"span"),_(1,JU,1,0,null,15),y()),t&2){let e=d();D(e.cx("prevIcon")),f(),p("ngTemplateOutlet",e.previousPageLinkIconTemplate||e._previousPageLinkIconTemplate)}}function tW(t,i){if(t&1){let e=$();b(0,"button",12),I("click",function(o){let r=C(e).$implicit,a=d(2);return w(a.onPageLinkClick(o,r-1))}),L(1),y()}if(t&2){let e=i.$implicit,n=d(2);D(n.cx("page",be(6,HU,e))),p("pBind",n.ptm("page")),N("aria-label",n.getPageAriaLabel(e))("aria-current",e-1==n.getPage()?"page":void 0),f(),ct(" ",n.getLocalization(e)," ")}}function nW(t,i){if(t&1&&(b(0,"span",10),_(1,tW,2,8,"button",17),y()),t&2){let e=d();D(e.cx("pages")),p("pBind",e.ptm("pages")),f(),p("ngForOf",e.pageLinks)}}function iW(t,i){if(t&1&&L(0),t&2){let e=d(2);de(e.currentPageReport)}}function oW(t,i){t&1&&G(0)}function rW(t,i){if(t&1&&_(0,oW,1,0,"ng-container",11),t&2){let e=i.$implicit,n=d(3);p("ngTemplateOutlet",n.jumpToPageItemTemplate)("ngTemplateOutletContext",be(2,Wu,e))}}function aW(t,i){t&1&&(q(0),_(1,rW,1,4,"ng-template",21),K())}function sW(t,i){t&1&&G(0)}function lW(t,i){if(t&1&&_(0,sW,1,0,"ng-container",15),t&2){let e=d(3);p("ngTemplateOutlet",e.dropdownIconTemplate||e._dropdownIconTemplate)}}function cW(t,i){t&1&&_(0,lW,1,1,"ng-template",22)}function dW(t,i){if(t&1){let e=$();b(0,"p-select",18),I("onChange",function(o){C(e);let r=d();return w(r.onPageDropdownChange(o))}),_(1,iW,1,1,"ng-template",19)(2,aW,2,0,"ng-container",20)(3,cW,1,0,null,20),y()}if(t&2){let e=d();p("options",e.pageItems)("ngModel",e.getPage())("disabled",e.empty())("styleClass",e.cx("pcJumpToPageDropdown"))("appendTo",e.dropdownAppendTo||e.$appendTo())("scrollHeight",e.dropdownScrollHeight)("pt",e.ptm("pcJumpToPageDropdown"))("unstyled",e.unstyled()),N("aria-label",e.getAriaLabel("jumpToPageDropdownLabel")),f(2),p("ngIf",e.jumpToPageItemTemplate),f(),p("ngIf",e.dropdownIconTemplate||e._dropdownIconTemplate)}}function uW(t,i){if(t&1&&(j(),W(0,"svg",23)),t&2){let e=d();D(e.cx("nextIcon")),p("pBind",e.ptm("nextIcon"))}}function pW(t,i){}function fW(t,i){t&1&&_(0,pW,0,0,"ng-template")}function hW(t,i){if(t&1&&(b(0,"span"),_(1,fW,1,0,null,15),y()),t&2){let e=d();D(e.cx("nextIcon")),f(),p("ngTemplateOutlet",e.nextPageLinkIconTemplate||e._nextPageLinkIconTemplate)}}function gW(t,i){if(t&1&&(j(),W(0,"svg",25)),t&2){let e=d(2);D(e.cx("lastIcon")),p("pBind",e.ptm("lastIcon"))}}function mW(t,i){}function bW(t,i){t&1&&_(0,mW,0,0,"ng-template")}function yW(t,i){if(t&1&&(b(0,"span"),_(1,bW,1,0,null,15),y()),t&2){let e=d(2);D(e.cx("lastIcon")),f(),p("ngTemplateOutlet",e.lastPageLinkIconTemplate||e._lastPageLinkIconTemplate)}}function _W(t,i){if(t&1){let e=$();b(0,"button",2),I("click",function(o){C(e);let r=d();return w(r.changePageToLast(o))}),_(1,gW,1,3,"svg",24)(2,yW,2,3,"span",4),y()}if(t&2){let e=d();D(e.cx("last")),p("pBind",e.ptm("last"))("disabled",e.isLastPage()||e.empty()),N("aria-label",e.getAriaLabel("lastPageLabel")),f(),p("ngIf",!e.lastPageLinkIconTemplate&&!e._lastPageLinkIconTemplate),f(),p("ngIf",e.lastPageLinkIconTemplate||e._lastPageLinkIconTemplate)}}function vW(t,i){if(t&1){let e=$();b(0,"p-inputnumber",26),I("ngModelChange",function(o){C(e);let r=d();return w(r.changePage(o-1))}),y()}if(t&2){let e=d();D(e.cx("pcJumpToPageInput")),p("pt",e.ptm("pcJumpToPageInput"))("ngModel",e.currentPage())("disabled",e.empty())("unstyled",e.unstyled())}}function CW(t,i){t&1&&G(0)}function wW(t,i){if(t&1&&_(0,CW,1,0,"ng-container",11),t&2){let e=i.$implicit,n=d(3);p("ngTemplateOutlet",n.dropdownItemTemplate)("ngTemplateOutletContext",be(2,Wu,e))}}function xW(t,i){t&1&&(q(0),_(1,wW,1,4,"ng-template",21),K())}function TW(t,i){t&1&&G(0)}function DW(t,i){if(t&1&&_(0,TW,1,0,"ng-container",15),t&2){let e=d(3);p("ngTemplateOutlet",e.dropdownIconTemplate||e._dropdownIconTemplate)}}function EW(t,i){t&1&&_(0,DW,1,1,"ng-template",22)}function IW(t,i){if(t&1){let e=$();b(0,"p-select",27),zn("ngModelChange",function(o){C(e);let r=d();return ri(r.rows,o)||(r.rows=o),w(o)}),I("onChange",function(o){C(e);let r=d();return w(r.onRppChange(o))}),_(1,xW,2,0,"ng-container",20)(2,EW,1,0,null,20),y()}if(t&2){let e=d();p("options",e.rowsPerPageItems),Vn("ngModel",e.rows),p("styleClass",e.cx("pcRowPerPageDropdown"))("disabled",e.empty())("appendTo",e.dropdownAppendTo||e.$appendTo())("scrollHeight",e.dropdownScrollHeight)("ariaLabel",e.getAriaLabel("rowsPerPageLabel"))("pt",e.ptm("pcRowPerPageDropdown"))("unstyled",e.unstyled()),f(),p("ngIf",e.dropdownItemTemplate),f(),p("ngIf",e.dropdownIconTemplate||e._dropdownIconTemplate)}}function SW(t,i){t&1&&G(0)}function kW(t,i){if(t&1&&(b(0,"div",10),_(1,SW,1,0,"ng-container",11),y()),t&2){let e=d();D(e.cx("contentEnd")),p("pBind",e.ptm("contentEnd")),f(),p("ngTemplateOutlet",e.templateRight)("ngTemplateOutletContext",be(5,Wu,e.paginatorState))}}var MW={paginator:({instance:t})=>["p-paginator p-component"],content:"p-paginator-content",contentStart:"p-paginator-content-start",contentEnd:"p-paginator-content-end",first:({instance:t})=>["p-paginator-first",{"p-disabled":t.isFirstPage()||t.empty()}],firstIcon:"p-paginator-first-icon",prev:({instance:t})=>["p-paginator-prev",{"p-disabled":t.isFirstPage()||t.empty()}],prevIcon:"p-paginator-prev-icon",next:({instance:t})=>["p-paginator-next",{"p-disabled":t.isLastPage()||t.empty()}],nextIcon:"p-paginator-next-icon",last:({instance:t})=>["p-paginator-last",{"p-disabled":t.isLastPage()||t.empty()}],lastIcon:"p-paginator-last-icon",pages:"p-paginator-pages",page:({instance:t,pageLink:i})=>["p-paginator-page",{"p-paginator-page-selected":i-1==t.getPage()}],current:"p-paginator-current",pcRowPerPageDropdown:"p-paginator-rpp-dropdown",pcJumpToPageDropdown:"p-paginator-jtp-dropdown",pcJumpToPageInput:"p-paginator-jtp-input"},zD=(()=>{class t extends fe{name="paginator";style=VD;classes=MW;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var jD=new B("PAGINATOR_INSTANCE"),i0=(()=>{class t extends ke{componentName="Paginator";bindDirectiveInstance=v(U,{self:!0});$pcPaginator=v(jD,{optional:!0,skipSelf:!0})??void 0;onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}pageLinkSize=5;styleClass;alwaysShow=!0;dropdownAppendTo;templateLeft;templateRight;dropdownScrollHeight="200px";currentPageReportTemplate="{currentPage} of {totalPages}";showCurrentPageReport;showFirstLastIcon=!0;totalRecords=0;rows=0;rowsPerPageOptions;showJumpToPageDropdown;showJumpToPageInput;jumpToPageItemTemplate;showPageLinks=!0;locale;dropdownItemTemplate;get first(){return this._first}set first(e){this._first=e}appendTo=V(void 0);onPageChange=new P;dropdownIconTemplate;firstPageLinkIconTemplate;previousPageLinkIconTemplate;lastPageLinkIconTemplate;nextPageLinkIconTemplate;templates;_dropdownIconTemplate;_firstPageLinkIconTemplate;_previousPageLinkIconTemplate;_lastPageLinkIconTemplate;_nextPageLinkIconTemplate;pageLinks;pageItems;rowsPerPageItems;paginatorState;_first=0;_page=0;_componentStyle=v(zD);$appendTo=te(()=>this.appendTo()||this.config.overlayAppendTo());get display(){return this.alwaysShow||this.pageLinks&&this.pageLinks.length>1?null:"none"}constructor(){super()}onInit(){this.updatePaginatorState()}onAfterContentInit(){this.templates.forEach(e=>{switch(e.getType()){case"dropdownicon":this._dropdownIconTemplate=e.template;break;case"firstpagelinkicon":this._firstPageLinkIconTemplate=e.template;break;case"previouspagelinkicon":this._previousPageLinkIconTemplate=e.template;break;case"lastpagelinkicon":this._lastPageLinkIconTemplate=e.template;break;case"nextpagelinkicon":this._nextPageLinkIconTemplate=e.template;break}})}getAriaLabel(e){return this.config.translation.aria?this.config.translation.aria[e]:void 0}getPageAriaLabel(e){return this.config.translation.aria?this.config.translation.aria.pageLabel?.replace(/{page}/g,`${e}`):void 0}getLocalization(e){let n=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),o=new Map(n.map((r,a)=>[a,r]));return e>9?String(e).split("").map(a=>o.get(Number(a))).join(""):o.get(e)}onChanges(e){e.totalRecords&&(this.updatePageLinks(),this.updatePaginatorState(),this.updateFirst(),this.updateRowsPerPageOptions()),e.first&&(this._first=e.first.currentValue,this.updatePageLinks(),this.updatePaginatorState()),e.rows&&(this.updatePageLinks(),this.updatePaginatorState()),e.rowsPerPageOptions&&this.updateRowsPerPageOptions(),e.pageLinkSize&&this.updatePageLinks()}updateRowsPerPageOptions(){if(this.rowsPerPageOptions){this.rowsPerPageItems=[];let e=null;for(let n of this.rowsPerPageOptions)typeof n=="object"&&n.showAll?e={label:n.showAll,value:this.totalRecords}:this.rowsPerPageItems.push({label:String(this.getLocalization(n)),value:n});e&&this.rowsPerPageItems.push(e)}}isFirstPage(){return this.getPage()===0}isLastPage(){return this.getPage()===this.getPageCount()-1}getPageCount(){return Math.ceil(this.totalRecords/this.rows)}calculatePageLinkBoundaries(){let e=this.getPageCount(),n=Math.min(this.pageLinkSize,e),o=Math.max(0,Math.ceil(this.getPage()-n/2)),r=Math.min(e-1,o+n-1);var a=this.pageLinkSize-(r-o+1);return o=Math.max(0,o-a),[o,r]}updatePageLinks(){this.pageLinks=[];let e=this.calculatePageLinkBoundaries(),n=e[0],o=e[1];for(let r=n;r<=o;r++)this.pageLinks.push(r+1);if(this.showJumpToPageDropdown){this.pageItems=[];for(let r=0;r=0&&e0&&this.totalRecords&&this.first>=this.totalRecords&&Promise.resolve(null).then(()=>this.changePage(e-1))}getPage(){return Math.floor(this.first/this.rows)}changePageToFirst(e){this.isFirstPage()||this.changePage(0),e.preventDefault()}changePageToPrev(e){this.changePage(this.getPage()-1),e.preventDefault()}changePageToNext(e){this.changePage(this.getPage()+1),e.preventDefault()}changePageToLast(e){this.isLastPage()||this.changePage(this.getPageCount()-1),e.preventDefault()}onPageLinkClick(e,n){this.changePage(n),e.preventDefault()}onRppChange(e){this.changePage(this.getPage())}onPageDropdownChange(e){this.changePage(e.value)}updatePaginatorState(){this.paginatorState={page:this.getPage(),pageCount:this.getPageCount(),rows:this.rows,first:this.first,totalRecords:this.totalRecords}}empty(){return this.getPageCount()===0}currentPage(){return this.getPageCount()>0?this.getPage()+1:0}get currentPageReport(){return this.currentPageReportTemplate.replace("{currentPage}",String(this.currentPage())).replace("{totalPages}",String(this.getPageCount())).replace("{first}",String(this.totalRecords>0?this._first+1:0)).replace("{last}",String(Math.min(this._first+this.rows,this.totalRecords))).replace("{rows}",String(this.rows)).replace("{totalRecords}",String(this.totalRecords))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=H({type:t,selectors:[["p-paginator"]],contentQueries:function(n,o,r){if(n&1&&Je(r,LU,4)(r,BU,4)(r,VU,4)(r,zU,4)(r,jU,4)(r,Qe,4),n&2){let a;M(a=R())&&(o.dropdownIconTemplate=a.first),M(a=R())&&(o.firstPageLinkIconTemplate=a.first),M(a=R())&&(o.previousPageLinkIconTemplate=a.first),M(a=R())&&(o.lastPageLinkIconTemplate=a.first),M(a=R())&&(o.nextPageLinkIconTemplate=a.first),M(a=R())&&(o.templates=a)}},hostVars:4,hostBindings:function(n,o){n&2&&(D(o.cn(o.cx("paginator"),o.styleClass)),Xt("display",o.display))},inputs:{pageLinkSize:[2,"pageLinkSize","pageLinkSize",xe],styleClass:"styleClass",alwaysShow:[2,"alwaysShow","alwaysShow",S],dropdownAppendTo:"dropdownAppendTo",templateLeft:"templateLeft",templateRight:"templateRight",dropdownScrollHeight:"dropdownScrollHeight",currentPageReportTemplate:"currentPageReportTemplate",showCurrentPageReport:[2,"showCurrentPageReport","showCurrentPageReport",S],showFirstLastIcon:[2,"showFirstLastIcon","showFirstLastIcon",S],totalRecords:[2,"totalRecords","totalRecords",xe],rows:[2,"rows","rows",xe],rowsPerPageOptions:"rowsPerPageOptions",showJumpToPageDropdown:[2,"showJumpToPageDropdown","showJumpToPageDropdown",S],showJumpToPageInput:[2,"showJumpToPageInput","showJumpToPageInput",S],jumpToPageItemTemplate:"jumpToPageItemTemplate",showPageLinks:[2,"showPageLinks","showPageLinks",S],locale:"locale",dropdownItemTemplate:"dropdownItemTemplate",first:"first",appendTo:[1,"appendTo"]},outputs:{onPageChange:"onPageChange"},features:[ne([zD,{provide:jD,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],decls:15,vars:23,consts:[[3,"pBind","class",4,"ngIf"],["type","button","pRipple","",3,"pBind","class","click",4,"ngIf"],["type","button","pRipple","",3,"click","pBind","disabled"],["data-p-icon","angle-left",3,"pBind","class",4,"ngIf"],[3,"class",4,"ngIf"],[3,"options","ngModel","disabled","styleClass","appendTo","scrollHeight","pt","unstyled","onChange",4,"ngIf"],["data-p-icon","angle-right",3,"pBind","class",4,"ngIf"],["type","button","pRipple","",3,"pBind","disabled","class","click",4,"ngIf"],[3,"pt","ngModel","class","disabled","unstyled","ngModelChange",4,"ngIf"],[3,"options","ngModel","styleClass","disabled","appendTo","scrollHeight","ariaLabel","pt","unstyled","ngModelChange","onChange",4,"ngIf"],[3,"pBind"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["type","button","pRipple","",3,"click","pBind"],["data-p-icon","angle-double-left",3,"pBind","class",4,"ngIf"],["data-p-icon","angle-double-left",3,"pBind"],[4,"ngTemplateOutlet"],["data-p-icon","angle-left",3,"pBind"],["type","button","pRipple","",3,"pBind","class","click",4,"ngFor","ngForOf"],[3,"onChange","options","ngModel","disabled","styleClass","appendTo","scrollHeight","pt","unstyled"],["pTemplate","selectedItem"],[4,"ngIf"],["pTemplate","item"],["pTemplate","dropdownicon"],["data-p-icon","angle-right",3,"pBind"],["data-p-icon","angle-double-right",3,"pBind","class",4,"ngIf"],["data-p-icon","angle-double-right",3,"pBind"],[3,"ngModelChange","pt","ngModel","disabled","unstyled"],[3,"ngModelChange","onChange","options","ngModel","styleClass","disabled","appendTo","scrollHeight","ariaLabel","pt","unstyled"]],template:function(n,o){n&1&&(_(0,UU,2,7,"div",0)(1,WU,2,4,"span",0)(2,QU,3,6,"button",1),b(3,"button",2),I("click",function(a){return o.changePageToPrev(a)}),_(4,ZU,1,3,"svg",3)(5,eW,2,3,"span",4),y(),_(6,nW,2,4,"span",0)(7,dW,4,11,"p-select",5),b(8,"button",2),I("click",function(a){return o.changePageToNext(a)}),_(9,uW,1,3,"svg",6)(10,hW,2,3,"span",4),y(),_(11,_W,3,7,"button",7)(12,vW,1,6,"p-inputnumber",8)(13,IW,3,11,"p-select",9)(14,kW,2,7,"div",0)),n&2&&(p("ngIf",o.templateLeft),f(),p("ngIf",o.showCurrentPageReport),f(),p("ngIf",o.showFirstLastIcon),f(),D(o.cx("prev")),p("pBind",o.ptm("prev"))("disabled",o.isFirstPage()||o.empty()),N("aria-label",o.getAriaLabel("prevPageLabel")),f(),p("ngIf",!o.previousPageLinkIconTemplate&&!o._previousPageLinkIconTemplate),f(),p("ngIf",o.previousPageLinkIconTemplate||o._previousPageLinkIconTemplate),f(),p("ngIf",o.showPageLinks),f(),p("ngIf",o.showJumpToPageDropdown),f(),D(o.cx("next")),p("pBind",o.ptm("next"))("disabled",o.isLastPage()||o.empty()),N("aria-label",o.getAriaLabel("nextPageLabel")),f(),p("ngIf",!o.nextPageLinkIconTemplate&&!o._nextPageLinkIconTemplate),f(),p("ngIf",o.nextPageLinkIconTemplate||o._nextPageLinkIconTemplate),f(),p("ngIf",o.showFirstLastIcon),f(),p("ngIf",o.showJumpToPageInput),f(),p("ngIf",o.rowsPerPageOptions),f(),p("ngIf",o.templateRight))},dependencies:[De,Hn,ot,qe,Ia,Ea,Eo,xa,gr,Oi,hT,gT,bT,yT,re,Qe,U],encapsulation:2,changeDetection:0})}return t})(),HD=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[i0,re,re]})}return t})();var $D=` + .p-radiobutton { + position: relative; + display: inline-flex; + user-select: none; + vertical-align: bottom; + width: dt('radiobutton.width'); + height: dt('radiobutton.height'); + } + + .p-radiobutton-input { + cursor: pointer; + appearance: none; + position: absolute; + top: 0; + inset-inline-start: 0; + width: 100%; + height: 100%; + padding: 0; + margin: 0; + opacity: 0; + z-index: 1; + outline: 0 none; + border: 1px solid transparent; + border-radius: 50%; + } + + .p-radiobutton-box { + display: flex; + justify-content: center; + align-items: center; + border-radius: 50%; + border: 1px solid dt('radiobutton.border.color'); + background: dt('radiobutton.background'); + width: dt('radiobutton.width'); + height: dt('radiobutton.height'); + transition: + background dt('radiobutton.transition.duration'), + color dt('radiobutton.transition.duration'), + border-color dt('radiobutton.transition.duration'), + box-shadow dt('radiobutton.transition.duration'), + outline-color dt('radiobutton.transition.duration'); + outline-color: transparent; + box-shadow: dt('radiobutton.shadow'); + } + + .p-radiobutton-icon { + transition-duration: dt('radiobutton.transition.duration'); + background: transparent; + font-size: dt('radiobutton.icon.size'); + width: dt('radiobutton.icon.size'); + height: dt('radiobutton.icon.size'); + border-radius: 50%; + backface-visibility: hidden; + transform: translateZ(0) scale(0.1); + } + + .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box { + border-color: dt('radiobutton.hover.border.color'); + } + + .p-radiobutton-checked .p-radiobutton-box { + border-color: dt('radiobutton.checked.border.color'); + background: dt('radiobutton.checked.background'); + } + + .p-radiobutton-checked .p-radiobutton-box .p-radiobutton-icon { + background: dt('radiobutton.icon.checked.color'); + transform: translateZ(0) scale(1, 1); + visibility: visible; + } + + .p-radiobutton-checked:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box { + border-color: dt('radiobutton.checked.hover.border.color'); + background: dt('radiobutton.checked.hover.background'); + } + + .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-radiobutton-checked .p-radiobutton-box .p-radiobutton-icon { + background: dt('radiobutton.icon.checked.hover.color'); + } + + .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box { + border-color: dt('radiobutton.focus.border.color'); + box-shadow: dt('radiobutton.focus.ring.shadow'); + outline: dt('radiobutton.focus.ring.width') dt('radiobutton.focus.ring.style') dt('radiobutton.focus.ring.color'); + outline-offset: dt('radiobutton.focus.ring.offset'); + } + + .p-radiobutton-checked:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box { + border-color: dt('radiobutton.checked.focus.border.color'); + } + + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: dt('radiobutton.invalid.border.color'); + } + + .p-radiobutton.p-variant-filled .p-radiobutton-box { + background: dt('radiobutton.filled.background'); + } + + .p-radiobutton.p-variant-filled.p-radiobutton-checked .p-radiobutton-box { + background: dt('radiobutton.checked.background'); + } + + .p-radiobutton.p-variant-filled:not(.p-disabled):has(.p-radiobutton-input:hover).p-radiobutton-checked .p-radiobutton-box { + background: dt('radiobutton.checked.hover.background'); + } + + .p-radiobutton.p-disabled { + opacity: 1; + } + + .p-radiobutton.p-disabled .p-radiobutton-box { + background: dt('radiobutton.disabled.background'); + border-color: dt('radiobutton.checked.disabled.border.color'); + } + + .p-radiobutton-checked.p-disabled .p-radiobutton-box .p-radiobutton-icon { + background: dt('radiobutton.icon.disabled.color'); + } + + .p-radiobutton-sm, + .p-radiobutton-sm .p-radiobutton-box { + width: dt('radiobutton.sm.width'); + height: dt('radiobutton.sm.height'); + } + + .p-radiobutton-sm .p-radiobutton-icon { + font-size: dt('radiobutton.icon.sm.size'); + width: dt('radiobutton.icon.sm.size'); + height: dt('radiobutton.icon.sm.size'); + } + + .p-radiobutton-lg, + .p-radiobutton-lg .p-radiobutton-box { + width: dt('radiobutton.lg.width'); + height: dt('radiobutton.lg.height'); + } + + .p-radiobutton-lg .p-radiobutton-icon { + font-size: dt('radiobutton.icon.lg.size'); + width: dt('radiobutton.icon.lg.size'); + height: dt('radiobutton.icon.lg.size'); + } +`;var OW=["input"],AW=` + ${$D} + + /* For PrimeNG */ + p-radioButton.ng-invalid.ng-dirty .p-radiobutton-box, + p-radio-button.ng-invalid.ng-dirty .p-radiobutton-box, + p-radiobutton.ng-invalid.ng-dirty .p-radiobutton-box { + border-color: dt('radiobutton.invalid.border.color'); + } +`,NW={root:({instance:t})=>["p-radiobutton p-component",{"p-radiobutton-checked":t.checked,"p-disabled":t.$disabled(),"p-invalid":t.invalid(),"p-variant-filled":t.$variant()==="filled","p-radiobutton-sm p-inputfield-sm":t.size()==="small","p-radiobutton-lg p-inputfield-lg":t.size()==="large"}],box:"p-radiobutton-box",input:"p-radiobutton-input",icon:"p-radiobutton-icon"},UD=(()=>{class t extends fe{name="radiobutton";style=AW;classes=NW;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var WD=new B("RADIOBUTTON_INSTANCE"),FW={provide:Ht,useExisting:at(()=>GD),multi:!0},PW=(()=>{class t{accessors=[];add(e,n){this.accessors.push([e,n])}remove(e){this.accessors=this.accessors.filter(n=>n[1]!==e)}select(e){this.accessors.forEach(n=>{this.isSameGroup(n,e)&&n[1]!==e&&n[1].writeValue(e.value)})}isSameGroup(e,n){return e[0].control?e[0].control.root===n.control.control.root&&e[1].name()===n.name():!1}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),GD=(()=>{class t extends Ai{componentName="RadioButton";$pcRadioButton=v(WD,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}value;tabindex;inputId;ariaLabelledBy;ariaLabel;styleClass;autofocus;binary;variant=V();size=V();onClick=new P;onFocus=new P;onBlur=new P;inputViewChild;$variant=te(()=>this.variant()||this.config.inputStyle()||this.config.inputVariant());checked;focused;control;_componentStyle=v(UD);injector=v(ut);registry=v(PW);onInit(){this.control=this.injector.get(Mn),this.registry.add(this.control,this)}onChange(e){this.$disabled()||this.select(e)}select(e){this.$disabled()||(this.checked=!0,this.writeModelValue(this.checked),this.onModelChange(this.value),this.registry.select(this),this.onClick.emit({originalEvent:e,value:this.value}))}onInputFocus(e){this.focused=!0,this.onFocus.emit(e)}onInputBlur(e){this.focused=!1,this.onModelTouched(),this.onBlur.emit(e)}focus(){this.inputViewChild.nativeElement.focus()}writeControlValue(e,n){this.checked=this.binary?!!e:e==this.value,n(this.checked),this.cd.markForCheck()}onDestroy(){this.registry.remove(this)}get dataP(){return this.cn({invalid:this.invalid(),checked:this.checked,disabled:this.$disabled(),filled:this.$variant()==="filled",[this.size()]:this.size()})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-radioButton"],["p-radiobutton"],["p-radio-button"]],viewQuery:function(n,o){if(n&1&&xt(OW,5),n&2){let r;M(r=R())&&(o.inputViewChild=r.first)}},hostVars:5,hostBindings:function(n,o){n&2&&(N("data-p-disabled",o.$disabled())("data-p-checked",o.checked)("data-p",o.dataP),D(o.cx("root")))},inputs:{value:"value",tabindex:[2,"tabindex","tabindex",xe],inputId:"inputId",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",styleClass:"styleClass",autofocus:[2,"autofocus","autofocus",S],binary:[2,"binary","binary",S],variant:[1,"variant"],size:[1,"size"]},outputs:{onClick:"onClick",onFocus:"onFocus",onBlur:"onBlur"},features:[ne([FW,UD,{provide:WD,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],decls:4,vars:20,consts:[["input",""],["type","radio",3,"focus","blur","change","checked","pAutoFocus","pBind"],[3,"pBind"]],template:function(n,o){n&1&&(b(0,"input",1,0),I("focus",function(a){return o.onInputFocus(a)})("blur",function(a){return o.onInputBlur(a)})("change",function(a){return o.onChange(a)}),y(),b(2,"div",2),W(3,"div",2),y()),n&2&&(D(o.cx("input")),p("checked",o.checked)("pAutoFocus",o.autofocus)("pBind",o.ptm("input")),N("id",o.inputId)("name",o.name())("required",o.required()?"":void 0)("disabled",o.$disabled()?"":void 0)("value",o.modelValue())("aria-labelledby",o.ariaLabelledBy)("aria-label",o.ariaLabel)("aria-checked",o.checked)("tabindex",o.tabindex),f(2),D(o.cx("box")),p("pBind",o.ptm("box")),f(),D(o.cx("icon")),p("pBind",o.ptm("icon")))},dependencies:[De,Ri,re,rt,U],encapsulation:2,changeDetection:0})}return t})(),qD=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[GD,re,re]})}return t})();var KD=` + .p-togglebutton { + display: inline-flex; + cursor: pointer; + user-select: none; + overflow: hidden; + position: relative; + color: dt('togglebutton.color'); + background: dt('togglebutton.background'); + border: 1px solid dt('togglebutton.border.color'); + padding: dt('togglebutton.padding'); + font-size: 1rem; + font-family: inherit; + font-feature-settings: inherit; + transition: + background dt('togglebutton.transition.duration'), + color dt('togglebutton.transition.duration'), + border-color dt('togglebutton.transition.duration'), + outline-color dt('togglebutton.transition.duration'), + box-shadow dt('togglebutton.transition.duration'); + border-radius: dt('togglebutton.border.radius'); + outline-color: transparent; + font-weight: dt('togglebutton.font.weight'); + } + + .p-togglebutton-content { + display: inline-flex; + flex: 1 1 auto; + align-items: center; + justify-content: center; + gap: dt('togglebutton.gap'); + padding: dt('togglebutton.content.padding'); + background: transparent; + border-radius: dt('togglebutton.content.border.radius'); + transition: + background dt('togglebutton.transition.duration'), + color dt('togglebutton.transition.duration'), + border-color dt('togglebutton.transition.duration'), + outline-color dt('togglebutton.transition.duration'), + box-shadow dt('togglebutton.transition.duration'); + } + + .p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover { + background: dt('togglebutton.hover.background'); + color: dt('togglebutton.hover.color'); + } + + .p-togglebutton.p-togglebutton-checked { + background: dt('togglebutton.checked.background'); + border-color: dt('togglebutton.checked.border.color'); + color: dt('togglebutton.checked.color'); + } + + .p-togglebutton-checked .p-togglebutton-content { + background: dt('togglebutton.content.checked.background'); + box-shadow: dt('togglebutton.content.checked.shadow'); + } + + .p-togglebutton:focus-visible { + box-shadow: dt('togglebutton.focus.ring.shadow'); + outline: dt('togglebutton.focus.ring.width') dt('togglebutton.focus.ring.style') dt('togglebutton.focus.ring.color'); + outline-offset: dt('togglebutton.focus.ring.offset'); + } + + .p-togglebutton.p-invalid { + border-color: dt('togglebutton.invalid.border.color'); + } + + .p-togglebutton:disabled { + opacity: 1; + cursor: default; + background: dt('togglebutton.disabled.background'); + border-color: dt('togglebutton.disabled.border.color'); + color: dt('togglebutton.disabled.color'); + } + + .p-togglebutton-label, + .p-togglebutton-icon { + position: relative; + transition: none; + } + + .p-togglebutton-icon { + color: dt('togglebutton.icon.color'); + } + + .p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover .p-togglebutton-icon { + color: dt('togglebutton.icon.hover.color'); + } + + .p-togglebutton.p-togglebutton-checked .p-togglebutton-icon { + color: dt('togglebutton.icon.checked.color'); + } + + .p-togglebutton:disabled .p-togglebutton-icon { + color: dt('togglebutton.icon.disabled.color'); + } + + .p-togglebutton-sm { + padding: dt('togglebutton.sm.padding'); + font-size: dt('togglebutton.sm.font.size'); + } + + .p-togglebutton-sm .p-togglebutton-content { + padding: dt('togglebutton.content.sm.padding'); + } + + .p-togglebutton-lg { + padding: dt('togglebutton.lg.padding'); + font-size: dt('togglebutton.lg.font.size'); + } + + .p-togglebutton-lg .p-togglebutton-content { + padding: dt('togglebutton.content.lg.padding'); + } + + .p-togglebutton-fluid { + width: 100%; + } +`;var LW=["icon"],BW=["content"],ZD=t=>({$implicit:t});function VW(t,i){t&1&&G(0)}function zW(t,i){if(t&1&&W(0,"span",0),t&2){let e=d(3);D(e.cn(e.cx("icon"),e.checked?e.onIcon:e.offIcon,e.iconPos==="left"?e.cx("iconLeft"):e.cx("iconRight"))),p("pBind",e.ptm("icon"))}}function jW(t,i){if(t&1&&_e(0,zW,1,3,"span",2),t&2){let e=d(2);ve(e.onIcon||e.offIcon?0:-1)}}function HW(t,i){t&1&&G(0)}function $W(t,i){if(t&1&&_(0,HW,1,0,"ng-container",1),t&2){let e=d(2);p("ngTemplateOutlet",e.iconTemplate||e._iconTemplate)("ngTemplateOutletContext",be(2,ZD,e.checked))}}function UW(t,i){if(t&1&&(_e(0,jW,1,1)(1,$W,1,4,"ng-container"),b(2,"span",0),L(3),y()),t&2){let e=d();ve(e.iconTemplate?1:0),f(2),D(e.cx("label")),p("pBind",e.ptm("label")),f(),de(e.checked?e.hasOnLabel?e.onLabel:"\xA0":e.hasOffLabel?e.offLabel:"\xA0")}}var WW=` + ${KD} + + /* For PrimeNG (iconPos) */ + .p-togglebutton-icon-right { + order: 1; + } + + .p-togglebutton.ng-invalid.ng-dirty { + border-color: dt('togglebutton.invalid.border.color'); + } +`,GW={root:({instance:t})=>["p-togglebutton p-component",{"p-togglebutton-checked":t.checked,"p-invalid":t.invalid(),"p-disabled":t.$disabled(),"p-togglebutton-sm p-inputfield-sm":t.size==="small","p-togglebutton-lg p-inputfield-lg":t.size==="large","p-togglebutton-fluid":t.fluid()}],content:"p-togglebutton-content",icon:"p-togglebutton-icon",iconLeft:"p-togglebutton-icon-left",iconRight:"p-togglebutton-icon-right",label:"p-togglebutton-label"},YD=(()=>{class t extends fe{name="togglebutton";style=WW;classes=GW;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var QD=new B("TOGGLEBUTTON_INSTANCE"),qW={provide:Ht,useExisting:at(()=>o0),multi:!0},o0=(()=>{class t extends Ai{componentName="ToggleButton";$pcToggleButton=v(QD,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}onKeyDown(e){switch(e.code){case"Enter":this.toggle(e),e.preventDefault();break;case"Space":this.toggle(e),e.preventDefault();break}}toggle(e){!this.$disabled()&&!(this.allowEmpty===!1&&this.checked)&&(this.checked=!this.checked,this.writeModelValue(this.checked),this.onModelChange(this.checked),this.onModelTouched(),this.onChange.emit({originalEvent:e,checked:this.checked}),this.cd.markForCheck())}onLabel="Yes";offLabel="No";onIcon;offIcon;ariaLabel;ariaLabelledBy;styleClass;inputId;tabindex=0;iconPos="left";autofocus;size;allowEmpty;fluid=V(void 0,{transform:S});onChange=new P;iconTemplate;contentTemplate;templates;checked=!1;onInit(){(this.checked===null||this.checked===void 0)&&(this.checked=!1)}_componentStyle=v(YD);onBlur(){this.onModelTouched()}get hasOnLabel(){return this.onLabel&&this.onLabel.length>0}get hasOffLabel(){return this.offLabel&&this.offLabel.length>0}get active(){return this.checked===!0}_iconTemplate;_contentTemplate;onAfterContentInit(){this.templates.forEach(e=>{switch(e.getType()){case"icon":this._iconTemplate=e.template;break;case"content":this._contentTemplate=e.template;break;default:this._contentTemplate=e.template;break}})}writeControlValue(e,n){this.checked=e,n(e),this.cd.markForCheck()}get dataP(){return this.cn({checked:this.active,invalid:this.invalid(),[this.size]:this.size})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-toggleButton"],["p-togglebutton"],["p-toggle-button"]],contentQueries:function(n,o,r){if(n&1&&Je(r,LW,4)(r,BW,4)(r,Qe,4),n&2){let a;M(a=R())&&(o.iconTemplate=a.first),M(a=R())&&(o.contentTemplate=a.first),M(a=R())&&(o.templates=a)}},hostVars:11,hostBindings:function(n,o){n&1&&I("keydown",function(a){return o.onKeyDown(a)})("click",function(a){return o.toggle(a)}),n&2&&(N("aria-labelledby",o.ariaLabelledBy)("aria-label",o.ariaLabel)("aria-pressed",o.checked?"true":"false")("role","button")("tabindex",o.tabindex!==void 0?o.tabindex:o.$disabled()?-1:0)("data-pc-name","togglebutton")("data-p-checked",o.active)("data-p-disabled",o.$disabled())("data-p",o.dataP),D(o.cn(o.cx("root"),o.styleClass)))},inputs:{onLabel:"onLabel",offLabel:"offLabel",onIcon:"onIcon",offIcon:"offIcon",ariaLabel:"ariaLabel",ariaLabelledBy:"ariaLabelledBy",styleClass:"styleClass",inputId:"inputId",tabindex:[2,"tabindex","tabindex",xe],iconPos:"iconPos",autofocus:[2,"autofocus","autofocus",S],size:"size",allowEmpty:"allowEmpty",fluid:[1,"fluid"]},outputs:{onChange:"onChange"},features:[ne([qW,YD,{provide:QD,useExisting:t},{provide:Te,useExisting:t}]),Fe([Oi,U]),A],decls:3,vars:9,consts:[[3,"pBind"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"class","pBind"]],template:function(n,o){n&1&&(b(0,"span",0),_(1,VW,1,0,"ng-container",1),_e(2,UW,4,5),y()),n&2&&(D(o.cx("content")),p("pBind",o.ptm("content")),N("data-p",o.dataP),f(),p("ngTemplateOutlet",o.contentTemplate||o._contentTemplate)("ngTemplateOutletContext",be(7,ZD,o.checked)),f(),ve(o.contentTemplate?-1:2))},dependencies:[De,qe,re,rt,U],encapsulation:2,changeDetection:0})}return t})();var XD=` + .p-selectbutton { + display: inline-flex; + user-select: none; + vertical-align: bottom; + outline-color: transparent; + border-radius: dt('selectbutton.border.radius'); + } + + .p-selectbutton .p-togglebutton { + border-radius: 0; + border-width: 1px 1px 1px 0; + } + + .p-selectbutton .p-togglebutton:focus-visible { + position: relative; + z-index: 1; + } + + .p-selectbutton .p-togglebutton:first-child { + border-inline-start-width: 1px; + border-start-start-radius: dt('selectbutton.border.radius'); + border-end-start-radius: dt('selectbutton.border.radius'); + } + + .p-selectbutton .p-togglebutton:last-child { + border-start-end-radius: dt('selectbutton.border.radius'); + border-end-end-radius: dt('selectbutton.border.radius'); + } + + .p-selectbutton.p-invalid { + outline: 1px solid dt('selectbutton.invalid.border.color'); + outline-offset: 0; + } + + .p-selectbutton-fluid { + width: 100%; + } + + .p-selectbutton-fluid .p-togglebutton { + flex: 1 1 0; + } +`;var KW=["item"],YW=(t,i)=>({$implicit:t,index:i});function QW(t,i){return this.getOptionLabel(i)}function ZW(t,i){t&1&&G(0)}function XW(t,i){if(t&1&&_(0,ZW,1,0,"ng-container",3),t&2){let e=d(2),n=e.$implicit,o=e.$index,r=d();p("ngTemplateOutlet",r.itemTemplate||r._itemTemplate)("ngTemplateOutletContext",bt(2,YW,n,o))}}function JW(t,i){t&1&&_(0,XW,1,5,"ng-template",null,0,Ie)}function eG(t,i){if(t&1){let e=$();b(0,"p-togglebutton",2),I("onChange",function(o){let r=C(e),a=r.$implicit,s=r.$index,l=d();return w(l.onOptionSelect(o,a,s))}),_e(1,JW,2,0),y()}if(t&2){let e=i.$implicit,n=d();p("autofocus",n.autofocus)("styleClass",n.styleClass)("ngModel",n.isSelected(e))("onLabel",n.getOptionLabel(e))("offLabel",n.getOptionLabel(e))("disabled",n.$disabled()||n.isOptionDisabled(e))("allowEmpty",n.getAllowEmpty())("size",n.size())("fluid",n.fluid())("pt",n.ptm("pcToggleButton"))("unstyled",n.unstyled()),f(),ve(n.itemTemplate||n._itemTemplate?1:-1)}}var tG=` + ${XD} + + /* For PrimeNG */ + .p-selectbutton.ng-invalid.ng-dirty { + outline: 1px solid dt('selectbutton.invalid.border.color'); + outline-offset: 0; + } +`,nG={root:({instance:t})=>["p-selectbutton p-component",{"p-invalid":t.invalid(),"p-selectbutton-fluid":t.fluid()}]},JD=(()=>{class t extends fe{name="selectbutton";style=tG;classes=nG;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var eE=new B("SELECTBUTTON_INSTANCE"),iG={provide:Ht,useExisting:at(()=>tE),multi:!0},tE=(()=>{class t extends Ai{componentName="SelectButton";options;optionLabel;optionValue;optionDisabled;get unselectable(){return this._unselectable}_unselectable=!1;set unselectable(e){this._unselectable=e,this.allowEmpty=!e}tabindex=0;multiple;allowEmpty=!0;styleClass;ariaLabelledBy;dataKey;autofocus;size=V();fluid=V(void 0,{transform:S});onOptionClick=new P;onChange=new P;itemTemplate;_itemTemplate;get equalityKey(){return this.optionValue?null:this.dataKey}value;focusedIndex=0;_componentStyle=v(JD);$pcSelectButton=v(eE,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}getAllowEmpty(){return this.multiple?this.allowEmpty||this.value?.length!==1:this.allowEmpty}getOptionLabel(e){return this.optionLabel?pn(e,this.optionLabel):e.label!=null?e.label:e}getOptionValue(e){return this.optionValue?pn(e,this.optionValue):this.optionLabel||e.value===void 0?e:e.value}isOptionDisabled(e){return this.optionDisabled?pn(e,this.optionDisabled):e.disabled!==void 0?e.disabled:!1}onOptionSelect(e,n,o){if(this.$disabled()||this.isOptionDisabled(n))return;let r=this.isSelected(n);if(r&&this.unselectable)return;let a=this.getOptionValue(n),s;if(this.multiple)r?s=this.value.filter(l=>!fn(l,a,this.equalityKey||void 0)):s=this.value?[...this.value,a]:[a];else{if(r&&!this.allowEmpty)return;s=r?null:a}this.focusedIndex=o,this.value=s,this.writeModelValue(this.value),this.onModelChange(this.value),this.onChange.emit({originalEvent:e,value:this.value}),this.onOptionClick.emit({originalEvent:e,option:n,index:o})}changeTabIndexes(e,n){let o,r;for(let a=0;a<=this.el.nativeElement.children.length-1;a++)this.el.nativeElement.children[a].getAttribute("tabindex")==="0"&&(o={elem:this.el.nativeElement.children[a],index:a});n==="prev"?o.index===0?r=this.el.nativeElement.children.length-1:r=o.index-1:o.index===this.el.nativeElement.children.length-1?r=0:r=o.index+1,this.focusedIndex=r,this.el.nativeElement.children[r].focus()}onFocus(e,n){this.focusedIndex=n}onBlur(){this.onModelTouched()}removeOption(e){this.value=this.value.filter(n=>!fn(n,this.getOptionValue(e),this.dataKey))}isSelected(e){let n=!1,o=this.getOptionValue(e);if(this.multiple){if(this.value&&Array.isArray(this.value)){for(let r of this.value)if(fn(r,o,this.dataKey)){n=!0;break}}}else n=fn(this.getOptionValue(e),this.value,this.equalityKey||void 0);return n}templates;onAfterContentInit(){this.templates.forEach(e=>{e.getType()==="item"&&(this._itemTemplate=e.template)})}writeControlValue(e,n){this.value=e,n(this.value),this.cd.markForCheck()}get dataP(){return this.cn({invalid:this.invalid()})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-selectButton"],["p-selectbutton"],["p-select-button"]],contentQueries:function(n,o,r){if(n&1&&Je(r,KW,4)(r,Qe,4),n&2){let a;M(a=R())&&(o.itemTemplate=a.first),M(a=R())&&(o.templates=a)}},hostVars:5,hostBindings:function(n,o){n&2&&(N("role","group")("aria-labelledby",o.ariaLabelledBy)("data-p",o.dataP),D(o.cx("root")))},inputs:{options:"options",optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",unselectable:[2,"unselectable","unselectable",S],tabindex:[2,"tabindex","tabindex",xe],multiple:[2,"multiple","multiple",S],allowEmpty:[2,"allowEmpty","allowEmpty",S],styleClass:"styleClass",ariaLabelledBy:"ariaLabelledBy",dataKey:"dataKey",autofocus:[2,"autofocus","autofocus",S],size:[1,"size"],fluid:[1,"fluid"]},outputs:{onOptionClick:"onOptionClick",onChange:"onChange"},features:[ne([iG,JD,{provide:eE,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],decls:2,vars:0,consts:[["content",""],[3,"autofocus","styleClass","ngModel","onLabel","offLabel","disabled","allowEmpty","size","fluid","pt","unstyled"],[3,"onChange","autofocus","styleClass","ngModel","onLabel","offLabel","disabled","allowEmpty","size","fluid","pt","unstyled"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(n,o){n&1&&At(0,eG,2,12,"p-togglebutton",1,QW,!0),n&2&&Nt(o.options)},dependencies:[o0,Eo,xa,gr,De,qe,re,rt],encapsulation:2,changeDetection:0})}return t})(),nE=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[tE,re,re]})}return t})();var oG=["header"],rG=["headergrouped"],aG=["body"],sG=["loadingbody"],lG=["caption"],cG=["footer"],dG=["footergrouped"],uG=["summary"],pG=["colgroup"],fG=["expandedrow"],hG=["groupheader"],gG=["groupfooter"],mG=["frozenexpandedrow"],bG=["frozenheader"],yG=["frozenbody"],_G=["frozenfooter"],vG=["frozencolgroup"],CG=["emptymessage"],wG=["paginatorleft"],xG=["paginatorright"],TG=["paginatordropdownitem"],DG=["loadingicon"],EG=["reorderindicatorupicon"],IG=["reorderindicatordownicon"],SG=["sorticon"],kG=["checkboxicon"],MG=["headercheckboxicon"],RG=["paginatordropdownicon"],OG=["paginatorfirstpagelinkicon"],AG=["paginatorlastpagelinkicon"],NG=["paginatorpreviouspagelinkicon"],FG=["paginatornextpagelinkicon"],PG=["resizeHelper"],LG=["reorderIndicatorUp"],BG=["reorderIndicatorDown"],VG=["wrapper"],zG=["table"],jG=["thead"],HG=["tfoot"],$G=["scroller"],UG=t=>({height:t}),iE=(t,i)=>({$implicit:t,options:i}),WG=t=>({columns:t}),Gu=t=>({$implicit:t});function GG(t,i){if(t&1&&W(0,"i",17),t&2){let e=d(2);D(e.cn(e.cx("loadingIcon"),e.loadingIcon)),p("pBind",e.ptm("loadingIcon"))}}function qG(t,i){if(t&1&&(j(),W(0,"svg",19)),t&2){let e=d(3);D(e.cx("loadingIcon")),p("spin",!0)("pBind",e.ptm("loadingIcon"))}}function KG(t,i){}function YG(t,i){t&1&&_(0,KG,0,0,"ng-template")}function QG(t,i){if(t&1&&(b(0,"span",17),_(1,YG,1,0,null,20),y()),t&2){let e=d(3);D(e.cx("loadingIcon")),p("pBind",e.ptm("loadingIcon")),f(),p("ngTemplateOutlet",e.loadingIconTemplate||e._loadingIconTemplate)}}function ZG(t,i){if(t&1&&(q(0),_(1,qG,1,4,"svg",18)(2,QG,2,4,"span",10),K()),t&2){let e=d(2);f(),p("ngIf",!e.loadingIconTemplate&&!e._loadingIconTemplate),f(),p("ngIf",e.loadingIconTemplate||e._loadingIconTemplate)}}function XG(t,i){if(t&1&&(b(0,"div",17),zr("p-overlay-mask-leave-active"),Vr("p-overlay-mask-enter-active"),_(1,GG,1,3,"i",10)(2,ZG,3,2,"ng-container",14),y()),t&2){let e=d();D(e.cx("mask")),p("pBind",e.ptm("mask")),f(),p("ngIf",e.loadingIcon),f(),p("ngIf",!e.loadingIcon)}}function JG(t,i){t&1&&G(0)}function eq(t,i){if(t&1&&(b(0,"div",17),_(1,JG,1,0,"ng-container",20),y()),t&2){let e=d();D(e.cx("header")),p("pBind",e.ptm("header")),f(),p("ngTemplateOutlet",e.captionTemplate||e._captionTemplate)}}function tq(t,i){t&1&&G(0)}function nq(t,i){if(t&1&&_(0,tq,1,0,"ng-container",20),t&2){let e=d(3);p("ngTemplateOutlet",e.paginatorDropdownIconTemplate||e._paginatorDropdownIconTemplate)}}function iq(t,i){t&1&&_(0,nq,1,1,"ng-template",22)}function oq(t,i){t&1&&G(0)}function rq(t,i){if(t&1&&_(0,oq,1,0,"ng-container",20),t&2){let e=d(3);p("ngTemplateOutlet",e.paginatorFirstPageLinkIconTemplate||e._paginatorFirstPageLinkIconTemplate)}}function aq(t,i){t&1&&_(0,rq,1,1,"ng-template",23)}function sq(t,i){t&1&&G(0)}function lq(t,i){if(t&1&&_(0,sq,1,0,"ng-container",20),t&2){let e=d(3);p("ngTemplateOutlet",e.paginatorPreviousPageLinkIconTemplate||e._paginatorPreviousPageLinkIconTemplate)}}function cq(t,i){t&1&&_(0,lq,1,1,"ng-template",24)}function dq(t,i){t&1&&G(0)}function uq(t,i){if(t&1&&_(0,dq,1,0,"ng-container",20),t&2){let e=d(3);p("ngTemplateOutlet",e.paginatorLastPageLinkIconTemplate||e._paginatorLastPageLinkIconTemplate)}}function pq(t,i){t&1&&_(0,uq,1,1,"ng-template",25)}function fq(t,i){t&1&&G(0)}function hq(t,i){if(t&1&&_(0,fq,1,0,"ng-container",20),t&2){let e=d(3);p("ngTemplateOutlet",e.paginatorNextPageLinkIconTemplate||e._paginatorNextPageLinkIconTemplate)}}function gq(t,i){t&1&&_(0,hq,1,1,"ng-template",26)}function mq(t,i){if(t&1){let e=$();b(0,"p-paginator",21),I("onPageChange",function(o){C(e);let r=d();return w(r.onPageChange(o))}),_(1,iq,1,0,null,14)(2,aq,1,0,null,14)(3,cq,1,0,null,14)(4,pq,1,0,null,14)(5,gq,1,0,null,14),y()}if(t&2){let e=d();p("rows",e.rows)("first",e.first)("totalRecords",e.totalRecords)("pageLinkSize",e.pageLinks)("alwaysShow",e.alwaysShowPaginator)("rowsPerPageOptions",e.rowsPerPageOptions)("templateLeft",e.paginatorLeftTemplate||e._paginatorLeftTemplate)("templateRight",e.paginatorRightTemplate||e._paginatorRightTemplate)("appendTo",e.paginatorDropdownAppendTo)("dropdownScrollHeight",e.paginatorDropdownScrollHeight)("currentPageReportTemplate",e.currentPageReportTemplate)("showFirstLastIcon",e.showFirstLastIcon)("dropdownItemTemplate",e.paginatorDropdownItemTemplate||e._paginatorDropdownItemTemplate)("showCurrentPageReport",e.showCurrentPageReport)("showJumpToPageDropdown",e.showJumpToPageDropdown)("showJumpToPageInput",e.showJumpToPageInput)("showPageLinks",e.showPageLinks)("styleClass",e.cx("pcPaginator")+" "+e.paginatorStyleClass&&e.paginatorStyleClass)("locale",e.paginatorLocale)("pt",e.ptm("pcPaginator"))("unstyled",e.unstyled()),f(),p("ngIf",e.paginatorDropdownIconTemplate||e._paginatorDropdownIconTemplate),f(),p("ngIf",e.paginatorFirstPageLinkIconTemplate||e._paginatorFirstPageLinkIconTemplate),f(),p("ngIf",e.paginatorPreviousPageLinkIconTemplate||e._paginatorPreviousPageLinkIconTemplate),f(),p("ngIf",e.paginatorLastPageLinkIconTemplate||e._paginatorLastPageLinkIconTemplate),f(),p("ngIf",e.paginatorNextPageLinkIconTemplate||e._paginatorNextPageLinkIconTemplate)}}function bq(t,i){t&1&&G(0)}function yq(t,i){if(t&1&&_(0,bq,1,0,"ng-container",28),t&2){let e=i.$implicit,n=i.options;d(2);let o=Ft(8);p("ngTemplateOutlet",o)("ngTemplateOutletContext",bt(2,iE,e,n))}}function _q(t,i){if(t&1){let e=$();b(0,"p-scroller",27,2),I("onLazyLoad",function(o){C(e);let r=d();return w(r.onLazyItemLoad(o))}),_(2,yq,1,5,"ng-template",null,3,Ie),y()}if(t&2){let e=d();lt(be(16,UG,e.scrollHeight!=="flex"?e.scrollHeight:void 0)),p("items",e.processedData)("columns",e.columns)("scrollHeight",e.scrollHeight!=="flex"?void 0:"100%")("itemSize",e.virtualScrollItemSize)("step",e.rows)("delay",e.lazy?e.virtualScrollDelay:0)("inline",!0)("autoSize",!0)("lazy",e.lazy)("loaderDisabled",!0)("showSpacer",!1)("showLoader",e.loadingBodyTemplate||e._loadingBodyTemplate)("options",e.virtualScrollOptions)("pt",e.ptm("virtualScroller"))}}function vq(t,i){t&1&&G(0)}function Cq(t,i){if(t&1&&(q(0),_(1,vq,1,0,"ng-container",28),K()),t&2){let e=d(),n=Ft(8);f(),p("ngTemplateOutlet",n)("ngTemplateOutletContext",bt(4,iE,e.processedData,be(2,WG,e.columns)))}}function wq(t,i){t&1&&G(0)}function xq(t,i){t&1&&G(0)}function Tq(t,i){if(t&1&&W(0,"tbody",35),t&2){let e=d().options,n=d();D(n.cx("tbody")),p("pBind",n.ptm("tbody"))("value",n.frozenValue)("frozenRows",!0)("pTableBody",e.columns)("pTableBodyTemplate",n.frozenBodyTemplate||n._frozenBodyTemplate)("unstyled",n.unstyled())("frozen",!0),N("data-p-virtualscroll",n.virtualScroll)}}function Dq(t,i){if(t&1&&W(0,"tbody",36),t&2){let e=d().options,n=d();lt("height: calc("+e.spacerStyle.height+" - "+e.rows.length*e.itemSize+"px);"),D(n.cx("virtualScrollerSpacer")),p("pBind",n.ptm("virtualScrollerSpacer"))}}function Eq(t,i){t&1&&G(0)}function Iq(t,i){if(t&1&&(b(0,"tfoot",37,6),_(2,Eq,1,0,"ng-container",28),y()),t&2){let e=d().options,n=d();p("ngClass",n.cx("footer"))("ngStyle",n.sx("tfoot"))("pBind",n.ptm("tfoot")),f(2),p("ngTemplateOutlet",n.footerGroupedTemplate||n.footerTemplate||n._footerTemplate||n._footerGroupedTemplate)("ngTemplateOutletContext",be(5,Gu,e.columns))}}function Sq(t,i){if(t&1&&(b(0,"table",29,4),_(2,wq,1,0,"ng-container",28),b(3,"thead",30,5),_(5,xq,1,0,"ng-container",28),y(),_(6,Tq,1,10,"tbody",31),W(7,"tbody",32),_(8,Dq,1,5,"tbody",33)(9,Iq,3,7,"tfoot",34),y()),t&2){let e=i.options,n=d();lt(n.tableStyle),D(n.cn(n.cx("table"),n.tableStyleClass)),p("pBind",n.ptm("table")),N("id",n.id+"-table"),f(2),p("ngTemplateOutlet",n.colGroupTemplate||n._colGroupTemplate)("ngTemplateOutletContext",be(28,Gu,e.columns)),f(),D(n.cx("thead")),p("ngStyle",n.sx("thead"))("pBind",n.ptm("thead")),f(2),p("ngTemplateOutlet",n.headerGroupedTemplate||n.headerTemplate||n._headerTemplate)("ngTemplateOutletContext",be(30,Gu,e.columns)),f(),p("ngIf",n.frozenValue||n.frozenBodyTemplate||n._frozenBodyTemplate),f(),lt(e.contentStyle),D(n.cx("tbody",e.contentStyleClass)),p("pBind",n.ptm("tbody"))("value",n.dataToRender(e.rows))("pTableBody",e.columns)("pTableBodyTemplate",n.bodyTemplate||n._bodyTemplate)("scrollerOptions",e)("unstyled",n.unstyled()),N("data-p-virtualscroll",n.virtualScroll),f(),p("ngIf",e.spacerStyle),f(),p("ngIf",n.footerGroupedTemplate||n.footerTemplate||n._footerTemplate||n._footerGroupedTemplate)}}function kq(t,i){t&1&&G(0)}function Mq(t,i){if(t&1&&_(0,kq,1,0,"ng-container",20),t&2){let e=d(3);p("ngTemplateOutlet",e.paginatorDropdownIconTemplate||e._paginatorDropdownIconTemplate)}}function Rq(t,i){t&1&&_(0,Mq,1,1,"ng-template",22)}function Oq(t,i){t&1&&G(0)}function Aq(t,i){if(t&1&&_(0,Oq,1,0,"ng-container",20),t&2){let e=d(3);p("ngTemplateOutlet",e.paginatorFirstPageLinkIconTemplate||e._paginatorFirstPageLinkIconTemplate)}}function Nq(t,i){t&1&&_(0,Aq,1,1,"ng-template",23)}function Fq(t,i){t&1&&G(0)}function Pq(t,i){if(t&1&&_(0,Fq,1,0,"ng-container",20),t&2){let e=d(3);p("ngTemplateOutlet",e.paginatorPreviousPageLinkIconTemplate||e._paginatorPreviousPageLinkIconTemplate)}}function Lq(t,i){t&1&&_(0,Pq,1,1,"ng-template",24)}function Bq(t,i){t&1&&G(0)}function Vq(t,i){if(t&1&&_(0,Bq,1,0,"ng-container",20),t&2){let e=d(3);p("ngTemplateOutlet",e.paginatorLastPageLinkIconTemplate||e._paginatorLastPageLinkIconTemplate)}}function zq(t,i){t&1&&_(0,Vq,1,1,"ng-template",25)}function jq(t,i){t&1&&G(0)}function Hq(t,i){if(t&1&&_(0,jq,1,0,"ng-container",20),t&2){let e=d(3);p("ngTemplateOutlet",e.paginatorNextPageLinkIconTemplate||e._paginatorNextPageLinkIconTemplate)}}function $q(t,i){t&1&&_(0,Hq,1,1,"ng-template",26)}function Uq(t,i){if(t&1){let e=$();b(0,"p-paginator",21),I("onPageChange",function(o){C(e);let r=d();return w(r.onPageChange(o))}),_(1,Rq,1,0,null,14)(2,Nq,1,0,null,14)(3,Lq,1,0,null,14)(4,zq,1,0,null,14)(5,$q,1,0,null,14),y()}if(t&2){let e=d();p("rows",e.rows)("first",e.first)("totalRecords",e.totalRecords)("pageLinkSize",e.pageLinks)("alwaysShow",e.alwaysShowPaginator)("rowsPerPageOptions",e.rowsPerPageOptions)("templateLeft",e.paginatorLeftTemplate||e._paginatorLeftTemplate)("templateRight",e.paginatorRightTemplate||e._paginatorRightTemplate)("appendTo",e.paginatorDropdownAppendTo)("dropdownScrollHeight",e.paginatorDropdownScrollHeight)("currentPageReportTemplate",e.currentPageReportTemplate)("showFirstLastIcon",e.showFirstLastIcon)("dropdownItemTemplate",e.paginatorDropdownItemTemplate||e._paginatorDropdownItemTemplate)("showCurrentPageReport",e.showCurrentPageReport)("showJumpToPageDropdown",e.showJumpToPageDropdown)("showJumpToPageInput",e.showJumpToPageInput)("showPageLinks",e.showPageLinks)("styleClass",e.cx("pcPaginator")+" "+e.paginatorStyleClass&&e.paginatorStyleClass)("locale",e.paginatorLocale)("pt",e.ptm("pcPaginator"))("unstyled",e.unstyled()),f(),p("ngIf",e.paginatorDropdownIconTemplate||e._paginatorDropdownIconTemplate),f(),p("ngIf",e.paginatorFirstPageLinkIconTemplate||e._paginatorFirstPageLinkIconTemplate),f(),p("ngIf",e.paginatorPreviousPageLinkIconTemplate||e._paginatorPreviousPageLinkIconTemplate),f(),p("ngIf",e.paginatorLastPageLinkIconTemplate||e._paginatorLastPageLinkIconTemplate),f(),p("ngIf",e.paginatorNextPageLinkIconTemplate||e._paginatorNextPageLinkIconTemplate)}}function Wq(t,i){t&1&&G(0)}function Gq(t,i){if(t&1&&(b(0,"div",38),_(1,Wq,1,0,"ng-container",20),y()),t&2){let e=d();p("ngClass",e.cx("footer"))("pBind",e.ptm("footer")),f(),p("ngTemplateOutlet",e.summaryTemplate||e._summaryTemplate)}}function qq(t,i){if(t&1&&W(0,"div",38,7),t&2){let e=d();Xt("display","none"),p("ngClass",e.cx("columnResizeIndicator"))("pBind",e.ptm("columnResizeIndicator"))}}function Kq(t,i){if(t&1&&(j(),W(0,"svg",40)),t&2){let e=d(2);p("pBind",e.ptm("rowReorderIndicatorUp").icon)}}function Yq(t,i){}function Qq(t,i){t&1&&_(0,Yq,0,0,"ng-template")}function Zq(t,i){if(t&1&&(b(0,"span",38,8),_(2,Kq,1,1,"svg",39)(3,Qq,1,0,null,20),y()),t&2){let e=d();Xt("display","none"),p("ngClass",e.cx("rowReorderIndicatorUp"))("pBind",e.ptm("rowReorderIndicatorUp")),f(2),p("ngIf",!e.reorderIndicatorUpIconTemplate&&!e._reorderIndicatorUpIconTemplate),f(),p("ngTemplateOutlet",e.reorderIndicatorUpIconTemplate||e._reorderIndicatorUpIconTemplate)}}function Xq(t,i){if(t&1&&(j(),W(0,"svg",42)),t&2){let e=d(2);p("pBind",e.ptm("rowReorderIndicatorDown").icon)}}function Jq(t,i){}function eK(t,i){t&1&&_(0,Jq,0,0,"ng-template")}function tK(t,i){if(t&1&&(b(0,"span",38,9),_(2,Xq,1,1,"svg",41)(3,eK,1,0,null,20),y()),t&2){let e=d();Xt("display","none"),p("ngClass",e.cx("rowReorderIndicatorDown"))("pBind",e.ptm("rowReorderIndicatorDown")),f(2),p("ngIf",!e.reorderIndicatorDownIconTemplate&&!e._reorderIndicatorDownIconTemplate),f(),p("ngTemplateOutlet",e.reorderIndicatorDownIconTemplate||e._reorderIndicatorDownIconTemplate)}}var nK=["pTableBody",""],r0=(t,i,e,n,o)=>({$implicit:t,rowIndex:i,columns:e,editing:n,frozen:o}),iK=(t,i,e,n,o,r,a)=>({$implicit:t,rowIndex:i,columns:e,editing:n,frozen:o,rowgroup:r,rowspan:a}),Ku=(t,i,e,n,o,r)=>({$implicit:t,rowIndex:i,columns:e,expanded:n,editing:o,frozen:r}),oE=(t,i,e,n)=>({$implicit:t,rowIndex:i,columns:e,frozen:n}),rE=(t,i)=>({$implicit:t,frozen:i});function oK(t,i){t&1&&G(0)}function rK(t,i){if(t&1&&(q(0,3),_(1,oK,1,0,"ng-container",4),K()),t&2){let e=d(),n=e.$implicit,o=e.index,r=d(2);f(),p("ngTemplateOutlet",r.dataTable.groupHeaderTemplate||r.dataTable._groupHeaderTemplate)("ngTemplateOutletContext",Ss(2,r0,n,r.getRowIndex(o),r.columns,r.dataTable.editMode==="row"&&r.dataTable.isRowEditing(n),r.frozen))}}function aK(t,i){t&1&&G(0)}function sK(t,i){if(t&1&&(q(0),_(1,aK,1,0,"ng-container",4),K()),t&2){let e=d(),n=e.$implicit,o=e.index,r=d(2);f(),p("ngTemplateOutlet",n?r.template:r.dataTable.loadingBodyTemplate||r.dataTable._loadingBodyTemplate)("ngTemplateOutletContext",Ss(2,r0,n,r.getRowIndex(o),r.columns,r.dataTable.editMode==="row"&&r.dataTable.isRowEditing(n),r.frozen))}}function lK(t,i){t&1&&G(0)}function cK(t,i){if(t&1&&(q(0),_(1,lK,1,0,"ng-container",4),K()),t&2){let e=d(),n=e.$implicit,o=e.index,r=d(2);f(),p("ngTemplateOutlet",n?r.template:r.dataTable.loadingBodyTemplate||r.dataTable._loadingBodyTemplate)("ngTemplateOutletContext",Jh(2,iK,n,r.getRowIndex(o),r.columns,r.dataTable.editMode==="row"&&r.dataTable.isRowEditing(n),r.frozen,r.shouldRenderRowspan(r.value,n,o),r.calculateRowGroupSize(r.value,n,o)))}}function dK(t,i){t&1&&G(0)}function uK(t,i){if(t&1&&(q(0,3),_(1,dK,1,0,"ng-container",4),K()),t&2){let e=d(),n=e.$implicit,o=e.index,r=d(2);f(),p("ngTemplateOutlet",r.dataTable.groupFooterTemplate||r.dataTable._groupFooterTemplate)("ngTemplateOutletContext",Ss(2,r0,n,r.getRowIndex(o),r.columns,r.dataTable.editMode==="row"&&r.dataTable.isRowEditing(n),r.frozen))}}function pK(t,i){if(t&1&&_(0,rK,2,8,"ng-container",2)(1,sK,2,8,"ng-container",0)(2,cK,2,10,"ng-container",0)(3,uK,2,8,"ng-container",2),t&2){let e=i.$implicit,n=i.index,o=d(2);p("ngIf",(o.dataTable.groupHeaderTemplate||o.dataTable._groupHeaderTemplate)&&!o.dataTable.virtualScroll&&o.dataTable.rowGroupMode==="subheader"&&o.shouldRenderRowGroupHeader(o.value,e,o.getRowIndex(n))),f(),p("ngIf",o.dataTable.rowGroupMode!=="rowspan"),f(),p("ngIf",o.dataTable.rowGroupMode==="rowspan"),f(),p("ngIf",(o.dataTable.groupFooterTemplate||o.dataTable._groupFooterTemplate)&&!o.dataTable.virtualScroll&&o.dataTable.rowGroupMode==="subheader"&&o.shouldRenderRowGroupFooter(o.value,e,o.getRowIndex(n)))}}function fK(t,i){if(t&1&&(q(0),_(1,pK,4,4,"ng-template",1),K()),t&2){let e=d();f(),p("ngForOf",e.value)("ngForTrackBy",e.dataTable.rowTrackBy)}}function hK(t,i){t&1&&G(0)}function gK(t,i){if(t&1&&(q(0),_(1,hK,1,0,"ng-container",4),K()),t&2){let e=d(),n=e.$implicit,o=e.index,r=d(2);f(),p("ngTemplateOutlet",r.template)("ngTemplateOutletContext",Xr(2,Ku,n,r.getRowIndex(o),r.columns,r.dataTable.isRowExpanded(n),r.dataTable.editMode==="row"&&r.dataTable.isRowEditing(n),r.frozen))}}function mK(t,i){t&1&&G(0)}function bK(t,i){if(t&1&&(q(0,3),_(1,mK,1,0,"ng-container",4),K()),t&2){let e=d(),n=e.$implicit,o=e.index,r=d(2);f(),p("ngTemplateOutlet",r.dataTable.groupHeaderTemplate||r.dataTable._groupHeaderTemplate)("ngTemplateOutletContext",Xr(2,Ku,n,r.getRowIndex(o),r.columns,r.dataTable.isRowExpanded(n),r.dataTable.editMode==="row"&&r.dataTable.isRowEditing(n),r.frozen))}}function yK(t,i){t&1&&G(0)}function _K(t,i){t&1&&G(0)}function vK(t,i){if(t&1&&(q(0,3),_(1,_K,1,0,"ng-container",4),K()),t&2){let e=d(2),n=e.$implicit,o=e.index,r=d(2);f(),p("ngTemplateOutlet",r.dataTable.groupFooterTemplate||r.dataTable._groupFooterTemplate)("ngTemplateOutletContext",Xr(2,Ku,n,r.getRowIndex(o),r.columns,r.dataTable.isRowExpanded(n),r.dataTable.editMode==="row"&&r.dataTable.isRowEditing(n),r.frozen))}}function CK(t,i){if(t&1&&(q(0),_(1,yK,1,0,"ng-container",4)(2,vK,2,9,"ng-container",2),K()),t&2){let e=d(),n=e.$implicit,o=e.index,r=d(2);f(),p("ngTemplateOutlet",r.dataTable.expandedRowTemplate||r.dataTable._expandedRowTemplate)("ngTemplateOutletContext",vd(3,oE,n,r.getRowIndex(o),r.columns,r.frozen)),f(),p("ngIf",(r.dataTable.groupFooterTemplate||r.dataTable._groupFooterTemplate)&&r.dataTable.rowGroupMode==="subheader"&&r.shouldRenderRowGroupFooter(r.value,n,r.getRowIndex(o)))}}function wK(t,i){if(t&1&&_(0,gK,2,9,"ng-container",0)(1,bK,2,9,"ng-container",2)(2,CK,3,8,"ng-container",0),t&2){let e=i.$implicit,n=i.index,o=d(2);p("ngIf",!(o.dataTable.groupHeaderTemplate&&o.dataTable._groupHeaderTemplate)),f(),p("ngIf",(o.dataTable.groupHeaderTemplate||o.dataTable._groupHeaderTemplate)&&o.dataTable.rowGroupMode==="subheader"&&o.shouldRenderRowGroupHeader(o.value,e,o.getRowIndex(n))),f(),p("ngIf",o.dataTable.isRowExpanded(e))}}function xK(t,i){if(t&1&&(q(0),_(1,wK,3,3,"ng-template",1),K()),t&2){let e=d();f(),p("ngForOf",e.value)("ngForTrackBy",e.dataTable.rowTrackBy)}}function TK(t,i){t&1&&G(0)}function DK(t,i){t&1&&G(0)}function EK(t,i){if(t&1&&(q(0),_(1,DK,1,0,"ng-container",4),K()),t&2){let e=d(),n=e.$implicit,o=e.index,r=d(2);f(),p("ngTemplateOutlet",r.dataTable.frozenExpandedRowTemplate||r.dataTable._frozenExpandedRowTemplate)("ngTemplateOutletContext",vd(2,oE,n,r.getRowIndex(o),r.columns,r.frozen))}}function IK(t,i){if(t&1&&_(0,TK,1,0,"ng-container",4)(1,EK,2,7,"ng-container",0),t&2){let e=i.$implicit,n=i.index,o=d(2);p("ngTemplateOutlet",o.template)("ngTemplateOutletContext",Xr(3,Ku,e,o.getRowIndex(n),o.columns,o.dataTable.isRowExpanded(e),o.dataTable.editMode==="row"&&o.dataTable.isRowEditing(e),o.frozen)),f(),p("ngIf",o.dataTable.isRowExpanded(e))}}function SK(t,i){if(t&1&&(q(0),_(1,IK,2,10,"ng-template",1),K()),t&2){let e=d();f(),p("ngForOf",e.value)("ngForTrackBy",e.dataTable.rowTrackBy)}}function kK(t,i){t&1&&G(0)}function MK(t,i){if(t&1&&(q(0),_(1,kK,1,0,"ng-container",4),K()),t&2){let e=d();f(),p("ngTemplateOutlet",e.dataTable.loadingBodyTemplate||e.dataTable._loadingBodyTemplate)("ngTemplateOutletContext",bt(2,rE,e.columns,e.frozen))}}function RK(t,i){t&1&&G(0)}function OK(t,i){if(t&1&&(q(0),_(1,RK,1,0,"ng-container",4),K()),t&2){let e=d();f(),p("ngTemplateOutlet",e.dataTable.emptyMessageTemplate||e.dataTable._emptyMessageTemplate)("ngTemplateOutletContext",bt(2,rE,e.columns,e.frozen))}}function AK(t,i){if(t&1&&(j(),W(0,"svg",6)),t&2){let e=d(2);D(e.cx("sortableColumnIcon"))}}function NK(t,i){if(t&1&&(j(),W(0,"svg",7)),t&2){let e=d(2);D(e.cx("sortableColumnIcon"))}}function FK(t,i){if(t&1&&(j(),W(0,"svg",8)),t&2){let e=d(2);D(e.cx("sortableColumnIcon"))}}function PK(t,i){if(t&1&&(q(0),_(1,AK,1,2,"svg",3)(2,NK,1,2,"svg",4)(3,FK,1,2,"svg",5),K()),t&2){let e=d();f(),p("ngIf",e.sortOrder===0),f(),p("ngIf",e.sortOrder===1),f(),p("ngIf",e.sortOrder===-1)}}function LK(t,i){}function BK(t,i){t&1&&_(0,LK,0,0,"ng-template")}function VK(t,i){if(t&1&&(b(0,"span"),_(1,BK,1,0,null,9),y()),t&2){let e=d();D(e.cx("sortableColumnIcon")),f(),p("ngTemplateOutlet",e.dataTable.sortIconTemplate||e.dataTable._sortIconTemplate)("ngTemplateOutletContext",be(4,Gu,e.sortOrder))}}function zK(t,i){if(t&1&&W(0,"p-badge",10),t&2){let e=d();D(e.cx("sortableColumnBadge")),p("value",e.getBadgeValue())}}var jK=` +${VT} + +/* For PrimeNG */ +.p-datatable-scrollable-table > .p-datatable-thead { + top: 0; + z-index: 2; +} + +.p-datatable-scrollable-table > .p-datatable-frozen-tbody { + position: sticky; + z-index: 2; +} + +.p-datatable-scrollable-table > .p-datatable-frozen-tbody + .p-datatable-frozen-tbody { + z-index: 1; +} + +.p-datatable-mask.p-overlay-mask { + position: absolute; + display: flex; + align-items: center; + justify-content: center; + z-index: 3; +} + +.p-datatable-filter-overlay { + position: absolute; + background: dt('datatable.filter.overlay.select.background'); + color: dt('datatable.filter.overlay.select.color'); + border: 1px solid dt('datatable.filter.overlay.select.border.color'); + border-radius: dt('datatable.filter.overlay.select.border.radius'); + box-shadow: dt('datatable.filter.overlay.select.shadow'); + min-width: 12.5rem; +} + +.p-datatable-filter-rule { + border-bottom: 1px solid dt('datatable.filter.rule.border.color'); +} + +.p-datatable-filter-rule:last-child { + border-bottom: 0 none; +} + +.p-datatable-filter-add-rule-button, +.p-datatable-filter-remove-rule-button { + width: 100%; +} + +.p-datatable-filter-remove-button { + width: 100%; +} + +.p-datatable-thead > tr > th { + padding: dt('datatable.header.cell.padding'); + background: dt('datatable.header.cell.background'); + border-color: dt('datatable.header.cell.border.color'); + border-style: solid; + border-width: 0 0 1px 0; + color: dt('datatable.header.cell.color'); + font-weight: dt('datatable.column.title.font.weight'); + text-align: start; + transition: + background dt('datatable.transition.duration'), + color dt('datatable.transition.duration'), + border-color dt('datatable.transition.duration'), + outline-color dt('datatable.transition.duration'), + box-shadow dt('datatable.transition.duration'); +} + +.p-datatable-thead > tr > th p-columnfilter { + font-weight: normal; +} + +.p-datatable-thead > tr > th, +.p-datatable-sort-icon, +.p-datatable-sort-badge { + vertical-align: middle; +} + +.p-datatable-thead > tr > th.p-datatable-column-sorted { + background: dt('datatable.header.cell.selected.background'); + color: dt('datatable.header.cell.selected.color'); +} + +.p-datatable-thead > tr > th.p-datatable-column-sorted .p-datatable-sort-icon { + color: dt('datatable.header.cell.selected.color'); +} + +.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(odd) { + background: dt('datatable.row.striped.background'); +} + +.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(odd).p-datatable-row-selected { + background: dt('datatable.row.selected.background'); + color: dt('datatable.row.selected.color'); +} + +p-sortIcon, p-sort-icon, p-sorticon { + display: inline-flex; + align-items: center; + gap: dt('datatable.header.cell.gap'); +} + +.p-datatable .p-editable-column.p-cell-editing { + padding: 0; +} + +.p-datatable .p-editable-column.p-cell-editing p-celleditor { + display: block; + width: 100%; +} +`,HK={root:({instance:t})=>["p-datatable p-component",{"p-datatable-hoverable":t.rowHover||t.selectionMode,"p-datatable-resizable":t.resizableColumns,"p-datatable-resizable-fit":t.resizableColumns&&t.columnResizeMode==="fit","p-datatable-scrollable":t.scrollable,"p-datatable-flex-scrollable":t.scrollable&&t.scrollHeight==="flex","p-datatable-striped":t.stripedRows,"p-datatable-gridlines":t.showGridlines,"p-datatable-sm":t.size==="small","p-datatable-lg":t.size==="large"}],mask:"p-datatable-mask p-overlay-mask",loadingIcon:"p-datatable-loading-icon",header:"p-datatable-header",pcPaginator:({instance:t})=>"p-datatable-paginator-"+t.paginatorPosition,tableContainer:"p-datatable-table-container",table:({instance:t})=>["p-datatable-table",{"p-datatable-scrollable-table":t.scrollable,"p-datatable-resizable-table":t.resizableColumns,"p-datatable-resizable-table-fit":t.resizableColumns&&t.columnResizeMode==="fit"}],thead:"p-datatable-thead",columnResizer:"p-datatable-column-resizer",columnHeaderContent:"p-datatable-column-header-content",columnTitle:"p-datatable-column-title",columnFooter:"p-datatable-column-footer",sortIcon:"p-datatable-sort-icon",pcSortBadge:"p-datatable-sort-badge",filter:({instance:t})=>({"p-datatable-filter":!0,"p-datatable-inline-filter":t.display==="row","p-datatable-popover-filter":t.display==="menu"}),filterElementContainer:"p-datatable-filter-element-container",pcColumnFilterButton:"p-datatable-column-filter-button",pcColumnFilterClearButton:"p-datatable-column-filter-clear-button",filterOverlay:({instance:t})=>({"p-datatable-filter-overlay p-component":!0,"p-datatable-filter-overlay-popover":t.display==="menu"}),filterConstraintList:"p-datatable-filter-constraint-list",filterConstraint:({selected:t})=>({"p-datatable-filter-constraint":!0,"p-datatable-filter-constraint-selected":t}),filterConstraintSeparator:"p-datatable-filter-constraint-separator",filterOperator:"p-datatable-filter-operator",pcFilterOperatorDropdown:"p-datatable-filter-operator-dropdown",filterRuleList:"p-datatable-filter-rule-list",filterRule:"p-datatable-filter-rule",pcFilterConstraintDropdown:"p-datatable-filter-constraint-dropdown",pcFilterRemoveRuleButton:"p-datatable-filter-remove-rule-button",pcFilterAddRuleButton:"p-datatable-filter-add-rule-button",filterButtonbar:"p-datatable-filter-buttonbar",pcFilterClearButton:"p-datatable-filter-clear-button",pcFilterApplyButton:"p-datatable-filter-apply-button",tbody:({instance:t})=>({"p-datatable-tbody":!0,"p-datatable-frozen-tbody":t.frozenValue||t.frozenBodyTemplate,"p-virtualscroller-content":t.virtualScroll}),rowGroupHeader:"p-datatable-row-group-header",rowToggleButton:"p-datatable-row-toggle-button",rowToggleIcon:"p-datatable-row-toggle-icon",rowExpansion:"p-datatable-row-expansion",rowGroupFooter:"p-datatable-row-group-footer",emptyMessage:"p-datatable-empty-message",bodyCell:({instance:t})=>({"p-datatable-frozen-column":t.columnProp("frozen")}),reorderableRowHandle:"p-datatable-reorderable-row-handle",pcRowEditorInit:"p-datatable-row-editor-init",pcRowEditorSave:"p-datatable-row-editor-save",pcRowEditorCancel:"p-datatable-row-editor-cancel",tfoot:"p-datatable-tfoot",footerCell:({instance:t})=>({"p-datatable-frozen-column":t.columnProp("frozen")}),virtualScrollerSpacer:"p-datatable-virtualscroller-spacer",footer:"p-datatable-tfoot",columnResizeIndicator:"p-datatable-column-resize-indicator",rowReorderIndicatorUp:"p-datatable-row-reorder-indicator-up",rowReorderIndicatorDown:"p-datatable-row-reorder-indicator-down",sortableColumn:({instance:t})=>({"p-datatable-sortable-column":t.isEnabled()," p-datatable-column-sorted":t.sorted}),sortableColumnIcon:"p-datatable-sort-icon",sortableColumnBadge:"p-sortable-column-badge",selectableRow:({instance:t})=>({"p-datatable-selectable-row":t.isEnabled(),"p-datatable-row-selected":t.selected}),resizableColumn:"p-datatable-resizable-column",reorderableColumn:"p-datatable-reorderable-column",rowEditorCancel:"p-datatable-row-editor-cancel",frozenColumn:({instance:t})=>({"p-datatable-frozen-column":t.frozen,"p-datatable-frozen-column-left":t.alignFrozenLeft==="left"}),contextMenuRowSelected:({instance:t})=>({"p-datatable-contextmenu-row-selected":t.selected})},$K={tableContainer:({instance:t})=>({"max-height":t.virtualScroll?"":t.scrollHeight,overflow:"auto"}),thead:{position:"sticky"},tfoot:{position:"sticky"},rowGroupHeader:({instance:t})=>({top:t.getFrozenRowGroupHeaderStickyPosition})},Zi=(()=>{class t extends fe{name="datatable";style=jK;classes=HK;inlineStyles=$K;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var UK=new B("TABLE_INSTANCE"),qu=(()=>{class t{sortSource=new Ue;selectionSource=new Ue;contextMenuSource=new Ue;valueSource=new Ue;columnsSource=new Ue;sortSource$=this.sortSource.asObservable();selectionSource$=this.selectionSource.asObservable();contextMenuSource$=this.contextMenuSource.asObservable();valueSource$=this.valueSource.asObservable();columnsSource$=this.columnsSource.asObservable();onSort(e){this.sortSource.next(e)}onSelectionChange(){this.selectionSource.next(null)}onContextMenu(e){this.contextMenuSource.next(e)}onValueChange(e){this.valueSource.next(e)}onColumnsChange(e){this.columnsSource.next(e)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})(),Sa=(()=>{class t extends ke{componentName="DataTable";frozenColumns;frozenValue;styleClass;tableStyle;tableStyleClass;paginator;pageLinks=5;rowsPerPageOptions;alwaysShowPaginator=!0;paginatorPosition="bottom";paginatorStyleClass;paginatorDropdownAppendTo;paginatorDropdownScrollHeight="200px";currentPageReportTemplate="{currentPage} of {totalPages}";showCurrentPageReport;showJumpToPageDropdown;showJumpToPageInput;showFirstLastIcon=!0;showPageLinks=!0;defaultSortOrder=1;sortMode="single";resetPageOnSort=!0;selectionMode;selectionPageOnly;contextMenuSelection;contextMenuSelectionChange=new P;contextMenuSelectionMode="separate";dataKey;metaKeySelection=!1;rowSelectable;rowTrackBy=(e,n)=>n;lazy=!1;lazyLoadOnInit=!0;compareSelectionBy="deepEquals";csvSeparator=",";exportFilename="download";filters={};globalFilterFields;filterDelay=300;filterLocale;expandedRowKeys={};editingRowKeys={};rowExpandMode="multiple";scrollable;rowGroupMode;scrollHeight;virtualScroll;virtualScrollItemSize;virtualScrollOptions;virtualScrollDelay=250;frozenWidth;contextMenu;resizableColumns;columnResizeMode="fit";reorderableColumns;loading;loadingIcon;showLoader=!0;rowHover;customSort;showInitialSortBadge=!0;exportFunction;exportHeader;stateKey;stateStorage="session";editMode="cell";groupRowsBy;size;showGridlines;stripedRows;groupRowsByOrder=1;responsiveLayout="scroll";breakpoint="960px";paginatorLocale;get value(){return this._value}set value(e){this._value=e}get columns(){return this._columns}set columns(e){this._columns=e}get first(){return this._first}set first(e){this._first=e}get rows(){return this._rows}set rows(e){this._rows=e}totalRecords=0;get sortField(){return this._sortField}set sortField(e){this._sortField=e}get sortOrder(){return this._sortOrder}set sortOrder(e){this._sortOrder=e}get multiSortMeta(){return this._multiSortMeta}set multiSortMeta(e){this._multiSortMeta=e}get selection(){return this._selection}set selection(e){this._selection=e}get selectAll(){return this._selection}set selectAll(e){this._selection=e}selectAllChange=new P;selectionChange=new P;onRowSelect=new P;onRowUnselect=new P;onPage=new P;onSort=new P;onFilter=new P;onLazyLoad=new P;onRowExpand=new P;onRowCollapse=new P;onContextMenuSelect=new P;onColResize=new P;onColReorder=new P;onRowReorder=new P;onEditInit=new P;onEditComplete=new P;onEditCancel=new P;onHeaderCheckboxToggle=new P;sortFunction=new P;firstChange=new P;rowsChange=new P;onStateSave=new P;onStateRestore=new P;resizeHelperViewChild;reorderIndicatorUpViewChild;reorderIndicatorDownViewChild;wrapperViewChild;tableViewChild;tableHeaderViewChild;tableFooterViewChild;scroller;_templates;_value=[];_columns;_totalRecords=0;_first=0;_rows;filteredValue;_headerTemplate;headerTemplate;_headerGroupedTemplate;headerGroupedTemplate;_bodyTemplate;bodyTemplate;_loadingBodyTemplate;loadingBodyTemplate;_captionTemplate;captionTemplate;_footerTemplate;footerTemplate;_footerGroupedTemplate;footerGroupedTemplate;_summaryTemplate;summaryTemplate;_colGroupTemplate;colGroupTemplate;_expandedRowTemplate;expandedRowTemplate;_groupHeaderTemplate;groupHeaderTemplate;_groupFooterTemplate;groupFooterTemplate;_frozenExpandedRowTemplate;frozenExpandedRowTemplate;_frozenHeaderTemplate;frozenHeaderTemplate;_frozenBodyTemplate;frozenBodyTemplate;_frozenFooterTemplate;frozenFooterTemplate;_frozenColGroupTemplate;frozenColGroupTemplate;_emptyMessageTemplate;emptyMessageTemplate;_paginatorLeftTemplate;paginatorLeftTemplate;_paginatorRightTemplate;paginatorRightTemplate;_paginatorDropdownItemTemplate;paginatorDropdownItemTemplate;_loadingIconTemplate;loadingIconTemplate;_reorderIndicatorUpIconTemplate;reorderIndicatorUpIconTemplate;_reorderIndicatorDownIconTemplate;reorderIndicatorDownIconTemplate;_sortIconTemplate;sortIconTemplate;_checkboxIconTemplate;checkboxIconTemplate;_headerCheckboxIconTemplate;headerCheckboxIconTemplate;_paginatorDropdownIconTemplate;paginatorDropdownIconTemplate;_paginatorFirstPageLinkIconTemplate;paginatorFirstPageLinkIconTemplate;_paginatorLastPageLinkIconTemplate;paginatorLastPageLinkIconTemplate;_paginatorPreviousPageLinkIconTemplate;paginatorPreviousPageLinkIconTemplate;_paginatorNextPageLinkIconTemplate;paginatorNextPageLinkIconTemplate;selectionKeys={};lastResizerHelperX;reorderIconWidth;reorderIconHeight;draggedColumn;draggedRowIndex;droppedRowIndex;rowDragging;dropPosition;editingCell;editingCellData;editingCellField;editingCellRowIndex;selfClick;documentEditListener;_multiSortMeta;_sortField;_sortOrder=1;preventSelectionSetterPropagation;_selection;_selectAll=null;anchorRowIndex;rangeRowIndex;filterTimeout;initialized;rowTouched;restoringSort;restoringFilter;stateRestored;columnOrderStateRestored;columnWidthsState;tableWidthState;overlaySubscription;resizeColumnElement;columnResizing=!1;rowGroupHeaderStyleObject={};id=tD();styleElement;responsiveStyleElement;overlayService=v(wo);filterService=v(gu);tableService=v(qu);zone=v(Ne);_componentStyle=v(Zi);bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}onInit(){this.lazy&&this.lazyLoadOnInit&&(this.virtualScroll||this.onLazyLoad.emit(this.createLazyLoadMetadata()),this.restoringFilter&&(this.restoringFilter=!1)),this.responsiveLayout==="stack"&&this.createResponsiveStyle(),this.initialized=!0}onAfterContentInit(){this._templates.forEach(e=>{switch(e.getType()){case"caption":this.captionTemplate=e.template;break;case"header":this.headerTemplate=e.template;break;case"headergrouped":this.headerGroupedTemplate=e.template;break;case"body":this.bodyTemplate=e.template;break;case"loadingbody":this.loadingBodyTemplate=e.template;break;case"footer":this.footerTemplate=e.template;break;case"footergrouped":this.footerGroupedTemplate=e.template;break;case"summary":this.summaryTemplate=e.template;break;case"colgroup":this.colGroupTemplate=e.template;break;case"expandedrow":this.expandedRowTemplate=e.template;break;case"groupheader":this.groupHeaderTemplate=e.template;break;case"groupfooter":this.groupFooterTemplate=e.template;break;case"frozenheader":this.frozenHeaderTemplate=e.template;break;case"frozenbody":this.frozenBodyTemplate=e.template;break;case"frozenfooter":this.frozenFooterTemplate=e.template;break;case"frozencolgroup":this.frozenColGroupTemplate=e.template;break;case"frozenexpandedrow":this.frozenExpandedRowTemplate=e.template;break;case"emptymessage":this.emptyMessageTemplate=e.template;break;case"paginatorleft":this.paginatorLeftTemplate=e.template;break;case"paginatorright":this.paginatorRightTemplate=e.template;break;case"paginatordropdownicon":this.paginatorDropdownIconTemplate=e.template;break;case"paginatordropdownitem":this.paginatorDropdownItemTemplate=e.template;break;case"paginatorfirstpagelinkicon":this.paginatorFirstPageLinkIconTemplate=e.template;break;case"paginatorlastpagelinkicon":this.paginatorLastPageLinkIconTemplate=e.template;break;case"paginatorpreviouspagelinkicon":this.paginatorPreviousPageLinkIconTemplate=e.template;break;case"paginatornextpagelinkicon":this.paginatorNextPageLinkIconTemplate=e.template;break;case"loadingicon":this.loadingIconTemplate=e.template;break;case"reorderindicatorupicon":this.reorderIndicatorUpIconTemplate=e.template;break;case"reorderindicatordownicon":this.reorderIndicatorDownIconTemplate=e.template;break;case"sorticon":this.sortIconTemplate=e.template;break;case"checkboxicon":this.checkboxIconTemplate=e.template;break;case"headercheckboxicon":this.headerCheckboxIconTemplate=e.template;break}})}onAfterViewInit(){_t(this.platformId)&&this.isStateful()&&this.resizableColumns&&this.restoreColumnWidths()}onChanges(e){e.totalRecords&&e.totalRecords.firstChange&&(this._totalRecords=e.totalRecords.currentValue),e.value&&(this.isStateful()&&!this.stateRestored&&_t(this.platformId)&&this.restoreState(),this._value=e.value.currentValue,this.lazy||(this.totalRecords=this._totalRecords===0&&this._value?this._value.length:this._totalRecords??0,this.sortMode=="single"&&(this.sortField||this.groupRowsBy)?this.sortSingle():this.sortMode=="multiple"&&(this.multiSortMeta||this.groupRowsBy)?this.sortMultiple():this.hasFilter()&&this._filter()),this.tableService.onValueChange(e.value.currentValue)),e.columns&&(this.isStateful()||(this._columns=e.columns.currentValue,this.tableService.onColumnsChange(e.columns.currentValue)),this._columns&&this.isStateful()&&this.reorderableColumns&&!this.columnOrderStateRestored&&(this.restoreColumnOrder(),this.tableService.onColumnsChange(this._columns))),e.sortField&&(this._sortField=e.sortField.currentValue,(!this.lazy||this.initialized)&&this.sortMode==="single"&&this.sortSingle()),e.groupRowsBy&&(!this.lazy||this.initialized)&&this.sortMode==="single"&&this.sortSingle(),e.sortOrder&&(this._sortOrder=e.sortOrder.currentValue,(!this.lazy||this.initialized)&&this.sortMode==="single"&&this.sortSingle()),e.groupRowsByOrder&&(!this.lazy||this.initialized)&&this.sortMode==="single"&&this.sortSingle(),e.multiSortMeta&&(this._multiSortMeta=e.multiSortMeta.currentValue,this.sortMode==="multiple"&&(this.initialized||!this.lazy&&!this.virtualScroll)&&this.sortMultiple()),e.selection&&(this._selection=e.selection.currentValue,this.preventSelectionSetterPropagation||(this.updateSelectionKeys(),this.tableService.onSelectionChange()),this.preventSelectionSetterPropagation=!1),e.selectAll&&(this._selectAll=e.selectAll.currentValue,this.preventSelectionSetterPropagation||(this.updateSelectionKeys(),this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()),this.preventSelectionSetterPropagation=!1)}get processedData(){return this.filteredValue||this.value||[]}_initialColWidths;dataToRender(e){let n=e||this.processedData;if(n&&this.paginator){let o=this.lazy?0:this.first;return n.slice(o,o+this.rows)}return n}updateSelectionKeys(){if(this.dataKey&&this._selection)if(this.selectionKeys={},Array.isArray(this._selection))for(let e of this._selection)this.selectionKeys[String(me.resolveFieldData(e,this.dataKey))]=1;else this.selectionKeys[String(me.resolveFieldData(this._selection,this.dataKey))]=1}onPageChange(e){this.first=e.first,this.rows=e.rows,this.onPage.emit({first:this.first,rows:this.rows}),this.lazy&&this.onLazyLoad.emit(this.createLazyLoadMetadata()),this.firstChange.emit(this.first),this.rowsChange.emit(this.rows),this.tableService.onValueChange(this.value),this.isStateful()&&this.saveState(),this.anchorRowIndex=null,this.scrollable&&this.resetScrollTop()}sort(e){let n=e.originalEvent;if(this.sortMode==="single"&&(this._sortOrder=this.sortField===e.field?this.sortOrder*-1:this.defaultSortOrder,this._sortField=e.field,this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first),this.scrollable&&this.resetScrollTop()),this.sortSingle()),this.sortMode==="multiple"){let o=n.metaKey||n.ctrlKey,r=this.getSortMeta(e.field);r?o?r.order=r.order*-1:(this._multiSortMeta=[{field:e.field,order:r.order*-1}],this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first),this.scrollable&&this.resetScrollTop())):((!o||!this.multiSortMeta)&&(this._multiSortMeta=[],this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first))),this._multiSortMeta.push({field:e.field,order:this.defaultSortOrder})),this.sortMultiple()}this.isStateful()&&this.saveState(),this.anchorRowIndex=null}sortSingle(){let e=this.sortField||this.groupRowsBy,n=this.sortField?this.sortOrder:this.groupRowsByOrder;if(this.groupRowsBy&&this.sortField&&this.groupRowsBy!==this.sortField){this._multiSortMeta=[this.getGroupRowsMeta(),{field:this.sortField,order:this.sortOrder}],this.sortMultiple();return}if(e&&n){this.restoringSort&&(this.restoringSort=!1),this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.value&&(this.customSort?this.sortFunction.emit({data:this.value,mode:this.sortMode,field:e,order:n}):(this.value.sort((r,a)=>{let s=me.resolveFieldData(r,e),l=me.resolveFieldData(a,e),c=null;return s==null&&l!=null?c=-1:s!=null&&l==null?c=1:s==null&&l==null?c=0:typeof s=="string"&&typeof l=="string"?c=s.localeCompare(l):c=sl?1:0,n*(c||0)}),this._value=[...this.value]),this.hasFilter()&&this._filter());let o={field:e,order:n};this.onSort.emit(o),this.tableService.onSort(o)}}sortMultiple(){this.groupRowsBy&&(this._multiSortMeta?this.multiSortMeta[0].field!==this.groupRowsBy&&(this._multiSortMeta=[this.getGroupRowsMeta(),...this._multiSortMeta]):this._multiSortMeta=[this.getGroupRowsMeta()]),this.multiSortMeta&&(this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.value&&(this.customSort?this.sortFunction.emit({data:this.value,mode:this.sortMode,multiSortMeta:this.multiSortMeta}):(this.value.sort((e,n)=>this.multisortField(e,n,this.multiSortMeta,0)),this._value=[...this.value]),this.hasFilter()&&this._filter()),this.onSort.emit({multisortmeta:this.multiSortMeta}),this.tableService.onSort(this.multiSortMeta))}multisortField(e,n,o,r){let a=me.resolveFieldData(e,o[r].field),s=me.resolveFieldData(n,o[r].field);return me.compare(a,s,this.filterLocale)===0?o.length-1>r?this.multisortField(e,n,o,r+1):0:this.compareValuesOnSort(a,s,o[r].order)}compareValuesOnSort(e,n,o){return me.sort(e,n,o,this.filterLocale,this.sortOrder)}getSortMeta(e){if(this.multiSortMeta&&this.multiSortMeta.length){for(let n=0;nx!=g),this.selectionChange.emit(this.selection),u&&delete this.selectionKeys[u]}this.onRowUnselect.emit({originalEvent:e.originalEvent,data:a,type:"row"})}else this.isSingleSelectionMode()?(this._selection=a,this.selectionChange.emit(a),u&&(this.selectionKeys={},this.selectionKeys[u]=1)):this.isMultipleSelectionMode()&&(h?this._selection=this.selection||[]:(this._selection=[],this.selectionKeys={}),this._selection=[...this.selection,a],this.selectionChange.emit(this.selection),u&&(this.selectionKeys[u]=1)),this.onRowSelect.emit({originalEvent:e.originalEvent,data:a,type:"row",index:s})}else if(this.selectionMode==="single")l?(this._selection=null,this.selectionKeys={},this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:e.originalEvent,data:a,type:"row",index:s})):(this._selection=a,this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:e.originalEvent,data:a,type:"row",index:s}),u&&(this.selectionKeys={},this.selectionKeys[u]=1));else if(this.selectionMode==="multiple")if(l){let h=this.findIndexInSelection(a);this._selection=this.selection.filter((g,m)=>m!=h),this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:e.originalEvent,data:a,type:"row",index:s}),u&&delete this.selectionKeys[u]}else this._selection=this.selection?[...this.selection,a]:[a],this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:e.originalEvent,data:a,type:"row",index:s}),u&&(this.selectionKeys[u]=1)}this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()}this.rowTouched=!1}}handleRowTouchEnd(e){this.rowTouched=!0}handleRowRightClick(e){if(this.contextMenu){let n=e.rowData,o=e.rowIndex,r=()=>{this.contextMenu.show(e.originalEvent),this.contextMenu.hideCallback=()=>{this.contextMenuSelection=null,this.contextMenuSelectionChange.emit(null),this.tableService.onContextMenu(null)}};if(this.contextMenuSelectionMode==="separate")this.contextMenuSelection=n,this.contextMenuSelectionChange.emit(n),this.tableService.onContextMenu(n),r(),this.onContextMenuSelect.emit({originalEvent:e.originalEvent,data:n,index:e.rowIndex});else if(this.contextMenuSelectionMode==="joint"){this.preventSelectionSetterPropagation=!0;let a=this.isSelected(n),s=this.dataKey?String(me.resolveFieldData(n,this.dataKey)):null;if(!a){if(!this.isRowSelectable(n,o))return;this.isSingleSelectionMode()?(this.selection=n,this.selectionChange.emit(n),s&&(this.selectionKeys={},this.selectionKeys[s]=1)):this.isMultipleSelectionMode()&&(this._selection=this.selection?[...this.selection,n]:[n],this.selectionChange.emit(this.selection),s&&(this.selectionKeys[s]=1))}this.contextMenuSelection=n,this.contextMenuSelectionChange.emit(n),this.tableService.onContextMenu(n),this.tableService.onSelectionChange(),r(),this.onContextMenuSelect.emit({originalEvent:e,data:n,index:e.rowIndex})}}}selectRange(e,n,o){let r,a;this.anchorRowIndex>n?(r=n,a=this.anchorRowIndex):this.anchorRowIndexa?(n=this.anchorRowIndex,o=this.rangeRowIndex):rg!=c);let u=this.dataKey?String(me.resolveFieldData(l,this.dataKey)):null;u&&delete this.selectionKeys[u],this.onRowUnselect.emit({originalEvent:e,data:l,type:"row"})}}isSelected(e){return e&&this.selection?this.dataKey?this.selectionKeys[me.resolveFieldData(e,this.dataKey)]!==void 0:Array.isArray(this.selection)?this.findIndexInSelection(e)>-1:this.equals(e,this.selection):!1}findIndexInSelection(e){let n=-1;if(this.selection&&this.selection.length){for(let o=0;ol!=a),this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:e.originalEvent,index:e.rowIndex,data:n,type:"checkbox"}),r&&delete this.selectionKeys[r]}else{if(!this.isRowSelectable(n,e.rowIndex))return;this._selection=this.selection?[...this.selection,n]:[n],this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:e.originalEvent,index:e.rowIndex,data:n,type:"checkbox"}),r&&(this.selectionKeys[r]=1)}this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()}toggleRowsWithCheckbox({originalEvent:e},n){if(this._selectAll!==null)this.selectAllChange.emit({originalEvent:e,checked:n});else{let o=this.selectionPageOnly?this.dataToRender(this.processedData):this.processedData,r=this.selectionPageOnly&&this._selection?this._selection.filter(a=>!o.some(s=>this.equals(a,s))):[];n&&(r=this.frozenValue?[...r,...this.frozenValue,...o]:[...r,...o],r=this.rowSelectable?r.filter((a,s)=>this.rowSelectable({data:a,index:s})):r),this._selection=r,this.preventSelectionSetterPropagation=!0,this.updateSelectionKeys(),this.selectionChange.emit(this._selection),this.tableService.onSelectionChange(),this.onHeaderCheckboxToggle.emit({originalEvent:e,checked:n}),this.isStateful()&&this.saveState()}}equals(e,n){return this.compareSelectionBy==="equals"?e===n:me.equals(e,n,this.dataKey)}filter(e,n,o){this.filterTimeout&&clearTimeout(this.filterTimeout),this.isFilterBlank(e)?this.filters[n]&&delete this.filters[n]:this.filters[n]={value:e,matchMode:o},this.filterTimeout=setTimeout(()=>{this._filter(),this.filterTimeout=null},this.filterDelay),this.anchorRowIndex=null}filterGlobal(e,n){this.filter(e,"global",n)}isFilterBlank(e){return e!=null?!!(typeof e=="string"&&e.trim().length==0||Array.isArray(e)&&e.length==0):!0}_filter(){if(this.restoringFilter||(this.first=0,this.firstChange.emit(this.first)),this.lazy)this.onLazyLoad.emit(this.createLazyLoadMetadata());else{if(!this.value)return;if(!this.hasFilter())this.filteredValue=null,this.paginator&&(this.totalRecords=this._totalRecords===0&&this.value?this.value.length:this._totalRecords);else{let e;if(this.filters.global){if(!this.columns&&!this.globalFilterFields)throw new Error("Global filtering requires dynamic columns or globalFilterFields to be defined.");e=this.globalFilterFields||this.columns}this.filteredValue=[];for(let n=0;nthis.cd.detectChanges()}}clear(){this._sortField=null,this._sortOrder=this.defaultSortOrder,this._multiSortMeta=null,this.tableService.onSort(null),this.clearFilterValues(),this.filteredValue=null,this.first=0,this.firstChange.emit(this.first),this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.totalRecords=this._totalRecords===0&&this._value?this._value.length:this._totalRecords??0}clearFilterValues(){for(let[,e]of Object.entries(this.filters))if(Array.isArray(e))for(let n of e)n.value=null;else e&&(e.value=null)}reset(){this.clear()}getExportHeader(e){return e[this.exportHeader]||e.header||e.field}exportCSV(e){let n,o="",r=this.columns;e&&e.selectionOnly?n=this.selection||[]:e&&e.allValues?n=this.value||[]:(n=this.filteredValue||this.value,this.frozenValue&&(n=n?[...this.frozenValue,...n]:this.frozenValue));let a=r.filter(u=>u.exportable!==!1&&u.field);o+=a.map(u=>'"'+this.getExportHeader(u)+'"').join(this.csvSeparator);let s=n.map(u=>a.map(h=>{let g=me.resolveFieldData(u,h.field);return g!=null?this.exportFunction?g=this.exportFunction({data:g,field:h.field}):g=String(g).replace(/"/g,'""'):g="",'"'+g+'"'}).join(this.csvSeparator)).join(` +`);s.length&&(o+=` +`+s);let l=new Blob([new Uint8Array([239,187,191]),o],{type:"text/csv;charset=utf-8;"}),c=this.renderer.createElement("a");c.style.display="none",this.renderer.appendChild(this.document.body,c),c.download!==void 0?(c.setAttribute("href",URL.createObjectURL(l)),c.setAttribute("download",this.exportFilename+".csv"),c.click()):(o="data:text/csv;charset=utf-8,"+o,this.document.defaultView?.open(encodeURI(o))),this.renderer.removeChild(this.document.body,c)}onLazyItemLoad(e){this.onLazyLoad.emit(ie(T(T({},this.createLazyLoadMetadata()),e),{rows:e.last-e.first}))}resetScrollTop(){this.virtualScroll?this.scrollToVirtualIndex(0):this.scrollTo({top:0})}scrollToVirtualIndex(e){this.scroller&&this.scroller.scrollToIndex(e)}scrollTo(e){this.virtualScroll?this.scroller?.scrollTo(e):this.wrapperViewChild&&this.wrapperViewChild.nativeElement&&(this.wrapperViewChild.nativeElement.scrollTo?this.wrapperViewChild.nativeElement.scrollTo(e):(this.wrapperViewChild.nativeElement.scrollLeft=e.left,this.wrapperViewChild.nativeElement.scrollTop=e.top))}updateEditingCell(e,n,o,r){this.editingCell=e,this.editingCellData=n,this.editingCellField=o,this.editingCellRowIndex=r,this.bindDocumentEditListener()}isEditingCellValid(){return this.editingCell&&he.find(this.editingCell,".ng-invalid.ng-dirty").length===0}bindDocumentEditListener(){this.documentEditListener||(this.documentEditListener=this.renderer.listen(this.document,"click",e=>{this.editingCell&&!this.selfClick&&this.isEditingCellValid()&&(!this.$unstyled()&&he.removeClass(this.editingCell,"p-cell-editing"),Mi(this.editingCell,"data-p-cell-editing","false"),this.editingCell=null,this.onEditComplete.emit({field:this.editingCellField,data:this.editingCellData,originalEvent:e,index:this.editingCellRowIndex}),this.editingCellField=null,this.editingCellData=null,this.editingCellRowIndex=null,this.unbindDocumentEditListener(),this.cd.markForCheck(),this.overlaySubscription&&this.overlaySubscription.unsubscribe()),this.selfClick=!1}))}unbindDocumentEditListener(){this.documentEditListener&&(this.documentEditListener(),this.documentEditListener=null)}initRowEdit(e){let n=String(me.resolveFieldData(e,this.dataKey));this.editingRowKeys[n]=!0}saveRowEdit(e,n){if(he.find(n,".ng-invalid.ng-dirty").length===0){let o=String(me.resolveFieldData(e,this.dataKey));delete this.editingRowKeys[o]}}cancelRowEdit(e){let n=String(me.resolveFieldData(e,this.dataKey));delete this.editingRowKeys[n]}toggleRow(e,n){if(!this.dataKey&&!this.groupRowsBy)throw new Error("dataKey or groupRowsBy must be defined to use row expansion");let o=this.groupRowsBy?String(me.resolveFieldData(e,this.groupRowsBy)):String(me.resolveFieldData(e,this.dataKey));this.expandedRowKeys[o]!=null?(delete this.expandedRowKeys[o],this.onRowCollapse.emit({originalEvent:n,data:e})):(this.rowExpandMode==="single"&&(this.expandedRowKeys={}),this.expandedRowKeys[o]=!0,this.onRowExpand.emit({originalEvent:n,data:e})),n&&n.preventDefault(),this.isStateful()&&this.saveState()}isRowExpanded(e){return this.groupRowsBy?this.expandedRowKeys[String(me.resolveFieldData(e,this.groupRowsBy))]===!0:this.expandedRowKeys[String(me.resolveFieldData(e,this.dataKey))]===!0}isRowEditing(e){return this.editingRowKeys[String(me.resolveFieldData(e,this.dataKey))]===!0}isSingleSelectionMode(){return this.selectionMode==="single"}isMultipleSelectionMode(){return this.selectionMode==="multiple"}onColumnResizeBegin(e){let n=he.getOffset(this.el?.nativeElement).left;this.resizeColumnElement=e.target.closest("th"),this.columnResizing=!0,e.type=="touchstart"?this.lastResizerHelperX=e.changedTouches[0].clientX-n+this.el?.nativeElement.scrollLeft:this.lastResizerHelperX=e.pageX-n+this.el?.nativeElement.scrollLeft,this.onColumnResize(e),e.preventDefault()}onColumnResize(e){let n=he.getOffset(this.el?.nativeElement).left;!this.$unstyled()&&he.addClass(this.el?.nativeElement,"p-unselectable-text"),this.resizeHelperViewChild.nativeElement.style.height=this.el?.nativeElement.offsetHeight+"px",this.resizeHelperViewChild.nativeElement.style.top="0px",e.type=="touchmove"?this.resizeHelperViewChild.nativeElement.style.left=e.changedTouches[0].clientX-n+this.el?.nativeElement.scrollLeft+"px":this.resizeHelperViewChild.nativeElement.style.left=e.pageX-n+this.el?.nativeElement.scrollLeft+"px",this.resizeHelperViewChild.nativeElement.style.display="block"}onColumnResizeEnd(){let e=getComputedStyle(this.el?.nativeElement??document.documentElement).direction==="rtl",n=this.resizeHelperViewChild?.nativeElement.offsetLeft-this.lastResizerHelperX,o=e?-n:n,a=this.resizeColumnElement.offsetWidth+o,s=this.resizeColumnElement.style.minWidth.replace(/[^\d.]/g,""),l=s?parseFloat(s):15;if(a>=l){if(this.columnResizeMode==="fit"){let u=this.resizeColumnElement.nextElementSibling.offsetWidth-o;a>15&&u>15&&this.resizeTableCells(a,u)}else if(this.columnResizeMode==="expand"){this._initialColWidths=this._totalTableWidth();let c=this.tableViewChild?.nativeElement.offsetWidth+o;this.setResizeTableWidth(c+"px"),this.resizeTableCells(a,null)}this.onColResize.emit({element:this.resizeColumnElement,delta:o}),this.isStateful()&&this.saveState()}this.resizeHelperViewChild.nativeElement.style.display="none",he.removeClass(this.el?.nativeElement,"p-unselectable-text")}_totalTableWidth(){let e=[],n=he.findSingle(this.el.nativeElement,'[data-pc-section="thead"]');return he.find(n,"tr > th").forEach(r=>e.push(he.getOuterWidth(r))),e}onColumnDragStart(e,n){this.reorderIconWidth=he.getHiddenElementOuterWidth(this.reorderIndicatorUpViewChild?.nativeElement),this.reorderIconHeight=he.getHiddenElementOuterHeight(this.reorderIndicatorDownViewChild?.nativeElement),this.draggedColumn=n,e.dataTransfer.setData("text","b")}onColumnDragEnter(e,n){if(this.reorderableColumns&&this.draggedColumn&&n){e.preventDefault();let o=he.getOffset(this.el?.nativeElement),r=he.getOffset(n);if(this.draggedColumn!=n){let a=he.indexWithinGroup(this.draggedColumn,"preorderablecolumn"),s=he.indexWithinGroup(n,"preorderablecolumn"),l=r.left-o.left,c=o.top-r.top,u=r.left+n.offsetWidth/2;this.reorderIndicatorUpViewChild.nativeElement.style.top=r.top-o.top-(this.reorderIconHeight-1)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.top=r.top-o.top+n.offsetHeight+"px",e.pageX>u?(this.reorderIndicatorUpViewChild.nativeElement.style.left=l+n.offsetWidth-Math.ceil(this.reorderIconWidth/2)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.left=l+n.offsetWidth-Math.ceil(this.reorderIconWidth/2)+"px",this.dropPosition=1):(this.reorderIndicatorUpViewChild.nativeElement.style.left=l-Math.ceil(this.reorderIconWidth/2)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.left=l-Math.ceil(this.reorderIconWidth/2)+"px",this.dropPosition=-1),this.reorderIndicatorUpViewChild.nativeElement.style.display="block",this.reorderIndicatorDownViewChild.nativeElement.style.display="block"}else e.dataTransfer.dropEffect="none"}}onColumnDragLeave(e){this.reorderableColumns&&this.draggedColumn&&e.preventDefault()}onColumnDrop(e,n){if(e.preventDefault(),this.draggedColumn){let o=he.indexWithinGroup(this.draggedColumn,"preorderablecolumn"),r=he.indexWithinGroup(n,"preorderablecolumn"),a=o!=r;if(a&&(r-o==1&&this.dropPosition===-1||o-r==1&&this.dropPosition===1)&&(a=!1),a&&ro&&this.dropPosition===-1&&(r=r-1),a&&(me.reorderArray(this.columns,o,r),this.onColReorder.emit({dragIndex:o,dropIndex:r,columns:this.columns}),this.isStateful()&&this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.saveState()})})),this.resizableColumns&&this.resizeColumnElement){let s=this.columnResizeMode==="expand"?this._initialColWidths:this._totalTableWidth();me.reorderArray(s,o+1,r+1),this.updateStyleElement(s,o,0,0)}this.reorderIndicatorUpViewChild.nativeElement.style.display="none",this.reorderIndicatorDownViewChild.nativeElement.style.display="none",this.draggedColumn.draggable=!1,this.draggedColumn=null,this.dropPosition=null}}resizeTableCells(e,n){let o=he.index(this.resizeColumnElement),r=this.columnResizeMode==="expand"?this._initialColWidths:this._totalTableWidth();this.updateStyleElement(r,o,e,n)}updateStyleElement(e,n,o,r){this.destroyStyleElement(),this.createStyleElement();let a="";e.forEach((s,l)=>{let c=l===n?o:r&&l===n+1?r:s,u=`width: ${c}px !important; max-width: ${c}px !important;`;a+=` + #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${l+1}), + #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${l+1}), + #${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${l+1}) { + ${u} + } + `}),this.renderer.setProperty(this.styleElement,"innerHTML",a)}onRowDragStart(e,n){this.rowDragging=!0,this.draggedRowIndex=n,e.dataTransfer.setData("text","b")}onRowDragOver(e,n,o){if(this.rowDragging&&this.draggedRowIndex!==n){let r=he.getOffset(o).top,a=e.pageY,s=r+he.getOuterHeight(o)/2,l=o.previousElementSibling;athis.droppedRowIndex?this.droppedRowIndex:this.droppedRowIndex===0?0:this.droppedRowIndex-1;me.reorderArray(this.value,this.draggedRowIndex,o),this.virtualScroll&&(this._value=[...this._value]),this.onRowReorder.emit({dragIndex:this.draggedRowIndex,dropIndex:o})}this.onRowDragLeave(e,n),this.onRowDragEnd(e)}isEmpty(){let e=this.filteredValue||this.value;return e==null||e.length==0}getBlockableElement(){return this.el.nativeElement.children[0]}getStorage(){if(_t(this.platformId))switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}else throw new Error("Browser storage is not available in the server side.")}isStateful(){return this.stateKey!=null}saveState(){let e=this.getStorage(),n={};this.paginator&&(n.first=this.first,n.rows=this.rows),this.sortField&&(n.sortField=this.sortField,n.sortOrder=this.sortOrder),this.multiSortMeta&&(n.multiSortMeta=this.multiSortMeta),this.hasFilter()&&(n.filters=this.filters),this.resizableColumns&&this.saveColumnWidths(n),this.reorderableColumns&&this.saveColumnOrder(n),this.selection&&(n.selection=this.selection),Object.keys(this.expandedRowKeys).length&&(n.expandedRowKeys=this.expandedRowKeys),e.setItem(this.stateKey,JSON.stringify(n)),this.onStateSave.emit(n)}clearState(){let e=this.getStorage();this.stateKey&&e.removeItem(this.stateKey)}restoreState(){let n=this.getStorage().getItem(this.stateKey),o=/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/,r=function(a,s){return typeof s=="string"&&o.test(s)?new Date(s):s};if(n){let a=JSON.parse(n,r);this.paginator&&(this.first!==void 0&&(this.first=a.first,this.firstChange.emit(this.first)),this.rows!==void 0&&(this.rows=a.rows,this.rowsChange.emit(this.rows))),a.sortField&&(this.restoringSort=!0,this._sortField=a.sortField,this._sortOrder=a.sortOrder),a.multiSortMeta&&(this.restoringSort=!0,this._multiSortMeta=a.multiSortMeta),a.filters&&(this.restoringFilter=!0,this.filters=a.filters),this.resizableColumns&&(this.columnWidthsState=a.columnWidths,this.tableWidthState=a.tableWidth),a.expandedRowKeys&&(this.expandedRowKeys=a.expandedRowKeys),a.selection&&Promise.resolve(null).then(()=>this.selectionChange.emit(a.selection)),this.stateRestored=!0,this.onStateRestore.emit(a)}}saveColumnWidths(e){let n=[],o=[],r=this.el?.nativeElement;r&&(o=he.find(r,'[data-pc-section="thead"] > tr > th')),o.forEach(a=>n.push(he.getOuterWidth(a))),e.columnWidths=n.join(","),this.columnResizeMode==="expand"&&this.tableViewChild&&(e.tableWidth=he.getOuterWidth(this.tableViewChild.nativeElement))}setResizeTableWidth(e){this.tableViewChild.nativeElement.style.width=e,this.tableViewChild.nativeElement.style.minWidth=e}restoreColumnWidths(){if(this.columnWidthsState){let e=this.columnWidthsState.split(",");if(this.columnResizeMode==="expand"&&this.tableWidthState&&this.setResizeTableWidth(this.tableWidthState+"px"),me.isNotEmpty(e)){this.createStyleElement();let n="";e.forEach((o,r)=>{let a=`width: ${o}px !important; max-width: ${o}px !important`;n+=` + #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${r+1}), + #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${r+1}), + #${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${r+1}) { + ${a} + } + `}),this.styleElement.innerHTML=n}}}saveColumnOrder(e){if(this.columns){let n=[];this.columns.map(o=>{n.push(o.field||o.key)}),e.columnOrder=n}}restoreColumnOrder(){let n=this.getStorage().getItem(this.stateKey);if(n){let r=JSON.parse(n).columnOrder;if(r){let a=[];r.map(s=>{let l=this.findColumnByKey(s);l&&a.push(l)}),this.columnOrderStateRestored=!0,this.columns=a}}}findColumnByKey(e){if(this.columns){for(let n of this.columns)if(n.key===e||n.field===e)return n}else return null}createStyleElement(){this.styleElement=this.renderer.createElement("style"),this.styleElement.type="text/css",he.setAttribute(this.styleElement,"nonce",this.config?.csp()?.nonce),this.renderer.appendChild(this.document.head,this.styleElement),he.setAttribute(this.styleElement,"nonce",this.config?.csp()?.nonce)}getGroupRowsMeta(){return{field:this.groupRowsBy,order:this.groupRowsByOrder}}createResponsiveStyle(){if(_t(this.platformId)&&!this.responsiveStyleElement){this.responsiveStyleElement=this.renderer.createElement("style"),this.responsiveStyleElement.type="text/css",he.setAttribute(this.responsiveStyleElement,"nonce",this.config?.csp()?.nonce),this.renderer.appendChild(this.document.head,this.responsiveStyleElement);let e=` + @media screen and (max-width: ${this.breakpoint}) { + #${this.id}-table > .p-datatable-thead > tr > th, + #${this.id}-table > .p-datatable-tfoot > tr > td { + display: none !important; + } + + #${this.id}-table > .p-datatable-tbody > tr > td { + display: flex; + width: 100% !important; + align-items: center; + justify-content: space-between; + } + + #${this.id}-table > .p-datatable-tbody > tr > td:not(:last-child) { + border: 0 none; + } + + #${this.id}.p-datatable-gridlines > .p-datatable-table-container > .p-datatable-table > .p-datatable-tbody > tr > td:last-child { + border-top: 0; + border-right: 0; + border-left: 0; + } + + #${this.id}-table > .p-datatable-tbody > tr > td > .p-datatable-column-title { + display: block; + } + } + `;this.renderer.setProperty(this.responsiveStyleElement,"innerHTML",e),he.setAttribute(this.responsiveStyleElement,"nonce",this.config?.csp()?.nonce)}}destroyResponsiveStyle(){this.responsiveStyleElement&&(this.renderer.removeChild(this.document.head,this.responsiveStyleElement),this.responsiveStyleElement=null)}destroyStyleElement(){this.styleElement&&(this.renderer.removeChild(this.document.head,this.styleElement),this.styleElement=null)}ngAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}onDestroy(){this.unbindDocumentEditListener(),this.editingCell=null,this.initialized=null,this.destroyStyleElement(),this.destroyResponsiveStyle()}get dataP(){return this.cn({scrollable:this.scrollable,"flex-scrollable":this.scrollable&&this.scrollHeight==="flex",[this.size]:this.size,loading:this.loading,empty:this.isEmpty()})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-table"]],contentQueries:function(n,o,r){if(n&1&&Je(r,oG,4)(r,rG,4)(r,aG,4)(r,sG,4)(r,lG,4)(r,cG,4)(r,dG,4)(r,uG,4)(r,pG,4)(r,fG,4)(r,hG,4)(r,gG,4)(r,mG,4)(r,bG,4)(r,yG,4)(r,_G,4)(r,vG,4)(r,CG,4)(r,wG,4)(r,xG,4)(r,TG,4)(r,DG,4)(r,EG,4)(r,IG,4)(r,SG,4)(r,kG,4)(r,MG,4)(r,RG,4)(r,OG,4)(r,AG,4)(r,NG,4)(r,FG,4)(r,Qe,4),n&2){let a;M(a=R())&&(o._headerTemplate=a.first),M(a=R())&&(o._headerGroupedTemplate=a.first),M(a=R())&&(o._bodyTemplate=a.first),M(a=R())&&(o._loadingBodyTemplate=a.first),M(a=R())&&(o._captionTemplate=a.first),M(a=R())&&(o._footerTemplate=a.first),M(a=R())&&(o._footerGroupedTemplate=a.first),M(a=R())&&(o._summaryTemplate=a.first),M(a=R())&&(o._colGroupTemplate=a.first),M(a=R())&&(o._expandedRowTemplate=a.first),M(a=R())&&(o._groupHeaderTemplate=a.first),M(a=R())&&(o._groupFooterTemplate=a.first),M(a=R())&&(o._frozenExpandedRowTemplate=a.first),M(a=R())&&(o._frozenHeaderTemplate=a.first),M(a=R())&&(o._frozenBodyTemplate=a.first),M(a=R())&&(o._frozenFooterTemplate=a.first),M(a=R())&&(o._frozenColGroupTemplate=a.first),M(a=R())&&(o._emptyMessageTemplate=a.first),M(a=R())&&(o._paginatorLeftTemplate=a.first),M(a=R())&&(o._paginatorRightTemplate=a.first),M(a=R())&&(o._paginatorDropdownItemTemplate=a.first),M(a=R())&&(o._loadingIconTemplate=a.first),M(a=R())&&(o._reorderIndicatorUpIconTemplate=a.first),M(a=R())&&(o._reorderIndicatorDownIconTemplate=a.first),M(a=R())&&(o._sortIconTemplate=a.first),M(a=R())&&(o._checkboxIconTemplate=a.first),M(a=R())&&(o._headerCheckboxIconTemplate=a.first),M(a=R())&&(o._paginatorDropdownIconTemplate=a.first),M(a=R())&&(o._paginatorFirstPageLinkIconTemplate=a.first),M(a=R())&&(o._paginatorLastPageLinkIconTemplate=a.first),M(a=R())&&(o._paginatorPreviousPageLinkIconTemplate=a.first),M(a=R())&&(o._paginatorNextPageLinkIconTemplate=a.first),M(a=R())&&(o._templates=a)}},viewQuery:function(n,o){if(n&1&&xt(PG,5)(LG,5)(BG,5)(VG,5)(zG,5)(jG,5)(HG,5)($G,5),n&2){let r;M(r=R())&&(o.resizeHelperViewChild=r.first),M(r=R())&&(o.reorderIndicatorUpViewChild=r.first),M(r=R())&&(o.reorderIndicatorDownViewChild=r.first),M(r=R())&&(o.wrapperViewChild=r.first),M(r=R())&&(o.tableViewChild=r.first),M(r=R())&&(o.tableHeaderViewChild=r.first),M(r=R())&&(o.tableFooterViewChild=r.first),M(r=R())&&(o.scroller=r.first)}},hostVars:3,hostBindings:function(n,o){n&2&&(N("data-p",o.dataP),D(o.cn(o.cx("root"),o.styleClass)))},inputs:{frozenColumns:"frozenColumns",frozenValue:"frozenValue",styleClass:"styleClass",tableStyle:"tableStyle",tableStyleClass:"tableStyleClass",paginator:[2,"paginator","paginator",S],pageLinks:[2,"pageLinks","pageLinks",xe],rowsPerPageOptions:"rowsPerPageOptions",alwaysShowPaginator:[2,"alwaysShowPaginator","alwaysShowPaginator",S],paginatorPosition:"paginatorPosition",paginatorStyleClass:"paginatorStyleClass",paginatorDropdownAppendTo:"paginatorDropdownAppendTo",paginatorDropdownScrollHeight:"paginatorDropdownScrollHeight",currentPageReportTemplate:"currentPageReportTemplate",showCurrentPageReport:[2,"showCurrentPageReport","showCurrentPageReport",S],showJumpToPageDropdown:[2,"showJumpToPageDropdown","showJumpToPageDropdown",S],showJumpToPageInput:[2,"showJumpToPageInput","showJumpToPageInput",S],showFirstLastIcon:[2,"showFirstLastIcon","showFirstLastIcon",S],showPageLinks:[2,"showPageLinks","showPageLinks",S],defaultSortOrder:[2,"defaultSortOrder","defaultSortOrder",xe],sortMode:"sortMode",resetPageOnSort:[2,"resetPageOnSort","resetPageOnSort",S],selectionMode:"selectionMode",selectionPageOnly:[2,"selectionPageOnly","selectionPageOnly",S],contextMenuSelection:"contextMenuSelection",contextMenuSelectionMode:"contextMenuSelectionMode",dataKey:"dataKey",metaKeySelection:[2,"metaKeySelection","metaKeySelection",S],rowSelectable:"rowSelectable",rowTrackBy:"rowTrackBy",lazy:[2,"lazy","lazy",S],lazyLoadOnInit:[2,"lazyLoadOnInit","lazyLoadOnInit",S],compareSelectionBy:"compareSelectionBy",csvSeparator:"csvSeparator",exportFilename:"exportFilename",filters:"filters",globalFilterFields:"globalFilterFields",filterDelay:[2,"filterDelay","filterDelay",xe],filterLocale:"filterLocale",expandedRowKeys:"expandedRowKeys",editingRowKeys:"editingRowKeys",rowExpandMode:"rowExpandMode",scrollable:[2,"scrollable","scrollable",S],rowGroupMode:"rowGroupMode",scrollHeight:"scrollHeight",virtualScroll:[2,"virtualScroll","virtualScroll",S],virtualScrollItemSize:[2,"virtualScrollItemSize","virtualScrollItemSize",xe],virtualScrollOptions:"virtualScrollOptions",virtualScrollDelay:[2,"virtualScrollDelay","virtualScrollDelay",xe],frozenWidth:"frozenWidth",contextMenu:"contextMenu",resizableColumns:[2,"resizableColumns","resizableColumns",S],columnResizeMode:"columnResizeMode",reorderableColumns:[2,"reorderableColumns","reorderableColumns",S],loading:[2,"loading","loading",S],loadingIcon:"loadingIcon",showLoader:[2,"showLoader","showLoader",S],rowHover:[2,"rowHover","rowHover",S],customSort:[2,"customSort","customSort",S],showInitialSortBadge:[2,"showInitialSortBadge","showInitialSortBadge",S],exportFunction:"exportFunction",exportHeader:"exportHeader",stateKey:"stateKey",stateStorage:"stateStorage",editMode:"editMode",groupRowsBy:"groupRowsBy",size:"size",showGridlines:[2,"showGridlines","showGridlines",S],stripedRows:[2,"stripedRows","stripedRows",S],groupRowsByOrder:[2,"groupRowsByOrder","groupRowsByOrder",xe],responsiveLayout:"responsiveLayout",breakpoint:"breakpoint",paginatorLocale:"paginatorLocale",value:"value",columns:"columns",first:"first",rows:"rows",totalRecords:"totalRecords",sortField:"sortField",sortOrder:"sortOrder",multiSortMeta:"multiSortMeta",selection:"selection",selectAll:"selectAll"},outputs:{contextMenuSelectionChange:"contextMenuSelectionChange",selectAllChange:"selectAllChange",selectionChange:"selectionChange",onRowSelect:"onRowSelect",onRowUnselect:"onRowUnselect",onPage:"onPage",onSort:"onSort",onFilter:"onFilter",onLazyLoad:"onLazyLoad",onRowExpand:"onRowExpand",onRowCollapse:"onRowCollapse",onContextMenuSelect:"onContextMenuSelect",onColResize:"onColResize",onColReorder:"onColReorder",onRowReorder:"onRowReorder",onEditInit:"onEditInit",onEditComplete:"onEditComplete",onEditCancel:"onEditCancel",onHeaderCheckboxToggle:"onHeaderCheckboxToggle",sortFunction:"sortFunction",firstChange:"firstChange",rowsChange:"rowsChange",onStateSave:"onStateSave",onStateRestore:"onStateRestore"},standalone:!1,features:[ne([qu,Zi,{provide:UK,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],decls:14,vars:15,consts:[["wrapper",""],["buildInTable",""],["scroller",""],["content",""],["table",""],["thead",""],["tfoot",""],["resizeHelper",""],["reorderIndicatorUp",""],["reorderIndicatorDown",""],[3,"class","pBind",4,"ngIf"],[3,"rows","first","totalRecords","pageLinkSize","alwaysShow","rowsPerPageOptions","templateLeft","templateRight","appendTo","dropdownScrollHeight","currentPageReportTemplate","showFirstLastIcon","dropdownItemTemplate","showCurrentPageReport","showJumpToPageDropdown","showJumpToPageInput","showPageLinks","styleClass","locale","pt","unstyled","onPageChange",4,"ngIf"],[3,"ngStyle","pBind"],[3,"items","columns","style","scrollHeight","itemSize","step","delay","inline","autoSize","lazy","loaderDisabled","showSpacer","showLoader","options","pt","onLazyLoad",4,"ngIf"],[4,"ngIf"],[3,"ngClass","pBind",4,"ngIf"],[3,"ngClass","pBind","display",4,"ngIf"],[3,"pBind"],["data-p-icon","spinner",3,"spin","class","pBind",4,"ngIf"],["data-p-icon","spinner",3,"spin","pBind"],[4,"ngTemplateOutlet"],[3,"onPageChange","rows","first","totalRecords","pageLinkSize","alwaysShow","rowsPerPageOptions","templateLeft","templateRight","appendTo","dropdownScrollHeight","currentPageReportTemplate","showFirstLastIcon","dropdownItemTemplate","showCurrentPageReport","showJumpToPageDropdown","showJumpToPageInput","showPageLinks","styleClass","locale","pt","unstyled"],["pTemplate","dropdownicon"],["pTemplate","firstpagelinkicon"],["pTemplate","previouspagelinkicon"],["pTemplate","lastpagelinkicon"],["pTemplate","nextpagelinkicon"],[3,"onLazyLoad","items","columns","scrollHeight","itemSize","step","delay","inline","autoSize","lazy","loaderDisabled","showSpacer","showLoader","options","pt"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["role","table",3,"pBind"],["role","rowgroup",3,"ngStyle","pBind"],["role","rowgroup",3,"class","pBind","value","frozenRows","pTableBody","pTableBodyTemplate","unstyled","frozen",4,"ngIf"],["role","rowgroup",3,"pBind","value","pTableBody","pTableBodyTemplate","scrollerOptions","unstyled"],["role","rowgroup",3,"style","class","pBind",4,"ngIf"],["role","rowgroup",3,"ngClass","ngStyle","pBind",4,"ngIf"],["role","rowgroup",3,"pBind","value","frozenRows","pTableBody","pTableBodyTemplate","unstyled","frozen"],["role","rowgroup",3,"pBind"],["role","rowgroup",3,"ngClass","ngStyle","pBind"],[3,"ngClass","pBind"],["data-p-icon","arrow-down",3,"pBind",4,"ngIf"],["data-p-icon","arrow-down",3,"pBind"],["data-p-icon","arrow-up",3,"pBind",4,"ngIf"],["data-p-icon","arrow-up",3,"pBind"]],template:function(n,o){n&1&&(_(0,XG,3,5,"div",10)(1,eq,2,4,"div",10)(2,mq,6,26,"p-paginator",11),b(3,"div",12,0),_(5,_q,4,18,"p-scroller",13)(6,Cq,2,7,"ng-container",14)(7,Sq,10,32,"ng-template",null,1,Ie),y(),_(9,Uq,6,26,"p-paginator",11)(10,Gq,2,3,"div",15)(11,qq,2,4,"div",16)(12,Zq,4,6,"span",16)(13,tK,4,6,"span",16)),n&2&&(p("ngIf",o.loading&&o.showLoader),f(),p("ngIf",o.captionTemplate||o._captionTemplate),f(),p("ngIf",o.paginator&&(o.paginatorPosition==="top"||o.paginatorPosition=="both")),f(),D(o.cx("tableContainer")),p("ngStyle",o.sx("tableContainer"))("pBind",o.ptm("tableContainer")),N("data-p",o.dataP),f(2),p("ngIf",o.virtualScroll),f(),p("ngIf",!o.virtualScroll),f(3),p("ngIf",o.paginator&&(o.paginatorPosition==="bottom"||o.paginatorPosition=="both")),f(),p("ngIf",o.summaryTemplate||o._summaryTemplate),f(),p("ngIf",o.resizableColumns),f(),p("ngIf",o.reorderableColumns),f(),p("ngIf",o.reorderableColumns))},dependencies:()=>[xn,ot,qe,Jt,i0,Qe,hl,Hm,$m,br,U,WK],encapsulation:2})}return t})(),WK=(()=>{class t extends ke{dataTable;tableService;hostName="Table";columns;template;get value(){return this._value}set value(e){this._value=e,this.frozenRows&&this.updateFrozenRowStickyPosition(),this.dataTable.scrollable&&this.dataTable.rowGroupMode==="subheader"&&this.updateFrozenRowGroupHeaderStickyPosition()}frozen;frozenRows;scrollerOptions;subscription;_value;onAfterViewInit(){this.frozenRows&&this.updateFrozenRowStickyPosition(),this.dataTable.scrollable&&this.dataTable.rowGroupMode==="subheader"&&this.updateFrozenRowGroupHeaderStickyPosition()}constructor(e,n){super(),this.dataTable=e,this.tableService=n,this.subscription=this.dataTable.tableService.valueSource$.subscribe(()=>{this.dataTable.virtualScroll&&this.cd.detectChanges()})}shouldRenderRowGroupHeader(e,n,o){let r=me.resolveFieldData(n,this.dataTable?.groupRowsBy||""),a=e[o-(this.dataTable?._first||0)-1];if(a){let s=me.resolveFieldData(a,this.dataTable?.groupRowsBy||"");return r!==s}else return!0}shouldRenderRowGroupFooter(e,n,o){let r=me.resolveFieldData(n,this.dataTable?.groupRowsBy||""),a=e[o-(this.dataTable?._first||0)+1];if(a){let s=me.resolveFieldData(a,this.dataTable?.groupRowsBy||"");return r!==s}else return!0}shouldRenderRowspan(e,n,o){let r=me.resolveFieldData(n,this.dataTable?.groupRowsBy),a=e[o-1];if(a){let s=me.resolveFieldData(a,this.dataTable?.groupRowsBy||"");return r!==s}else return!0}calculateRowGroupSize(e,n,o){let r=me.resolveFieldData(n,this.dataTable?.groupRowsBy),a=r,s=0;for(;r===a;){s++;let l=e[++o];if(l)a=me.resolveFieldData(l,this.dataTable?.groupRowsBy||"");else break}return s===1?null:s}onDestroy(){this.subscription&&this.subscription.unsubscribe()}updateFrozenRowStickyPosition(){this.el.nativeElement.style.top=he.getOuterHeight(this.el.nativeElement.previousElementSibling)+"px"}updateFrozenRowGroupHeaderStickyPosition(){if(this.el.nativeElement.previousElementSibling){let e=he.getOuterHeight(this.el.nativeElement.previousElementSibling);this.dataTable.rowGroupHeaderStyleObject.top=e+"px"}}getScrollerOption(e,n){return this.dataTable.virtualScroll?(n=n||this.scrollerOptions,n?n[e]:null):null}getRowIndex(e){let n=this.dataTable.paginator?this.dataTable.first+e:e,o=this.getScrollerOption("getItemOptions");return o?o(n).index:n}get dataP(){return this.cn({hoverable:this.dataTable.rowHover||this.dataTable.selectionMode,frozen:this.frozen})}static \u0275fac=function(n){return new(n||t)(ee(Sa),ee(qu))};static \u0275cmp=H({type:t,selectors:[["","pTableBody",""]],hostVars:1,hostBindings:function(n,o){n&2&&N("data-p",o.dataP)},inputs:{columns:[0,"pTableBody","columns"],template:[0,"pTableBodyTemplate","template"],value:"value",frozen:[2,"frozen","frozen",S],frozenRows:[2,"frozenRows","frozenRows",S],scrollerOptions:"scrollerOptions"},standalone:!1,features:[A],attrs:nK,decls:5,vars:5,consts:[[4,"ngIf"],["ngFor","",3,"ngForOf","ngForTrackBy"],["role","row",4,"ngIf"],["role","row"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(n,o){n&1&&_(0,fK,2,2,"ng-container",0)(1,xK,2,2,"ng-container",0)(2,SK,2,2,"ng-container",0)(3,MK,2,5,"ng-container",0)(4,OK,2,5,"ng-container",0),n&2&&(p("ngIf",!o.dataTable.expandedRowTemplate&&!o.dataTable._expandedRowTemplate),f(),p("ngIf",(o.dataTable.expandedRowTemplate||o.dataTable._expandedRowTemplate)&&!(o.frozen&&(o.dataTable.frozenExpandedRowTemplate||o.dataTable._frozenExpandedRowTemplate))),f(),p("ngIf",(o.dataTable.frozenExpandedRowTemplate||o.dataTable._frozenExpandedRowTemplate)&&o.frozen),f(),p("ngIf",o.dataTable.loading),f(),p("ngIf",o.dataTable.isEmpty()&&!o.dataTable.loading))},dependencies:[Hn,ot,qe],encapsulation:2})}return t})();var aE=(()=>{class t extends ke{dataTable;field;pSortableColumnDisabled;role=this.el.nativeElement?.tagName!=="TH"?"columnheader":null;sorted;sortOrder;subscription;_componentStyle=v(Zi);constructor(e){super(),this.dataTable=e,this.isEnabled()&&(this.subscription=this.dataTable.tableService.sortSource$.subscribe(n=>{this.updateSortState()}))}onInit(){this.isEnabled()&&this.updateSortState()}updateSortState(){let e=!1,n=0;if(this.dataTable.sortMode==="single")e=this.dataTable.isSorted(this.field),n=this.dataTable.sortOrder;else if(this.dataTable.sortMode==="multiple"){let o=this.dataTable.getSortMeta(this.field);e=!!o,n=o?o.order:0}this.sorted=e,this.sortOrder=e?n===1?"ascending":"descending":"none"}onClick(e){this.isEnabled()&&!this.isFilterElement(e.target)&&(this.updateSortState(),this.dataTable.sort({originalEvent:e,field:this.field}),he.clearSelection())}onEnterKey(e){this.onClick(e),e.preventDefault()}isEnabled(){return this.pSortableColumnDisabled!==!0}isFilterElement(e){return this.isFilterElementIconOrButton(e)||this.isFilterElementIconOrButton(e?.parentElement?.parentElement)}isFilterElementIconOrButton(e){return xm(e,'[data-pc-name="pccolumnfilterbutton"]')||xm(e,'[data-pc-section="columnfilterbuttonicon"]')}onDestroy(){this.subscription&&this.subscription.unsubscribe()}static \u0275fac=function(n){return new(n||t)(ee(Sa))};static \u0275dir=ge({type:t,selectors:[["","pSortableColumn",""]],hostAttrs:["role","columnheader"],hostVars:4,hostBindings:function(n,o){n&1&&I("click",function(a){return o.onClick(a)})("keydown.space",function(a){return o.onEnterKey(a)})("keydown.enter",function(a){return o.onEnterKey(a)}),n&2&&(je("tabIndex",o.isEnabled()?"0":null),N("aria-sort",o.sortOrder),D(o.cx("sortableColumn")))},inputs:{field:[0,"pSortableColumn","field"],pSortableColumnDisabled:[2,"pSortableColumnDisabled","pSortableColumnDisabled",S]},standalone:!1,features:[ne([Zi]),A]})}return t})(),sE=(()=>{class t extends ke{dataTable;cd;field;subscription;sortOrder;_componentStyle=v(Zi);constructor(e,n){super(),this.dataTable=e,this.cd=n,this.subscription=this.dataTable.tableService.sortSource$.subscribe(o=>{this.updateSortState()})}onInit(){this.updateSortState()}onClick(e){e.preventDefault()}updateSortState(){if(this.dataTable.sortMode==="single")this.sortOrder=this.dataTable.isSorted(this.field)?this.dataTable.sortOrder:0;else if(this.dataTable.sortMode==="multiple"){let e=this.dataTable.getSortMeta(this.field);this.sortOrder=e?e.order:0}this.cd.markForCheck()}getMultiSortMetaIndex(){let e=this.dataTable._multiSortMeta,n=-1;if(e&&this.dataTable.sortMode==="multiple"&&this.dataTable.showInitialSortBadge&&e.length>1)for(let o=0;o-1?e:e+1}isMultiSorted(){return this.dataTable.sortMode==="multiple"&&this.getMultiSortMetaIndex()>-1}onDestroy(){this.subscription&&this.subscription.unsubscribe()}static \u0275fac=function(n){return new(n||t)(ee(Sa),ee(Di))};static \u0275cmp=H({type:t,selectors:[["p-sortIcon"]],inputs:{field:"field"},standalone:!1,features:[ne([Zi]),A],decls:3,vars:3,consts:[[4,"ngIf"],[3,"class",4,"ngIf"],["size","small",3,"class","value",4,"ngIf"],["data-p-icon","sort-alt",3,"class",4,"ngIf"],["data-p-icon","sort-amount-up-alt",3,"class",4,"ngIf"],["data-p-icon","sort-amount-down",3,"class",4,"ngIf"],["data-p-icon","sort-alt"],["data-p-icon","sort-amount-up-alt"],["data-p-icon","sort-amount-down"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["size","small",3,"value"]],template:function(n,o){n&1&&_(0,PK,4,3,"ng-container",0)(1,VK,2,6,"span",1)(2,zK,1,3,"p-badge",2),n&2&&(p("ngIf",!(o.dataTable.sortIconTemplate||o.dataTable._sortIconTemplate)),f(),p("ngIf",o.dataTable.sortIconTemplate||o.dataTable._sortIconTemplate),f(),p("ngIf",o.isMultiSorted()))},dependencies:()=>[ot,qe,dl,Um,Gm,Wm],encapsulation:2,changeDetection:0})}return t})(),lE=(()=>{class t extends ke{dataTable;tableService;data;index;pSelectableRowDisabled;selected;subscription;_componentStyle=v(Zi);constructor(e,n){super(),this.dataTable=e,this.tableService=n,this.isEnabled()&&(this.subscription=this.dataTable.tableService.selectionSource$.subscribe(()=>{this.selected=this.dataTable.isSelected(this.data)}))}setRowTabIndex(){if(this.dataTable.selectionMode==="single"||this.dataTable.selectionMode==="multiple")return this.dataTable.selection?this.dataTable.anchorRowIndex===this.index?0:-1:0}onInit(){this.isEnabled()&&(this.selected=this.dataTable.isSelected(this.data))}onClick(e){this.isEnabled()&&this.dataTable.handleRowClick({originalEvent:e,rowData:this.data,rowIndex:this.index})}onTouchEnd(e){this.isEnabled()&&this.dataTable.handleRowTouchEnd(e)}onKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":this.onEnterKey(e);break;default:if(e.code==="KeyA"&&(e.metaKey||e.ctrlKey)&&this.dataTable.selectionMode==="multiple"){let n=this.dataTable.dataToRender(this.dataTable.processedData);this.dataTable.selection=[...n],this.dataTable.selectRange(e,n.length-1,!0),e.preventDefault()}break}}onArrowDownKey(e){if(!this.isEnabled())return;let n=e.currentTarget,o=this.findNextSelectableRow(n);o&&o.focus(),e.preventDefault()}onArrowUpKey(e){if(!this.isEnabled())return;let n=e.currentTarget,o=this.findPrevSelectableRow(n);o&&o.focus(),e.preventDefault()}onEnterKey(e){this.isEnabled()&&this.dataTable.handleRowClick({originalEvent:e,rowData:this.data,rowIndex:this.index})}onEndKey(e){let n=this.findLastSelectableRow();if(n&&this.focusRowChange(this.el.nativeElement,n),e.ctrlKey&&e.shiftKey){let o=this.dataTable.dataToRender(this.dataTable.rows),r=he.getAttribute(n,"index");this.dataTable.anchorRowIndex=r,this.dataTable.selection=o.slice(this.index||0,o.length),this.dataTable.selectRange(e,this.index||0)}e.preventDefault()}onHomeKey(e){let n=this.findFirstSelectableRow();if(n&&this.focusRowChange(this.el.nativeElement,n),e.ctrlKey&&e.shiftKey){let o=this.dataTable.dataToRender(this.dataTable.rows),r=he.getAttribute(n,"index");this.dataTable.anchorRowIndex=this.dataTable.anchorRowIndex||r||0,this.dataTable.selection=o.slice(0,(this.index||0)+1),this.dataTable.selectRange(e,this.index||0)}e.preventDefault()}onSpaceKey(e){if(!(e.target instanceof HTMLInputElement||e.target instanceof HTMLSelectElement||e.target instanceof HTMLTextAreaElement)){if(this.onEnterKey(e),e.shiftKey&&this.dataTable.selection!==null){let o=this.dataTable.dataToRender(this.dataTable.rows),r;if(me.isNotEmpty(this.dataTable.selection)&&this.dataTable.selection.length>0){let a,s;a=me.findIndexInList(this.dataTable.selection[0],o),s=me.findIndexInList(this.dataTable.selection[this.dataTable.selection.length-1],o),r=(this.index||0)<=a?s:a}else r=me.findIndexInList(this.dataTable.selection,o);this.dataTable.anchorRowIndex=r||0,this.dataTable.selection=r!==this.index?o.slice(Math.min(r||0,this.index||0),Math.max(r||0,this.index||0)+1):[this.data],this.dataTable.selectRange(e,this.index||0)}e.preventDefault()}}focusRowChange(e,n){e.tabIndex="-1",n.tabIndex="0",he.focus(n)}findLastSelectableRow(){let e=he.find(this.dataTable.el.nativeElement,'[data-p-selectable-row="true"]');return e?e[e.length-1]:null}findFirstSelectableRow(){return he.findSingle(this.dataTable.el.nativeElement,'[data-p-selectable-row="true"]')}findNextSelectableRow(e){let n=e.nextElementSibling;return n?Sn(n,'[data-p-selectable-row="true"]')?n:this.findNextSelectableRow(n):null}findPrevSelectableRow(e){let n=e.previousElementSibling;return n?Sn(n,'[data-p-selectable-row="true"]')?n:this.findPrevSelectableRow(n):null}isEnabled(){return this.pSelectableRowDisabled!==!0}onDestroy(){this.subscription&&this.subscription.unsubscribe()}static \u0275fac=function(n){return new(n||t)(ee(Sa),ee(qu))};static \u0275dir=ge({type:t,selectors:[["","pSelectableRow",""]],hostVars:4,hostBindings:function(n,o){n&1&&I("click",function(a){return o.onClick(a)})("touchend",function(a){return o.onTouchEnd(a)})("keydown",function(a){return o.onKeyDown(a)}),n&2&&(je("tabIndex",o.setRowTabIndex()),N("data-p-selectable-row",!0),D(o.cx("selectableRow")))},inputs:{data:[0,"pSelectableRow","data"],index:[0,"pSelectableRowIndex","index"],pSelectableRowDisabled:[2,"pSelectableRowDisabled","pSelectableRowDisabled",S]},standalone:!1,features:[ne([Zi]),A]})}return t})();var cE=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({providers:[Zi],imports:[De,HD,Pu,Uu,Eo,Ou,nE,sD,Hu,ku,Fu,t0,Hm,$m,br,Um,Gm,Wm,DT,lD,ET,ST,MT,qD,rt,Mo,re,t0]})}return t})();var dE=(()=>{class t extends ke{pFocusTrapDisabled=!1;platformId=v(vn);document=v(ze);firstHiddenFocusableElement;lastHiddenFocusableElement;onInit(){_t(this.platformId)&&!this.pFocusTrapDisabled&&!this.firstHiddenFocusableElement&&!this.lastHiddenFocusableElement&&this.createHiddenFocusableElements()}onChanges(e){e.pFocusTrapDisabled&&_t(this.platformId)&&(e.pFocusTrapDisabled.currentValue?this.removeHiddenFocusableElements():this.createHiddenFocusableElements())}removeHiddenFocusableElements(){this.firstHiddenFocusableElement&&this.firstHiddenFocusableElement.parentNode&&this.firstHiddenFocusableElement.parentNode.removeChild(this.firstHiddenFocusableElement),this.lastHiddenFocusableElement&&this.lastHiddenFocusableElement.parentNode&&this.lastHiddenFocusableElement.parentNode.removeChild(this.lastHiddenFocusableElement)}getComputedSelector(e){return`:not(.p-hidden-focusable):not([data-p-hidden-focusable="true"])${e??""}`}createHiddenFocusableElements(){let n=o=>pr("span",{class:"p-hidden-accessible p-hidden-focusable",tabindex:"0",role:"presentation","aria-hidden":!0,"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0,onFocus:o?.bind(this)});this.firstHiddenFocusableElement=n(this.onFirstHiddenElementFocus),this.lastHiddenFocusableElement=n(this.onLastHiddenElementFocus),this.firstHiddenFocusableElement.setAttribute("data-pc-section","firstfocusableelement"),this.lastHiddenFocusableElement.setAttribute("data-pc-section","lastfocusableelement"),this.el.nativeElement.prepend(this.firstHiddenFocusableElement),this.el.nativeElement.append(this.lastHiddenFocusableElement)}onFirstHiddenElementFocus(e){let{currentTarget:n,relatedTarget:o}=e,r=o===this.lastHiddenFocusableElement||!this.el.nativeElement?.contains(o)?uu(n.parentElement,":not(.p-hidden-focusable)"):this.lastHiddenFocusableElement;hn(r)}onLastHiddenElementFocus(e){let{currentTarget:n,relatedTarget:o}=e,r=o===this.firstHiddenFocusableElement||!this.el.nativeElement?.contains(o)?pu(n.parentElement,":not(.p-hidden-focusable)"):this.firstHiddenFocusableElement;hn(r)}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275dir=ge({type:t,selectors:[["","pFocusTrap",""]],inputs:{pFocusTrapDisabled:[2,"pFocusTrapDisabled","pFocusTrapDisabled",S]},features:[A]})}return t})();var uE=` + .p-dialog { + max-height: 90%; + transform: scale(1); + border-radius: dt('dialog.border.radius'); + box-shadow: dt('dialog.shadow'); + background: dt('dialog.background'); + border: 1px solid dt('dialog.border.color'); + color: dt('dialog.color'); + will-change: transform; + } + + .p-dialog-content { + overflow-y: auto; + padding: dt('dialog.content.padding'); + flex-grow: 1; + } + + .p-dialog-header { + display: flex; + align-items: center; + justify-content: space-between; + flex-shrink: 0; + padding: dt('dialog.header.padding'); + } + + .p-dialog-title { + font-weight: dt('dialog.title.font.weight'); + font-size: dt('dialog.title.font.size'); + } + + .p-dialog-footer { + flex-shrink: 0; + padding: dt('dialog.footer.padding'); + display: flex; + justify-content: flex-end; + gap: dt('dialog.footer.gap'); + } + + .p-dialog-header-actions { + display: flex; + align-items: center; + gap: dt('dialog.header.gap'); + } + + .p-dialog-top .p-dialog, + .p-dialog-bottom .p-dialog, + .p-dialog-left .p-dialog, + .p-dialog-right .p-dialog, + .p-dialog-topleft .p-dialog, + .p-dialog-topright .p-dialog, + .p-dialog-bottomleft .p-dialog, + .p-dialog-bottomright .p-dialog { + margin: 1rem; + } + + .p-dialog-maximized { + width: 100vw !important; + height: 100vh !important; + top: 0px !important; + left: 0px !important; + max-height: 100%; + height: 100%; + border-radius: 0; + } + + .p-dialog .p-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; + } + + .p-dialog-enter-active { + animation: p-animate-dialog-enter 300ms cubic-bezier(.19,1,.22,1); + } + + .p-dialog-leave-active { + animation: p-animate-dialog-leave 300ms cubic-bezier(.19,1,.22,1); + } + + @keyframes p-animate-dialog-enter { + from { + opacity: 0; + transform: scale(0.93); + } + } + + @keyframes p-animate-dialog-leave { + to { + opacity: 0; + transform: scale(0.93); + } + } +`;var qK=["header"],pE=["content"],fE=["footer"],KK=["closeicon"],YK=["maximizeicon"],QK=["minimizeicon"],ZK=["headless"],XK=["titlebar"],JK=["*",[["p-footer"]]],eY=["*","p-footer"],tY=t=>({ariaLabelledBy:t});function nY(t,i){t&1&&G(0)}function iY(t,i){if(t&1&&(q(0),_(1,nY,1,0,"ng-container",11),K()),t&2){let e=d(3);f(),p("ngTemplateOutlet",e._headlessTemplate||e.headlessTemplate||e.headlessT)}}function oY(t,i){if(t&1){let e=$();b(0,"div",16),I("mousedown",function(o){C(e);let r=d(4);return w(r.initResize(o))}),y()}if(t&2){let e=d(4);D(e.cx("resizeHandle")),Xt("z-index",90),p("pBind",e.ptm("resizeHandle"))}}function rY(t,i){if(t&1&&(b(0,"span",21),L(1),y()),t&2){let e=d(5);D(e.cx("title")),p("id",e.ariaLabelledBy)("pBind",e.ptm("title")),f(),de(e.header)}}function aY(t,i){t&1&&G(0)}function sY(t,i){if(t&1&&W(0,"span",25),t&2){let e=d(7);p("ngClass",e.maximized?e.minimizeIcon:e.maximizeIcon)}}function lY(t,i){t&1&&(j(),W(0,"svg",28))}function cY(t,i){t&1&&(j(),W(0,"svg",29))}function dY(t,i){if(t&1&&(q(0),_(1,lY,1,0,"svg",26)(2,cY,1,0,"svg",27),K()),t&2){let e=d(7);f(),p("ngIf",!e.maximized&&!e._maximizeiconTemplate&&!e.maximizeIconTemplate&&!e.maximizeIconT),f(),p("ngIf",e.maximized&&!e._minimizeiconTemplate&&!e.minimizeIconTemplate&&!e.minimizeIconT)}}function uY(t,i){}function pY(t,i){t&1&&_(0,uY,0,0,"ng-template")}function fY(t,i){if(t&1&&(q(0),_(1,pY,1,0,null,11),K()),t&2){let e=d(7);f(),p("ngTemplateOutlet",e._maximizeiconTemplate||e.maximizeIconTemplate||e.maximizeIconT)}}function hY(t,i){}function gY(t,i){t&1&&_(0,hY,0,0,"ng-template")}function mY(t,i){if(t&1&&(q(0),_(1,gY,1,0,null,11),K()),t&2){let e=d(7);f(),p("ngTemplateOutlet",e._minimizeiconTemplate||e.minimizeIconTemplate||e.minimizeIconT)}}function bY(t,i){if(t&1&&_(0,sY,1,1,"span",23)(1,dY,3,2,"ng-container",24)(2,fY,2,1,"ng-container",24)(3,mY,2,1,"ng-container",24),t&2){let e=d(6);p("ngIf",e.maximizeIcon&&!e._maximizeiconTemplate&&!e._minimizeiconTemplate),f(),p("ngIf",!e.maximizeIcon&&!(e.maximizeButtonProps!=null&&e.maximizeButtonProps.icon)),f(),p("ngIf",!e.maximized),f(),p("ngIf",e.maximized)}}function yY(t,i){if(t&1){let e=$();b(0,"p-button",22),I("onClick",function(){C(e);let o=d(5);return w(o.maximize())})("keydown.enter",function(){C(e);let o=d(5);return w(o.maximize())}),_(1,bY,4,4,"ng-template",null,4,Ie),y()}if(t&2){let e=d(5);p("pt",e.ptm("pcMaximizeButton"))("styleClass",e.cx("pcMaximizeButton"))("ariaLabel",e.maximized?e.minimizeLabel:e.maximizeLabel)("tabindex",e.maximizable?"0":"-1")("buttonProps",e.maximizeButtonProps)("unstyled",e.unstyled()),N("data-pc-group-section","headericon")}}function _Y(t,i){if(t&1&&W(0,"span"),t&2){let e=d(8);D(e.closeIcon)}}function vY(t,i){t&1&&(j(),W(0,"svg",32))}function CY(t,i){if(t&1&&(q(0),_(1,_Y,1,2,"span",30)(2,vY,1,0,"svg",31),K()),t&2){let e=d(7);f(),p("ngIf",e.closeIcon),f(),p("ngIf",!e.closeIcon)}}function wY(t,i){}function xY(t,i){t&1&&_(0,wY,0,0,"ng-template")}function TY(t,i){if(t&1&&(b(0,"span"),_(1,xY,1,0,null,11),y()),t&2){let e=d(7);f(),p("ngTemplateOutlet",e._closeiconTemplate||e.closeIconTemplate||e.closeIconT)}}function DY(t,i){if(t&1&&_(0,CY,3,2,"ng-container",24)(1,TY,2,1,"span",24),t&2){let e=d(6);p("ngIf",!e._closeiconTemplate&&!e.closeIconTemplate&&!e.closeIconT&&!(e.closeButtonProps!=null&&e.closeButtonProps.icon)),f(),p("ngIf",e._closeiconTemplate||e.closeIconTemplate||e.closeIconT)}}function EY(t,i){if(t&1){let e=$();b(0,"p-button",22),I("onClick",function(o){C(e);let r=d(5);return w(r.close(o))})("keydown.enter",function(o){C(e);let r=d(5);return w(r.close(o))}),_(1,DY,2,2,"ng-template",null,4,Ie),y()}if(t&2){let e=d(5);p("pt",e.ptm("pcCloseButton"))("styleClass",e.cx("pcCloseButton"))("ariaLabel",e.closeAriaLabel)("tabindex",e.closeTabindex)("buttonProps",e.closeButtonProps)("unstyled",e.unstyled()),N("data-pc-group-section","headericon")}}function IY(t,i){if(t&1){let e=$();b(0,"div",16,3),I("mousedown",function(o){C(e);let r=d(4);return w(r.initDrag(o))}),_(2,rY,2,5,"span",17)(3,aY,1,0,"ng-container",18),b(4,"div",19),_(5,yY,3,7,"p-button",20)(6,EY,3,7,"p-button",20),y()()}if(t&2){let e=d(4);D(e.cx("header")),p("pBind",e.ptm("header")),f(2),p("ngIf",!e._headerTemplate&&!e.headerTemplate&&!e.headerT),f(),p("ngTemplateOutlet",e._headerTemplate||e.headerTemplate||e.headerT)("ngTemplateOutletContext",be(11,tY,e.ariaLabelledBy)),f(),D(e.cx("headerActions")),p("pBind",e.ptm("headerActions")),f(),p("ngIf",e.maximizable),f(),p("ngIf",e.closable)}}function SY(t,i){t&1&&G(0)}function kY(t,i){t&1&&G(0)}function MY(t,i){if(t&1&&(b(0,"div",19,5),et(2,1),_(3,kY,1,0,"ng-container",11),y()),t&2){let e=d(4);D(e.cx("footer")),p("pBind",e.ptm("footer")),f(3),p("ngTemplateOutlet",e._footerTemplate||e.footerTemplate||e.footerT)}}function RY(t,i){if(t&1&&(_(0,oY,1,5,"div",12)(1,IY,7,13,"div",13),b(2,"div",14,2),et(4),_(5,SY,1,0,"ng-container",11),y(),_(6,MY,4,4,"div",15)),t&2){let e=d(3);p("ngIf",e.resizable),f(),p("ngIf",e.showHeader),f(),D(e.cn(e.cx("content"),e.contentStyleClass)),p("ngStyle",e.contentStyle)("pBind",e.ptm("content")),f(3),p("ngTemplateOutlet",e._contentTemplate||e.contentTemplate||e.contentT),f(),p("ngIf",e._footerTemplate||e.footerTemplate||e.footerT)}}function OY(t,i){if(t&1){let e=$();b(0,"div",9,0),I("pMotionOnBeforeEnter",function(o){C(e);let r=d(2);return w(r.onBeforeEnter(o))})("pMotionOnAfterEnter",function(o){C(e);let r=d(2);return w(r.onAfterEnter(o))})("pMotionOnBeforeLeave",function(o){C(e);let r=d(2);return w(r.onBeforeLeave(o))})("pMotionOnAfterLeave",function(o){C(e);let r=d(2);return w(r.onAfterLeave(o))}),_(2,iY,2,1,"ng-container",10)(3,RY,7,8,"ng-template",null,1,Ie),y()}if(t&2){let e=Ft(4),n=d(2);lt(n.sx("root")),D(n.cn(n.cx("root"),n.styleClass)),p("ngStyle",n.style)("pBind",n.ptm("root"))("pFocusTrapDisabled",n.focusTrap===!1)("pMotion",n.visible)("pMotionAppear",!0)("pMotionName","p-dialog")("pMotionOptions",n.computedMotionOptions()),N("role",n.role)("aria-labelledby",n.ariaLabelledBy)("aria-modal",!0)("data-p",n.dataP),f(2),p("ngIf",n._headlessTemplate||n.headlessTemplate||n.headlessT)("ngIfElse",e)}}function AY(t,i){if(t&1){let e=$();b(0,"div",7),I("pMotionOnAfterLeave",function(){C(e);let o=d();return w(o.onMaskAfterLeave())}),_e(1,OY,5,17,"div",8),y()}if(t&2){let e=d();lt(e.sx("mask")),D(e.cn(e.cx("mask"),e.maskStyleClass)),p("ngStyle",e.maskStyle)("pBind",e.ptm("mask"))("pMotion",e.maskVisible)("pMotionAppear",!0)("pMotionEnterActiveClass",e.modal?"p-overlay-mask-enter-active":"")("pMotionLeaveActiveClass",e.modal?"p-overlay-mask-leave-active":"")("pMotionOptions",e.computedMaskMotionOptions()),N("data-p-scrollblocker-active",e.modal||e.blockScroll)("data-p",e.dataP),f(),ve(e.renderDialog()?1:-1)}}var NY={mask:({instance:t})=>({position:"fixed",height:"100%",width:"100%",left:0,top:0,display:"flex",justifyContent:t.position==="left"||t.position==="topleft"||t.position==="bottomleft"?"flex-start":t.position==="right"||t.position==="topright"||t.position==="bottomright"?"flex-end":"center",alignItems:t.position==="top"||t.position==="topleft"||t.position==="topright"?"flex-start":t.position==="bottom"||t.position==="bottomleft"||t.position==="bottomright"?"flex-end":"center",pointerEvents:t.modal?"auto":"none"}),root:{display:"flex",flexDirection:"column",pointerEvents:"auto"}},FY={mask:({instance:t})=>{let e=["left","right","top","topleft","topright","bottom","bottomleft","bottomright"].find(n=>n===t.position);return["p-dialog-mask",{"p-overlay-mask":t.modal},e?`p-dialog-${e}`:""]},root:({instance:t})=>["p-dialog p-component",{"p-dialog-maximized":t.maximizable&&t.maximized}],header:"p-dialog-header",title:"p-dialog-title",resizeHandle:"p-resizable-handle",headerActions:"p-dialog-header-actions",pcMaximizeButton:"p-dialog-maximize-button",pcCloseButton:"p-dialog-close-button",content:()=>["p-dialog-content"],footer:"p-dialog-footer"},hE=(()=>{class t extends fe{name="dialog";style=uE;classes=FY;inlineStyles=NY;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var gE=new B("DIALOG_INSTANCE"),a0=(()=>{class t extends ke{componentName="Dialog";hostName="";$pcDialog=v(gE,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptm("host"))}header;draggable=!0;resizable=!0;contentStyle;contentStyleClass;modal=!1;closeOnEscape=!0;dismissableMask=!1;rtl=!1;closable=!0;breakpoints;styleClass;maskStyleClass;maskStyle;showHeader=!0;blockScroll=!1;autoZIndex=!0;baseZIndex=0;minX=0;minY=0;focusOnShow=!0;maximizable=!1;keepInViewport=!0;focusTrap=!0;transitionOptions="150ms cubic-bezier(0, 0, 0.2, 1)";maskMotionOptions=V(void 0);computedMaskMotionOptions=te(()=>T(T({},this.ptm("maskMotion")),this.maskMotionOptions()));motionOptions=V(void 0);computedMotionOptions=te(()=>T(T({},this.ptm("motion")),this.motionOptions()));closeIcon;closeAriaLabel;closeTabindex="0";minimizeIcon;maximizeIcon;closeButtonProps={severity:"secondary",variant:"text",rounded:!0};maximizeButtonProps={severity:"secondary",variant:"text",rounded:!0};get visible(){return this._visible}set visible(e){this._visible=e,this._visible&&!this.maskVisible&&(this.maskVisible=!0,this.renderMask.set(!0),this.renderDialog.set(!0))}get style(){return this._style}set style(e){e&&(this._style=T({},e),this.originalStyle=e)}position;role="dialog";appendTo=V(void 0);onShow=new P;onHide=new P;visibleChange=new P;onResizeInit=new P;onResizeEnd=new P;onDragEnd=new P;onMaximize=new P;headerViewChild;contentViewChild;footerViewChild;headerTemplate;contentTemplate;footerTemplate;closeIconTemplate;maximizeIconTemplate;minimizeIconTemplate;headlessTemplate;_headerTemplate;_contentTemplate;_footerTemplate;_closeiconTemplate;_maximizeiconTemplate;_minimizeiconTemplate;_headlessTemplate;$appendTo=te(()=>this.appendTo()||this.config.overlayAppendTo());renderMask=Y(!1);renderDialog=Y(!1);_visible=!1;maskVisible;container=Y(null);wrapper;dragging;ariaLabelledBy=this.getAriaLabelledBy();documentDragListener;documentDragEndListener;resizing;documentResizeListener;documentResizeEndListener;documentEscapeListener;maskClickListener;lastPageX;lastPageY;preventVisibleChangePropagation;maximized;preMaximizeContentHeight;preMaximizeContainerWidth;preMaximizeContainerHeight;preMaximizePageX;preMaximizePageY;id=Le("pn_id_");_style={};originalStyle;transformOptions="scale(0.7)";styleElement;window;_componentStyle=v(hE);headerT;contentT;footerT;closeIconT;maximizeIconT;minimizeIconT;headlessT;zIndexForLayering;get maximizeLabel(){return this.config.getTranslation(Vt.ARIA).maximizeLabel}get minimizeLabel(){return this.config.getTranslation(Vt.ARIA).minimizeLabel}zone=v(Ne);overlayService=v(wo);get maskClass(){let n=["left","right","top","topleft","topright","bottom","bottomleft","bottomright"].find(o=>o===this.position);return{"p-dialog-mask":!0,"p-overlay-mask":this.modal||this.dismissableMask,[`p-dialog-${n}`]:n}}onInit(){this.breakpoints&&this.createStyle()}templates;onAfterContentInit(){this.templates?.forEach(e=>{switch(e.getType()){case"header":this.headerT=e.template;break;case"content":this.contentT=e.template;break;case"footer":this.footerT=e.template;break;case"closeicon":this.closeIconT=e.template;break;case"maximizeicon":this.maximizeIconT=e.template;break;case"minimizeicon":this.minimizeIconT=e.template;break;case"headless":this.headlessT=e.template;break;default:this.contentT=e.template;break}})}getAriaLabelledBy(){return this.header!==null?Le("pn_id_")+"_header":null}parseDurationToMilliseconds(e){let n=/([\d\.]+)(ms|s)\b/g,o=0,r;for(;(r=n.exec(e))!==null;){let a=parseFloat(r[1]),s=r[2];s==="ms"?o+=a:s==="s"&&(o+=a*1e3)}if(o!==0)return o}_focus(e){if(e){let n=this.parseDurationToMilliseconds(this.transitionOptions),o=he.getFocusableElements(e);if(o&&o.length>0)return this.zone.runOutsideAngular(()=>{setTimeout(()=>o[0].focus(),n||5)}),!0}return!1}focus(e=this.contentViewChild?.nativeElement){let n=this._focus(e);n||(n=this._focus(this.footerViewChild?.nativeElement),n||(n=this._focus(this.headerViewChild?.nativeElement),n||this._focus(this.contentViewChild?.nativeElement)))}close(e){this.visible=!1,this.visibleChange.emit(this.visible),e.preventDefault()}enableModality(){this.closable&&this.dismissableMask&&(this.maskClickListener=this.renderer.listen(this.wrapper,"mousedown",e=>{this.wrapper&&this.wrapper.isSameNode(e.target)&&this.close(e)})),this.modal&&cl()}disableModality(){if(this.wrapper){this.dismissableMask&&this.unbindMaskClickListener();let e=document.querySelectorAll('[data-p-scrollblocker-active="true"]');this.modal&&e&&e.length==1&&mr(),this.cd.destroyed||this.cd.detectChanges()}}maximize(){this.maximized=!this.maximized,!this.modal&&!this.blockScroll&&(this.maximized?cl():mr()),this.onMaximize.emit({maximized:this.maximized})}unbindMaskClickListener(){this.maskClickListener&&(this.maskClickListener(),this.maskClickListener=null)}moveOnTop(){this.autoZIndex?(It.set("modal",this.container(),this.baseZIndex+this.config.zIndex.modal),this.wrapper.style.zIndex=String(parseInt(this.container().style.zIndex,10)-1)):this.zIndexForLayering=It.generateZIndex("modal",(this.baseZIndex??0)+this.config.zIndex.modal)}createStyle(){if(_t(this.platformId)&&!this.styleElement&&!this.$unstyled()){this.styleElement=this.renderer.createElement("style"),this.styleElement.type="text/css",Mi(this.styleElement,"nonce",this.config?.csp()?.nonce),this.renderer.appendChild(this.document.head,this.styleElement);let e="";for(let n in this.breakpoints)e+=` + @media screen and (max-width: ${n}) { + .p-dialog[${this.id}]:not(.p-dialog-maximized) { + width: ${this.breakpoints[n]} !important; + } + } + `;this.renderer.setProperty(this.styleElement,"innerHTML",e),Mi(this.styleElement,"nonce",this.config?.csp()?.nonce)}}initDrag(e){e.target.closest("div")?.getAttribute("data-pc-section")!=="headeractions"&&this.draggable&&(this.dragging=!0,this.lastPageX=e.pageX,this.lastPageY=e.pageY,this.container().style.margin="0",this.document.body.setAttribute("data-p-unselectable-text","true"),!this.$unstyled()&&ma(this.document.body,{"user-select":"none"}))}onDrag(e){if(this.dragging&&this.container()){let n=Lt(this.container()),o=cn(this.container()),r=e.pageX-this.lastPageX,a=e.pageY-this.lastPageY,s=this.container().getBoundingClientRect(),l=getComputedStyle(this.container()),c=parseFloat(l.marginLeft),u=parseFloat(l.marginTop),h=s.left+r-c,g=s.top+a-u,m=ur();this.container().style.position="fixed",this.keepInViewport?(h>=this.minX&&h+n=this.minY&&g+oparseInt(u))&&g.left+lparseInt(h))&&g.top+c{this.documentDragListener=this.renderer.listen(this.document.defaultView,"mousemove",this.onDrag.bind(this))})}unbindDocumentDragListener(){this.documentDragListener&&(this.documentDragListener(),this.documentDragListener=null)}bindDocumentDragEndListener(){this.documentDragEndListener||this.zone.runOutsideAngular(()=>{this.documentDragEndListener=this.renderer.listen(this.document.defaultView,"mouseup",this.endDrag.bind(this))})}unbindDocumentDragEndListener(){this.documentDragEndListener&&(this.documentDragEndListener(),this.documentDragEndListener=null)}bindDocumentResizeListeners(){!this.documentResizeListener&&!this.documentResizeEndListener&&this.zone.runOutsideAngular(()=>{this.documentResizeListener=this.renderer.listen(this.document.defaultView,"mousemove",this.onResize.bind(this)),this.documentResizeEndListener=this.renderer.listen(this.document.defaultView,"mouseup",this.resizeEnd.bind(this))})}unbindDocumentResizeListeners(){this.documentResizeListener&&this.documentResizeEndListener&&(this.documentResizeListener(),this.documentResizeEndListener(),this.documentResizeListener=null,this.documentResizeEndListener=null)}bindDocumentEscapeListener(){let e=this.el?this.el.nativeElement.ownerDocument:"document";this.documentEscapeListener=this.renderer.listen(e,"keydown",n=>{if(n.key=="Escape"){let o=this.container();if(!o)return;let r=It.getCurrent();(parseInt(o.style.zIndex)==r||this.zIndexForLayering==r)&&this.close(n)}})}unbindDocumentEscapeListener(){this.documentEscapeListener&&(this.documentEscapeListener(),this.documentEscapeListener=null)}appendContainer(){this.$appendTo()!=="self"&&ci(this.document.body,this.wrapper)}restoreAppend(){this.container()&&this.$appendTo()!=="self"&&this.renderer.appendChild(this.el.nativeElement,this.wrapper)}onBeforeEnter(e){this.container.set(e.element),this.wrapper=this.container()?.parentElement,this.$attrSelector&&this.container()?.setAttribute(this.$attrSelector,""),this.appendContainer(),this.moveOnTop(),this.bindGlobalListeners(),this.container()?.setAttribute(this.id,""),this.modal&&this.enableModality()}onAfterEnter(){this.focusOnShow&&this.focus(),this.onShow.emit({})}onBeforeLeave(){this.modal&&(this.maskVisible=!1)}onAfterLeave(){this.onContainerDestroy(),this.renderDialog.set(!1),this.modal?this.renderMask.set(!1):this.maskVisible=!1,this.onHide.emit({}),this.cd.markForCheck()}onMaskAfterLeave(){this.renderDialog()||this.renderMask.set(!1)}onContainerDestroy(){this.unbindGlobalListeners(),this.dragging=!1,this.maximized&&(In(this.document.body,"p-overflow-hidden"),this.document.body.style.removeProperty("--scrollbar-width"),this.maximized=!1),this.modal&&this.disableModality(),Tt(this.document.body,"p-overflow-hidden")&&In(this.document.body,"p-overflow-hidden"),this.container()&&this.autoZIndex&&It.clear(this.container()),this.zIndexForLayering&&It.revertZIndex(this.zIndexForLayering),this.container.set(null),this.wrapper=null,this._style=this.originalStyle?T({},this.originalStyle):{}}destroyStyle(){this.styleElement&&(this.renderer.removeChild(this.document.head,this.styleElement),this.styleElement=null)}onDestroy(){this.container()&&(this.restoreAppend(),this.onContainerDestroy()),this.destroyStyle()}get dataP(){return this.cn({maximized:this.maximized,modal:this.modal})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-dialog"]],contentQueries:function(n,o,r){if(n&1&&Je(r,qK,4)(r,pE,4)(r,fE,4)(r,KK,4)(r,YK,4)(r,QK,4)(r,ZK,4)(r,Qe,4),n&2){let a;M(a=R())&&(o._headerTemplate=a.first),M(a=R())&&(o._contentTemplate=a.first),M(a=R())&&(o._footerTemplate=a.first),M(a=R())&&(o._closeiconTemplate=a.first),M(a=R())&&(o._maximizeiconTemplate=a.first),M(a=R())&&(o._minimizeiconTemplate=a.first),M(a=R())&&(o._headlessTemplate=a.first),M(a=R())&&(o.templates=a)}},viewQuery:function(n,o){if(n&1&&xt(XK,5)(pE,5)(fE,5),n&2){let r;M(r=R())&&(o.headerViewChild=r.first),M(r=R())&&(o.contentViewChild=r.first),M(r=R())&&(o.footerViewChild=r.first)}},inputs:{hostName:"hostName",header:"header",draggable:[2,"draggable","draggable",S],resizable:[2,"resizable","resizable",S],contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",modal:[2,"modal","modal",S],closeOnEscape:[2,"closeOnEscape","closeOnEscape",S],dismissableMask:[2,"dismissableMask","dismissableMask",S],rtl:[2,"rtl","rtl",S],closable:[2,"closable","closable",S],breakpoints:"breakpoints",styleClass:"styleClass",maskStyleClass:"maskStyleClass",maskStyle:"maskStyle",showHeader:[2,"showHeader","showHeader",S],blockScroll:[2,"blockScroll","blockScroll",S],autoZIndex:[2,"autoZIndex","autoZIndex",S],baseZIndex:[2,"baseZIndex","baseZIndex",xe],minX:[2,"minX","minX",xe],minY:[2,"minY","minY",xe],focusOnShow:[2,"focusOnShow","focusOnShow",S],maximizable:[2,"maximizable","maximizable",S],keepInViewport:[2,"keepInViewport","keepInViewport",S],focusTrap:[2,"focusTrap","focusTrap",S],transitionOptions:"transitionOptions",maskMotionOptions:[1,"maskMotionOptions"],motionOptions:[1,"motionOptions"],closeIcon:"closeIcon",closeAriaLabel:"closeAriaLabel",closeTabindex:"closeTabindex",minimizeIcon:"minimizeIcon",maximizeIcon:"maximizeIcon",closeButtonProps:"closeButtonProps",maximizeButtonProps:"maximizeButtonProps",visible:"visible",style:"style",position:"position",role:"role",appendTo:[1,"appendTo"],headerTemplate:[0,"content","headerTemplate"],contentTemplate:"contentTemplate",footerTemplate:"footerTemplate",closeIconTemplate:"closeIconTemplate",maximizeIconTemplate:"maximizeIconTemplate",minimizeIconTemplate:"minimizeIconTemplate",headlessTemplate:"headlessTemplate"},outputs:{onShow:"onShow",onHide:"onHide",visibleChange:"visibleChange",onResizeInit:"onResizeInit",onResizeEnd:"onResizeEnd",onDragEnd:"onDragEnd",onMaximize:"onMaximize"},features:[ne([hE,{provide:gE,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],ngContentSelectors:eY,decls:1,vars:1,consts:[["container",""],["notHeadless",""],["content",""],["titlebar",""],["icon",""],["footer",""],[3,"class","style","ngStyle","pBind","pMotion","pMotionAppear","pMotionEnterActiveClass","pMotionLeaveActiveClass","pMotionOptions"],[3,"pMotionOnAfterLeave","ngStyle","pBind","pMotion","pMotionAppear","pMotionEnterActiveClass","pMotionLeaveActiveClass","pMotionOptions"],["pFocusTrap","",3,"class","style","ngStyle","pBind","pFocusTrapDisabled","pMotion","pMotionAppear","pMotionName","pMotionOptions"],["pFocusTrap","",3,"pMotionOnBeforeEnter","pMotionOnAfterEnter","pMotionOnBeforeLeave","pMotionOnAfterLeave","ngStyle","pBind","pFocusTrapDisabled","pMotion","pMotionAppear","pMotionName","pMotionOptions"],[4,"ngIf","ngIfElse"],[4,"ngTemplateOutlet"],[3,"class","pBind","z-index","mousedown",4,"ngIf"],[3,"class","pBind","mousedown",4,"ngIf"],[3,"ngStyle","pBind"],[3,"class","pBind",4,"ngIf"],[3,"mousedown","pBind"],[3,"id","class","pBind",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"pBind"],[3,"pt","styleClass","ariaLabel","tabindex","buttonProps","unstyled","onClick","keydown.enter",4,"ngIf"],[3,"id","pBind"],[3,"onClick","keydown.enter","pt","styleClass","ariaLabel","tabindex","buttonProps","unstyled"],[3,"ngClass",4,"ngIf"],[4,"ngIf"],[3,"ngClass"],["data-p-icon","window-maximize",4,"ngIf"],["data-p-icon","window-minimize",4,"ngIf"],["data-p-icon","window-maximize"],["data-p-icon","window-minimize"],[3,"class",4,"ngIf"],["data-p-icon","times",4,"ngIf"],["data-p-icon","times"]],template:function(n,o){n&1&&(st(JK),_e(0,AY,2,14,"div",6)),n&2&&ve(o.renderMask()?0:-1)},dependencies:[De,xn,ot,qe,Jt,So,dE,Io,RT,OT,re,U,Mo,JT],encapsulation:2,changeDetection:0})}return t})(),mE=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[a0,re,re]})}return t})();var bE=` + .p-tag { + display: inline-flex; + align-items: center; + justify-content: center; + background: dt('tag.primary.background'); + color: dt('tag.primary.color'); + font-size: dt('tag.font.size'); + font-weight: dt('tag.font.weight'); + padding: dt('tag.padding'); + border-radius: dt('tag.border.radius'); + gap: dt('tag.gap'); + } + + .p-tag-icon { + font-size: dt('tag.icon.size'); + width: dt('tag.icon.size'); + height: dt('tag.icon.size'); + } + + .p-tag-rounded { + border-radius: dt('tag.rounded.border.radius'); + } + + .p-tag-success { + background: dt('tag.success.background'); + color: dt('tag.success.color'); + } + + .p-tag-info { + background: dt('tag.info.background'); + color: dt('tag.info.color'); + } + + .p-tag-warn { + background: dt('tag.warn.background'); + color: dt('tag.warn.color'); + } + + .p-tag-danger { + background: dt('tag.danger.background'); + color: dt('tag.danger.color'); + } + + .p-tag-secondary { + background: dt('tag.secondary.background'); + color: dt('tag.secondary.color'); + } + + .p-tag-contrast { + background: dt('tag.contrast.background'); + color: dt('tag.contrast.color'); + } +`;var LY=["icon"],BY=["*"];function VY(t,i){if(t&1&&W(0,"span",4),t&2){let e=d(2);D(e.cx("icon")),p("ngClass",e.icon)("pBind",e.ptm("icon"))}}function zY(t,i){if(t&1&&(q(0),_(1,VY,1,4,"span",3),K()),t&2){let e=d();f(),p("ngIf",e.icon)}}function jY(t,i){}function HY(t,i){t&1&&_(0,jY,0,0,"ng-template")}function $Y(t,i){if(t&1&&(b(0,"span",2),_(1,HY,1,0,null,5),y()),t&2){let e=d();D(e.cx("icon")),p("pBind",e.ptm("icon")),f(),p("ngTemplateOutlet",e.iconTemplate||e._iconTemplate)}}var UY={root:({instance:t})=>["p-tag p-component",{"p-tag-info":t.severity==="info","p-tag-success":t.severity==="success","p-tag-warn":t.severity==="warn","p-tag-danger":t.severity==="danger","p-tag-secondary":t.severity==="secondary","p-tag-contrast":t.severity==="contrast","p-tag-rounded":t.rounded}],icon:"p-tag-icon",label:"p-tag-label"},yE=(()=>{class t extends fe{name="tag";style=bE;classes=UY;static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var _E=new B("TAG_INSTANCE"),s0=(()=>{class t extends ke{componentName="Tag";$pcTag=v(_E,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=v(U,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}styleClass;severity;value;icon;rounded;iconTemplate;templates;_iconTemplate;_componentStyle=v(yE);onAfterContentInit(){this.templates?.forEach(e=>{e.getType()==="icon"&&(this._iconTemplate=e.template)})}get dataP(){return this.cn({rounded:this.rounded,[this.severity]:this.severity})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=O(t)))(o||t)}})();static \u0275cmp=H({type:t,selectors:[["p-tag"]],contentQueries:function(n,o,r){if(n&1&&Je(r,LY,4)(r,Qe,4),n&2){let a;M(a=R())&&(o.iconTemplate=a.first),M(a=R())&&(o.templates=a)}},hostVars:3,hostBindings:function(n,o){n&2&&(N("data-p",o.dataP),D(o.cn(o.cx("root"),o.styleClass)))},inputs:{styleClass:"styleClass",severity:"severity",value:"value",icon:"icon",rounded:[2,"rounded","rounded",S]},features:[ne([yE,{provide:_E,useExisting:t},{provide:Te,useExisting:t}]),Fe([U]),A],ngContentSelectors:BY,decls:5,vars:6,consts:[[4,"ngIf"],[3,"class","pBind",4,"ngIf"],[3,"pBind"],[3,"class","ngClass","pBind",4,"ngIf"],[3,"ngClass","pBind"],[4,"ngTemplateOutlet"]],template:function(n,o){n&1&&(st(),et(0),_(1,zY,2,1,"ng-container",0)(2,$Y,2,4,"span",1),b(3,"span",2),L(4),y()),n&2&&(f(),p("ngIf",!o.iconTemplate&&!o._iconTemplate),f(),p("ngIf",o.iconTemplate||o._iconTemplate),f(),D(o.cx("label")),p("pBind",o.ptm("label")),f(),de(o.value))},dependencies:[De,xn,ot,qe,re,U],encapsulation:2,changeDetection:0})}return t})(),vE=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[s0,re,re]})}return t})();var Yu=class t{http=v(Vd);j(i){return Ce(this,null,function*(){return yield i})}login(i,e,n){return this.j(gi(this.http.post("/api/login",{user:i,password:e,workDate:n})))}context(){return this.j(gi(this.http.get("/api/context")))}meta(i){return this.j(gi(this.http.get("/api/meta",{params:{key:i}})))}dataset(i){return this.j(gi(this.http.get("/api/dataset",{params:{key:i}})))}datasetPost(i){return this.j(gi(this.http.post("/api/dataset",i)))}processGet(){return this.j(gi(this.http.get("/api/process")))}processPost(i){return this.j(gi(this.http.post("/api/process",i)))}cmd(i,e,n){let o=new URLSearchParams({action:i});return e!==void 0&&o.set("a1",e),n!==void 0&&o.set("a2",n),this.j(gi(this.http.post("/api/cmd",o.toString(),{headers:{"Content-Type":"application/x-www-form-urlencoded"}})))}static \u0275fac=function(e){return new(e||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})};var Qu=()=>[],GY=()=>({width:"36rem"});function qY(t,i){return this.secId(i)}var fi=(t,i)=>i.id,KY=(t,i)=>i.key,YY=(t,i)=>e=>({label:e,value:e});function QY(t,i){if(t&1){let e=$();b(0,"div",18)(1,"div",19)(2,"span"),L(3,"Ahora est\xE1 en:"),y(),b(4,"b"),L(5),y()(),b(6,"div",19)(7,"span")(8,"b"),L(9,"1 \xB7 Login directo \u2014 versi\xF3n PC"),y()(),b(10,"div",20),L(11,"Aplicaci\xF3n de este equipo. Login cl\xE1sico: "),b(12,"a",21),I("click",function(o){C(e);let r=d(2);return w(r.openMount(o,"/login"))}),L(13,"/login"),y()()(),b(14,"div",19)(15,"span")(16,"b"),L(17,"2 \xB7 WebView + HTTP"),y()(),b(18,"div",20),L(19,"App de escritorio + navegador (como Edge con localhost:2222/portal)."),y(),b(20,"nav",22)(21,"a",23),I("click",function(o){C(e);let r=d(2);return w(r.openLocal(o))}),L(22,"Abrir portal en el navegador"),y()()(),b(23,"div",19)(24,"span")(25,"b"),L(26,"3 \xB7 Web 100%"),y(),L(27," \u2014 elija la vista (mismos datos)"),y(),b(28,"nav",22)(29,"a",24),I("click",function(o){C(e);let r=d(2);return w(r.openMount(o,"/web-vanilla/index.html"))}),L(30,"Vanilla"),y(),b(31,"a",25),I("click",function(o){C(e);let r=d(2);return w(r.openMount(o,"/web-angular/index.html"))}),L(32,"Angular"),y(),b(33,"a",26),I("click",function(o){C(e);let r=d(2);return w(r.openMount(o,"/web-react/index.html"))}),L(34,"React"),y(),b(35,"a",27),I("click",function(o){C(e);let r=d(2);return w(r.openMount(o,"/web-vue/index.html"))}),L(36,"Vue"),y(),b(37,"a",23),I("click",function(o){C(e);let r=d(2);return w(r.openMount(o,"/portal/"))}),L(38,"Men\xFA\u2026"),y()()(),b(39,"div",19)(40,"span")(41,"b"),L(42,"Acceso por la red"),y()(),b(43,"div",20)(44,"b"),L(45,"Intranet:"),y(),L(46," en otro PC/celular de la oficina use la direcci\xF3n de abajo."),y(),b(47,"nav",22)(48,"input",28),zn("ngModelChange",function(o){C(e);let r=d(2);return ri(r.ip,o)||(r.ip=o),w(o)}),y(),b(49,"button",29),I("click",function(){C(e);let o=d(2);return w(o.openRemote())}),L(50,"Probar"),y(),b(51,"button",29),I("click",function(){C(e);let o=d(2);return w(o.copyRemote())}),L(52),y()(),b(53,"div",20),L(54),y(),b(55,"div",20)(56,"b"),L(57,"Remoto (internet):"),y(),L(58," solo si sistemas habilit\xF3 acceso seguro (VPN o t\xFAnel)."),y()()()}if(t&2){let e=d(2);f(5),de(e.ramaLabel()),f(43),Vn("ngModel",e.ip),f(4),de(e.copiedUrl()?"\xA1Copiado!":"Copiar enlace"),f(2),ct("Enlace: ",e.remoteUrl)}}function ZY(t,i){if(t&1){let e=$();b(0,"div",4)(1,"button",7),I("click",function(){C(e);let o=d();return w(o.toggleTheme())}),L(2),y(),b(3,"div",8)(4,"div",9),L(5,"FiveTech ERP"),y(),b(6,"div",10),L(7,"Rama 100% web \xB7 frontend Angular 21 + PrimeNG"),y(),b(8,"form",11),I("submit",function(o){C(e);let r=d();return o.preventDefault(),w(r.onLogin())}),b(9,"label"),L(10,"Usuario"),y(),b(11,"input",12),zn("ngModelChange",function(o){C(e);let r=d();return ri(r.user,o)||(r.user=o),w(o)}),y(),b(12,"label"),L(13,"Clave"),y(),b(14,"input",13),zn("ngModelChange",function(o){C(e);let r=d();return ri(r.pass,o)||(r.pass=o),w(o)}),y(),b(15,"label"),L(16,"Fecha de trabajo"),y(),b(17,"input",14),zn("ngModelChange",function(o){C(e);let r=d();return ri(r.workDate,o)||(r.workDate=o),w(o)}),y(),W(18,"p-button",15),b(19,"div",16),L(20),y()(),b(21,"button",17),I("click",function(){C(e);let o=d();return w(o.toolOpen.set(!o.toolOpen()))}),L(22,"Opciones de vista (ayuda)"),y(),_e(23,QY,59,4,"div",18),y()()}if(t&2){let e=d();f(2),de(e.theme()==="dark"?"Dark":"Light"),f(9),Vn("ngModel",e.user),f(3),Vn("ngModel",e.pass),f(3),Vn("ngModel",e.workDate),f(),p("loading",e.busy()),f(2),de(e.loginError()),f(3),ve(e.toolOpen()?23:-1)}}function XY(t,i){if(t&1&&L(0),t&2){let e=d(2);ct(" \xB7 v",e.version()," ")}}function JY(t,i){if(t&1){let e=$();b(0,"button",52),I("click",function(){C(e);let o=d().$implicit,r=d(3);return w(r.openScreen(o.screen))}),L(1),y()}if(t&2){let e=d().$implicit,n=d(3);Pt("sub",e.sub)("active",n.activeScreenKey()===e.screen),f(),de(e.label)}}function eQ(t,i){if(t&1&&_e(0,JY,2,5,"button",55),t&2){let e=i.$implicit;ve(e.screen?0:-1)}}function tQ(t,i){if(t&1){let e=$();b(0,"div",48)(1,"button",49),I("click",function(){let o=C(e).$implicit,r=d(2);return w(r.toggleSec(r.secId(o)))}),b(2,"span"),L(3),y(),b(4,"span",50),L(5,"\u25BC"),y()(),b(6,"div",51),At(7,eQ,1,1,null,null,fi),y()()}if(t&2){let e=i.$implicit,n=d(2);Pt("collapsed",n.isSecCollapsed(n.secId(e))),f(3),de(e.title),f(4),Nt(e.items)}}function nQ(t,i){if(t&1){let e=$();b(0,"div",60)(1,"div")(2,"b"),L(3),y(),b(4,"div",62),L(5),y()(),b(6,"p-button",63),I("onClick",function(){let o=C(e).$implicit,r=d(3);return w(r.runProcess(o))}),y()()}if(t&2){let e=i.$implicit;f(3),de(e.title||e.key),f(2),ho("",e.key," \xB7 handler: ",e.handler||"\u2014"),f(),p("outlined",!0)}}function iQ(t,i){if(t&1&&(b(0,"div",56)(1,"div",57)(2,"h2"),L(3,"Procesos"),y()(),W(4,"p-tag",58),y(),b(5,"div",59),At(6,nQ,7,4,"div",60,KY),y(),b(8,"pre",61),L(9),y()),t&2){let e=i,n=d(2);f(4),p("value",Is("handlers: ",(e.handlers||wn(3,Qu)).length)),f(2),Nt(e.items||wn(4,Qu)),f(3),de(n.procOut())}}function oQ(t,i){t&1&&(b(0,"div",54),L(1,"Cargando\u2026"),y())}function rQ(t,i){if(t&1){let e=$();b(0,"p-button",77),I("onClick",function(){C(e);let o=d(4);return w(o.openNew())}),y()}}function aQ(t,i){if(t&1){let e=$();b(0,"p-button",78),I("onClick",function(){C(e);let o=d(4);return w(o.openEdit())}),y()}if(t&2){let e=d(4);p("outlined",!0)("disabled",!e.selected())}}function sQ(t,i){if(t&1){let e=$();b(0,"p-button",79),I("onClick",function(){C(e);let o=d(4);return w(o.deleteSelected())}),y()}if(t&2){let e=d(4);p("outlined",!0)("disabled",!e.selected())}}function lQ(t,i){if(t&1){let e=$();b(0,"p-button",80),I("onClick",function(){C(e);let o=d(4);return w(o.printList())}),y()}t&2&&p("outlined",!0)}function cQ(t,i){if(t&1){let e=$();b(0,"p-button",81),I("onClick",function(){C(e);let o=d(4);return w(o.printList())}),y()}t&2&&p("outlined",!0)}function dQ(t,i){if(t&1){let e=$();b(0,"p-button",82),I("onClick",function(){C(e);let o=d(4);return w(o.exportExcel())}),y()}t&2&&p("outlined",!0)}function uQ(t,i){if(t&1){let e=$();b(0,"p-button",83),I("onClick",function(){C(e);let o=d(2),r=d(2);return w(r.openScreen(o.id))}),y()}t&2&&p("outlined",!0)}function pQ(t,i){if(t&1){let e=$();b(0,"div",64)(1,"input",68),I("ngModelChange",function(o){C(e);let r=d(3);return w(r.search.set(o))}),y(),_e(2,rQ,1,0,"p-button",69),_e(3,aQ,1,2,"p-button",70),_e(4,sQ,1,2,"p-button",71),_e(5,lQ,1,1,"p-button",72),_e(6,cQ,1,1,"p-button",73),_e(7,dQ,1,1,"p-button",74),_e(8,uQ,1,1,"p-button",75),b(9,"span",76),L(10),y()()}if(t&2){let e=d(3);f(),p("ngModel",e.search()),f(),ve(e.hasTb("add")?2:-1),f(),ve(e.hasTb("edit")?3:-1),f(),ve(e.hasTb("delete")?4:-1),f(),ve(e.hasTb("print")?5:-1),f(),ve(e.hasTb("pdf")?6:-1),f(),ve(e.hasTb("excel")?7:-1),f(),ve(e.hasTb("refresh")?8:-1),f(2),ho("",e.visibleRows().length," / ",e.rows().length," filas")}}function fQ(t,i){t&1&&(b(0,"div",65),L(1),y()),t&2&&(f(),de(i))}function hQ(t,i){if(t&1){let e=$();b(0,"button",96),I("click",function(){let o=C(e).$index,r=d(4);return w(r.selectFormRow(o))}),L(1),y()}if(t&2){let e=i.$implicit,n=i.$index,o=d(2),r=d(2);Pt("active",n===r.formIdx()&&!r.formNew()),f(),ct(" ",(e[r.keyFieldOf(o)]??"")+(e.name?" \xB7 "+e.name:"")," ")}}function gQ(t,i){if(t&1){let e=$();b(0,"p-button",77),I("onClick",function(){C(e);let o=d(4);return w(o.newFormRow())}),y()}}function mQ(t,i){if(t&1){let e=$();b(0,"p-button",97),I("onClick",function(){C(e);let o=d(4);return w(o.delForm())}),y()}if(t&2){let e=d(4);p("outlined",!0)("disabled",e.formNew())}}function bQ(t,i){if(t&1){let e=$();b(0,"p-button",98),I("onClick",function(){C(e);let o=d(2),r=d(2);return w(r.openScreen(o.id))}),y()}t&2&&p("outlined",!0)}function yQ(t,i){if(t&1){let e=$();b(0,"button",99),I("click",function(){let o=C(e).$implicit,r=d(4);return w(r.formTab.set(o.id))}),L(1),y()}if(t&2){let e=i.$implicit,n=d(4);Pt("active",n.formTab()===e.id),f(),de(e.label||e.id)}}function _Q(t,i){if(t&1){let e=$();b(0,"p-checkbox",105),I("ngModelChange",function(o){C(e);let r=d().$implicit,a=d(4);return w(a.setFormField(r.id,o))}),y()}if(t&2){let e=d().$implicit,n=d(4);p("binary",!0)("ngModel",!!n.formDraft[e.id])}}function vQ(t,i){if(t&1){let e=$();b(0,"p-select",106),I("onChange",function(o){C(e);let r=d().$implicit,a=d(4);return w(a.setFormField(r.id,o.value))}),y()}if(t&2){let e=d().$implicit,n=d(4);p("options",n.optList(e.options))("ngModel",n.formDraft[e.id])}}function CQ(t,i){if(t&1){let e=$();b(0,"p-select",106),I("onChange",function(o){C(e);let r=d().$implicit,a=d(4);return w(a.setFormField(r.id,o.value))}),y()}if(t&2){let e=d().$implicit,n=d(4);p("options",n.lookupOpts(e.lookup))("ngModel",n.formDraft[e.id])}}function wQ(t,i){if(t&1){let e=$();b(0,"p-inputnumber",107),I("ngModelChange",function(o){C(e);let r=d().$implicit,a=d(4);return w(a.setFormField(r.id,o))}),y()}if(t&2){let e=d().$implicit,n=d(4);p("ngModel",n.formDraft[e.id])("minFractionDigits",2)}}function xQ(t,i){if(t&1){let e=$();b(0,"input",108),I("ngModelChange",function(o){C(e);let r=d().$implicit,a=d(4);return w(a.setFormField(r.id,o))}),y()}if(t&2){let e=d().$implicit,n=d(2),o=d(2);p("ngModel",o.formDraft[e.id]??"")("readonly",!o.formNew()&&o.keyFieldOf(n)===e.id)}}function TQ(t,i){if(t&1&&(b(0,"div",100)(1,"label"),L(2),y(),_e(3,_Q,1,2,"p-checkbox",101)(4,vQ,1,2,"p-select",102)(5,CQ,1,2,"p-select",102)(6,wQ,1,2,"p-inputnumber",103)(7,xQ,1,2,"input",104),y()),t&2){let e=i.$implicit;Pt("chk",e.type==="checkbox"),f(2),ho("",e.label,"",e.required?" *":""),f(),ve(e.type==="checkbox"?3:e.type==="select"?4:e.type==="lookup"?5:e.type==="money"||e.format==="money"?6:7)}}function DQ(t,i){if(t&1){let e=$();b(0,"div",66)(1,"aside",84)(2,"div",85),L(3,"Registros"),y(),At(4,hQ,2,3,"button",86,Kh),y(),b(6,"div",87)(7,"div",88),_e(8,gQ,1,0,"p-button",69),b(9,"p-button",89),I("onClick",function(){C(e);let o=d(3);return w(o.saveForm())}),y(),_e(10,mQ,1,2,"p-button",90),_e(11,bQ,1,1,"p-button",91),b(12,"span",76),L(13),y()(),b(14,"div",92),At(15,yQ,2,3,"button",93,fi),y(),b(17,"div",94),At(18,TQ,8,5,"div",95,fi),y()()()}if(t&2){let e=d(3);f(4),Nt(e.rows()),f(4),ve(e.hasTb("add")?8:-1),f(2),ve(e.hasTb("delete")?10:-1),f(),ve(e.hasTb("refresh")?11:-1),f(2),de(e.formNew()?"Nuevo":(e.rows().length?e.formIdx()+1:0)+" / "+e.rows().length),f(2),Nt(e.formTabs()),f(3),Nt(e.formFieldsVisible())}}function EQ(t,i){if(t&1){let e=$();b(0,"p-button",77),I("onClick",function(){C(e);let o=d(4);return w(o.openNew("master"))}),y()}}function IQ(t,i){if(t&1){let e=$();b(0,"p-button",115),I("onClick",function(){C(e);let o=d(4);return w(o.openEdit())}),y()}if(t&2){let e=d(4);p("outlined",!0)("disabled",!e.selected())}}function SQ(t,i){if(t&1){let e=$();b(0,"p-button",97),I("onClick",function(){C(e);let o=d(4);return w(o.deleteSelected())}),y()}if(t&2){let e=d(4);p("outlined",!0)("disabled",!e.selected())}}function kQ(t,i){if(t&1){let e=$();b(0,"p-button",98),I("onClick",function(){C(e);let o=d(2),r=d(2);return w(r.openScreen(o.id))}),y()}t&2&&p("outlined",!0)}function MQ(t,i){if(t&1&&(b(0,"th"),L(1),y()),t&2){let e=i.$implicit;f(),de(e.label)}}function RQ(t,i){if(t&1&&(b(0,"tr"),At(1,MQ,2,1,"th",null,fi),y()),t&2){let e=d(4);f(),Nt(e.cols())}}function OQ(t,i){if(t&1&&(b(0,"td"),L(1),y()),t&2){let e=i.$implicit,n=d().$implicit,o=d(4);f(),de(o.fmt(n[e.id],e))}}function AQ(t,i){if(t&1&&(b(0,"tr",116),At(1,OQ,2,1,"td",null,fi),y()),t&2){let e=i.$implicit,n=d(4);p("pSelectableRow",e),f(),Nt(n.cols())}}function NQ(t,i){if(t&1&&(b(0,"th"),L(1),y()),t&2){let e=i.$implicit;f(),de(e.label)}}function FQ(t,i){if(t&1&&(b(0,"tr"),At(1,NQ,2,1,"th",null,fi),y()),t&2){let e=d(4);f(),Nt(e.detailCols())}}function PQ(t,i){if(t&1&&(b(0,"td"),L(1),y()),t&2){let e=i.$implicit,n=d().$implicit,o=d(4);f(),de(o.fmt(n[e.id],e))}}function LQ(t,i){if(t&1&&(b(0,"tr",116),At(1,PQ,2,1,"td",null,fi),y()),t&2){let e=i.$implicit,n=d(4);p("pSelectableRow",e),f(),Nt(n.detailCols())}}function BQ(t,i){if(t&1){let e=$();b(0,"div",67)(1,"section",109)(2,"div",110)(3,"b"),L(4,"Maestro"),y(),b(5,"div",64),_e(6,EQ,1,0,"p-button",69),_e(7,IQ,1,2,"p-button",111),_e(8,SQ,1,2,"p-button",90),_e(9,kQ,1,1,"p-button",91),b(10,"input",68),I("ngModelChange",function(o){C(e);let r=d(3);return w(r.search.set(o))}),y()()(),b(11,"p-table",112),I("selectionChange",function(o){C(e);let r=d(3);return r.selected.set(o),w(r.selectedDetail.set(null))})("onRowDblClick",function(o){C(e);let r=d(3);return w(r.openEdit(o.data,"master"))}),_(12,RQ,3,0,"ng-template",null,0,Ie)(14,AQ,3,1,"ng-template",null,1,Ie),y()(),b(16,"section",113)(17,"div",110)(18,"b"),L(19),y(),b(20,"div",64)(21,"p-button",114),I("onClick",function(){C(e);let o=d(3);return w(o.openNew("detail"))}),y(),b(22,"p-button",115),I("onClick",function(){C(e);let o=d(3);return w(o.openEditDetail())}),y(),b(23,"p-button",97),I("onClick",function(){C(e);let o=d(3);return w(o.deleteDetail())}),y()()(),b(24,"p-table",112),I("selectionChange",function(o){C(e);let r=d(3);return w(r.selectedDetail.set(o))})("onRowDblClick",function(o){C(e);let r=d(3);return w(r.openEditDetail(o.data))}),_(25,FQ,3,0,"ng-template",null,0,Ie)(27,LQ,3,1,"ng-template",null,1,Ie),y()()()}if(t&2){let e=d(),n=d(2);f(6),ve(n.hasTb("add")?6:-1),f(),ve(n.hasTb("edit")?7:-1),f(),ve(n.hasTb("delete")?8:-1),f(),ve(n.hasTb("refresh")?9:-1),f(),p("ngModel",n.search()),f(),p("value",n.visibleRows())("selection",n.selected())("dataKey",n.keyFieldOf(e))("scrollable",!0),f(8),de((e.detail==null?null:e.detail.title)||"Detalle"),f(2),p("disabled",!n.selected()),f(),p("outlined",!0)("disabled",!n.selectedDetail()),f(),p("outlined",!0)("disabled",!n.selectedDetail()),f(),p("value",n.detailVisible())("selection",n.selectedDetail())("dataKey",(e.detail==null?null:e.detail.keyField)||"code")("scrollable",!0)}}function VQ(t,i){if(t&1&&(b(0,"option",122),L(1),y()),t&2){let e=i.$implicit;p("value",e),f(),de(e)}}function zQ(t,i){if(t&1){let e=$();b(0,"label",119),L(1),b(2,"select",120),I("ngModelChange",function(o){let r=C(e).$implicit,a=d(5);return w(a.setColFilter(r.id,o))}),b(3,"option",121),L(4,"(todos)"),y(),At(5,VQ,2,2,"option",122,Yh),y()()}if(t&2){let e=i.$implicit,n=d(5);f(),ct("",e.label," "),f(),p("ngModel",n.colFilters()[e.id]||""),f(3),Nt(e.options||wn(2,Qu))}}function jQ(t,i){if(t&1){let e=$();b(0,"div",117),At(1,zQ,7,3,"label",119,fi),b(3,"button",29),I("click",function(){C(e);let o=d(4);return w(o.clearListFilters())}),L(4,"Limpiar filtros"),y()()}if(t&2){let e=d(4);f(),Nt(e.filterCols())}}function HQ(t,i){if(t&1&&(b(0,"th",124),L(1),W(2,"p-sortIcon",125),y()),t&2){let e=i.$implicit;Pt("right",e.align==="right"||e.format==="money"||e.type==="money"),p("pSortableColumn",e.id),f(),ct(" ",e.label," "),f(),p("field",e.id)}}function $Q(t,i){if(t&1&&(b(0,"tr"),At(1,HQ,3,5,"th",123,fi),y()),t&2){let e=d(4);f(),Nt(e.cols())}}function UQ(t,i){if(t&1&&(b(0,"td"),L(1),y()),t&2){let e=i.$implicit,n=d().$implicit,o=d(4);Pt("right",e.align==="right"||e.format==="money"||e.type==="money"),f(),de(o.fmt(n[e.id],e))}}function WQ(t,i){if(t&1&&(b(0,"tr",116),At(1,UQ,2,3,"td",126,fi),y()),t&2){let e=i.$implicit,n=d(4);p("pSelectableRow",e),f(),Nt(n.cols())}}function GQ(t,i){if(t&1&&(b(0,"tr")(1,"td",127),L(2,"Sin registros con los filtros actuales"),y()()),t&2){let e=d(4);f(),N("colspan",e.cols().length||1)}}function qQ(t,i){if(t&1){let e=$();_e(0,jQ,5,0,"div",117),b(1,"p-table",118),I("selectionChange",function(o){C(e);let r=d(3);return w(r.selected.set(o))})("onRowDblClick",function(o){C(e);let r=d(3);return w(r.hasTb("edit")&&r.openEdit(o.data))}),_(2,$Q,3,0,"ng-template",null,0,Ie)(4,WQ,3,1,"ng-template",null,1,Ie)(6,GQ,3,1,"ng-template",null,2,Ie),y()}if(t&2){let e=d(),n=d(2);ve(n.filterCols().length?0:-1),f(),p("value",n.visibleRows())("rows",n.pageSize)("rowsPerPageOptions",n.rowsPerPageOptions)("paginator",!0)("sortMode","single")("scrollable",!0)("selection",n.selected())("dataKey",n.keyFieldOf(e))("showCurrentPageReport",!0)}}function KQ(t,i){if(t&1&&(b(0,"div",54),L(1," Layout "),b(2,"b"),L(3),y(),L(4,": lista, form y master-detail cubiertos en web 100%. Dashboard, calendar, wizard y designers quedan en el shell HTTP FWH \u2014 ver docs/PROPUESTA y SUSTENTO. "),y()),t&2){let e=d();f(3),de(e.layout||"especial")}}function YQ(t,i){if(t&1&&(b(0,"div",56)(1,"div",57)(2,"h2"),L(3),y(),W(4,"p-tag",58),y(),_e(5,pQ,11,10,"div",64),y(),_e(6,fQ,2,1,"div",65),_e(7,DQ,20,4,"div",66)(8,BQ,29,19,"div",67)(9,qQ,8,10)(10,KQ,5,1,"div",54)),t&2){let e,n=i,o=d(2);f(3),de(n.title),f(),p("value",Is("layout: ",n.layout||"\u2014")),f(),ve(o.isListScreen(n)?5:-1),f(),ve((e=o.notice())?6:-1,e),f(),ve(o.isFormScreen(n)?7:o.isMasterDetail(n)?8:o.isListScreen(n)?9:10)}}function QQ(t,i){t&1&&(b(0,"div",54),L(1,"Selecciona un m\xF3dulo."),y())}function ZQ(t,i){if(t&1){let e=$();b(0,"div",5)(1,"header",30)(2,"div",31)(3,"button",32),I("click",function(){C(e);let o=d();return w(o.toggleSidebar())}),L(4,"\u2630"),y(),b(5,"span",33),L(6,"FiveTech ERP"),y(),W(7,"p-tag",34),b(8,"button",35),I("click",function(){C(e);let o=d();return w(o.goDashboard())}),L(9,"Dashboard"),y()(),b(10,"div",36)(11,"p-select",37),I("onChange",function(o){C(e);let r=d();return w(r.onCompanyChange(o.value))}),y(),b(12,"p-select",38),I("onChange",function(o){C(e);let r=d();return w(r.onAppChange(o.value))}),y(),b(13,"span",39),L(14),_e(15,XY,1,1),y(),b(16,"input",40),I("change",function(o){C(e);let r=d();return w(r.onWorkdate(o.target.value))}),y(),b(17,"p-button",41),I("onClick",function(){C(e);let o=d();return w(o.toggleTheme())}),y(),b(18,"p-button",42),I("onClick",function(){C(e);let o=d();return w(o.logout())}),y()()(),b(19,"div",43)(20,"nav",44)(21,"div",45)(22,"button",46),I("click",function(){C(e);let o=d();return w(o.goDashboard())}),L(23,"\u229E Dashboard"),y()(),At(24,tQ,9,3,"div",47,qY,!0),b(26,"div",48)(27,"button",49),I("click",function(){C(e);let o=d();return w(o.toggleSec("__tools"))}),b(28,"span"),L(29,"Herramientas"),y(),b(30,"span",50),L(31,"\u25BC"),y()(),b(32,"div",51)(33,"button",52),I("click",function(){C(e);let o=d();return w(o.openProcesses())}),L(34,"Procesos"),y()()()(),b(35,"main",53),_e(36,iQ,10,5)(37,oQ,2,0,"div",54)(38,YQ,11,6)(39,QQ,2,0,"div",54),y()()()}if(t&2){let e,n,o,r,a,s,l=d();f(3),p("title",l.sidebarCollapsed()?"Mostrar men\xFA":"Ocultar men\xFA"),N("aria-expanded",!l.sidebarCollapsed()),f(4),p("value",Is("rama ",l.rama().branch," \xB7 angular")),f(4),p("options",l.companyOptions())("ngModel",(e=l.ctx())==null?null:e.company)("disabled",((n=l.ctx())==null?null:n.canSwitchCompany)===!1),f(),p("options",l.appOptions())("ngModel",(o=l.ctx())==null?null:o.app)("disabled",((r=l.ctx())==null?null:r.canSwitchApp)===!1),f(2),_d(" ",(a=l.ctx())==null?null:a.company," \xB7 ",((a=l.ctx())==null?null:a.appLabel)||((a=l.ctx())==null?null:a.app)," \xB7 ",(a=l.ctx())!=null&&a.isAdmin?"admin":"usuario"," "),f(),ve(l.version()?15:-1),f(),p("value",l.workDate),f(),p("label",l.theme()==="dark"?"Dark":"Light")("outlined",!0),f(),p("outlined",!0),f(),Pt("sidebar-collapsed",l.sidebarCollapsed()),f(5),Nt(l.modules()),f(2),Pt("collapsed",l.isSecCollapsed("__tools")),f(7),Pt("active",l.activeScreenKey()==="__procs"),f(3),ve((s=l.procs())?36:l.loading()?37:(s=l.screen())?38:39,s)}}function XQ(t,i){if(t&1){let e=$();b(0,"p-checkbox",105),I("ngModelChange",function(o){C(e);let r=d().$implicit,a=d(2);return w(a.setField(r.id,o))}),y()}if(t&2){let e=d().$implicit,n=d();p("binary",!0)("ngModel",!!n.row[e.id])}}function JQ(t,i){if(t&1){let e=$();b(0,"p-select",106),I("onChange",function(o){C(e);let r=d().$implicit,a=d(2);return w(a.setField(r.id,o.value))}),y()}if(t&2){let e=d().$implicit,n=d();p("options",(e.options??wn(3,Qu)).map(Zh(2,YY,i)))("ngModel",n.row[e.id])}}function eZ(t,i){if(t&1){let e=$();b(0,"p-inputnumber",131),I("ngModelChange",function(o){C(e);let r=d().$implicit,a=d(2);return w(a.setField(r.id,o))}),y()}if(t&2){let e=d().$implicit,n=d();p("ngModel",n.row[e.id])("minFractionDigits",2)("maxFractionDigits",2)}}function tZ(t,i){if(t&1){let e=$();b(0,"input",108),I("ngModelChange",function(o){C(e);let r=d().$implicit,a=d(2);return w(a.setField(r.id,o))}),y()}if(t&2){let e=d().$implicit,n=d(),o=d();p("ngModel",n.row[e.id]??"")("readonly",!n.isNew&&o.keyFieldOf(o.screen())===e.id)}}function nZ(t,i){if(t&1&&(b(0,"div",100)(1,"label"),L(2),y(),_e(3,XQ,1,2,"p-checkbox",101)(4,JQ,1,4,"p-select",102)(5,eZ,1,3,"p-inputnumber",130)(6,tZ,1,2,"input",104),y()),t&2){let e=i.$implicit;Pt("chk",e.type==="checkbox"),f(2),de(e.label),f(),ve(e.type==="checkbox"?3:e.type==="select"?4:e.type==="money"||e.format==="money"?5:6)}}function iZ(t,i){if(t&1){let e=$();b(0,"p-button",132),I("onClick",function(){C(e);let o=d(2);return w(o.closeEdit())}),y(),b(1,"p-button",89),I("onClick",function(){C(e);let o=d(2);return w(o.saveEdit())}),y()}}function oZ(t,i){if(t&1){let e=$();b(0,"p-dialog",128),I("onHide",function(){C(e);let o=d();return w(o.closeEdit())}),b(1,"div",129),At(2,nZ,7,4,"div",95,fi),y(),_(4,iZ,2,0,"ng-template",null,3,Ie),y()}if(t&2){let e,n=i,o=d();lt(wn(5,GY)),p("visible",!0)("modal",!0)("header",n.isNew?"Nuevo registro":"Editar "+(n.row[o.editScope==="detail"?((e=o.screen())==null||e.detail==null?null:e.detail.keyField)||"code":o.keyFieldOf(o.screen())]??"")),f(2),Nt(o.editScope==="detail"?o.detailCols():o.cols())}}var Zu=class t{api=v(Yu);rama=Y(this.detectRama());view=Y("login");loginError=Y("");busy=Y(!1);user="admin";pass="1234";workDate=this.today();theme=Y((()=>{try{return localStorage.getItem("dw-theme")||"dark"}catch(i){return"dark"}})());version=Y("");procs=Y(null);procOut=Y("");toolOpen=Y(!1);sidebarCollapsed=Y((()=>{try{return localStorage.getItem("dw-sidebar")==="1"}catch(i){return!1}})());secCollapsed=Y((()=>{try{return JSON.parse(localStorage.getItem("dw-nav-sec")||"{}")}catch(i){return{}}})());copied=Y(!1);mount=location.pathname.split("/")[1]||"portal";pcCmd="set ZWEB_FRONT="+(location.pathname.split("/")[1]||"portal")+" && FiveTech_ERP_local.exe";copyPc(){navigator.clipboard.writeText(this.pcCmd).then(()=>{this.copied.set(!0),setTimeout(()=>this.copied.set(!1),1200)})}ip=(()=>{let i=location.hostname;return!i||i==="localhost"?"127.0.0.1":i})();copiedUrl=Y(!1);get remoteUrl(){return"http://"+(this.ip.trim()||location.hostname||"127.0.0.1")+":2222/portal/"}ramaLabel(){let i=this.rama().branch;return i==="pc"?"1 \xB7 PC (escritorio)":i==="hibrida"?"2 \xB7 WebView + HTTP":"3 \xB7 Web 100%"}openExternal(i){try{i=new URL(i,location.href).href}catch(n){}let e=window.chrome?.webview;if(e){try{e.postMessage(JSON.stringify({cmd:"open",url:i}))}catch(n){}try{e.postMessage("open:"+i)}catch(n){}}fetch("/api/open-browser",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"url="+encodeURIComponent(i),credentials:"same-origin"}).catch(()=>{}),e||window.open(i,"_blank","noopener")}openRemote(){this.openExternal(this.remoteUrl)}openLocal(i){i?.preventDefault(),this.openExternal("http://127.0.0.1:2222/portal/")}openMount(i,e){i.preventDefault(),this.openExternal(e)}copyRemote(){navigator.clipboard.writeText(this.remoteUrl).then(()=>{this.copiedUrl.set(!0),setTimeout(()=>this.copiedUrl.set(!1),1200)})}ctx=Y(null);modules=Y([]);activeScreenKey=Y("");screen=Y(null);rows=Y([]);search=Y("");colFilters=Y({});selected=Y(null);pageSize=15;rowsPerPageOptions=[10,15,25,50,100];loading=Y(!1);edit=Y(null);notice=Y("");detailRows=Y([]);selectedDetail=Y(null);formIdx=Y(0);formNew=Y(!1);formDraft={};formTab=Y("all");lookups={};editScope="master";cols=te(()=>this.screen()?.grid?.columns??[]);detailCols=te(()=>this.screen()?.detail?.grid?.columns??[]);formFields=te(()=>this.screen()?.fields??[]);formTabs=te(()=>{let i=this.screen();return i?i.tabs?.length?i.tabs:[{id:"all",label:"Datos",fields:(i.fields||[]).map(e=>e.id)}]:[]});formFieldsVisible=te(()=>{let i=this.formFields(),n=(this.formTabs().find(o=>o.id===this.formTab())||this.formTabs()[0])?.fields||[];return i.filter(o=>n.includes(o.id))});detailVisible=te(()=>{let i=this.screen(),e=this.selected();if(!i?.detail||!e)return[];let n=i.detail.masterKey||this.keyFieldOf(i);return this.detailRows().filter(o=>String(o[n])===String(e[this.keyFieldOf(i)]))});filterCols=te(()=>this.cols().filter(i=>i.type==="select"&&Array.isArray(i.options)&&i.options.length));visibleRows=te(()=>{let i=this.search().toLowerCase().trim(),e=this.rows(),n=this.screen()?.searchFields??this.cols().map(r=>r.id),o=this.colFilters();return e.filter(r=>{if(i&&!n.some(a=>String(r[a]??"").toLowerCase().includes(i)))return!1;for(let[a,s]of Object.entries(o))if(s!==""&&s!=null&&String(r[a]??"")!==String(s))return!1;return!0})});setColFilter(i,e){this.colFilters.update(n=>ie(T({},n),{[i]:e}))}clearListFilters(){this.colFilters.set({}),this.search.set("")}optSelect(i){return(i||[]).map(e=>({label:e,value:e}))}companyOptions=te(()=>(this.ctx()?.companies??[]).map(i=>({label:i.name||i.code,value:i.code})));appOptions=te(()=>(this.ctx()?.apps??[]).map(i=>({label:i.label||i.id,value:i.id})));constructor(){document.documentElement.classList.toggle("p-dark",this.theme()==="dark"),document.documentElement.setAttribute("data-theme",this.theme()),this.boot()}detectRama(){let i=window,e=!!(i.chrome&&i.chrome.webview),n=typeof i.SendToFWH=="function";return{branch:e?n?"hibrida":"pc":"web",webview:e,nativeBridge:n}}today(){let i=new Date;return i.getFullYear()+"-"+String(i.getMonth()+1).padStart(2,"0")+"-"+String(i.getDate()).padStart(2,"0")}toggleTheme(){let i=this.theme()==="dark"?"light":"dark";this.theme.set(i),document.documentElement.setAttribute("data-theme",i),document.documentElement.classList.toggle("p-dark",i==="dark"),document.documentElement.classList.toggle("light",i==="light");try{localStorage.setItem("dw-theme",i)}catch(e){}}goDashboard(){location.href="/dashboard.html"}toggleSidebar(){let i=!this.sidebarCollapsed();this.sidebarCollapsed.set(i);try{localStorage.setItem("dw-sidebar",i?"1":"0")}catch(e){}}toggleSec(i){let e=T({},this.secCollapsed());e[i]=!e[i],this.secCollapsed.set(e);try{localStorage.setItem("dw-nav-sec",JSON.stringify(e))}catch(n){}}secId(i){return i.id||i.title||"sec"}isSecCollapsed(i){return!!this.secCollapsed()[i]}onWorkdate(i){this.workDate=i,this.api.cmd("workdate",i)}openProcesses(){return Ce(this,null,function*(){this.screen.set(null),this.activeScreenKey.set("__procs");let i=yield this.api.processGet();this.procs.set(i.ok?i:{items:[],handlers:[]}),this.procOut.set("")})}runProcess(i){return Ce(this,null,function*(){this.procOut.set("Ejecutando "+i.key+"\u2026");let e=yield this.api.processPost({key:i.key,params:{}});this.procOut.set(JSON.stringify(e,null,2))})}boot(){return Ce(this,null,function*(){try{let i=yield this.api.context();i.ok&&(this.ctx.set(i),yield this.enterApp())}catch(i){}})}onLogin(){return Ce(this,null,function*(){this.busy.set(!0),this.loginError.set("");try{let i=yield this.api.login(this.user.trim(),this.pass,this.workDate);if(!i.ok){this.loginError.set(i.msg||"Credenciales inv\xE1lidas");return}this.ctx.set(yield this.api.context()),yield this.enterApp()}catch(i){this.loginError.set(i?.message??"Error de red")}finally{this.busy.set(!1)}})}enterApp(){return Ce(this,null,function*(){this.view.set("app");let i=yield this.api.meta("modules"),e=i.ok?i.doc.sections??[]:[];this.modules.set(e);let n=yield this.api.meta("app"),o=n.ok?String(n.doc.version??""):"";o&&this.version.set(o);let r=e.flatMap(a=>a.items??[]).find(a=>a.screen&&!a.sub)?.screen;r&&this.openScreen(r)})}isMasterDetail(i){return!!(i&&(i.layout==="master-detail"||i.layout==="document")&&i.detail?.dataRef)}isFormScreen(i){return!!(i&&i.layout==="form"&&Array.isArray(i.fields)&&i.fields.length)}isListScreen(i){return!i||this.isMasterDetail(i)||this.isFormScreen(i)?!1:i.layout==="list"||!!(i.dataRef&&i.grid?.columns?.length)}toolbarIds(i){let e=i?.toolbar;return Array.isArray(e)&&e.length?e.map(n=>typeof n=="string"?n:n?.id||"").filter(Boolean):["add","edit","delete","refresh"]}hasTb(i){return this.toolbarIds(this.screen()).includes(i)}keyFieldOf(i){return i?.keyField||i?.grid?.columns?.[0]?.id||"code"}loadLookups(i){return Ce(this,null,function*(){for(let e of i||[])if(!(e.type!=="lookup"||!e.lookup||this.lookups[e.lookup]))try{let n=yield this.api.meta(e.lookup);if(!n.ok)continue;let o=n.doc.valueField||"code",r=n.doc.labelField||"name",a=yield this.api.dataset(n.doc.dataRef);this.lookups[e.lookup]=(a.ok?a.rows:[]).map(s=>({value:s[o],label:s[r]!=null?s[r]:s[o]}))}catch(n){this.lookups[e.lookup]=[]}})}openScreen(i){return Ce(this,null,function*(){this.procs.set(null),this.activeScreenKey.set(i),this.loading.set(!0),this.selected.set(null),this.selectedDetail.set(null),this.detailRows.set([]),this.formNew.set(!1),this.formIdx.set(0),this.search.set(""),this.colFilters.set({});try{let e=yield this.api.meta(i);if(!e.ok){this.screen.set(null);return}this.screen.set(e.doc);let n=e.doc;if(this.isMasterDetail(e.doc)){let o=yield this.api.dataset(n.dataRef),r=o.ok?o.rows:[];this.rows.set(r),this.selected.set(r[0]||null);let a=yield this.api.dataset(n.detail.dataRef);this.detailRows.set(a.ok?a.rows:[])}else if(this.isFormScreen(e.doc)){let o=yield this.api.dataset(n.dataRef),r=o.ok?o.rows:[];this.rows.set(r),this.formDraft=r[0]?T({},r[0]):{},this.formTab.set(n.tabs?.[0]?.id||"all"),yield this.loadLookups(n.fields||[])}else if(this.isListScreen(e.doc)&&e.doc.dataRef){let o=yield this.api.dataset(e.doc.dataRef);this.rows.set(o.ok?o.rows:[])}else this.rows.set([])}finally{this.loading.set(!1)}})}selectFormRow(i){this.formNew.set(!1),this.formIdx.set(i),this.formDraft=T({},this.rows()[i])}newFormRow(){this.formNew.set(!0),this.formDraft={}}setFormField(i,e){this.formDraft=ie(T({},this.formDraft),{[i]:e})}optList(i){return(i||[]).map(e=>({label:e,value:e}))}lookupOpts(i){return(this.lookups[i||""]||[]).map(e=>({label:e.label+" ("+e.value+")",value:e.value}))}saveForm(){return Ce(this,null,function*(){let i=this.screen();if(!i?.dataRef)return;let e=this.keyFieldOf(i),n=this.formNew()?{key:i.dataRef,action:"add",row:this.formDraft}:{key:i.dataRef,action:"update",keyField:e,keyValue:String(this.rows()[this.formIdx()]?.[e]),row:this.formDraft},o=yield this.api.datasetPost(n);this.notice.set(o.ok?"Guardado":o.msg??"Error"),o.ok&&(yield this.openScreen(i.id))})}delForm(){return Ce(this,null,function*(){if(this.formNew())return;let i=this.screen(),e=this.rows()[this.formIdx()];if(!i?.dataRef||!e)return;let n=this.keyFieldOf(i);if(!confirm("\xBFEliminar "+e[n]+"?"))return;let o=yield this.api.datasetPost({key:i.dataRef,action:"delete",keyField:n,keyValue:String(e[n])});this.notice.set(o.ok?"Eliminado":o.msg??"Error"),o.ok&&(yield this.openScreen(i.id))})}onCompanyChange(i){this.switchCmd("company",i)}onAppChange(i){this.switchCmd("app",i)}switchCmd(i,e){return Ce(this,null,function*(){let n=yield this.api.cmd(i,e);n.ok?(this.ctx.set(yield this.api.context()),yield this.enterApp()):this.notice.set(n.msg??"No autorizado")})}openNew(i="master"){this.editScope=i;let e={};if(i==="detail"&&this.selected()){let n=this.screen(),o=n?.detail?.masterKey||this.keyFieldOf(n);e[o]=this.selected()[this.keyFieldOf(n)]}this.edit.set({isNew:!0,row:e})}openEdit(i,e="master"){let n=i??(e==="detail"?this.selectedDetail():this.selected());n&&(this.editScope=e,this.edit.set({isNew:!1,row:T({},n)}))}openEditDetail(i){this.openEdit(i,"detail")}deleteDetail(){return Ce(this,null,function*(){let i=this.screen(),e=this.selectedDetail();if(!i?.detail||!e)return;let n=i.detail.keyField||"code";if(!confirm("\xBFEliminar "+e[n]+"?"))return;let o=yield this.api.datasetPost({key:i.detail.dataRef,action:"delete",keyField:n,keyValue:String(e[n])});this.notice.set(o.ok?"Eliminado":o.msg??"Error"),o.ok&&(yield this.openScreen(i.id))})}closeEdit(){this.edit.set(null)}saveEdit(){return Ce(this,null,function*(){let i=this.edit(),e=this.screen();if(!i||!e)return;let n=this.editScope==="detail"?e.detail?.dataRef:e.dataRef,o=this.editScope==="detail"?e.detail?.keyField||"code":this.keyFieldOf(e);if(!n)return;let r=i.isNew?{key:n,action:"add",row:i.row}:{key:n,action:"update",keyField:o,keyValue:String(i.row[o]),row:i.row},a=yield this.api.datasetPost(r);this.notice.set(a.ok?"Guardado":a.msg??"Error al guardar"),a.ok&&(this.edit.set(null),yield this.openScreen(e.id))})}deleteSelected(){return Ce(this,null,function*(){let i=this.screen(),e=this.selected();if(!i?.dataRef||!e)return;let n=this.keyFieldOf(i);if(!confirm("\xBFEliminar "+e[n]+"?"))return;let o=yield this.api.datasetPost({key:i.dataRef,action:"delete",keyField:n,keyValue:String(e[n])});this.notice.set(o.ok?"Eliminado":o.msg??"Error"),o.ok&&(yield this.openScreen(i.id))})}exportExcel(){let i=this.screen(),e=this.cols(),n=this.visibleRows();if(!i||!e.length)return;let o=l=>{let c=l==null?"":String(l);return/[",\n\r]/.test(c)?'"'+c.replace(/"/g,'""')+'"':c},r=[e.map(l=>o(l.label||l.id)).join(",")];n.forEach(l=>r.push(e.map(c=>o(l[c.id])).join(",")));let a=new Blob(["\uFEFF"+r.join(`\r +`)],{type:"text/csv;charset=utf-8;"}),s=document.createElement("a");s.href=URL.createObjectURL(a),s.download=String(i.title||i.id).replace(/[^A-Za-z0-9_\-]+/g,"_")+".csv",s.click(),URL.revokeObjectURL(s.href),this.notice.set("Excel/CSV exportado ("+n.length+" filas)")}printList(){let i=this.screen(),e=this.cols(),n=this.visibleRows();if(!i)return;let o=window.open("","_blank");if(!o){window.print();return}let r=e.map(s=>""+(s.label||s.id)+"").join(""),a=n.map(s=>""+e.map(l=>""+this.fmt(s[l.id],l)+"").join("")+"").join("");o.document.write(""+(i.title||"")+"

"+(i.title||"")+"

"+r+""+a+"
"),o.document.close(),setTimeout(()=>{try{o.print()}catch(s){}},250)}logout(){return Ce(this,null,function*(){yield this.api.cmd("logout"),this.ctx.set(null),this.modules.set([]),this.screen.set(null),this.view.set("login")})}fmt(i,e){return e.type==="money"||e.format==="money"?i==null||i===""?"":Number(i).toLocaleString("es",{minimumFractionDigits:2,maximumFractionDigits:2}):e.type==="checkbox"?i?"S\xED":"":i==null?"":String(i)}setField(i,e){let n=this.edit();n&&(n.row[i]=e)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=H({type:t,selectors:[["app-root"]],decls:3,vars:2,consts:[["header",""],["body",""],["emptymessage",""],["footer",""],[1,"login-wrap"],[1,"app"],[3,"visible","modal","header","style"],["type","button",1,"theme-fab",3,"click"],[1,"login-card"],[1,"login-brand"],[1,"login-sub"],[3,"submit"],["pInputText","","name","user","autocomplete","username",3,"ngModelChange","ngModel"],["pInputText","","type","password","name","pass","autocomplete","current-password",3,"ngModelChange","ngModel"],["pInputText","","type","date","name","workdate",3,"ngModelChange","ngModel"],["type","submit","label","Entrar","styleClass","w-full mt-4",3,"loading"],[1,"login-error"],["type","button",1,"tool-toggle",3,"click"],[1,"tool-panel"],[1,"tool-row"],[1,"tool-note"],["href","/login",3,"click"],[1,"tool-links"],["href","/portal/",3,"click"],["href","/web-vanilla/index.html",3,"click"],["href","/web-angular/index.html",3,"click"],["href","/web-react/index.html",3,"click"],["href","/web-vue/index.html",3,"click"],["name","toolip","placeholder","ej. 192.168.1.20",1,"tool-ip",3,"ngModelChange","ngModel"],["type","button",1,"btn",3,"click"],[1,"topbar"],[1,"topbar-left"],["type","button",1,"btn-icon-bar",3,"click","title"],[1,"brand"],["severity","info",3,"value"],["type","button","title","Ir al dashboard FWH",1,"btn-ghost","btn-dash",3,"click"],[1,"topbar-right"],["placeholder","Empresa",3,"onChange","options","ngModel","disabled"],["placeholder","App",3,"onChange","options","ngModel","disabled"],[1,"user-chip"],["type","date",1,"wd",3,"change","value"],["severity","secondary",3,"onClick","label","outlined"],["label","Salir","severity","secondary",3,"onClick","outlined"],[1,"body"],["aria-label","M\xF3dulos",1,"sidebar"],[1,"nav-pin"],["type","button",1,"nav-item","dash",3,"click"],[1,"nav-group",3,"collapsed"],[1,"nav-group"],["type","button",1,"nav-section",3,"click"],[1,"chev"],[1,"nav-group-body"],["type","button",1,"nav-item",3,"click"],[1,"main"],[1,"empty"],["type","button",1,"nav-item",3,"sub","active"],[1,"screen-head"],[1,"head-title"],["severity","contrast",3,"value"],[1,"proc-list"],[1,"proc-row"],[1,"proc-out"],[1,"proc-sub"],["label","Ejecutar","severity","secondary",3,"onClick","outlined"],[1,"toolbar"],[1,"notice"],[1,"form-layout"],[1,"md-layout"],["pInputText","","placeholder","Buscar\u2026",1,"search",3,"ngModelChange","ngModel"],["label","Nuevo","icon","pi pi-plus"],["label","Editar","icon","pi pi-pencil","severity","secondary",3,"outlined","disabled"],["label","Eliminar","icon","pi pi-trash","severity","danger",3,"outlined","disabled"],["label","Imprimir","icon","pi pi-print","severity","secondary",3,"outlined"],["label","PDF","icon","pi pi-file-pdf","severity","secondary",3,"outlined"],["label","Excel","icon","pi pi-file-excel","severity","secondary",3,"outlined"],["label","Refrescar","icon","pi pi-refresh","severity","secondary",3,"outlined"],[1,"rowcount"],["label","Nuevo","icon","pi pi-plus",3,"onClick"],["label","Editar","icon","pi pi-pencil","severity","secondary",3,"onClick","outlined","disabled"],["label","Eliminar","icon","pi pi-trash","severity","danger",3,"onClick","outlined","disabled"],["label","Imprimir","icon","pi pi-print","severity","secondary",3,"onClick","outlined"],["label","PDF","icon","pi pi-file-pdf","severity","secondary",3,"onClick","outlined"],["label","Excel","icon","pi pi-file-excel","severity","secondary",3,"onClick","outlined"],["label","Refrescar","icon","pi pi-refresh","severity","secondary",3,"onClick","outlined"],[1,"form-nav"],[1,"form-nav-title"],["type","button",1,"form-nav-item",3,"active"],[1,"form-main"],[1,"toolbar",2,"padding","8px 12px"],["label","Guardar","icon","pi pi-check",3,"onClick"],["label","Eliminar","severity","danger",3,"outlined","disabled"],["label","Refrescar","severity","secondary",3,"outlined"],[1,"form-tabs"],["type","button",1,"form-tab",3,"active"],[1,"form","form-body"],[1,"field",3,"chk"],["type","button",1,"form-nav-item",3,"click"],["label","Eliminar","severity","danger",3,"onClick","outlined","disabled"],["label","Refrescar","severity","secondary",3,"onClick","outlined"],["type","button",1,"form-tab",3,"click"],[1,"field"],[3,"binary","ngModel"],[3,"options","ngModel"],["mode","decimal",3,"ngModel","minFractionDigits"],["pInputText","",3,"ngModel","readonly"],[3,"ngModelChange","binary","ngModel"],[3,"onChange","options","ngModel"],["mode","decimal",3,"ngModelChange","ngModel","minFractionDigits"],["pInputText","",3,"ngModelChange","ngModel","readonly"],[1,"md-master"],[1,"md-head"],["label","Editar",3,"outlined","disabled"],["selectionMode","single","scrollHeight","28vh",3,"selectionChange","onRowDblClick","value","selection","dataKey","scrollable"],[1,"md-detail"],["label","L\xEDnea","icon","pi pi-plus",3,"onClick","disabled"],["label","Editar",3,"onClick","outlined","disabled"],[3,"pSelectableRow"],[1,"list-filters"],["scrollHeight","flex","selectionMode","single","currentPageReportTemplate","{first}\u2013{last} de {totalRecords}",3,"selectionChange","onRowDblClick","value","rows","rowsPerPageOptions","paginator","sortMode","scrollable","selection","dataKey","showCurrentPageReport"],[1,"filter-chip"],[3,"ngModelChange","ngModel"],["value",""],[3,"value"],[3,"pSortableColumn","right"],[3,"pSortableColumn"],[3,"field"],[3,"right"],[1,"empty-cell"],[3,"onHide","visible","modal","header"],[1,"form"],["mode","decimal",3,"ngModel","minFractionDigits","maxFractionDigits"],["mode","decimal",3,"ngModelChange","ngModel","minFractionDigits","maxFractionDigits"],["label","Cancelar","severity","secondary",3,"onClick"]],template:function(e,n){if(e&1&&(_e(0,ZY,24,7,"div",4)(1,ZQ,40,25,"div",5),_e(2,oZ,6,6,"p-dialog",6)),e&2){let o;ve(n.view()==="login"?0:1),f(2),ve((o=n.edit())?2:-1,o)}},dependencies:[Eo,tT,iT,rT,Eu,Su,xa,Yx,gr,zm,Ou,So,cE,Sa,aE,lE,sE,Pu,ko,Hu,Ea,Uu,Ia,Fu,Nu,mE,a0,vE,s0],styles:["[_nghost-%COMP%]{display:block;height:100vh}.login-wrap[_ngcontent-%COMP%]{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 600px at 50% -10%,#16233b 0%,var(--bg, #0e1116) 60%)}.login-card[_ngcontent-%COMP%]{width:360px;background:#161b23;border:1px solid #2a3342;border-radius:14px;padding:28px;box-shadow:0 20px 60px #00000073}.login-brand[_ngcontent-%COMP%]{font-size:22px;font-weight:600}.login-sub[_ngcontent-%COMP%]{color:#8b98ab;font-size:12px;margin:4px 0 20px}.login-card[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;color:#8b98ab;font-size:12px;margin:12px 0 4px}.login-card[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%}.login-card[_ngcontent-%COMP%] p-button[_ngcontent-%COMP%]{display:block;margin-top:16px}.login-error[_ngcontent-%COMP%]{color:#ef4444;font-size:12px;margin-top:10px;min-height:14px}.app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100vh;background:#0e1116;color:#e6ebf2}.topbar[_ngcontent-%COMP%]{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#161b23;border-bottom:1px solid #2a3342}.brand[_ngcontent-%COMP%]{font-weight:600;font-size:15px}.topbar-right[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.user-chip[_ngcontent-%COMP%]{color:#8b98ab;font-size:12px;margin:0 6px}.body[_ngcontent-%COMP%]{flex:1;display:flex;min-height:0;position:relative}.topbar-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px}.btn-icon-bar[_ngcontent-%COMP%]{background:#1e2530;color:#e6ebf2;border:1px solid #2a3342;border-radius:8px;width:36px;height:34px;cursor:pointer;font-size:16px;line-height:1;flex-shrink:0}.btn-icon-bar[_ngcontent-%COMP%]:hover{border-color:#3b82f6}.btn-ghost[_ngcontent-%COMP%]{background:none;border:1px solid #2a3342;color:#e6ebf2;border-radius:7px;padding:5px 12px;cursor:pointer;font-size:12.5px}.btn-ghost[_ngcontent-%COMP%]:hover{border-color:#3b82f6}.btn-dash[_ngcontent-%COMP%]{font-size:12.5px}.sidebar[_ngcontent-%COMP%]{width:240px;min-width:240px;background:#161b23;border-right:1px solid #2a3342;overflow-x:hidden;overflow-y:auto;padding:10px 8px;transition:width .2s ease,min-width .2s ease,padding .2s ease,opacity .15s ease;flex-shrink:0}.body.sidebar-collapsed[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%]{width:0;min-width:0;padding:0;border:0;opacity:0;pointer-events:none}.nav-pin[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #2a3342}.nav-group[_ngcontent-%COMP%]{margin-bottom:2px}.nav-section[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;text-align:left;background:none;border:0;color:#8b98ab;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:12px 10px 4px;cursor:pointer;border-radius:6px}.nav-section[_ngcontent-%COMP%]:hover{color:#e6ebf2;background:#1e2530}.nav-section[_ngcontent-%COMP%] .chev[_ngcontent-%COMP%]{font-size:10px;opacity:.75;transition:transform .15s}.nav-group.collapsed[_ngcontent-%COMP%] .nav-section[_ngcontent-%COMP%] .chev[_ngcontent-%COMP%]{transform:rotate(-90deg)}.nav-group.collapsed[_ngcontent-%COMP%] .nav-group-body[_ngcontent-%COMP%]{display:none}.nav-item[_ngcontent-%COMP%]{display:block;width:100%;text-align:left;background:none;border:0;color:#e6ebf2;padding:7px 10px;border-radius:7px;cursor:pointer;font-size:13px}.nav-item[_ngcontent-%COMP%]:hover{background:#1e2530}.nav-item.active[_ngcontent-%COMP%]{background:var(--p-button-primary-background, #3b82f6);color:#fff}.nav-item.sub[_ngcontent-%COMP%]{padding-left:24px;color:#8b98ab}.nav-item.dash[_ngcontent-%COMP%]{color:#3b82f6;font-weight:500}@media(max-width:720px){.sidebar[_ngcontent-%COMP%]{position:absolute;z-index:30;height:calc(100% - 56px);box-shadow:8px 0 24px #00000059}.body.sidebar-collapsed[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%]{box-shadow:none}}.main[_ngcontent-%COMP%]{flex:1;overflow:auto;padding:18px 22px;display:flex;flex-direction:column;gap:12px}.loading[_ngcontent-%COMP%], .empty[_ngcontent-%COMP%]{color:#8b98ab;padding:40px;text-align:center}.empty[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{color:#e6ebf2}.notice[_ngcontent-%COMP%]{color:#8b98ab;font-size:12px}.screen-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.head-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px}.head-title[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:19px;margin:0}.toolbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search[_ngcontent-%COMP%]{width:240px}.rowcount[_ngcontent-%COMP%]{color:#8b98ab;font-size:12px}th.right[_ngcontent-%COMP%], td.right[_ngcontent-%COMP%]{text-align:right}.list-filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;padding:10px 12px;background:#161b23;border:1px solid #2a3342;border-radius:10px}.filter-chip[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#8b98ab}.filter-chip[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{background:#1e2530;color:#e6ebf2;border:1px solid #2a3342;border-radius:7px;padding:6px 8px;min-width:120px}.btn[_ngcontent-%COMP%]{background:#1e2530;color:#e6ebf2;border:1px solid #2a3342;border-radius:8px;padding:7px 13px;cursor:pointer;font-size:13px}.empty-cell[_ngcontent-%COMP%]{text-align:center!important;color:#8b98ab;padding:28px!important}.form[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.form-layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:240px 1fr;flex:1;min-height:0;border:1px solid #2a3342;border-radius:10px;overflow:hidden}.form-nav[_ngcontent-%COMP%]{border-right:1px solid #2a3342;background:#161b23;overflow:auto;max-height:calc(100vh - 140px)}.form-nav-title[_ngcontent-%COMP%]{padding:10px 12px;font-size:12px;color:#8b98ab;font-weight:600;border-bottom:1px solid #2a3342}.form-nav-item[_ngcontent-%COMP%]{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #2a3342;color:#e6ebf2;padding:10px 12px;cursor:pointer;font-size:12.5px}.form-nav-item.active[_ngcontent-%COMP%], .form-nav-item[_ngcontent-%COMP%]:hover{background:#1e2530}.form-main[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:0;overflow:auto}.form-tabs[_ngcontent-%COMP%]{display:flex;gap:4px;padding:10px 12px 0;flex-wrap:wrap;border-bottom:1px solid #2a3342}.form-tab[_ngcontent-%COMP%]{background:none;border:1px solid transparent;color:#8b98ab;padding:8px 12px;border-radius:8px 8px 0 0;cursor:pointer;font-size:12.5px}.form-tab.active[_ngcontent-%COMP%]{background:#161b23;color:#e6ebf2;border-color:#2a3342}.form-body[_ngcontent-%COMP%]{padding:16px}.md-layout[_ngcontent-%COMP%]{display:grid;grid-template-rows:1fr 1fr;gap:10px;flex:1;min-height:0}.md-master[_ngcontent-%COMP%], .md-detail[_ngcontent-%COMP%]{border:1px solid #2a3342;border-radius:10px;overflow:hidden;background:#161b23}.md-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;flex-wrap:wrap;border-bottom:1px solid #2a3342}.field[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;color:#8b98ab;font-size:12px;margin-bottom:4px}.field[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .field[_ngcontent-%COMP%] p-select[_ngcontent-%COMP%], .field[_ngcontent-%COMP%] p-inputnumber[_ngcontent-%COMP%]{width:100%}.field.chk[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.field.chk[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{margin:0}.theme-fab[_ngcontent-%COMP%]{position:fixed;top:14px;right:14px;z-index:60;background:#161b23;color:#e6ebf2;border:1px solid #2a3342;border-radius:999px;padding:6px 14px;cursor:pointer}[data-theme=light][_ngcontent-%COMP%] .theme-fab[_ngcontent-%COMP%]{background:#fff;color:#0f172a;border-color:#cbd5e1}input.wd[_ngcontent-%COMP%], .topbar[_ngcontent-%COMP%] input[type=date][_ngcontent-%COMP%]{background:#1e2530;color:#e6ebf2;border:1px solid #2a3342;border-radius:7px;padding:5px 8px}[data-theme=light][_ngcontent-%COMP%] input.wd[_ngcontent-%COMP%], [data-theme=light][_ngcontent-%COMP%] .topbar[_ngcontent-%COMP%] input[type=date][_ngcontent-%COMP%]{background:#e2e8f0;color:#0f172a;border-color:#cbd5e1}.proc-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;max-width:720px}.proc-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#161b23;border:1px solid #2a3342;border-radius:10px;padding:10px 14px}[data-theme=light][_ngcontent-%COMP%] .proc-row[_ngcontent-%COMP%]{background:#fff;border-color:#cbd5e1}.proc-sub[_ngcontent-%COMP%]{color:#8b98ab;font-size:12px}.proc-out[_ngcontent-%COMP%]{margin-top:14px;background:#161b23;border:1px solid #2a3342;border-radius:8px;padding:12px;min-height:60px;max-height:320px;overflow:auto;font-size:12px}[data-theme=light][_ngcontent-%COMP%] .proc-out[_ngcontent-%COMP%]{background:#fff;border-color:#cbd5e1;color:#0f172a}[data-theme=light][_ngcontent-%COMP%] .app[_ngcontent-%COMP%]{background:#f1f5f9;color:#0f172a}[data-theme=light][_ngcontent-%COMP%] .topbar[_ngcontent-%COMP%], [data-theme=light][_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%]{background:#fff;border-color:#cbd5e1}[data-theme=light][_ngcontent-%COMP%] .nav-item[_ngcontent-%COMP%]{color:#0f172a}[data-theme=light][_ngcontent-%COMP%] .nav-section[_ngcontent-%COMP%], [data-theme=light][_ngcontent-%COMP%] .user-chip[_ngcontent-%COMP%], [data-theme=light][_ngcontent-%COMP%] .empty[_ngcontent-%COMP%], [data-theme=light][_ngcontent-%COMP%] .loading[_ngcontent-%COMP%]{color:#64748b}[data-theme=light][_ngcontent-%COMP%] .main[_ngcontent-%COMP%]{background:#f1f5f9}.tool-toggle[_ngcontent-%COMP%]{width:100%;margin-top:10px;background:none;border:1px dashed #2a3342;color:#8b98ab;border-radius:8px;padding:7px;cursor:pointer;font-size:12.5px}[data-theme=light][_ngcontent-%COMP%] .tool-toggle[_ngcontent-%COMP%]{border-color:#cbd5e1;color:#64748b}.tool-panel[_ngcontent-%COMP%]{margin-top:12px;border-top:1px solid #2a3342;padding-top:12px;display:flex;flex-direction:column;gap:10px;text-align:left}.tool-row[_ngcontent-%COMP%]{font-size:12px;color:#8b98ab;display:flex;flex-direction:column;gap:5px}.tool-row[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{color:#e6ebf2}.tool-row[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:#1e2530;border:1px solid #2a3342;border-radius:6px;padding:4px 7px;font-size:11px;color:#e6ebf2;word-break:break-all}[data-theme=light][_ngcontent-%COMP%] .tool-row[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:#e2e8f0;color:#0f172a;border-color:#cbd5e1}.tool-links[_ngcontent-%COMP%]{display:flex;gap:8px;flex-wrap:wrap}.tool-links[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#3b82f6;text-decoration:none;border:1px solid #2a3342;border-radius:999px;padding:2px 10px;font-size:12px}.tool-row[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{align-self:flex-start;padding:4px 10px;font-size:11.5px;background:#1e2530;border:1px solid #2a3342;color:#e6ebf2;border-radius:7px;cursor:pointer}.tool-ip[_ngcontent-%COMP%]{background:#1e2530;border:1px solid #2a3342;color:#e6ebf2;border-radius:999px;padding:3px 10px;font-size:12px;width:130px}[data-theme=light][_ngcontent-%COMP%] .tool-ip[_ngcontent-%COMP%]{background:#e2e8f0;color:#0f172a;border-color:#cbd5e1}.tool-note[_ngcontent-%COMP%]{font-size:11px;opacity:.8}"]})};Dg(Zu,Ox).catch(t=>console.error(t)); diff --git a/samples/projects/FiveTech_ERP/www/web-angular/polyfills-RV3JTMEC.js b/samples/projects/FiveTech_ERP/www/web-angular/polyfills-RV3JTMEC.js new file mode 100644 index 0000000..37d1d08 --- /dev/null +++ b/samples/projects/FiveTech_ERP/www/web-angular/polyfills-RV3JTMEC.js @@ -0,0 +1,2 @@ +var Tt=Object.defineProperty,Et=Object.defineProperties,pt=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,yt=Object.prototype.propertyIsEnumerable,Ie=(t,e,c)=>e in t?Tt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:c}):t[e]=c,Je=(t,e)=>{for(var c in e||(e={}))gt.call(e,c)&&Ie(t,c,e[c]);if($e)for(var c of $e(e))yt.call(e,c)&&Ie(t,c,e[c]);return t},mt=(t,e)=>Et(t,pt(e)),S=(t,e,c)=>(Ie(t,typeof e!="symbol"?e+"":e,c),c),te=globalThis;function ne(t){return(te.__Zone_symbol_prefix||"__zone_symbol__")+t}function kt(){let t=te.performance;function e(x){t&&t.mark&&t.mark(x)}function c(x,r){t&&t.measure&&t.measure(x,r)}e("Zone");let n=class Me{constructor(r,o){S(this,"_parent"),S(this,"_name"),S(this,"_properties"),S(this,"_zoneDelegate"),this._parent=r,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,o)}static assertZonePatched(){if(te.Promise!==M.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let r=Me.current;for(;r.parent;)r=r.parent;return r}static get current(){return U.zone}static get currentTask(){return ee}static __load_patch(r,o,i=!1){if(M.hasOwnProperty(r)){let g=te[ne("forceDuplicateZoneCheck")]===!0;if(!i&&g)throw Error("Already loaded patch: "+r)}else if(!te["__Zone_disable_"+r]){let g="Zone:"+r;e(g),M[r]=o(te,Me,C),c(g,g)}}get parent(){return this._parent}get name(){return this._name}get(r){let o=this.getZoneWith(r);if(o)return o._properties[r]}getZoneWith(r){let o=this;for(;o;){if(o._properties.hasOwnProperty(r))return o;o=o._parent}return null}fork(r){if(!r)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,r)}wrap(r,o){if(typeof r!="function")throw new Error("Expecting function got: "+r);let i=this._zoneDelegate.intercept(this,r,o),g=this;return function(){return g.runGuarded(i,this,arguments,o)}}run(r,o,i,g){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,r,o,i,g)}finally{U=U.parent}}runGuarded(r,o=null,i,g){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,r,o,i,g)}catch(k){if(this._zoneDelegate.handleError(this,k))throw k}}finally{U=U.parent}}runTask(r,o,i){if(r.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(r.zone||P).name+"; Execution: "+this.name+")");let g=r,{type:k,data:{isPeriodic:re=!1,isRefreshable:se=!1}={}}=r;if(r.state===_&&(k===w||k===O))return;let ie=r.state!=V;ie&&g._transitionTo(V,F);let pe=ee;ee=g,U={parent:U,zone:this};try{k==O&&r.data&&!re&&!se&&(r.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,g,o,i)}catch(h){if(this._zoneDelegate.handleError(this,h))throw h}}finally{let h=r.state;if(h!==_&&h!==E)if(k==w||re||se&&h===H)ie&&g._transitionTo(F,V,H);else{let l=g._zoneDelegates;this._updateTaskCount(g,-1),ie&&g._transitionTo(_,V,_),se&&(g._zoneDelegates=l)}U=U.parent,ee=pe}}scheduleTask(r){if(r.zone&&r.zone!==this){let i=this;for(;i;){if(i===r.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${r.zone.name}`);i=i.parent}}r._transitionTo(H,_);let o=[];r._zoneDelegates=o,r._zone=this;try{r=this._zoneDelegate.scheduleTask(this,r)}catch(i){throw r._transitionTo(E,H,_),this._zoneDelegate.handleError(this,i),i}return r._zoneDelegates===o&&this._updateTaskCount(r,1),r.state==H&&r._transitionTo(F,H),r}scheduleMicroTask(r,o,i,g){return this.scheduleTask(new d(q,r,o,i,g,void 0))}scheduleMacroTask(r,o,i,g,k){return this.scheduleTask(new d(O,r,o,i,g,k))}scheduleEventTask(r,o,i,g,k){return this.scheduleTask(new d(w,r,o,i,g,k))}cancelTask(r){if(r.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(r.zone||P).name+"; Execution: "+this.name+")");if(!(r.state!==F&&r.state!==V)){r._transitionTo(G,F,V);try{this._zoneDelegate.cancelTask(this,r)}catch(o){throw r._transitionTo(E,G),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(r,-1),r._transitionTo(_,G),r.runCount=-1,r}}_updateTaskCount(r,o){let i=r._zoneDelegates;o==-1&&(r._zoneDelegates=null);for(let g=0;gx.hasTask(o,i),onScheduleTask:(x,r,o,i)=>x.scheduleTask(o,i),onInvokeTask:(x,r,o,i,g,k)=>x.invokeTask(o,i,g,k),onCancelTask:(x,r,o,i)=>x.cancelTask(o,i)};class v{constructor(r,o,i){S(this,"_zone"),S(this,"_taskCounts",{microTask:0,macroTask:0,eventTask:0}),S(this,"_forkDlgt"),S(this,"_forkZS"),S(this,"_forkCurrZone"),S(this,"_interceptDlgt"),S(this,"_interceptZS"),S(this,"_interceptCurrZone"),S(this,"_invokeDlgt"),S(this,"_invokeZS"),S(this,"_invokeCurrZone"),S(this,"_handleErrorDlgt"),S(this,"_handleErrorZS"),S(this,"_handleErrorCurrZone"),S(this,"_scheduleTaskDlgt"),S(this,"_scheduleTaskZS"),S(this,"_scheduleTaskCurrZone"),S(this,"_invokeTaskDlgt"),S(this,"_invokeTaskZS"),S(this,"_invokeTaskCurrZone"),S(this,"_cancelTaskDlgt"),S(this,"_cancelTaskZS"),S(this,"_cancelTaskCurrZone"),S(this,"_hasTaskDlgt"),S(this,"_hasTaskDlgtOwner"),S(this,"_hasTaskZS"),S(this,"_hasTaskCurrZone"),this._zone=r,this._forkZS=i&&(i&&i.onFork?i:o._forkZS),this._forkDlgt=i&&(i.onFork?o:o._forkDlgt),this._forkCurrZone=i&&(i.onFork?this._zone:o._forkCurrZone),this._interceptZS=i&&(i.onIntercept?i:o._interceptZS),this._interceptDlgt=i&&(i.onIntercept?o:o._interceptDlgt),this._interceptCurrZone=i&&(i.onIntercept?this._zone:o._interceptCurrZone),this._invokeZS=i&&(i.onInvoke?i:o._invokeZS),this._invokeDlgt=i&&(i.onInvoke?o:o._invokeDlgt),this._invokeCurrZone=i&&(i.onInvoke?this._zone:o._invokeCurrZone),this._handleErrorZS=i&&(i.onHandleError?i:o._handleErrorZS),this._handleErrorDlgt=i&&(i.onHandleError?o:o._handleErrorDlgt),this._handleErrorCurrZone=i&&(i.onHandleError?this._zone:o._handleErrorCurrZone),this._scheduleTaskZS=i&&(i.onScheduleTask?i:o._scheduleTaskZS),this._scheduleTaskDlgt=i&&(i.onScheduleTask?o:o._scheduleTaskDlgt),this._scheduleTaskCurrZone=i&&(i.onScheduleTask?this._zone:o._scheduleTaskCurrZone),this._invokeTaskZS=i&&(i.onInvokeTask?i:o._invokeTaskZS),this._invokeTaskDlgt=i&&(i.onInvokeTask?o:o._invokeTaskDlgt),this._invokeTaskCurrZone=i&&(i.onInvokeTask?this._zone:o._invokeTaskCurrZone),this._cancelTaskZS=i&&(i.onCancelTask?i:o._cancelTaskZS),this._cancelTaskDlgt=i&&(i.onCancelTask?o:o._cancelTaskDlgt),this._cancelTaskCurrZone=i&&(i.onCancelTask?this._zone:o._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;let g=i&&i.onHasTask,k=o&&o._hasTaskZS;(g||k)&&(this._hasTaskZS=g?i:u,this._hasTaskDlgt=o,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,i.onScheduleTask||(this._scheduleTaskZS=u,this._scheduleTaskDlgt=o,this._scheduleTaskCurrZone=this._zone),i.onInvokeTask||(this._invokeTaskZS=u,this._invokeTaskDlgt=o,this._invokeTaskCurrZone=this._zone),i.onCancelTask||(this._cancelTaskZS=u,this._cancelTaskDlgt=o,this._cancelTaskCurrZone=this._zone))}get zone(){return this._zone}fork(r,o){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,r,o):new a(r,o)}intercept(r,o,i){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,r,o,i):o}invoke(r,o,i,g,k){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,r,o,i,g,k):o.apply(i,g)}handleError(r,o){return this._handleErrorZS?this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,r,o):!0}scheduleTask(r,o){let i=o;if(this._scheduleTaskZS)this._hasTaskZS&&i._zoneDelegates.push(this._hasTaskDlgtOwner),i=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,r,o),i||(i=o);else if(o.scheduleFn)o.scheduleFn(o);else if(o.type==q)Q(o);else throw new Error("Task is missing scheduleFn.");return i}invokeTask(r,o,i,g){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,r,o,i,g):o.callback.apply(i,g)}cancelTask(r,o){let i;if(this._cancelTaskZS)i=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,r,o);else{if(!o.cancelFn)throw Error("Task is not cancelable");i=o.cancelFn(o)}return i}hasTask(r,o){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,r,o)}catch(i){this.handleError(r,i)}}_updateTaskCount(r,o){let i=this._taskCounts,g=i[r],k=i[r]=g+o;if(k<0)throw new Error("More tasks executed then were scheduled.");if(g==0||k==0){let re={microTask:i.microTask>0,macroTask:i.macroTask>0,eventTask:i.eventTask>0,change:r};this.hasTask(this._zone,re)}}}class d{constructor(r,o,i,g,k,re){if(S(this,"type"),S(this,"source"),S(this,"invoke"),S(this,"callback"),S(this,"data"),S(this,"scheduleFn"),S(this,"cancelFn"),S(this,"_zone",null),S(this,"runCount",0),S(this,"_zoneDelegates",null),S(this,"_state","notScheduled"),this.type=r,this.source=o,this.data=g,this.scheduleFn=k,this.cancelFn=re,!i)throw new Error("callback is not defined");this.callback=i;let se=this;r===w&&g&&g.useG?this.invoke=d.invokeTask:this.invoke=function(){return d.invokeTask.call(te,se,this,arguments)}}static invokeTask(r,o,i){r||(r=this),K++;try{return r.runCount++,r.zone.runTask(r,o,i)}finally{K===1&&!te[D]&&$(),K--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(_,H)}_transitionTo(r,o,i){if(this._state===o||this._state===i)this._state=r,r==_&&(this._zoneDelegates=null);else throw new Error(`${this.type} '${this.source}': can not transition to '${r}', expecting state '${o}'${i?" or '"+i+"'":""}, was '${this._state}'.`)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}let m=ne("setTimeout"),R=ne("Promise"),p=ne("then"),D=ne("enable_native_microtask_draining"),Z=[],j=!1,Y;function W(x){var r;!Y&&te[R]&&(Y=te[R].resolve(0)),Y?((r=Y[p])!=null?r:Y.then).call(Y,x):te[m](x,0)}function Q(x){let r=te[D],o=r&&Z.length===0&&!j,i=!r&&K===0&&Z.length===0;(o||i)&&W($),x&&Z.push(x)}function $(){if(!j){for(j=!0;Z.length;){let x=Z;Z=[];for(let r of x)try{r.zone.runTask(r,null,null)}catch(o){C.onUnhandledError(o)}}te[D]?(j=!1,C.microtaskDrainDone()):(C.microtaskDrainDone(),j=!1)}}let P={name:"NO ZONE"},_="notScheduled",H="scheduling",F="scheduled",V="running",G="canceling",E="unknown",q="microTask",O="macroTask",w="eventTask",M={},C={symbol:ne,currentZoneFrame:()=>U,onUnhandledError:X,microtaskDrainDone:X,scheduleMicroTask:Q,showUncaughtError:()=>!a[ne("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:X,patchMethod:()=>X,bindArguments:()=>[],patchThen:()=>X,patchMacroTask:()=>X,patchEventPrototype:()=>X,getGlobalObjects:()=>{},ObjectDefineProperty:()=>X,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>X,wrapWithCurrentZone:()=>X,filterProperties:()=>[],attachOriginToPatched:()=>X,_redefineProperty:()=>X,patchCallbacks:()=>X,nativeScheduleMicroTask:W},U={parent:null,zone:new a(null,null)},ee=null,K=0;function X(){}return c("Zone","Zone"),a}function vt(){var t;let e=globalThis,c=e[ne("forceDuplicateZoneCheck")]===!0;if(e.Zone&&(c||typeof e.Zone.__symbol__!="function"))throw new Error("Zone already loaded.");return(t=e.Zone)!=null||(e.Zone=kt()),e.Zone}var ve=Object.getOwnPropertyDescriptor,Ae=Object.defineProperty,He=Object.getPrototypeOf,bt=Object.create,Pt=Array.prototype.slice,Fe="addEventListener",Ve="removeEventListener",Ze=ne(Fe),Le=ne(Ve),he="true",fe="false",be=ne("");function Ge(t,e){return Zone.current.wrap(t,e)}function xe(t,e,c,n,a){return Zone.current.scheduleMacroTask(t,e,c,n,a)}var A=ne,De=typeof window<"u",Se=De?window:void 0,J=De&&Se||globalThis,wt="removeAttribute";function Be(t,e){for(let c=t.length-1;c>=0;c--)typeof t[c]=="function"&&(t[c]=Ge(t[c],e+"_"+c));return t}function Rt(t,e){let c=t.constructor.name;for(let n=0;n{let m=function(){return d.apply(this,Be(arguments,c+"."+a))};return de(m,d),m})(u)}}}function rt(t){return t?t.writable===!1?!1:!(typeof t.get=="function"&&typeof t.set>"u"):!0}var ot=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Ce=!("nw"in J)&&typeof J.process<"u"&&J.process.toString()==="[object process]",ze=!Ce&&!ot&&!!(De&&Se.HTMLElement),st=typeof J.process<"u"&&J.process.toString()==="[object process]"&&!ot&&!!(De&&Se.HTMLElement),Re={},Dt=A("enable_beforeunload"),Ke=function(t){if(t=t||J.event,!t)return;let e=Re[t.type];e||(e=Re[t.type]=A("ON_PROPERTY"+t.type));let c=this||t.target||J,n=c[e],a;if(ze&&c===Se&&t.type==="error"){let u=t;a=n&&n.call(this,u.message,u.filename,u.lineno,u.colno,u.error),a===!0&&t.preventDefault()}else a=n&&n.apply(this,arguments),t.type==="beforeunload"&&J[Dt]&&typeof a=="string"?t.returnValue=a:a!=null&&!a&&t.preventDefault();return a};function Qe(t,e,c){let n=ve(t,e);if(!n&&c&&ve(c,e)&&(n={enumerable:!0,configurable:!0}),!n||!n.configurable)return;let a=A("on"+e+"patched");if(t.hasOwnProperty(a)&&t[a])return;delete n.writable,delete n.value;let u=n.get,v=n.set,d=e.slice(2),m=Re[d];m||(m=Re[d]=A("ON_PROPERTY"+d)),n.set=function(R){let p=this;if(!p&&t===J&&(p=J),!p)return;typeof p[m]=="function"&&p.removeEventListener(d,Ke),v?.call(p,null),p[m]=R,typeof R=="function"&&p.addEventListener(d,Ke,!1)},n.get=function(){let R=this;if(!R&&t===J&&(R=J),!R)return null;let p=R[m];if(p)return p;if(u){let D=u.call(this);if(D)return n.set.call(this,D),typeof R[wt]=="function"&&R.removeAttribute(e),D}return null},Ae(t,e,n),t[a]=!0}function it(t,e,c){if(e)for(let n=0;n{let a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,{get:function(){return t[n]},set:function(u){a&&(!a.writable||typeof a.set!="function")||(t[n]=u)},enumerable:a?a.enumerable:!0,configurable:a?a.configurable:!0})})}var Ct=!1;function _e(t,e,c){let n=t;for(;n&&!n.hasOwnProperty(e);)n=He(n);!n&&t[e]&&(n=t);let a=A(e),u=null;if(n&&(!(u=n[a])||!n.hasOwnProperty(a))){u=n[a]=n[e];let v=n&&ve(n,e);if(rt(v)){let d=c(u,a,e);n[e]=function(){return d(this,arguments)},de(n[e],u),Ct&&St(u,n[e])}}return u}function Ot(t,e,c){let n=null;function a(u){let v=u.data;return v.args[v.cbIdx]=function(){u.invoke.apply(this,arguments)},n.apply(v.target,v.args),u}n=_e(t,e,u=>function(v,d){let m=c(v,d);return m.cbIdx>=0&&typeof d[m.cbIdx]=="function"?xe(m.name,d[m.cbIdx],m,a):u.apply(v,d)})}function de(t,e){t[A("OriginalDelegate")]=e}function et(t){return typeof t=="function"}function tt(t){return typeof t=="number"}var Nt={useG:!0},oe={},at={},ct=new RegExp("^"+be+"(\\w+)(true|false)$"),lt=A("propagationStopped");function ut(t,e){let c=(e?e(t):t)+fe,n=(e?e(t):t)+he,a=be+c,u=be+n;oe[t]={},oe[t][fe]=a,oe[t][he]=u}function Zt(t,e,c,n){let a=n&&n.add||Fe,u=n&&n.rm||Ve,v=n&&n.listeners||"eventListeners",d=n&&n.rmAll||"removeAllListeners",m=A(a),R="."+a+":",p="prependListener",D="."+p+":",Z=function(P,_,H){if(P.isRemoved)return;let F=P.callback;typeof F=="object"&&F.handleEvent&&(P.callback=E=>F.handleEvent(E),P.originalDelegate=F);let V;try{P.invoke(P,_,[H])}catch(E){V=E}let G=P.options;if(G&&typeof G=="object"&&G.once){let E=P.originalDelegate?P.originalDelegate:P.callback;_[u].call(_,H.type,E,G)}return V};function j(P,_,H){if(_=_||t.event,!_)return;let F=P||_.target||t,V=F[oe[_.type][H?he:fe]];if(V){let G=[];if(V.length===1){let E=Z(V[0],F,_);E&&G.push(E)}else{let E=V.slice();for(let q=0;q{throw q})}}}let Y=function(P){return j(this,P,!1)},W=function(P){return j(this,P,!0)};function Q(P,_){if(!P)return!1;let H=!0;_&&_.useG!==void 0&&(H=_.useG);let F=_&&_.vh,V=!0;_&&_.chkDup!==void 0&&(V=_.chkDup);let G=!1;_&&_.rt!==void 0&&(G=_.rt);let E=P;for(;E&&!E.hasOwnProperty(a);)E=He(E);if(!E&&P[a]&&(E=P),!E||E[m])return!1;let q=_&&_.eventNameToString,O={},w=E[m]=E[a],M=E[A(u)]=E[u],C=E[A(v)]=E[v],U=E[A(d)]=E[d],ee;_&&_.prepend&&(ee=E[A(_.prepend)]=E[_.prepend]);function K(s,f){return f?typeof s=="boolean"?{capture:s,passive:!0}:s?typeof s=="object"&&s.passive!==!1?mt(Je({},s),{passive:!0}):s:{passive:!0}:s}let X=function(s){if(!O.isExisting)return w.call(O.target,O.eventName,O.capture?W:Y,O.options)},x=function(s){if(!s.isRemoved){let f=oe[s.eventName],y;f&&(y=f[s.capture?he:fe]);let b=y&&s.target[y];if(b){for(let T=0;Tce.zone.cancelTask(ce);s.call(Ee,"abort",ue,{once:!0}),ce.removeAbortListener=()=>Ee.removeEventListener("abort",ue)}if(O.target=null,me&&(me.taskData=null),Ue&&(O.options.once=!0),typeof ce.options!="boolean"&&(ce.options=ae),ce.target=L,ce.capture=Oe,ce.eventName=I,z&&(ce.originalDelegate=B),N?ge.unshift(ce):ge.push(ce),T)return L}};return E[a]=l(w,R,g,k,G),ee&&(E[p]=l(ee,D,o,k,G,!0)),E[u]=function(){let s=this||t,f=arguments[0];_&&_.transferEventName&&(f=_.transferEventName(f));let y=arguments[2],b=y?typeof y=="boolean"?!0:y.capture:!1,T=arguments[1];if(!T)return M.apply(this,arguments);if(F&&!F(M,T,s,arguments))return;let N=oe[f],L;N&&(L=N[b?he:fe]);let I=L&&s[L];if(I)for(let B=0;Bfunction(a,u){a[lt]=!0,n&&n.apply(a,u)})}function It(t,e){e.patchMethod(t,"queueMicrotask",c=>function(n,a){Zone.current.scheduleMicroTask("queueMicrotask",a[0])})}var we=A("zoneTask");function ye(t,e,c,n){let a=null,u=null;e+=n,c+=n;let v={};function d(R){let p=R.data;p.args[0]=function(){return R.invoke.apply(this,arguments)};let D=a.apply(t,p.args);return tt(D)?p.handleId=D:(p.handle=D,p.isRefreshable=et(D.refresh)),R}function m(R){let{handle:p,handleId:D}=R.data;return u.call(t,p??D)}a=_e(t,e,R=>function(p,D){var Z;if(et(D[0])){let j={isRefreshable:!1,isPeriodic:n==="Interval",delay:n==="Timeout"||n==="Interval"?D[1]||0:void 0,args:D},Y=D[0];D[0]=function(){try{return Y.apply(this,arguments)}finally{let{handle:F,handleId:V,isPeriodic:G,isRefreshable:E}=j;!G&&!E&&(V?delete v[V]:F&&(F[we]=null))}};let W=xe(e,D[0],j,d,m);if(!W)return W;let{handleId:Q,handle:$,isRefreshable:P,isPeriodic:_}=W.data;if(Q)v[Q]=W;else if($&&($[we]=W,P&&!_)){let H=$.refresh;$.refresh=function(){let{zone:F,state:V}=W;return V==="notScheduled"?(W._state="scheduled",F._updateTaskCount(W,1)):V==="running"&&(W._state="scheduling"),H.call(this)}}return(Z=$??Q)!=null?Z:W}else return R.apply(t,D)}),u=_e(t,c,R=>function(p,D){let Z=D[0],j;tt(Z)?(j=v[Z],delete v[Z]):(j=Z?.[we],j?Z[we]=null:j=Z),j?.type?j.cancelFn&&j.zone.cancelTask(j):R.apply(t,D)})}function Mt(t,e){let{isBrowser:c,isMix:n}=e.getGlobalObjects();if(!c&&!n||!t.customElements||!("customElements"in t))return;let a=["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"];e.patchCallbacks(e,t.customElements,"customElements","define",a)}function jt(t,e){if(Zone[e.symbol("patchEventTarget")])return;let{eventNames:c,zoneSymbolEventNames:n,TRUE_STR:a,FALSE_STR:u,ZONE_SYMBOL_PREFIX:v}=e.getGlobalObjects();for(let m=0;mu.target===t);if(n.length===0)return e;let a=n[0].ignoreProperties;return e.filter(u=>a.indexOf(u)===-1)}function nt(t,e,c,n){if(!t)return;let a=ft(t,e,c);it(t,a,n)}function je(t){return Object.getOwnPropertyNames(t).filter(e=>e.startsWith("on")&&e.length>2).map(e=>e.substring(2))}function Ht(t,e){if(Ce&&!st||Zone[t.symbol("patchEvents")])return;let c=e.__Zone_ignore_on_properties,n=[];if(ze){let a=window;n=n.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]),nt(a,je(a),c,He(a))}n=n.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let a=0;a{let n="clear";ye(e,"set",n,"Timeout"),ye(e,"set",n,"Interval"),ye(e,"set",n,"Immediate")}),t.__load_patch("requestAnimationFrame",e=>{ye(e,"request","cancel","AnimationFrame"),ye(e,"mozRequest","mozCancel","AnimationFrame"),ye(e,"webkitRequest","webkitCancel","AnimationFrame")}),t.__load_patch("blocking",(e,c)=>{let n=["alert","prompt","confirm"];for(let a=0;afunction(R,p){return c.current.run(v,e,p,m)})}}),t.__load_patch("EventTarget",(e,c,n)=>{At(e,n),jt(e,n);let a=e.XMLHttpRequestEventTarget;a&&a.prototype&&n.patchEventTarget(e,n,[a.prototype])}),t.__load_patch("MutationObserver",(e,c,n)=>{ke("MutationObserver"),ke("WebKitMutationObserver")}),t.__load_patch("IntersectionObserver",(e,c,n)=>{ke("IntersectionObserver")}),t.__load_patch("FileReader",(e,c,n)=>{ke("FileReader")}),t.__load_patch("on_property",(e,c,n)=>{Ht(n,e)}),t.__load_patch("customElements",(e,c,n)=>{Mt(e,n)}),t.__load_patch("XHR",(e,c)=>{R(e);let n=A("xhrTask"),a=A("xhrSync"),u=A("xhrListener"),v=A("xhrScheduled"),d=A("xhrURL"),m=A("xhrErrorBeforeScheduled");function R(p){let D=p.XMLHttpRequest;if(!D)return;let Z=D.prototype;function j(w){return w[n]}let Y=Z[Ze],W=Z[Le];if(!Y){let w=p.XMLHttpRequestEventTarget;if(w){let M=w.prototype;Y=M[Ze],W=M[Le]}}let Q="readystatechange",$="scheduled";function P(w){let M=w.data,C=M.target;C[v]=!1,C[m]=!1;let U=C[u];Y||(Y=C[Ze],W=C[Le]),U&&W.call(C,Q,U);let ee=C[u]=()=>{if(C.readyState===C.DONE)if(!M.aborted&&C[v]&&w.state===$){let X=C[c.__symbol__("loadfalse")];if(C.status!==0&&X&&X.length>0){let x=w.invoke;w.invoke=function(){let r=C[c.__symbol__("loadfalse")];for(let o=0;ofunction(w,M){return w[a]=M[2]==!1,w[d]=M[1],F.apply(w,M)}),V="XMLHttpRequest.send",G=A("fetchTaskAborting"),E=A("fetchTaskScheduling"),q=_e(Z,"send",()=>function(w,M){if(c.current[E]===!0||w[a])return q.apply(w,M);{let C={target:w,url:w[d],isPeriodic:!1,args:M,aborted:!1},U=xe(V,_,C,P,H);w&&w[m]===!0&&!C.aborted&&U.state===$&&U.invoke()}}),O=_e(Z,"abort",()=>function(w,M){let C=j(w);if(C&&typeof C.type=="string"){if(C.cancelFn==null||C.data&&C.data.aborted)return;C.zone.cancelTask(C)}else if(c.current[G]===!0)return O.apply(w,M)})}}),t.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&Rt(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),t.__load_patch("PromiseRejectionEvent",(e,c)=>{function n(a){return function(u){ht(e,a).forEach(d=>{let m=e.PromiseRejectionEvent;if(m){let R=new m(a,{promise:u.promise,reason:u.rejection});d.invoke(R)}})}}e.PromiseRejectionEvent&&(c[A("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),c[A("rejectionHandledHandler")]=n("rejectionhandled"))}),t.__load_patch("queueMicrotask",(e,c,n)=>{It(e,n)})}function Vt(t){t.__load_patch("ZoneAwarePromise",(e,c,n)=>{let a=Object.getOwnPropertyDescriptor,u=Object.defineProperty;function v(h){if(h&&h.toString===Object.prototype.toString){let l=h.constructor&&h.constructor.name;return(l||"")+": "+JSON.stringify(h)}return h?h.toString():Object.prototype.toString.call(h)}let d=n.symbol,m=[],R=e[d("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")]!==!1,p=d("Promise"),D=d("then"),Z="__creationTrace__";n.onUnhandledError=h=>{if(n.showUncaughtError()){let l=h&&h.rejection;l?console.error("Unhandled Promise rejection:",l instanceof Error?l.message:l,"; Zone:",h.zone.name,"; Task:",h.task&&h.task.source,"; Value:",l,l instanceof Error?l.stack:void 0):console.error(h)}},n.microtaskDrainDone=()=>{for(;m.length;){let h=m.shift();try{h.zone.runGuarded(()=>{throw h.throwOriginal?h.rejection:h})}catch(l){Y(l)}}};let j=d("unhandledPromiseRejectionHandler");function Y(h){n.onUnhandledError(h);try{let l=c[j];typeof l=="function"&&l.call(this,h)}catch{}}function W(h){return h&&typeof h.then=="function"}function Q(h){return h}function $(h){return k.reject(h)}let P=d("state"),_=d("value"),H=d("finally"),F=d("parentPromiseValue"),V=d("parentPromiseState"),G="Promise.then",E=null,q=!0,O=!1,w=0;function M(h,l){return s=>{try{K(h,l,s)}catch(f){K(h,!1,f)}}}let C=function(){let h=!1;return function(s){return function(){h||(h=!0,s.apply(null,arguments))}}},U="Promise resolved with itself",ee=d("currentTaskTrace");function K(h,l,s){let f=C();if(h===s)throw new TypeError(U);if(h[P]===E){let y=null;try{(typeof s=="object"||typeof s=="function")&&(y=s&&s.then)}catch(b){return f(()=>{K(h,!1,b)})(),h}if(l!==O&&s instanceof k&&s.hasOwnProperty(P)&&s.hasOwnProperty(_)&&s[P]!==E)x(s),K(h,s[P],s[_]);else if(l!==O&&typeof y=="function")try{y.call(s,f(M(h,l)),f(M(h,!1)))}catch(b){f(()=>{K(h,!1,b)})()}else{h[P]=l;let b=h[_];if(h[_]=s,h[H]===H&&l===q&&(h[P]=h[V],h[_]=h[F]),l===O&&s instanceof Error){let T=c.currentTask&&c.currentTask.data&&c.currentTask.data[Z];T&&u(s,ee,{configurable:!0,enumerable:!1,writable:!0,value:T})}for(let T=0;T{try{let N=h[_],L=!!s&&H===s[H];L&&(s[F]=N,s[V]=b);let I=l.run(T,void 0,L&&T!==$&&T!==Q?[]:[N]);K(s,!0,I)}catch(N){K(s,!1,N)}},s)}let o="function ZoneAwarePromise() { [native code] }",i=function(){},g=e.AggregateError;class k{static toString(){return o}static resolve(l){return l instanceof k?l:K(new this(null),q,l)}static reject(l){return K(new this(null),O,l)}static withResolvers(){let l={};return l.promise=new k((s,f)=>{l.resolve=s,l.reject=f}),l}static any(l){if(!l||typeof l[Symbol.iterator]!="function")return Promise.reject(new g([],"All promises were rejected"));let s=[],f=0;try{for(let T of l)f++,s.push(k.resolve(T))}catch{return Promise.reject(new g([],"All promises were rejected"))}if(f===0)return Promise.reject(new g([],"All promises were rejected"));let y=!1,b=[];return new k((T,N)=>{for(let L=0;L{y||(y=!0,T(I))},I=>{b.push(I),f--,f===0&&(y=!0,N(new g(b,"All promises were rejected")))})})}static race(l){let s,f,y=new this((N,L)=>{s=N,f=L});function b(N){s(N)}function T(N){f(N)}for(let N of l)W(N)||(N=this.resolve(N)),N.then(b,T);return y}static all(l){return k.allWithCallback(l)}static allSettled(l){return(this&&this.prototype instanceof k?this:k).allWithCallback(l,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(l,s){let f,y,b=new this((I,B)=>{f=I,y=B}),T=2,N=0,L=[];for(let I of l){W(I)||(I=this.resolve(I));let B=N;try{I.then(z=>{L[B]=s?s.thenCallback(z):z,T--,T===0&&f(L)},z=>{s?(L[B]=s.errorCallback(z),T--,T===0&&f(L)):y(z)})}catch(z){y(z)}T++,N++}return T-=2,T===0&&f(L),b}constructor(l){let s=this;if(!(s instanceof k))throw new Error("Must be an instanceof Promise.");s[P]=E,s[_]=[];try{let f=C();l&&l(f(M(s,q)),f(M(s,O)))}catch(f){K(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return k}then(l,s){var f;let y=(f=this.constructor)==null?void 0:f[Symbol.species];(!y||typeof y!="function")&&(y=this.constructor||k);let b=new y(i),T=c.current;return this[P]==E?this[_].push(T,b,l,s):r(this,T,b,l,s),b}catch(l){return this.then(null,l)}finally(l){var s;let f=(s=this.constructor)==null?void 0:s[Symbol.species];(!f||typeof f!="function")&&(f=k);let y=new f(i);y[H]=H;let b=c.current;return this[P]==E?this[_].push(b,y,l,l):r(this,b,y,l,l),y}}k.resolve=k.resolve,k.reject=k.reject,k.race=k.race,k.all=k.all;let re=e[p]=e.Promise;e.Promise=k;let se=d("thenPatched");function ie(h){let l=h.prototype,s=a(l,"then");if(s&&(s.writable===!1||!s.configurable))return;let f=l.then;l[D]=f,h.prototype.then=function(y,b){return new k((N,L)=>{f.call(this,N,L)}).then(y,b)},h[se]=!0}n.patchThen=ie;function pe(h){return function(l,s){let f=h.apply(l,s);if(f instanceof k)return f;let y=f.constructor;return y[se]||ie(y),f}}if(re){ie(re);let h=re.try;h&&typeof h=="function"&&(k.try=h),_e(e,"fetch",l=>pe(l))}return Promise[c.__symbol__("uncaughtPromiseErrors")]=m,k})}function Gt(t){t.__load_patch("toString",e=>{let c=Function.prototype.toString,n=A("OriginalDelegate"),a=A("Promise"),u=A("Error"),v=function(){if(typeof this=="function"){let p=this[n];if(p)return typeof p=="function"?c.call(p):Object.prototype.toString.call(p);if(this===Promise){let D=e[a];if(D)return c.call(D)}if(this===Error){let D=e[u];if(D)return c.call(D)}}return c.call(this)};v[n]=c,Function.prototype.toString=v;let d=Object.prototype.toString,m="[object Promise]";Object.prototype.toString=function(){return typeof Promise=="function"&&this instanceof Promise?m:d.call(this)}})}function xt(t,e,c,n,a){let u=Zone.__symbol__(n);if(e[u])return;let v=e[u]=e[n];e[n]=function(d,m,R){return m&&m.prototype&&a.forEach(function(p){let D=`${c}.${n}::`+p,Z=m.prototype;try{if(Z.hasOwnProperty(p)){let j=t.ObjectGetOwnPropertyDescriptor(Z,p);j&&j.value?(j.value=t.wrapWithCurrentZone(j.value,D),t._redefineProperty(m.prototype,p,j)):Z[p]&&(Z[p]=t.wrapWithCurrentZone(Z[p],D))}else Z[p]&&(Z[p]=t.wrapWithCurrentZone(Z[p],D))}catch{}}),v.call(e,d,m,R)},t.attachOriginToPatched(e[n],v)}function Bt(t){t.__load_patch("util",(e,c,n)=>{let a=je(e);n.patchOnProperties=it,n.patchMethod=_e,n.bindArguments=Be,n.patchMacroTask=Ot;let u=c.__symbol__("BLACK_LISTED_EVENTS"),v=c.__symbol__("UNPATCHED_EVENTS");e[v]&&(e[u]=e[v]),e[u]&&(c[u]=c[v]=e[u]),n.patchEventPrototype=Lt,n.patchEventTarget=Zt,n.ObjectDefineProperty=Ae,n.ObjectGetOwnPropertyDescriptor=ve,n.ObjectCreate=bt,n.ArraySlice=Pt,n.patchClass=ke,n.wrapWithCurrentZone=Ge,n.filterProperties=ft,n.attachOriginToPatched=de,n._redefineProperty=Object.defineProperty,n.patchCallbacks=xt,n.getGlobalObjects=()=>({globalSources:at,zoneSymbolEventNames:oe,eventNames:a,isBrowser:ze,isMix:st,isNode:Ce,TRUE_STR:he,FALSE_STR:fe,ZONE_SYMBOL_PREFIX:be,ADD_EVENT_LISTENER_STR:Fe,REMOVE_EVENT_LISTENER_STR:Ve})})}function zt(t){Vt(t),Gt(t),Bt(t)}var _t=vt();zt(_t);Ft(_t); diff --git a/samples/projects/FiveTech_ERP/www/web-angular/styles-JKNSNSIN.css b/samples/projects/FiveTech_ERP/www/web-angular/styles-JKNSNSIN.css new file mode 100644 index 0000000..8f4155b --- /dev/null +++ b/samples/projects/FiveTech_ERP/www/web-angular/styles-JKNSNSIN.css @@ -0,0 +1 @@ +html{background:#0e1116}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#0e1116;color:#e6ebf2}.mt-4{margin-top:1rem}.w-full{width:100%} diff --git a/samples/projects/FiveTech_ERP/www/web-react/assets/index-CbJPQUbz.css b/samples/projects/FiveTech_ERP/www/web-react/assets/index-CbJPQUbz.css new file mode 100644 index 0000000..1418f36 --- /dev/null +++ b/samples/projects/FiveTech_ERP/www/web-react/assets/index-CbJPQUbz.css @@ -0,0 +1 @@ +:root{--bg: #0e1116;--bg2: #161b23;--bg3: #1e2530;--line: #2a3342;--txt: #e6ebf2;--txt2: #8b98ab;--acc: #3b82f6;--acc2: #2563eb;--ok: #22c55e;--danger: #ef4444}[data-theme=light]{--bg: #f1f5f9;--bg2: #ffffff;--bg3: #e2e8f0;--line: #cbd5e1;--txt: #0f172a;--txt2: #64748b;--acc: #2563eb;--acc2: #1d4ed8}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--txt);font:14px/1.45 Segoe UI,system-ui,sans-serif}.hidden{display:none!important}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 600px at 50% -10%,#16233b 0%,var(--bg) 60%)}.login-card{width:340px;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 20px 60px #00000073}.login-brand{font-size:22px;font-weight:600}.login-sub{color:var(--txt2);font-size:12px;margin:4px 0 20px}.login-card label{display:block;color:var(--txt2);font-size:12px;margin:12px 0 4px}.login-card input{width:100%;background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:9px 11px;outline:none}.login-card input:focus{border-color:var(--acc)}.login-card button{width:100%;margin-top:18px;background:var(--acc);border:0;color:#fff;padding:10px;border-radius:8px;font-size:14px;cursor:pointer}.login-card button:hover{background:var(--acc2)}.login-card button:disabled{opacity:.6;cursor:wait}.login-error{color:var(--danger);font-size:12px;margin-top:10px;min-height:14px}.app{display:flex;flex-direction:column;height:100vh}.topbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--bg2);border-bottom:1px solid var(--line)}.topbar-left{display:flex;align-items:center;gap:10px}.brand{font-weight:600;font-size:15px}.branch-tag{font-size:11px;color:var(--acc);border:1px solid var(--acc2);border-radius:999px;padding:2px 9px}.topbar-right{display:flex;align-items:center;gap:8px}.topbar select{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:7px;padding:5px 8px}.user-chip{color:var(--txt2);font-size:12px;margin-left:6px}.btn-ghost{background:none;border:1px solid var(--line);color:var(--txt);border-radius:7px;padding:5px 12px;cursor:pointer}.btn-ghost:hover{border-color:var(--danger);color:var(--danger)}.body{flex:1;display:flex;min-height:0}.btn-icon-bar{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:8px;width:36px;height:34px;cursor:pointer;font-size:16px;line-height:1;flex-shrink:0}.btn-icon-bar:hover{border-color:var(--acc)}.btn-dash{font-size:12.5px}.sidebar{width:240px;min-width:240px;background:var(--bg2);border-right:1px solid var(--line);overflow-x:hidden;overflow-y:auto;padding:10px 8px;transition:width .2s ease,min-width .2s ease,padding .2s ease,opacity .15s ease;flex-shrink:0}.body.sidebar-collapsed .sidebar{width:0;min-width:0;padding:0;border:0;opacity:0;pointer-events:none}.nav-pin{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.nav-group{margin-bottom:2px}.nav-section{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;text-align:left;background:none;border:0;color:var(--txt2);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:12px 10px 4px;cursor:pointer;border-radius:6px}.nav-section:hover{color:var(--txt);background:var(--bg3)}.nav-section .chev{font-size:10px;opacity:.75;transition:transform .15s}.nav-group.collapsed .nav-section .chev{transform:rotate(-90deg)}.nav-group.collapsed .nav-group-body{display:none}.nav-item{display:block;width:100%;text-align:left;background:none;border:0;color:var(--txt);padding:7px 10px;border-radius:7px;cursor:pointer;font-size:13px}.nav-item:hover{background:var(--bg3)}.nav-item.active{background:var(--acc2);color:#fff}.nav-item.sub{padding-left:24px;color:var(--txt2)}.nav-item.dash{color:var(--acc);font-weight:500}@media(max-width:720px){.sidebar{position:absolute;z-index:30;height:calc(100% - 52px);box-shadow:8px 0 24px #00000059}.body.sidebar-collapsed .sidebar{box-shadow:none}}.main{flex:1;overflow:auto;padding:18px 22px}.loading,.empty{color:var(--txt2);padding:40px;text-align:center}.empty b{color:var(--txt)}details pre{margin-top:12px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:12px;overflow:auto;font-size:12px}.screen-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}.screen-head h2{font-size:19px}.layout-tag{color:var(--txt2);font-size:12px;border:1px solid var(--line);border-radius:999px;padding:2px 9px;margin-left:10px}.toolbar{display:flex;align-items:center;gap:8px}.search{background:var(--bg3);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:7px 11px;width:260px;outline:none}.search:focus{border-color:var(--acc)}.btn{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:7px 13px;cursor:pointer;font-size:13px}.btn:hover{border-color:var(--acc)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff}.btn.primary:hover{background:var(--acc2)}.btn.danger:hover{border-color:var(--danger);color:var(--danger)}.rowcount{color:var(--txt2);font-size:12px;margin-left:6px}.grid-wrap{border:1px solid var(--line);border-radius:10px;overflow:auto;background:var(--bg2)}table{border-collapse:collapse;width:100%}th,td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{background:var(--bg3);color:var(--txt2);font-size:12px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}th.right,td.right{text-align:right}tbody tr{cursor:pointer}tbody tr:hover{background:var(--bg3)}tbody tr.sel{background:#1d3a5f}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:50}.modal{width:min(560px,92vw);max-height:86vh;overflow:auto;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:20px}.modal h3{margin-bottom:14px}.form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.field label{display:block;color:var(--txt2);font-size:12px;margin-bottom:3px}.field input,.field select{width:100%;background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:7px;padding:8px 10px;outline:none}.field input:focus,.field select:focus{border-color:var(--acc)}.field input.ro{opacity:.6}.field.chk{display:flex;align-items:center;gap:8px}.field.chk label{margin:0}.field.chk input{width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.theme-fab{position:fixed;top:14px;right:14px;z-index:60;background:var(--bg2);color:var(--txt);border:1px solid var(--line);border-radius:999px;padding:6px 14px;cursor:pointer}.theme-fab:hover{border-color:var(--acc)}input[type=date]{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:7px;padding:5px 8px}.login-card input[type=date]{width:100%}.proc-list{display:flex;flex-direction:column;gap:8px;max-width:720px}.proc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.proc-sub{color:var(--txt2);font-size:12px}.proc-out{margin-top:14px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:12px;min-height:60px;max-height:320px;overflow:auto;font-size:12px;color:var(--txt)}.tool-toggle{width:100%;margin-top:10px;background:none;border:1px dashed var(--line);color:var(--txt2);border-radius:8px;padding:7px;cursor:pointer;font-size:12.5px}.tool-toggle:hover{border-color:var(--acc);color:var(--txt)}.tool-panel{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:10px;text-align:left}.tool-row{font-size:12px;color:var(--txt2);display:flex;flex-direction:column;gap:5px}.tool-row b{color:var(--txt)}.tool-row code{background:var(--bg3);border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-size:11px;color:var(--txt);word-break:break-all}.tool-links{display:flex;gap:8px;flex-wrap:wrap}.tool-links a{color:var(--acc);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:12px}.tool-links a:hover{border-color:var(--acc)}.tool-row .btn{align-self:flex-start;padding:4px 10px;font-size:11.5px}.login-card .tool-toggle{background:none;border:1px dashed var(--line);color:var(--txt2)}.login-card .tool-toggle:hover{border-color:var(--acc);color:var(--txt);background:none}.tool-ip{background:var(--bg3);border:1px solid var(--line);color:var(--txt);border-radius:999px;padding:3px 10px;font-size:12px;width:130px}.form-layout{display:grid;grid-template-columns:240px 1fr;flex:1;min-height:0;border-top:1px solid var(--line)}.form-nav{border-right:1px solid var(--line);background:var(--bg2);overflow:auto;max-height:calc(100vh - 120px)}.form-nav-title{padding:10px 12px;font-size:12px;color:var(--txt2);font-weight:600;border-bottom:1px solid var(--line)}.form-nav-item{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);color:var(--txt);padding:10px 12px;cursor:pointer;font-size:12.5px}.form-nav-item.active,.form-nav-item:hover{background:var(--bg3)}.form-main{display:flex;flex-direction:column;min-width:0;overflow:auto}.form-tabs{display:flex;gap:4px;padding:10px 12px 0;flex-wrap:wrap;border-bottom:1px solid var(--line)}.form-tab{background:none;border:1px solid transparent;color:var(--txt2);padding:8px 12px;border-radius:8px 8px 0 0;cursor:pointer;font-size:12.5px}.form-tab.active{background:var(--bg2);color:var(--txt);border-color:var(--line);border-bottom-color:transparent}.form-body{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.checklist{display:flex;flex-wrap:wrap;gap:8px 14px}.chk-item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.md-layout{display:grid;grid-template-rows:1fr 1fr;flex:1;min-height:0}.md-master,.md-detail{display:flex;flex-direction:column;border-top:1px solid var(--line);min-height:0}.md-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--bg2);flex-wrap:wrap}.md-master .grid-wrap,.md-detail .grid-wrap{flex:1;overflow:auto;max-height:36vh}.tool-note{font-size:11px;opacity:.8}.list-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:0 0 12px;padding:10px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:10px}.filter-chip{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--txt2)}.filter-chip select{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:7px;padding:6px 8px;min-width:120px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--txt)}th.sorted{color:var(--acc)}.sort-ind{font-size:9px;opacity:.85;margin-left:2px}.empty-cell{text-align:center!important;color:var(--txt2);padding:28px!important;cursor:default}.list-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px;padding:8px 4px}.foot-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.foot-nav{display:flex;align-items:center;gap:6px}.page-size{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--txt2)}.page-size select{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:7px;padding:4px 8px}.pg-info{font-size:12px;color:var(--txt2);min-width:72px;text-align:center}.btn-icon{padding:5px 10px;min-width:34px;font-size:14px;line-height:1}.modal-form{width:min(640px,94vw)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}.modal-head h3{margin:0}.modal-nav{display:flex;align-items:center;gap:4px} diff --git a/samples/projects/FiveTech_ERP/www/web-react/assets/index-DyZUOc-h.js b/samples/projects/FiveTech_ERP/www/web-react/assets/index-DyZUOc-h.js new file mode 100644 index 0000000..b6eba5c --- /dev/null +++ b/samples/projects/FiveTech_ERP/www/web-react/assets/index-DyZUOc-h.js @@ -0,0 +1,50 @@ +(function(){const dl=document.createElement("link").relList;if(dl&&dl.supports&&dl.supports("modulepreload"))return;for(const J of document.querySelectorAll('link[rel="modulepreload"]'))y(J);new MutationObserver(J=>{for(const H of J)if(H.type==="childList")for(const Tl of H.addedNodes)Tl.tagName==="LINK"&&Tl.rel==="modulepreload"&&y(Tl)}).observe(document,{childList:!0,subtree:!0});function P(J){const H={};return J.integrity&&(H.integrity=J.integrity),J.referrerPolicy&&(H.referrerPolicy=J.referrerPolicy),J.crossOrigin==="use-credentials"?H.credentials="include":J.crossOrigin==="anonymous"?H.credentials="omit":H.credentials="same-origin",H}function y(J){if(J.ep)return;J.ep=!0;const H=P(J);fetch(J.href,H)}})();var Zf={exports:{}},on={};/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Cm;function kr(){if(Cm)return on;Cm=1;var O=Symbol.for("react.transitional.element"),dl=Symbol.for("react.fragment");function P(y,J,H){var Tl=null;if(H!==void 0&&(Tl=""+H),J.key!==void 0&&(Tl=""+J.key),"key"in J){H={};for(var kl in J)kl!=="key"&&(H[kl]=J[kl])}else H=J;return J=H.ref,{$$typeof:O,type:y,key:Tl,ref:J!==void 0?J:null,props:H}}return on.Fragment=dl,on.jsx=P,on.jsxs=P,on}var Rm;function Wr(){return Rm||(Rm=1,Zf.exports=kr()),Zf.exports}var o=Wr(),Vf={exports:{}},w={};/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Hm;function $r(){if(Hm)return w;Hm=1;var O=Symbol.for("react.transitional.element"),dl=Symbol.for("react.portal"),P=Symbol.for("react.fragment"),y=Symbol.for("react.strict_mode"),J=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),Tl=Symbol.for("react.context"),kl=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),N=Symbol.for("react.memo"),il=Symbol.for("react.lazy"),Z=Symbol.for("react.activity"),Al=Symbol.iterator;function Wl(m){return m===null||typeof m!="object"?null:(m=Al&&m[Al]||m["@@iterator"],typeof m=="function"?m:null)}var $l={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Fl=Object.assign,Ot={};function nt(m,z,x){this.props=m,this.context=z,this.refs=Ot,this.updater=x||$l}nt.prototype.isReactComponent={},nt.prototype.setState=function(m,z){if(typeof m!="object"&&typeof m!="function"&&m!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,m,z,"setState")},nt.prototype.forceUpdate=function(m){this.updater.enqueueForceUpdate(this,m,"forceUpdate")};function Jt(){}Jt.prototype=nt.prototype;function Yl(m,z,x){this.props=m,this.context=z,this.refs=Ot,this.updater=x||$l}var it=Yl.prototype=new Jt;it.constructor=Yl,Fl(it,nt.prototype),it.isPureReactComponent=!0;var j=Array.isArray;function Vl(){}var K={H:null,A:null,T:null,S:null},Gl=Object.prototype.hasOwnProperty;function ot(m,z,x){var C=x.ref;return{$$typeof:O,type:m,key:z,ref:C!==void 0?C:null,props:x}}function aa(m,z){return ot(m.type,z,m.props)}function Mt(m){return typeof m=="object"&&m!==null&&m.$$typeof===O}function Ll(m){var z={"=":"=0",":":"=2"};return"$"+m.replace(/[=:]/g,function(x){return z[x]})}var xt=/\/+/g;function dt(m,z){return typeof m=="object"&&m!==null&&m.key!=null?Ll(""+m.key):z.toString(36)}function et(m){switch(m.status){case"fulfilled":return m.value;case"rejected":throw m.reason;default:switch(typeof m.status=="string"?m.then(Vl,Vl):(m.status="pending",m.then(function(z){m.status==="pending"&&(m.status="fulfilled",m.value=z)},function(z){m.status==="pending"&&(m.status="rejected",m.reason=z)})),m.status){case"fulfilled":return m.value;case"rejected":throw m.reason}}throw m}function p(m,z,x,C,R){var W=typeof m;(W==="undefined"||W==="boolean")&&(m=null);var Q=!1;if(m===null)Q=!0;else switch(W){case"bigint":case"string":case"number":Q=!0;break;case"object":switch(m.$$typeof){case O:case dl:Q=!0;break;case il:return Q=m._init,p(Q(m._payload),z,x,C,R)}}if(Q)return R=R(m),Q=C===""?"."+dt(m,0):C,j(R)?(x="",Q!=null&&(x=Q.replace(xt,"$&/")+"/"),p(R,z,x,"",function(ea){return ea})):R!=null&&(Mt(R)&&(R=aa(R,x+(R.key==null||m&&m.key===R.key?"":(""+R.key).replace(xt,"$&/")+"/")+Q)),z.push(R)),1;Q=0;var hl=C===""?".":C+":";if(j(m))for(var rl=0;rl>>1,ml=p[cl];if(0>>1;clJ(x,V))CJ(R,x)?(p[cl]=R,p[C]=V,cl=C):(p[cl]=x,p[z]=V,cl=z);else if(CJ(R,V))p[cl]=R,p[C]=V,cl=C;else break l}}return M}function J(p,M){var V=p.sortIndex-M.sortIndex;return V!==0?V:p.id-M.id}if(O.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var H=performance;O.unstable_now=function(){return H.now()}}else{var Tl=Date,kl=Tl.now();O.unstable_now=function(){return Tl.now()-kl}}var Y=[],N=[],il=1,Z=null,Al=3,Wl=!1,$l=!1,Fl=!1,Ot=!1,nt=typeof setTimeout=="function"?setTimeout:null,Jt=typeof clearTimeout=="function"?clearTimeout:null,Yl=typeof setImmediate<"u"?setImmediate:null;function it(p){for(var M=P(N);M!==null;){if(M.callback===null)y(N);else if(M.startTime<=p)y(N),M.sortIndex=M.expirationTime,dl(Y,M);else break;M=P(N)}}function j(p){if(Fl=!1,it(p),!$l)if(P(Y)!==null)$l=!0,Vl||(Vl=!0,Ll());else{var M=P(N);M!==null&&et(j,M.startTime-p)}}var Vl=!1,K=-1,Gl=5,ot=-1;function aa(){return Ot?!0:!(O.unstable_now()-otp&&aa());){var cl=Z.callback;if(typeof cl=="function"){Z.callback=null,Al=Z.priorityLevel;var ml=cl(Z.expirationTime<=p);if(p=O.unstable_now(),typeof ml=="function"){Z.callback=ml,it(p),M=!0;break t}Z===P(Y)&&y(Y),it(p)}else y(Y);Z=P(Y)}if(Z!==null)M=!0;else{var m=P(N);m!==null&&et(j,m.startTime-p),M=!1}}break l}finally{Z=null,Al=V,Wl=!1}M=void 0}}finally{M?Ll():Vl=!1}}}var Ll;if(typeof Yl=="function")Ll=function(){Yl(Mt)};else if(typeof MessageChannel<"u"){var xt=new MessageChannel,dt=xt.port2;xt.port1.onmessage=Mt,Ll=function(){dt.postMessage(null)}}else Ll=function(){nt(Mt,0)};function et(p,M){K=nt(function(){p(O.unstable_now())},M)}O.unstable_IdlePriority=5,O.unstable_ImmediatePriority=1,O.unstable_LowPriority=4,O.unstable_NormalPriority=3,O.unstable_Profiling=null,O.unstable_UserBlockingPriority=2,O.unstable_cancelCallback=function(p){p.callback=null},O.unstable_forceFrameRate=function(p){0>p||125cl?(p.sortIndex=V,dl(N,p),P(Y)===null&&p===P(N)&&(Fl?(Jt(K),K=-1):Fl=!0,et(j,V-cl))):(p.sortIndex=ml,dl(Y,p),$l||Wl||($l=!0,Vl||(Vl=!0,Ll()))),p},O.unstable_shouldYield=aa,O.unstable_wrapCallback=function(p){var M=Al;return function(){var V=Al;Al=M;try{return p.apply(this,arguments)}finally{Al=V}}}})(Jf)),Jf}var Ym;function Ir(){return Ym||(Ym=1,Kf.exports=Fr()),Kf.exports}var wf={exports:{}},ut={};/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Gm;function Pr(){if(Gm)return ut;Gm=1;var O=kf();function dl(Y){var N="https://react.dev/errors/"+Y;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(O)}catch(dl){console.error(dl)}}return O(),wf.exports=Pr(),wf.exports}/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Xm;function tv(){if(Xm)return dn;Xm=1;var O=Ir(),dl=kf(),P=lv();function y(l){var t="https://react.dev/errors/"+l;if(1ml||(l.current=cl[ml],cl[ml]=null,ml--)}function x(l,t){ml++,cl[ml]=l.current,l.current=t}var C=m(null),R=m(null),W=m(null),Q=m(null);function hl(l,t){switch(x(W,t),x(R,l),x(C,null),t.nodeType){case 9:case 11:l=(l=t.documentElement)&&(l=l.namespaceURI)?am(l):0;break;default:if(l=t.tagName,t=t.namespaceURI)t=am(t),l=em(t,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}z(C),x(C,l)}function rl(){z(C),z(R),z(W)}function ea(l){l.memoizedState!==null&&x(Q,l);var t=C.current,a=em(t,l.type);t!==a&&(x(R,l),x(C,a))}function le(l){R.current===l&&(z(C),z(R)),Q.current===l&&(z(Q),nn._currentValue=V)}var Dt,mu;function ua(l){if(Dt===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Dt=t&&t[1]||"",mu=-1)":-1u||s[e]!==v[u]){var E=` +`+s[e].replace(" at new "," at ");return l.displayName&&E.includes("")&&(E=E.replace("",l.displayName)),E}while(1<=e&&0<=u);break}}}finally{hu=!1,Error.prepareStackTrace=a}return(a=l?l.displayName||l.name:"")?ua(a):""}function wt(l,t){switch(l.tag){case 26:case 27:case 5:return ua(l.type);case 16:return ua("Lazy");case 13:return l.child!==t&&t!==null?ua("Suspense Fallback"):ua("Suspense");case 19:return ua("SuspenseList");case 0:case 15:return ze(l.type,!1);case 11:return ze(l.type.render,!1);case 1:return ze(l.type,!0);case 31:return ua("Activity");default:return""}}function Te(l){try{var t="",a=null;do t+=wt(l,a),a=l,l=l.return;while(l);return t}catch(e){return` +Error generating stack: `+e.message+` +`+e.stack}}var ja=Object.prototype.hasOwnProperty,Ae=O.unstable_scheduleCallback,kt=O.unstable_cancelCallback,ru=O.unstable_shouldYield,Ne=O.unstable_requestPaint,Kl=O.unstable_now,mn=O.unstable_getCurrentPriorityLevel,vu=O.unstable_ImmediatePriority,hn=O.unstable_UserBlockingPriority,je=O.unstable_NormalPriority,rn=O.unstable_LowPriority,vn=O.unstable_IdlePriority,te=O.log,Ui=O.unstable_setDisableYieldValue,Wt=null,ct=null;function na(l){if(typeof te=="function"&&Ui(l),ct&&typeof ct.setStrictMode=="function")try{ct.setStrictMode(Wt,l)}catch{}}var mt=Math.clz32?Math.clz32:gn,Ci=Math.log,yn=Math.LN2;function gn(l){return l>>>=0,l===0?32:31-(Ci(l)/yn|0)|0}var _e=256,_a=262144,Oe=4194304;function Xt(l){var t=l&42;if(t!==0)return t;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function Zt(l,t,a){var e=l.pendingLanes;if(e===0)return 0;var u=0,n=l.suspendedLanes,i=l.pingedLanes;l=l.warmLanes;var c=e&134217727;return c!==0?(e=c&~n,e!==0?u=Xt(e):(i&=c,i!==0?u=Xt(i):a||(a=c&~l,a!==0&&(u=Xt(a))))):(c=e&~n,c!==0?u=Xt(c):i!==0?u=Xt(i):a||(a=e&~l,a!==0&&(u=Xt(a)))),u===0?0:t!==0&&t!==u&&(t&n)===0&&(n=u&-u,a=t&-t,n>=a||n===32&&(a&4194048)!==0)?t:u}function Oa(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function bn(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Me(){var l=Oe;return Oe<<=1,(Oe&62914560)===0&&(Oe=4194304),l}function yu(l){for(var t=[],a=0;31>a;a++)t.push(l);return t}function ia(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function gu(l,t,a,e,u,n){var i=l.pendingLanes;l.pendingLanes=a,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=a,l.entangledLanes&=a,l.errorRecoveryDisabledLanes&=a,l.shellSuspendCounter=0;var c=l.entanglements,s=l.expirationTimes,v=l.hiddenUpdates;for(a=i&~a;0"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var ne=/[\n"\\]/g;function ft(l){return l.replace(ne,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ue(l,t,a,e,u,n,i,c){l.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?l.type=i:l.removeAttribute("type"),t!=null?i==="number"?(t===0&&l.value===""||l.value!=t)&&(l.value=""+_(t)):l.value!==""+_(t)&&(l.value=""+_(t)):i!=="submit"&&i!=="reset"||l.removeAttribute("value"),t!=null?qi(l,i,_(t)):a!=null?qi(l,i,_(a)):e!=null&&l.removeAttribute("value"),u==null&&n!=null&&(l.defaultChecked=!!n),u!=null&&(l.checked=u&&typeof u!="function"&&typeof u!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?l.name=""+_(c):l.removeAttribute("name")}function Wf(l,t,a,e,u,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(l.type=n),t!=null||a!=null){if(!(n!=="submit"&&n!=="reset"||t!=null)){X(l);return}a=a!=null?""+_(a):"",t=t!=null?""+_(t):a,c||t===l.value||(l.value=t),l.defaultValue=t}e=e??u,e=typeof e!="function"&&typeof e!="symbol"&&!!e,l.checked=c?l.checked:!!e,l.defaultChecked=!!e,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(l.name=i),X(l)}function qi(l,t,a){t==="number"&&ll(l.ownerDocument)===l||l.defaultValue===""+a||(l.defaultValue=""+a)}function Ce(l,t,a,e){if(l=l.options,t){t={};for(var u=0;u"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Xi=!1;if(oa)try{var Tu={};Object.defineProperty(Tu,"passive",{get:function(){Xi=!0}}),window.addEventListener("test",Tu,Tu),window.removeEventListener("test",Tu,Tu)}catch{Xi=!1}var Da=null,Zi=null,An=null;function as(){if(An)return An;var l,t=Zi,a=t.length,e,u="value"in Da?Da.value:Da.textContent,n=u.length;for(l=0;l=ju),fs=" ",ss=!1;function os(l,t){switch(l){case"keyup":return yh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ds(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var Be=!1;function bh(l,t){switch(l){case"compositionend":return ds(t);case"keypress":return t.which!==32?null:(ss=!0,fs);case"textInput":return l=t.data,l===fs&&ss?null:l;default:return null}}function Sh(l,t){if(Be)return l==="compositionend"||!wi&&os(l,t)?(l=as(),An=Zi=Da=null,Be=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-l};l=e}l:{for(;a;){if(a.nextSibling){a=a.nextSibling;break l}a=a.parentNode}a=void 0}a=Ss(a)}}function Es(l,t){return l&&t?l===t?!0:l&&l.nodeType===3?!1:t&&t.nodeType===3?Es(l,t.parentNode):"contains"in l?l.contains(t):l.compareDocumentPosition?!!(l.compareDocumentPosition(t)&16):!1:!1}function zs(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var t=ll(l.document);t instanceof l.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)l=t.contentWindow;else break;t=ll(l.document)}return t}function $i(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t&&(t==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||t==="textarea"||l.contentEditable==="true")}var _h=oa&&"documentMode"in document&&11>=document.documentMode,Ye=null,Fi=null,xu=null,Ii=!1;function Ts(l,t,a){var e=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Ii||Ye==null||Ye!==ll(e)||(e=Ye,"selectionStart"in e&&$i(e)?e={start:e.selectionStart,end:e.selectionEnd}:(e=(e.ownerDocument&&e.ownerDocument.defaultView||window).getSelection(),e={anchorNode:e.anchorNode,anchorOffset:e.anchorOffset,focusNode:e.focusNode,focusOffset:e.focusOffset}),xu&&Mu(xu,e)||(xu=e,e=gi(Fi,"onSelect"),0>=i,u-=i,It=1<<32-mt(t)+u|a<F?(ul=B,B=null):ul=B.sibling;var sl=g(h,B,r[F],T);if(sl===null){B===null&&(B=ul);break}l&&B&&sl.alternate===null&&t(h,B),d=n(sl,d,F),fl===null?G=sl:fl.sibling=sl,fl=sl,B=ul}if(F===r.length)return a(h,B),nl&&ma(h,F),G;if(B===null){for(;FF?(ul=B,B=null):ul=B.sibling;var Pa=g(h,B,sl.value,T);if(Pa===null){B===null&&(B=ul);break}l&&B&&Pa.alternate===null&&t(h,B),d=n(Pa,d,F),fl===null?G=Pa:fl.sibling=Pa,fl=Pa,B=ul}if(sl.done)return a(h,B),nl&&ma(h,F),G;if(B===null){for(;!sl.done;F++,sl=r.next())sl=A(h,sl.value,T),sl!==null&&(d=n(sl,d,F),fl===null?G=sl:fl.sibling=sl,fl=sl);return nl&&ma(h,F),G}for(B=e(B);!sl.done;F++,sl=r.next())sl=S(B,h,F,sl.value,T),sl!==null&&(l&&sl.alternate!==null&&B.delete(sl.key===null?F:sl.key),d=n(sl,d,F),fl===null?G=sl:fl.sibling=sl,fl=sl);return l&&B.forEach(function(wr){return t(h,wr)}),nl&&ma(h,F),G}function pl(h,d,r,T){if(typeof r=="object"&&r!==null&&r.type===Fl&&r.key===null&&(r=r.props.children),typeof r=="object"&&r!==null){switch(r.$$typeof){case Wl:l:{for(var G=r.key;d!==null;){if(d.key===G){if(G=r.type,G===Fl){if(d.tag===7){a(h,d.sibling),T=u(d,r.props.children),T.return=h,h=T;break l}}else if(d.elementType===G||typeof G=="object"&&G!==null&&G.$$typeof===Gl&&ve(G)===d.type){a(h,d.sibling),T=u(d,r.props),qu(T,r),T.return=h,h=T;break l}a(h,d);break}else t(h,d);d=d.sibling}r.type===Fl?(T=oe(r.props.children,h.mode,T,r.key),T.return=h,h=T):(T=Rn(r.type,r.key,r.props,null,h.mode,T),qu(T,r),T.return=h,h=T)}return i(h);case $l:l:{for(G=r.key;d!==null;){if(d.key===G)if(d.tag===4&&d.stateNode.containerInfo===r.containerInfo&&d.stateNode.implementation===r.implementation){a(h,d.sibling),T=u(d,r.children||[]),T.return=h,h=T;break l}else{a(h,d);break}else t(h,d);d=d.sibling}T=nc(r,h.mode,T),T.return=h,h=T}return i(h);case Gl:return r=ve(r),pl(h,d,r,T)}if(et(r))return U(h,d,r,T);if(Ll(r)){if(G=Ll(r),typeof G!="function")throw Error(y(150));return r=G.call(r),L(h,d,r,T)}if(typeof r.then=="function")return pl(h,d,Xn(r),T);if(r.$$typeof===Yl)return pl(h,d,Bn(h,r),T);Zn(h,r)}return typeof r=="string"&&r!==""||typeof r=="number"||typeof r=="bigint"?(r=""+r,d!==null&&d.tag===6?(a(h,d.sibling),T=u(d,r),T.return=h,h=T):(a(h,d),T=uc(r,h.mode,T),T.return=h,h=T),i(h)):a(h,d)}return function(h,d,r,T){try{Hu=0;var G=pl(h,d,r,T);return We=null,G}catch(B){if(B===ke||B===Gn)throw B;var fl=zt(29,B,null,h.mode);return fl.lanes=T,fl.return=h,fl}finally{}}}var ge=Js(!0),ws=Js(!1),qa=!1;function gc(l){l.updateQueue={baseState:l.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function bc(l,t){l=l.updateQueue,t.updateQueue===l&&(t.updateQueue={baseState:l.baseState,firstBaseUpdate:l.firstBaseUpdate,lastBaseUpdate:l.lastBaseUpdate,shared:l.shared,callbacks:null})}function Ba(l){return{lane:l,tag:0,payload:null,callback:null,next:null}}function Ya(l,t,a){var e=l.updateQueue;if(e===null)return null;if(e=e.shared,(vl&2)!==0){var u=e.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),e.pending=t,t=Cn(l),xs(l,null,a),t}return Un(l,e,t,a),Cn(l)}function Bu(l,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var e=t.lanes;e&=l.pendingLanes,a|=e,t.lanes=a,Sn(l,a)}}function Sc(l,t){var a=l.updateQueue,e=l.alternate;if(e!==null&&(e=e.updateQueue,a===e)){var u=null,n=null;if(a=a.firstBaseUpdate,a!==null){do{var i={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};n===null?u=n=i:n=n.next=i,a=a.next}while(a!==null);n===null?u=n=t:n=n.next=t}else u=n=t;a={baseState:e.baseState,firstBaseUpdate:u,lastBaseUpdate:n,shared:e.shared,callbacks:e.callbacks},l.updateQueue=a;return}l=a.lastBaseUpdate,l===null?a.firstBaseUpdate=t:l.next=t,a.lastBaseUpdate=t}var pc=!1;function Yu(){if(pc){var l=we;if(l!==null)throw l}}function Gu(l,t,a,e){pc=!1;var u=l.updateQueue;qa=!1;var n=u.firstBaseUpdate,i=u.lastBaseUpdate,c=u.shared.pending;if(c!==null){u.shared.pending=null;var s=c,v=s.next;s.next=null,i===null?n=v:i.next=v,i=s;var E=l.alternate;E!==null&&(E=E.updateQueue,c=E.lastBaseUpdate,c!==i&&(c===null?E.firstBaseUpdate=v:c.next=v,E.lastBaseUpdate=s))}if(n!==null){var A=u.baseState;i=0,E=v=s=null,c=n;do{var g=c.lane&-536870913,S=g!==c.lane;if(S?(el&g)===g:(e&g)===g){g!==0&&g===Je&&(pc=!0),E!==null&&(E=E.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});l:{var U=l,L=c;g=t;var pl=a;switch(L.tag){case 1:if(U=L.payload,typeof U=="function"){A=U.call(pl,A,g);break l}A=U;break l;case 3:U.flags=U.flags&-65537|128;case 0:if(U=L.payload,g=typeof U=="function"?U.call(pl,A,g):U,g==null)break l;A=Z({},A,g);break l;case 2:qa=!0}}g=c.callback,g!==null&&(l.flags|=64,S&&(l.flags|=8192),S=u.callbacks,S===null?u.callbacks=[g]:S.push(g))}else S={lane:g,tag:c.tag,payload:c.payload,callback:c.callback,next:null},E===null?(v=E=S,s=A):E=E.next=S,i|=g;if(c=c.next,c===null){if(c=u.shared.pending,c===null)break;S=c,c=S.next,S.next=null,u.lastBaseUpdate=S,u.shared.pending=null}}while(!0);E===null&&(s=A),u.baseState=s,u.firstBaseUpdate=v,u.lastBaseUpdate=E,n===null&&(u.shared.lanes=0),Va|=i,l.lanes=i,l.memoizedState=A}}function ks(l,t){if(typeof l!="function")throw Error(y(191,l));l.call(t)}function Ws(l,t){var a=l.callbacks;if(a!==null)for(l.callbacks=null,l=0;ln?n:8;var i=p.T,c={};p.T=c,Gc(l,!1,t,a);try{var s=u(),v=p.S;if(v!==null&&v(c,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var E=qh(s,e);Zu(l,t,E,_t(l))}else Zu(l,t,e,_t(l))}catch(A){Zu(l,t,{then:function(){},status:"rejected",reason:A},_t())}finally{M.p=n,i!==null&&c.types!==null&&(i.types=c.types),p.T=i}}function Zh(){}function Bc(l,t,a,e){if(l.tag!==5)throw Error(y(476));var u=Oo(l).queue;_o(l,u,t,V,a===null?Zh:function(){return Mo(l),a(e)})}function Oo(l){var t=l.memoizedState;if(t!==null)return t;t={memoizedState:V,baseState:V,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:V},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:a},next:null},l.memoizedState=t,l=l.alternate,l!==null&&(l.memoizedState=t),t}function Mo(l){var t=Oo(l);t.next===null&&(t=l.alternate.memoizedState),Zu(l,t.next.queue,{},_t())}function Yc(){return lt(nn)}function xo(){return Ul().memoizedState}function Do(){return Ul().memoizedState}function Vh(l){for(var t=l.return;t!==null;){switch(t.tag){case 24:case 3:var a=_t();l=Ba(a);var e=Ya(t,l,a);e!==null&&(St(e,t,a),Bu(e,t,a)),t={cache:hc()},l.payload=t;return}t=t.return}}function Lh(l,t,a){var e=_t();a={lane:e,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},In(l)?Co(t,a):(a=ac(l,t,a,e),a!==null&&(St(a,l,e),Ro(a,t,e)))}function Uo(l,t,a){var e=_t();Zu(l,t,a,e)}function Zu(l,t,a,e){var u={lane:e,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(In(l))Co(t,u);else{var n=l.alternate;if(l.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var i=t.lastRenderedState,c=n(i,a);if(u.hasEagerState=!0,u.eagerState=c,Et(c,i))return Un(l,t,u,0),zl===null&&Dn(),!1}catch{}finally{}if(a=ac(l,t,u,e),a!==null)return St(a,l,e),Ro(a,t,e),!0}return!1}function Gc(l,t,a,e){if(e={lane:2,revertLane:bf(),gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},In(l)){if(t)throw Error(y(479))}else t=ac(l,a,e,2),t!==null&&St(t,l,2)}function In(l){var t=l.alternate;return l===$||t!==null&&t===$}function Co(l,t){Fe=Kn=!0;var a=l.pending;a===null?t.next=t:(t.next=a.next,a.next=t),l.pending=t}function Ro(l,t,a){if((a&4194048)!==0){var e=t.lanes;e&=l.pendingLanes,a|=e,t.lanes=a,Sn(l,a)}}var Vu={readContext:lt,use:kn,useCallback:Ml,useContext:Ml,useEffect:Ml,useImperativeHandle:Ml,useLayoutEffect:Ml,useInsertionEffect:Ml,useMemo:Ml,useReducer:Ml,useRef:Ml,useState:Ml,useDebugValue:Ml,useDeferredValue:Ml,useTransition:Ml,useSyncExternalStore:Ml,useId:Ml,useHostTransitionStatus:Ml,useFormState:Ml,useActionState:Ml,useOptimistic:Ml,useMemoCache:Ml,useCacheRefresh:Ml};Vu.useEffectEvent=Ml;var Ho={readContext:lt,use:kn,useCallback:function(l,t){return st().memoizedState=[l,t===void 0?null:t],l},useContext:lt,useEffect:bo,useImperativeHandle:function(l,t,a){a=a!=null?a.concat([l]):null,$n(4194308,4,zo.bind(null,t,l),a)},useLayoutEffect:function(l,t){return $n(4194308,4,l,t)},useInsertionEffect:function(l,t){$n(4,2,l,t)},useMemo:function(l,t){var a=st();t=t===void 0?null:t;var e=l();if(be){na(!0);try{l()}finally{na(!1)}}return a.memoizedState=[e,t],e},useReducer:function(l,t,a){var e=st();if(a!==void 0){var u=a(t);if(be){na(!0);try{a(t)}finally{na(!1)}}}else u=t;return e.memoizedState=e.baseState=u,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},e.queue=l,l=l.dispatch=Lh.bind(null,$,l),[e.memoizedState,l]},useRef:function(l){var t=st();return l={current:l},t.memoizedState=l},useState:function(l){l=Uc(l);var t=l.queue,a=Uo.bind(null,$,t);return t.dispatch=a,[l.memoizedState,a]},useDebugValue:Hc,useDeferredValue:function(l,t){var a=st();return qc(a,l,t)},useTransition:function(){var l=Uc(!1);return l=_o.bind(null,$,l.queue,!0,!1),st().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,t,a){var e=$,u=st();if(nl){if(a===void 0)throw Error(y(407));a=a()}else{if(a=t(),zl===null)throw Error(y(349));(el&127)!==0||to(e,t,a)}u.memoizedState=a;var n={value:a,getSnapshot:t};return u.queue=n,bo(eo.bind(null,e,n,l),[l]),e.flags|=2048,Pe(9,{destroy:void 0},ao.bind(null,e,n,a,t),null),a},useId:function(){var l=st(),t=zl.identifierPrefix;if(nl){var a=Pt,e=It;a=(e&~(1<<32-mt(e)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Jn++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof e.is=="string"?i.createElement("select",{is:e.is}):i.createElement("select"),e.multiple?n.multiple=!0:e.size&&(n.size=e.size);break;default:n=typeof e.is=="string"?i.createElement(u,{is:e.is}):i.createElement(u)}}n[Xl]=t,n[Il]=e;l:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break l;for(;i.sibling===null;){if(i.return===null||i.return===t)break l;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=n;l:switch(at(n,u,e),u){case"button":case"input":case"select":case"textarea":e=!!e.autoFocus;break l;case"img":e=!0;break l;default:e=!1}e&&ba(t)}}return _l(t),Pc(t,t.type,l===null?null:l.memoizedProps,t.pendingProps,a),null;case 6:if(l&&t.stateNode!=null)l.memoizedProps!==e&&ba(t);else{if(typeof e!="string"&&t.stateNode===null)throw Error(y(166));if(l=W.current,Le(t)){if(l=t.stateNode,a=t.memoizedProps,e=null,u=Pl,u!==null)switch(u.tag){case 27:case 5:e=u.memoizedProps}l[Xl]=t,l=!!(l.nodeValue===a||e!==null&&e.suppressHydrationWarning===!0||lm(l.nodeValue,a)),l||Ra(t,!0)}else l=bi(l).createTextNode(e),l[Xl]=t,t.stateNode=l}return _l(t),null;case 31:if(a=t.memoizedState,l===null||l.memoizedState!==null){if(e=Le(t),a!==null){if(l===null){if(!e)throw Error(y(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(y(557));l[Xl]=t}else de(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;_l(t),l=!1}else a=sc(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=a),l=!0;if(!l)return t.flags&256?(At(t),t):(At(t),null);if((t.flags&128)!==0)throw Error(y(558))}return _l(t),null;case 13:if(e=t.memoizedState,l===null||l.memoizedState!==null&&l.memoizedState.dehydrated!==null){if(u=Le(t),e!==null&&e.dehydrated!==null){if(l===null){if(!u)throw Error(y(318));if(u=t.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(y(317));u[Xl]=t}else de(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;_l(t),u=!1}else u=sc(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=u),u=!0;if(!u)return t.flags&256?(At(t),t):(At(t),null)}return At(t),(t.flags&128)!==0?(t.lanes=a,t):(a=e!==null,l=l!==null&&l.memoizedState!==null,a&&(e=t.child,u=null,e.alternate!==null&&e.alternate.memoizedState!==null&&e.alternate.memoizedState.cachePool!==null&&(u=e.alternate.memoizedState.cachePool.pool),n=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),n!==u&&(e.flags|=2048)),a!==l&&a&&(t.child.flags|=8192),ei(t,t.updateQueue),_l(t),null);case 4:return rl(),l===null&&zf(t.stateNode.containerInfo),_l(t),null;case 10:return ra(t.type),_l(t),null;case 19:if(z(Dl),e=t.memoizedState,e===null)return _l(t),null;if(u=(t.flags&128)!==0,n=e.rendering,n===null)if(u)Ku(e,!1);else{if(xl!==0||l!==null&&(l.flags&128)!==0)for(l=t.child;l!==null;){if(n=Ln(l),n!==null){for(t.flags|=128,Ku(e,!1),l=n.updateQueue,t.updateQueue=l,ei(t,l),t.subtreeFlags=0,l=a,a=t.child;a!==null;)Ds(a,l),a=a.sibling;return x(Dl,Dl.current&1|2),nl&&ma(t,e.treeForkCount),t.child}l=l.sibling}e.tail!==null&&Kl()>fi&&(t.flags|=128,u=!0,Ku(e,!1),t.lanes=4194304)}else{if(!u)if(l=Ln(n),l!==null){if(t.flags|=128,u=!0,l=l.updateQueue,t.updateQueue=l,ei(t,l),Ku(e,!0),e.tail===null&&e.tailMode==="hidden"&&!n.alternate&&!nl)return _l(t),null}else 2*Kl()-e.renderingStartTime>fi&&a!==536870912&&(t.flags|=128,u=!0,Ku(e,!1),t.lanes=4194304);e.isBackwards?(n.sibling=t.child,t.child=n):(l=e.last,l!==null?l.sibling=n:t.child=n,e.last=n)}return e.tail!==null?(l=e.tail,e.rendering=l,e.tail=l.sibling,e.renderingStartTime=Kl(),l.sibling=null,a=Dl.current,x(Dl,u?a&1|2:a&1),nl&&ma(t,e.treeForkCount),l):(_l(t),null);case 22:case 23:return At(t),zc(),e=t.memoizedState!==null,l!==null?l.memoizedState!==null!==e&&(t.flags|=8192):e&&(t.flags|=8192),e?(a&536870912)!==0&&(t.flags&128)===0&&(_l(t),t.subtreeFlags&6&&(t.flags|=8192)):_l(t),a=t.updateQueue,a!==null&&ei(t,a.retryQueue),a=null,l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(a=l.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(t.flags|=2048),l!==null&&z(re),null;case 24:return a=null,l!==null&&(a=l.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ra(Rl),_l(t),null;case 25:return null;case 30:return null}throw Error(y(156,t.tag))}function Wh(l,t){switch(cc(t),t.tag){case 1:return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 3:return ra(Rl),rl(),l=t.flags,(l&65536)!==0&&(l&128)===0?(t.flags=l&-65537|128,t):null;case 26:case 27:case 5:return le(t),null;case 31:if(t.memoizedState!==null){if(At(t),t.alternate===null)throw Error(y(340));de()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 13:if(At(t),l=t.memoizedState,l!==null&&l.dehydrated!==null){if(t.alternate===null)throw Error(y(340));de()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 19:return z(Dl),null;case 4:return rl(),null;case 10:return ra(t.type),null;case 22:case 23:return At(t),zc(),l!==null&&z(re),l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 24:return ra(Rl),null;case 25:return null;default:return null}}function nd(l,t){switch(cc(t),t.tag){case 3:ra(Rl),rl();break;case 26:case 27:case 5:le(t);break;case 4:rl();break;case 31:t.memoizedState!==null&&At(t);break;case 13:At(t);break;case 19:z(Dl);break;case 10:ra(t.type);break;case 22:case 23:At(t),zc(),l!==null&&z(re);break;case 24:ra(Rl)}}function Ju(l,t){try{var a=t.updateQueue,e=a!==null?a.lastEffect:null;if(e!==null){var u=e.next;a=u;do{if((a.tag&l)===l){e=void 0;var n=a.create,i=a.inst;e=n(),i.destroy=e}a=a.next}while(a!==u)}}catch(c){gl(t,t.return,c)}}function Xa(l,t,a){try{var e=t.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var n=u.next;e=n;do{if((e.tag&l)===l){var i=e.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,u=t;var s=a,v=c;try{v()}catch(E){gl(u,s,E)}}}e=e.next}while(e!==n)}}catch(E){gl(t,t.return,E)}}function id(l){var t=l.updateQueue;if(t!==null){var a=l.stateNode;try{Ws(t,a)}catch(e){gl(l,l.return,e)}}}function cd(l,t,a){a.props=Se(l.type,l.memoizedProps),a.state=l.memoizedState;try{a.componentWillUnmount()}catch(e){gl(l,t,e)}}function wu(l,t){try{var a=l.ref;if(a!==null){switch(l.tag){case 26:case 27:case 5:var e=l.stateNode;break;case 30:e=l.stateNode;break;default:e=l.stateNode}typeof a=="function"?l.refCleanup=a(e):a.current=e}}catch(u){gl(l,t,u)}}function la(l,t){var a=l.ref,e=l.refCleanup;if(a!==null)if(typeof e=="function")try{e()}catch(u){gl(l,t,u)}finally{l.refCleanup=null,l=l.alternate,l!=null&&(l.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(u){gl(l,t,u)}else a.current=null}function fd(l){var t=l.type,a=l.memoizedProps,e=l.stateNode;try{l:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&e.focus();break l;case"img":a.src?e.src=a.src:a.srcSet&&(e.srcset=a.srcSet)}}catch(u){gl(l,l.return,u)}}function lf(l,t,a){try{var e=l.stateNode;gr(e,l.type,a,t),e[Il]=t}catch(u){gl(l,l.return,u)}}function sd(l){return l.tag===5||l.tag===3||l.tag===26||l.tag===27&&ka(l.type)||l.tag===4}function tf(l){l:for(;;){for(;l.sibling===null;){if(l.return===null||sd(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.tag===27&&ka(l.type)||l.flags&2||l.child===null||l.tag===4)continue l;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function af(l,t,a){var e=l.tag;if(e===5||e===6)l=l.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(l,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(l),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=sa));else if(e!==4&&(e===27&&ka(l.type)&&(a=l.stateNode,t=null),l=l.child,l!==null))for(af(l,t,a),l=l.sibling;l!==null;)af(l,t,a),l=l.sibling}function ui(l,t,a){var e=l.tag;if(e===5||e===6)l=l.stateNode,t?a.insertBefore(l,t):a.appendChild(l);else if(e!==4&&(e===27&&ka(l.type)&&(a=l.stateNode),l=l.child,l!==null))for(ui(l,t,a),l=l.sibling;l!==null;)ui(l,t,a),l=l.sibling}function od(l){var t=l.stateNode,a=l.memoizedProps;try{for(var e=l.type,u=t.attributes;u.length;)t.removeAttributeNode(u[0]);at(t,e,a),t[Xl]=l,t[Il]=a}catch(n){gl(l,l.return,n)}}var Sa=!1,Bl=!1,ef=!1,dd=typeof WeakSet=="function"?WeakSet:Set,wl=null;function $h(l,t){if(l=l.containerInfo,Nf=Ni,l=zs(l),$i(l)){if("selectionStart"in l)var a={start:l.selectionStart,end:l.selectionEnd};else l:{a=(a=l.ownerDocument)&&a.defaultView||window;var e=a.getSelection&&a.getSelection();if(e&&e.rangeCount!==0){a=e.anchorNode;var u=e.anchorOffset,n=e.focusNode;e=e.focusOffset;try{a.nodeType,n.nodeType}catch{a=null;break l}var i=0,c=-1,s=-1,v=0,E=0,A=l,g=null;t:for(;;){for(var S;A!==a||u!==0&&A.nodeType!==3||(c=i+u),A!==n||e!==0&&A.nodeType!==3||(s=i+e),A.nodeType===3&&(i+=A.nodeValue.length),(S=A.firstChild)!==null;)g=A,A=S;for(;;){if(A===l)break t;if(g===a&&++v===u&&(c=i),g===n&&++E===e&&(s=i),(S=A.nextSibling)!==null)break;A=g,g=A.parentNode}A=S}a=c===-1||s===-1?null:{start:c,end:s}}else a=null}a=a||{start:0,end:0}}else a=null;for(jf={focusedElem:l,selectionRange:a},Ni=!1,wl=t;wl!==null;)if(t=wl,l=t.child,(t.subtreeFlags&1028)!==0&&l!==null)l.return=t,wl=l;else for(;wl!==null;){switch(t=wl,n=t.alternate,l=t.flags,t.tag){case 0:if((l&4)!==0&&(l=t.updateQueue,l=l!==null?l.events:null,l!==null))for(a=0;a title"))),at(n,e,a),n[Xl]=l,Nl(n),e=n;break l;case"link":var i=gm("link","href",u).get(e+(a.href||""));if(i){for(var c=0;cpl&&(i=pl,pl=L,L=i);var h=ps(c,L),d=ps(c,pl);if(h&&d&&(S.rangeCount!==1||S.anchorNode!==h.node||S.anchorOffset!==h.offset||S.focusNode!==d.node||S.focusOffset!==d.offset)){var r=A.createRange();r.setStart(h.node,h.offset),S.removeAllRanges(),L>pl?(S.addRange(r),S.extend(d.node,d.offset)):(r.setEnd(d.node,d.offset),S.addRange(r))}}}}for(A=[],S=c;S=S.parentNode;)S.nodeType===1&&A.push({element:S,left:S.scrollLeft,top:S.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ca?32:a,p.T=null,a=df,df=null;var n=Ka,i=Aa;if(Zl=0,uu=Ka=null,Aa=0,(vl&6)!==0)throw Error(y(331));var c=vl;if(vl|=4,zd(n.current),Sd(n,n.current,i,a),vl=c,Pu(0,!1),ct&&typeof ct.onPostCommitFiberRoot=="function")try{ct.onPostCommitFiberRoot(Wt,n)}catch{}return!0}finally{M.p=u,p.T=e,Qd(l,t)}}function Zd(l,t,a){t=Rt(a,t),t=Vc(l.stateNode,t,2),l=Ya(l,t,2),l!==null&&(ia(l,2),ta(l))}function gl(l,t,a){if(l.tag===3)Zd(l,l,a);else for(;t!==null;){if(t.tag===3){Zd(t,l,a);break}else if(t.tag===1){var e=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof e.componentDidCatch=="function"&&(La===null||!La.has(e))){l=Rt(a,l),a=Vo(2),e=Ya(t,a,2),e!==null&&(Lo(a,e,t,l),ia(e,2),ta(e));break}}t=t.return}}function vf(l,t,a){var e=l.pingCache;if(e===null){e=l.pingCache=new Ph;var u=new Set;e.set(t,u)}else u=e.get(t),u===void 0&&(u=new Set,e.set(t,u));u.has(a)||(cf=!0,u.add(a),l=ur.bind(null,l,t,a),t.then(l,l))}function ur(l,t,a){var e=l.pingCache;e!==null&&e.delete(t),l.pingedLanes|=l.suspendedLanes&a,l.warmLanes&=~a,zl===l&&(el&a)===a&&(xl===4||xl===3&&(el&62914560)===el&&300>Kl()-ci?(vl&2)===0&&nu(l,0):ff|=a,eu===el&&(eu=0)),ta(l)}function Vd(l,t){t===0&&(t=Me()),l=se(l,t),l!==null&&(ia(l,t),ta(l))}function nr(l){var t=l.memoizedState,a=0;t!==null&&(a=t.retryLane),Vd(l,a)}function ir(l,t){var a=0;switch(l.tag){case 31:case 13:var e=l.stateNode,u=l.memoizedState;u!==null&&(a=u.retryLane);break;case 19:e=l.stateNode;break;case 22:e=l.stateNode._retryCache;break;default:throw Error(y(314))}e!==null&&e.delete(t),Vd(l,a)}function cr(l,t){return Ae(l,t)}var ri=null,cu=null,yf=!1,vi=!1,gf=!1,wa=0;function ta(l){l!==cu&&l.next===null&&(cu===null?ri=cu=l:cu=cu.next=l),vi=!0,yf||(yf=!0,sr())}function Pu(l,t){if(!gf&&vi){gf=!0;do for(var a=!1,e=ri;e!==null;){if(l!==0){var u=e.pendingLanes;if(u===0)var n=0;else{var i=e.suspendedLanes,c=e.pingedLanes;n=(1<<31-mt(42|l)+1)-1,n&=u&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(a=!0,wd(e,n))}else n=el,n=Zt(e,e===zl?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),(n&3)===0||Oa(e,n)||(a=!0,wd(e,n));e=e.next}while(a);gf=!1}}function fr(){Ld()}function Ld(){vi=yf=!1;var l=0;wa!==0&&Sr()&&(l=wa);for(var t=Kl(),a=null,e=ri;e!==null;){var u=e.next,n=Kd(e,t);n===0?(e.next=null,a===null?ri=u:a.next=u,u===null&&(cu=a)):(a=e,(l!==0||(n&3)!==0)&&(vi=!0)),e=u}Zl!==0&&Zl!==5||Pu(l),wa!==0&&(wa=0)}function Kd(l,t){for(var a=l.suspendedLanes,e=l.pingedLanes,u=l.expirationTimes,n=l.pendingLanes&-62914561;0c)break;var E=s.transferSize,A=s.initiatorType;E&&tm(A)&&(s=s.responseEnd,i+=E*(s"u"?null:document;function hm(l,t,a){var e=fu;if(e&&typeof t=="string"&&t){var u=ft(t);u='link[rel="'+l+'"][href="'+u+'"]',typeof a=="string"&&(u+='[crossorigin="'+a+'"]'),mm.has(u)||(mm.add(u),l={rel:l,crossOrigin:a,href:t},e.querySelector(u)===null&&(t=e.createElement("link"),at(t,"link",l),Nl(t),e.head.appendChild(t)))}}function Or(l){Na.D(l),hm("dns-prefetch",l,null)}function Mr(l,t){Na.C(l,t),hm("preconnect",l,t)}function xr(l,t,a){Na.L(l,t,a);var e=fu;if(e&&l&&t){var u='link[rel="preload"][as="'+ft(t)+'"]';t==="image"&&a&&a.imageSrcSet?(u+='[imagesrcset="'+ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(u+='[imagesizes="'+ft(a.imageSizes)+'"]')):u+='[href="'+ft(l)+'"]';var n=u;switch(t){case"style":n=su(l);break;case"script":n=ou(l)}Qt.has(n)||(l=Z({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:l,as:t},a),Qt.set(n,l),e.querySelector(u)!==null||t==="style"&&e.querySelector(en(n))||t==="script"&&e.querySelector(un(n))||(t=e.createElement("link"),at(t,"link",l),Nl(t),e.head.appendChild(t)))}}function Dr(l,t){Na.m(l,t);var a=fu;if(a&&l){var e=t&&typeof t.as=="string"?t.as:"script",u='link[rel="modulepreload"][as="'+ft(e)+'"][href="'+ft(l)+'"]',n=u;switch(e){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ou(l)}if(!Qt.has(n)&&(l=Z({rel:"modulepreload",href:l},t),Qt.set(n,l),a.querySelector(u)===null)){switch(e){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(un(n)))return}e=a.createElement("link"),at(e,"link",l),Nl(e),a.head.appendChild(e)}}}function Ur(l,t,a){Na.S(l,t,a);var e=fu;if(e&&l){var u=Ut(e).hoistableStyles,n=su(l);t=t||"default";var i=u.get(n);if(!i){var c={loading:0,preload:null};if(i=e.querySelector(en(n)))c.loading=5;else{l=Z({rel:"stylesheet",href:l,"data-precedence":t},a),(a=Qt.get(n))&&Cf(l,a);var s=i=e.createElement("link");Nl(s),at(s,"link",l),s._p=new Promise(function(v,E){s.onload=v,s.onerror=E}),s.addEventListener("load",function(){c.loading|=1}),s.addEventListener("error",function(){c.loading|=2}),c.loading|=4,pi(i,t,e)}i={type:"stylesheet",instance:i,count:1,state:c},u.set(n,i)}}}function Cr(l,t){Na.X(l,t);var a=fu;if(a&&l){var e=Ut(a).hoistableScripts,u=ou(l),n=e.get(u);n||(n=a.querySelector(un(u)),n||(l=Z({src:l,async:!0},t),(t=Qt.get(u))&&Rf(l,t),n=a.createElement("script"),Nl(n),at(n,"link",l),a.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},e.set(u,n))}}function Rr(l,t){Na.M(l,t);var a=fu;if(a&&l){var e=Ut(a).hoistableScripts,u=ou(l),n=e.get(u);n||(n=a.querySelector(un(u)),n||(l=Z({src:l,async:!0,type:"module"},t),(t=Qt.get(u))&&Rf(l,t),n=a.createElement("script"),Nl(n),at(n,"link",l),a.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},e.set(u,n))}}function rm(l,t,a,e){var u=(u=W.current)?Si(u):null;if(!u)throw Error(y(446));switch(l){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=su(a.href),a=Ut(u).hoistableStyles,e=a.get(t),e||(e={type:"style",instance:null,count:0,state:null},a.set(t,e)),e):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){l=su(a.href);var n=Ut(u).hoistableStyles,i=n.get(l);if(i||(u=u.ownerDocument||u,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(l,i),(n=u.querySelector(en(l)))&&!n._p&&(i.instance=n,i.state.loading=5),Qt.has(l)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Qt.set(l,a),n||Hr(u,l,a,i.state))),t&&e===null)throw Error(y(528,""));return i}if(t&&e!==null)throw Error(y(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=ou(a),a=Ut(u).hoistableScripts,e=a.get(t),e||(e={type:"script",instance:null,count:0,state:null},a.set(t,e)),e):{type:"void",instance:null,count:0,state:null};default:throw Error(y(444,l))}}function su(l){return'href="'+ft(l)+'"'}function en(l){return'link[rel="stylesheet"]['+l+"]"}function vm(l){return Z({},l,{"data-precedence":l.precedence,precedence:null})}function Hr(l,t,a,e){l.querySelector('link[rel="preload"][as="style"]['+t+"]")?e.loading=1:(t=l.createElement("link"),e.preload=t,t.addEventListener("load",function(){return e.loading|=1}),t.addEventListener("error",function(){return e.loading|=2}),at(t,"link",a),Nl(t),l.head.appendChild(t))}function ou(l){return'[src="'+ft(l)+'"]'}function un(l){return"script[async]"+l}function ym(l,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var e=l.querySelector('style[data-href~="'+ft(a.href)+'"]');if(e)return t.instance=e,Nl(e),e;var u=Z({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return e=(l.ownerDocument||l).createElement("style"),Nl(e),at(e,"style",u),pi(e,a.precedence,l),t.instance=e;case"stylesheet":u=su(a.href);var n=l.querySelector(en(u));if(n)return t.state.loading|=4,t.instance=n,Nl(n),n;e=vm(a),(u=Qt.get(u))&&Cf(e,u),n=(l.ownerDocument||l).createElement("link"),Nl(n);var i=n;return i._p=new Promise(function(c,s){i.onload=c,i.onerror=s}),at(n,"link",e),t.state.loading|=4,pi(n,a.precedence,l),t.instance=n;case"script":return n=ou(a.src),(u=l.querySelector(un(n)))?(t.instance=u,Nl(u),u):(e=a,(u=Qt.get(n))&&(e=Z({},a),Rf(e,u)),l=l.ownerDocument||l,u=l.createElement("script"),Nl(u),at(u,"link",e),l.head.appendChild(u),t.instance=u);case"void":return null;default:throw Error(y(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(e=t.instance,t.state.loading|=4,pi(e,a.precedence,l));return t.instance}function pi(l,t,a){for(var e=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=e.length?e[e.length-1]:null,n=u,i=0;i title"):null)}function qr(l,t,a){if(a===1||t.itemProp!=null)return!1;switch(l){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return l=t.disabled,typeof t.precedence=="string"&&l==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Sm(l){return!(l.type==="stylesheet"&&(l.state.loading&3)===0)}function Br(l,t,a,e){if(a.type==="stylesheet"&&(typeof e.media!="string"||matchMedia(e.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var u=su(e.href),n=t.querySelector(en(u));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(l.count++,l=zi.bind(l),t.then(l,l)),a.state.loading|=4,a.instance=n,Nl(n);return}n=t.ownerDocument||t,e=vm(e),(u=Qt.get(u))&&Cf(e,u),n=n.createElement("link"),Nl(n);var i=n;i._p=new Promise(function(c,s){i.onload=c,i.onerror=s}),at(n,"link",e),a.instance=n}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(l.count++,a=zi.bind(l),t.addEventListener("load",a),t.addEventListener("error",a))}}var Hf=0;function Yr(l,t){return l.stylesheets&&l.count===0&&Ai(l,l.stylesheets),0Hf?50:800)+t);return l.unsuspend=a,function(){l.unsuspend=null,clearTimeout(e),clearTimeout(u)}}:null}function zi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ai(this,this.stylesheets);else if(this.unsuspend){var l=this.unsuspend;this.unsuspend=null,l()}}}var Ti=null;function Ai(l,t){l.stylesheets=null,l.unsuspend!==null&&(l.count++,Ti=new Map,t.forEach(Gr,l),Ti=null,zi.call(l))}function Gr(l,t){if(!(t.state.loading&4)){var a=Ti.get(l);if(a)var e=a.get(null);else{a=new Map,Ti.set(l,a);for(var u=l.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(O)}catch(dl){console.error(dl)}}return O(),Lf.exports=tv(),Lf.exports}var ev=av();const ol={async req(O,dl,P,y){const J={method:O,headers:{}};return P!==void 0&&(J.headers["Content-Type"]=y?"application/x-www-form-urlencoded":"application/json",J.body=y?P:JSON.stringify(P)),(await fetch(dl,J)).json().catch(()=>({ok:!1,msg:"Respuesta no JSON"}))},login:(O,dl,P)=>ol.req("POST","/api/login",{user:O,password:dl,workDate:P}),context:()=>ol.req("GET","/api/context"),meta:O=>ol.req("GET","/api/meta?key="+encodeURIComponent(O)),dataset:O=>ol.req("GET","/api/dataset?key="+encodeURIComponent(O)),datasetPost:O=>ol.req("POST","/api/dataset",O),processGet:()=>ol.req("GET","/api/process"),processPost:O=>ol.req("POST","/api/process",O),cmd:(O,dl)=>ol.req("POST","/api/cmd",new URLSearchParams({action:O,...dl?{a1:dl}:{}}).toString(),!0)};function uv(O){O=O==="light"?"light":"dark",document.documentElement.setAttribute("data-theme",O),document.documentElement.classList.toggle("light",O==="light");try{localStorage.setItem("dw-theme",O)}catch{}}const nv=()=>{const O=new Date;return O.getFullYear()+"-"+String(O.getMonth()+1).padStart(2,"0")+"-"+String(O.getDate()).padStart(2,"0")};function iv(){var pu,Eu,zn,ue;const O=!!(window.chrome&&window.chrome.webview),dl=typeof window.SendToFWH=="function",P=O?dl?"hibrida":"pc":"web",[y,J]=k.useState(()=>{try{return localStorage.getItem("dw-theme")||"dark"}catch{return"dark"}}),[H,Tl]=k.useState(null),[kl,Y]=k.useState("login"),[N,il]=k.useState("admin"),[Z,Al]=k.useState("1234"),[Wl,$l]=k.useState(nv()),[Fl,Ot]=k.useState(""),[nt,Jt]=k.useState([]),[Yl,it]=k.useState(""),[j,Vl]=k.useState(null),[K,Gl]=k.useState([]),[ot,aa]=k.useState(null),[Mt,Ll]=k.useState(""),[xt,dt]=k.useState(""),[et,p]=k.useState({}),[M,V]=k.useState(null),[cl,ml]=k.useState("asc"),[m,z]=k.useState(1),[x,C]=k.useState(25),[R,W]=k.useState(null),[Q,hl]=k.useState(null),[rl,ea]=k.useState(-1),[le,Dt]=k.useState(""),[mu,ua]=k.useState(""),[hu,ze]=k.useState([]),[wt,Te]=k.useState(null),[ja,Ae]=k.useState(0),[kt,ru]=k.useState(!1),[Ne,Kl]=k.useState({}),[mn,vu]=k.useState(""),[hn,je]=k.useState({}),[rn,vn]=k.useState(!1),[te,Ui]=k.useState(()=>{try{return localStorage.getItem("dw-sidebar")==="1"}catch{return!1}}),[Wt,ct]=k.useState(()=>{try{return JSON.parse(localStorage.getItem("dw-nav-sec")||"{}")}catch{return{}}}),[na,mt]=k.useState(!1),[Ci,yn]=k.useState(!1),[gn,_e]=k.useState(()=>{const f=location.hostname;return!f||f==="localhost"?"127.0.0.1":f});location.pathname.split("/")[1];const _a="http://"+(gn.trim()||location.hostname||"127.0.0.1")+":2222/portal/",Oe=P==="pc"?"1 · PC (escritorio)":P==="hibrida"?"2 · WebView + HTTP":"3 · Web 100%";function Xt(f){var b;try{f=new URL(f,location.href).href}catch{}if(O&&((b=window.chrome)!=null&&b.webview)){try{window.chrome.webview.postMessage(JSON.stringify({cmd:"open",url:f}))}catch{}try{window.chrome.webview.postMessage("open:"+f)}catch{}}fetch("/api/open-browser",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"url="+encodeURIComponent(f),credentials:"same-origin"}).catch(()=>{}),O||window.open(f,"_blank","noopener")}function Zt(f,b){f.preventDefault(),Xt(b)}k.useEffect(()=>{uv(y)},[y]),k.useEffect(()=>{try{localStorage.setItem("dw-sidebar",te?"1":"0")}catch{}},[te]),k.useEffect(()=>{try{localStorage.setItem("dw-nav-sec",JSON.stringify(Wt))}catch{}},[Wt]),k.useEffect(()=>{ol.context().then(f=>{f.ok&&(Tl(f),Me())}).catch(()=>{})},[]);function Oa(){location.href="/dashboard.html"}function bn(f){ct(b=>({...b,[f]:!b[f]}))}async function Me(){var q;Y("app");const f=await ol.meta("modules"),b=f.ok?f.doc.sections||[]:[];Jt(b);const _=await ol.meta("app");_.ok&&_.doc.version&&ua(_.doc.version);const D=(q=b.flatMap(X=>X.items||[]).find(X=>X.screen&&!X.sub))==null?void 0:q.screen;D&&ht(D)}async function yu(f){f.preventDefault(),Ot("");const b=await ol.login(N.trim(),Z,Wl);if(!b.ok)return Ot(b.msg||"Credenciales inválidas");const _=await ol.context();Tl(_),Me()}function ia(f){var b;return!!(f&&(f.layout==="master-detail"||f.layout==="document")&&((b=f.detail)!=null&&b.dataRef))}function gu(f){return!!(f&&f.layout==="form"&&Array.isArray(f.fields)&&f.fields.length)}function ae(f){var b,_;return!f||ia(f)||gu(f)?!1:!!(f.layout==="list"||f.dataRef&&((_=(b=f.grid)==null?void 0:b.columns)!=null&&_.length))}function Sn(f){const b=f==null?void 0:f.toolbar;return Array.isArray(b)&&b.length?b.map(_=>typeof _=="string"?_:(_==null?void 0:_.id)||"").filter(Boolean):["add","edit","delete","refresh"]}function Ql(f,b){return Sn(f).includes(b)}function Cl(f){var b,_,D;return(f==null?void 0:f.keyField)||((D=(_=(b=f==null?void 0:f.grid)==null?void 0:b.columns)==null?void 0:_[0])==null?void 0:D.id)||"code"}function pt(f){return(f==null?void 0:f.type)==="money"||(f==null?void 0:f.format)==="money"}async function pn(f){const b={};for(const _ of f||[])if(!(_.type!=="lookup"||!_.lookup||b[_.lookup]))try{const D=await ol.meta(_.lookup);if(!D.ok)continue;const q=D.doc.valueField||"code",X=D.doc.labelField||"name",I=await ol.dataset(D.doc.dataRef);b[_.lookup]=(I.ok?I.rows:[]).map(ll=>({value:ll[q],label:ll[X]!=null?ll[X]:ll[q]}))}catch{b[_.lookup]=[]}je(_=>({..._,...b}))}async function ht(f){var _;aa(null),it(f),W(null),Te(null),ze([]),ru(!1),Ae(0);const b=await ol.meta(f);if(!b.ok)return Vl(null);if(Vl(b.doc),dt(""),p({}),V(null),ml("asc"),z(1),ia(b.doc)){const D=await ol.dataset(b.doc.dataRef),q=D.ok?D.rows:[];Gl(q),W(q[0]||null);const X=await ol.dataset(b.doc.detail.dataRef);ze(X.ok?X.rows:[])}else if(gu(b.doc)){const D=await ol.dataset(b.doc.dataRef),q=D.ok?D.rows:[];Gl(q),Kl(q[0]?{...q[0]}:{}),vu(b.doc.tabs&&((_=b.doc.tabs[0])==null?void 0:_.id)||"all"),await pn(b.doc.fields)}else if(ae(b.doc)&&b.doc.dataRef){const D=await ol.dataset(b.doc.dataRef);Gl(D.ok?D.rows:[])}else Gl([])}async function $t(){Vl(null),it("__procs");const f=await ol.processGet();aa(f.ok?f:{items:[],handlers:[]}),Ll("")}async function Xl(f){Ll("Ejecutando "+f.key+"…");const b=await ol.processPost({key:f.key,params:{}});Ll(JSON.stringify(b,null,2))}async function Il(f,b){const _=await ol.cmd(f,b);if(_.ok){const D=await ol.context();Tl(D),Me()}else Dt(_.msg||"No autorizado")}async function Ma(){const{isNew:f,row:b}=Q,_=j.dataRef,D=Cl(j),q=Q.scope==="detail"?j.detail.dataRef:_,X=Q.scope==="detail"?j.detail.keyField||"code":D,I=f?{key:q,action:"add",row:b}:{key:q,action:"update",keyField:X,keyValue:String(b[X]),row:b},ll=await ol.datasetPost(I);Dt(ll.ok?"Guardado":ll.msg||"Error"),ll.ok&&(hl(null),ht(j.id))}async function bu(){var D;const f=Cl(j),b=kt?{key:j.dataRef,action:"add",row:Ne}:{key:j.dataRef,action:"update",keyField:f,keyValue:String((D=K[ja])==null?void 0:D[f]),row:Ne},_=await ol.datasetPost(b);Dt(_.ok?"Guardado":_.msg||"Error"),_.ok&&ht(j.id)}async function Ri(){if(kt)return;const f=Cl(j),b=K[ja];if(!b||!confirm("¿Eliminar "+b[f]+"?"))return;const _=await ol.datasetPost({key:j.dataRef,action:"delete",keyField:f,keyValue:String(b[f])});Dt(_.ok?"Eliminado":_.msg||"Error"),_.ok&&ht(j.id)}function Hi(f,b,_){const D=b[f.id];if(f.type==="checkbox")return o.jsx("input",{type:"checkbox",checked:!!D,onChange:q=>_({...b,[f.id]:q.target.checked})});if(f.type==="checklist"){const q=Array.isArray(D)?D:D?String(D).split(/[,;]/).map(X=>X.trim()):[];return o.jsx("div",{className:"checklist",children:(f.options||[]).map(X=>o.jsxs("label",{className:"chk-item",children:[o.jsx("input",{type:"checkbox",checked:q.includes(X),onChange:I=>{const ll=I.target.checked?[...q,X]:q.filter(ne=>ne!==X);_({...b,[f.id]:ll})}})," ",X]},X))})}if(f.type==="select")return o.jsxs("select",{value:D??"",onChange:q=>_({...b,[f.id]:q.target.value}),children:[o.jsx("option",{value:""}),(f.options||[]).map(q=>o.jsx("option",{value:q,children:q},q))]});if(f.type==="lookup"){const q=hn[f.lookup]||[];return o.jsxs("select",{value:D??"",onChange:X=>_({...b,[f.id]:X.target.value}),children:[o.jsx("option",{value:""}),q.map(X=>o.jsxs("option",{value:X.value,children:[X.label," (",X.value,")"]},X.value))]})}return pt(f)?o.jsx("input",{type:"number",step:"0.01",value:D??"",onChange:q=>_({...b,[f.id]:q.target.value===""?null:Number(q.target.value)})}):o.jsx("input",{value:D??"",readOnly:!kt&&Cl(j)===f.id&&b===Ne,onChange:q=>_({...b,[f.id]:q.target.value})})}async function En(){if(!R||!j)return;const f=Cl(j);if(!confirm("¿Eliminar "+R[f]+"?"))return;const b=await ol.datasetPost({key:j.dataRef,action:"delete",keyField:f,keyValue:String(R[f])});Dt(b.ok?"Eliminado":b.msg||"Error"),b.ok&&ht(j.id)}function xa(){var X;if(!j)return;const f=((X=j.grid)==null?void 0:X.columns)||[],b=I=>{const ll=I==null?"":String(I);return/[",\n\r]/.test(ll)?'"'+ll.replace(/"/g,'""')+'"':ll},_=[f.map(I=>b(I.label||I.id)).join(",")];El.forEach(I=>_.push(f.map(ll=>b(I[ll.id])).join(",")));const D=new Blob(["\uFEFF"+_.join(`\r +`)],{type:"text/csv;charset=utf-8;"}),q=document.createElement("a");q.href=URL.createObjectURL(D),q.download=String(j.title||j.id).replace(/[^A-Za-z0-9_\-]+/g,"_")+".csv",q.click(),URL.revokeObjectURL(q.href),Dt("Excel/CSV exportado ("+El.length+" filas)")}function xe(){var q;if(!j)return;const f=((q=j.grid)==null?void 0:q.columns)||[],b=window.open("","_blank");if(!b){window.print();return}const _=f.map(X=>""+(X.label||X.id)+"").join(""),D=El.map(X=>""+f.map(I=>""+ee(X[I.id],I)+"").join("")+"").join("");b.document.write(""+(j.title||"")+"

"+(j.title||"")+"

"+_+""+D+"
"),b.document.close(),setTimeout(()=>{try{b.print()}catch{}},250)}const Jl=((pu=j==null?void 0:j.grid)==null?void 0:pu.columns)||[],ca=k.useMemo(()=>Jl.filter(f=>f.type==="select"&&Array.isArray(f.options)&&f.options.length),[Jl]),El=k.useMemo(()=>{const f=xt.toLowerCase().trim(),b=(j==null?void 0:j.searchFields)||Jl.map(D=>D.id);let _=K.filter(D=>{if(f&&!b.some(q=>String(D[q]??"").toLowerCase().includes(f)))return!1;for(const[q,X]of Object.entries(et))if(X!==""&&X!=null&&String(D[q]??"")!==String(X))return!1;return!0});if(M){const D=Jl.find(X=>X.id===M)||{},q=cl==="desc"?-1:1;_=_.slice().sort((X,I)=>{const ll=X[M],ne=I[M];if(pt(D)||D.type==="number"){const ft=Number(ll),Ue=Number(ne);if(!Number.isNaN(ft)&&!Number.isNaN(Ue))return q*(ft-Ue)}return D.type==="checkbox"?q*((ll?1:0)-(ne?1:0)):q*String(ll??"").localeCompare(String(ne??""),"es",{sensitivity:"base",numeric:!0})})}return _},[K,xt,j,Jl,et,M,cl]),Ut=Math.max(1,Math.ceil(El.length/x)||1),Nl=Math.min(m,Ut),Su=k.useMemo(()=>{const b=(Math.min(m,Math.max(1,Math.ceil(El.length/x)||1))-1)*x;return El.slice(b,b+x)},[El,m,x]),ee=(f,b)=>pt(b)&&f!=null&&f!==""?Number(f).toLocaleString("es",{minimumFractionDigits:2}):b.type==="checkbox"?f?"✔":"":f==null?"":String(f);function fa(f){M===f?ml(b=>b==="asc"?"desc":"asc"):(V(f),ml("asc"))}function Ft(f,b){if(b){hl({isNew:!0,row:{}}),ea(-1);return}const _=El.findIndex(D=>String(D[Cl(j)])===String(f[Cl(j)]));ea(_),hl({isNew:!1,row:{...f}})}function De(f){if(!j||!El.length||Q!=null&&Q.isNew)return;let b=rl;f==="first"?b=0:f==="prev"?b=Math.max(0,b-1):f==="next"?b=Math.min(El.length-1,b+1):f==="last"&&(b=El.length-1),ea(b),hl({isNew:!1,row:{...El[b]}})}return kl==="login"?o.jsxs("div",{className:"login-wrap",children:[o.jsx("button",{className:"theme-fab",onClick:()=>J(y==="dark"?"light":"dark"),children:y==="dark"?"Dark":"Light"}),o.jsxs("div",{className:"login-card",children:[o.jsx("div",{className:"login-brand",children:"FiveTech ERP"}),o.jsx("div",{className:"login-sub",children:"Rama 100% web · frontend React"}),o.jsxs("form",{onSubmit:yu,children:[o.jsx("label",{children:"Usuario"}),o.jsx("input",{value:N,onChange:f=>il(f.target.value)}),o.jsx("label",{children:"Clave"}),o.jsx("input",{type:"password",value:Z,onChange:f=>Al(f.target.value)}),o.jsx("label",{children:"Fecha de trabajo"}),o.jsx("input",{type:"date",value:Wl,onChange:f=>$l(f.target.value)}),o.jsx("button",{type:"submit",children:"Entrar"}),o.jsx("div",{className:"login-error",children:Fl})]}),o.jsx("button",{type:"button",className:"tool-toggle",onClick:()=>vn(!rn),children:"Opciones de vista (ayuda)"}),rn&&o.jsxs("div",{className:"tool-panel",children:[o.jsxs("div",{className:"tool-row",children:[o.jsx("span",{children:"Ahora está en:"})," ",o.jsx("b",{children:Oe})]}),o.jsxs("div",{className:"tool-row",children:[o.jsx("span",{children:o.jsx("b",{children:"1 · Login directo — versión PC"})}),o.jsxs("div",{className:"tool-note",children:["Aplicación de este equipo. Login clásico: ",o.jsx("a",{href:"/login",onClick:f=>Zt(f,"/login"),children:"/login"})]})]}),o.jsxs("div",{className:"tool-row",children:[o.jsx("span",{children:o.jsx("b",{children:"2 · WebView + HTTP"})}),o.jsx("div",{className:"tool-note",children:"App de escritorio + navegador (como Edge con localhost:2222/portal)."}),o.jsx("nav",{className:"tool-links",children:o.jsx("a",{href:"/portal/",onClick:f=>{f.preventDefault(),Xt("http://127.0.0.1:2222/portal/")},children:"Abrir portal en el navegador"})})]}),o.jsxs("div",{className:"tool-row",children:[o.jsxs("span",{children:[o.jsx("b",{children:"3 · Web 100%"})," — elija la vista (mismos datos)"]}),o.jsxs("nav",{className:"tool-links",children:[o.jsx("a",{href:"/web-vanilla/index.html",onClick:f=>Zt(f,"/web-vanilla/index.html"),children:"Vanilla"}),o.jsx("a",{href:"/web-angular/index.html",onClick:f=>Zt(f,"/web-angular/index.html"),children:"Angular"}),o.jsx("a",{href:"/web-react/index.html",onClick:f=>Zt(f,"/web-react/index.html"),children:"React"}),o.jsx("a",{href:"/web-vue/index.html",onClick:f=>Zt(f,"/web-vue/index.html"),children:"Vue"}),o.jsx("a",{href:"/portal/",onClick:f=>Zt(f,"/portal/"),children:"Menú…"})]})]}),o.jsxs("div",{className:"tool-row",children:[o.jsx("span",{children:o.jsx("b",{children:"Acceso por la red"})}),o.jsxs("div",{className:"tool-note",children:[o.jsx("b",{children:"Intranet:"})," en otro PC/celular de la oficina use la dirección de abajo."]}),o.jsxs("nav",{className:"tool-links",children:[o.jsx("input",{className:"tool-ip",value:gn,onChange:f=>_e(f.target.value),placeholder:"ej. 192.168.1.20"}),o.jsx("button",{type:"button",className:"btn",onClick:()=>Xt(_a),children:"Probar"}),o.jsx("button",{type:"button",className:"btn",onClick:()=>navigator.clipboard.writeText(_a).then(()=>{yn(!0),setTimeout(()=>yn(!1),1400)}),children:Ci?"¡Copiado!":"Copiar enlace"})]}),o.jsxs("div",{className:"tool-note",children:["Enlace: ",_a]}),o.jsxs("div",{className:"tool-note",children:[o.jsx("b",{children:"Remoto (internet):"})," solo si sistemas habilitó acceso seguro (VPN o túnel)."]})]})]})]})]}):o.jsxs("div",{className:"app",children:[o.jsxs("header",{className:"topbar",children:[o.jsxs("div",{className:"topbar-left",children:[o.jsx("button",{type:"button",className:"btn-icon-bar",title:te?"Mostrar menú":"Ocultar menú","aria-expanded":!te,onClick:()=>Ui(f=>!f),children:"☰"}),o.jsx("span",{className:"brand",children:"FiveTech ERP"}),o.jsxs("span",{className:"branch-tag",children:["rama ",P," · react",mu?" · v"+mu:""]}),o.jsx("button",{type:"button",className:"btn-ghost btn-dash",title:"Ir al dashboard FWH",onClick:Oa,children:"Dashboard"})]}),o.jsxs("div",{className:"topbar-right",children:[o.jsx("select",{value:(H==null?void 0:H.company)||"",disabled:(H==null?void 0:H.canSwitchCompany)===!1,onChange:f=>Il("company",f.target.value),children:((H==null?void 0:H.companies)||[]).map(f=>o.jsx("option",{value:f.code,children:f.name||f.code},f.code))}),o.jsx("select",{value:(H==null?void 0:H.app)||"",disabled:(H==null?void 0:H.canSwitchApp)===!1,onChange:f=>Il("app",f.target.value),children:((H==null?void 0:H.apps)||[]).map(f=>o.jsx("option",{value:f.id,children:f.label||f.id},f.id))}),o.jsx("input",{type:"date",value:Wl,onChange:f=>{$l(f.target.value),ol.cmd("workdate",f.target.value)}}),o.jsxs("span",{className:"user-chip",children:[H==null?void 0:H.company," · ",(H==null?void 0:H.appLabel)||(H==null?void 0:H.app)," · ",H!=null&&H.isAdmin?"admin":"usuario"]}),o.jsx("button",{className:"btn-ghost",onClick:()=>J(y==="dark"?"light":"dark"),children:y==="dark"?"Dark":"Light"}),o.jsx("button",{className:"btn-ghost",onClick:async()=>{await ol.cmd("logout"),Y("login"),Tl(null)},children:"Salir"})]})]}),o.jsxs("div",{className:"body"+(te?" sidebar-collapsed":""),children:[o.jsxs("nav",{className:"sidebar","aria-label":"Módulos",children:[o.jsx("div",{className:"nav-pin",children:o.jsx("button",{type:"button",className:"nav-item dash",onClick:Oa,children:"⊞ Dashboard"})}),nt.map(f=>{const b=f.id||f.title,_=!!Wt[b];return o.jsxs("div",{className:"nav-group"+(_?" collapsed":""),children:[o.jsxs("button",{type:"button",className:"nav-section",onClick:()=>bn(b),children:[o.jsx("span",{children:f.title}),o.jsx("span",{className:"chev",children:"▼"})]}),o.jsx("div",{className:"nav-group-body",children:(f.items||[]).filter(D=>D.screen).map(D=>o.jsx("button",{type:"button",className:"nav-item"+(D.sub?" sub":"")+(Yl===D.screen?" active":""),onClick:()=>ht(D.screen),children:D.label},D.id))})]},b)}),o.jsxs("div",{className:"nav-group"+(Wt.__tools?" collapsed":""),children:[o.jsxs("button",{type:"button",className:"nav-section",onClick:()=>bn("__tools"),children:[o.jsx("span",{children:"Herramientas"}),o.jsx("span",{className:"chev",children:"▼"})]}),o.jsx("div",{className:"nav-group-body",children:o.jsx("button",{type:"button",className:"nav-item"+(Yl==="__procs"?" active":""),onClick:$t,children:"Procesos"})})]})]}),o.jsx("main",{className:"main",children:ot?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"screen-head",children:[o.jsx("h2",{children:"Procesos"}),o.jsxs("span",{className:"layout-tag",children:["handlers: ",(ot.handlers||[]).length]})]}),o.jsx("div",{className:"proc-list",children:(ot.items||[]).map(f=>o.jsxs("div",{className:"proc-row",children:[o.jsxs("div",{children:[o.jsx("b",{children:f.title||f.key}),o.jsxs("div",{className:"proc-sub",children:[f.key," · handler: ",f.handler||"—"]})]}),o.jsx("button",{className:"btn",onClick:()=>Xl(f),children:"Ejecutar"})]},f.key))}),o.jsx("pre",{className:"proc-out",children:Mt})]}):j?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"screen-head",children:[o.jsx("h2",{children:j.title}),ae(j)&&o.jsxs("div",{className:"toolbar",children:[o.jsx("input",{className:"search",placeholder:"Buscar…",value:xt,onChange:f=>{dt(f.target.value),z(1)}}),Ql(j,"add")&&o.jsx("button",{className:"btn primary",onClick:()=>Ft(null,!0),children:"+ Nuevo"}),Ql(j,"edit")&&o.jsx("button",{className:"btn",disabled:!R,onClick:()=>R&&Ft(R,!1),children:"Editar"}),Ql(j,"delete")&&o.jsx("button",{className:"btn danger",disabled:!R,onClick:En,children:"Eliminar"}),Ql(j,"print")&&o.jsx("button",{className:"btn",onClick:xe,children:"Imprimir"}),Ql(j,"pdf")&&o.jsx("button",{className:"btn",onClick:xe,children:"PDF"}),Ql(j,"excel")&&o.jsx("button",{className:"btn",onClick:xa,children:"Excel"}),Ql(j,"refresh")&&o.jsx("button",{className:"btn",onClick:()=>ht(j.id),children:"Refrescar"})]})]}),le&&o.jsx("div",{className:"notice",children:le}),ae(j)&&ca.length>0&&o.jsxs("div",{className:"list-filters",children:[ca.map(f=>o.jsxs("label",{className:"filter-chip",children:[f.label,o.jsxs("select",{value:et[f.id]||"",onChange:b=>{p({...et,[f.id]:b.target.value}),z(1)},children:[o.jsx("option",{value:"",children:"(todos)"}),(f.options||[]).map(b=>o.jsx("option",{value:b,children:b},b))]})]},f.id)),o.jsx("button",{type:"button",className:"btn",onClick:()=>{p({}),dt(""),z(1)},children:"Limpiar filtros"})]}),gu(j)?o.jsxs("div",{className:"form-layout",children:[o.jsxs("aside",{className:"form-nav",children:[o.jsx("div",{className:"form-nav-title",children:"Registros"}),K.map((f,b)=>o.jsx("button",{type:"button",className:"form-nav-item"+(b===ja&&!kt?" active":""),onClick:()=>{ru(!1),Ae(b),Kl({...f})},children:(f[Cl(j)]??"")+(f.name?" · "+f.name:"")},b))]}),o.jsxs("div",{className:"form-main",children:[o.jsxs("div",{className:"toolbar",style:{padding:"8px 12px"},children:[Ql(j,"add")&&o.jsx("button",{className:"btn primary",onClick:()=>{ru(!0),Kl({})},children:"+ Nuevo"}),o.jsx("button",{className:"btn primary",onClick:bu,children:"Guardar"}),Ql(j,"delete")&&o.jsx("button",{className:"btn danger",disabled:kt,onClick:Ri,children:"Eliminar"}),Ql(j,"refresh")&&o.jsx("button",{className:"btn",onClick:()=>ht(j.id),children:"Refrescar"}),o.jsx("span",{className:"rowcount",children:kt?"Nuevo":(K.length?ja+1:0)+" / "+K.length})]}),o.jsx("div",{className:"form-tabs",children:(j.tabs||[{id:"all",label:"Datos",fields:(j.fields||[]).map(f=>f.id)}]).map(f=>o.jsx("button",{type:"button",className:"form-tab"+(mn===f.id?" active":""),onClick:()=>vu(f.id),children:f.label||f.id},f.id))}),o.jsx("div",{className:"form form-body",children:(j.fields||[]).filter(f=>(((j.tabs||[]).find(_=>_.id===mn)||{fields:(j.fields||[]).map(_=>_.id)}).fields||[]).includes(f.id)).map(f=>o.jsxs("div",{className:"field"+(f.type==="checkbox"?" chk":""),children:[o.jsxs("label",{children:[f.label,f.required?" *":""]}),Hi(f,Ne,Kl)]},f.id))})]})]}):ia(j)?o.jsxs("div",{className:"md-layout",children:[o.jsxs("section",{className:"md-master",children:[o.jsxs("div",{className:"md-head",children:[o.jsx("b",{children:"Maestro"}),o.jsxs("div",{className:"toolbar",children:[Ql(j,"add")&&o.jsx("button",{className:"btn primary",onClick:()=>hl({isNew:!0,row:{},scope:"master"}),children:"+ Nuevo"}),Ql(j,"edit")&&o.jsx("button",{className:"btn",disabled:!R,onClick:()=>R&&hl({isNew:!1,row:{...R},scope:"master"}),children:"Editar"}),Ql(j,"delete")&&o.jsx("button",{className:"btn danger",disabled:!R,onClick:async()=>{if(!R)return;const f=Cl(j);if(!confirm("¿Eliminar "+R[f]+"?"))return;const b=await ol.datasetPost({key:j.dataRef,action:"delete",keyField:f,keyValue:String(R[f])});Dt(b.ok?"Eliminado":b.msg||"Error"),b.ok&&ht(j.id)},children:"Eliminar"}),Ql(j,"excel")&&o.jsx("button",{className:"btn",onClick:xa,children:"Excel"}),Ql(j,"refresh")&&o.jsx("button",{className:"btn",onClick:()=>ht(j.id),children:"Refrescar"}),o.jsx("input",{className:"search",placeholder:"Buscar…",value:xt,onChange:f=>dt(f.target.value)})]})]}),o.jsx("div",{className:"grid-wrap",children:o.jsxs("table",{children:[o.jsx("thead",{children:o.jsx("tr",{children:Jl.map(f=>o.jsx("th",{children:f.label},f.id))})}),o.jsx("tbody",{children:El.map((f,b)=>o.jsx("tr",{className:R===f?"sel":"",onClick:()=>{W(f),Te(null)},onDoubleClick:()=>hl({isNew:!1,row:{...f},scope:"master"}),children:Jl.map(_=>o.jsx("td",{className:_.align==="right"||pt(_)?"right":"",children:ee(f[_.id],_)},_.id))},b))})]})})]}),o.jsxs("section",{className:"md-detail",children:[o.jsxs("div",{className:"md-head",children:[o.jsx("b",{children:((Eu=j.detail)==null?void 0:Eu.title)||"Detalle"}),o.jsxs("div",{className:"toolbar",children:[o.jsx("button",{className:"btn primary",disabled:!R,onClick:()=>{var b;const f=((b=j.detail)==null?void 0:b.masterKey)||Cl(j);hl({isNew:!0,row:{[f]:R[Cl(j)]},scope:"detail"})},children:"+ Línea"}),o.jsx("button",{className:"btn",disabled:!wt,onClick:()=>wt&&hl({isNew:!1,row:{...wt},scope:"detail"}),children:"Editar"}),o.jsx("button",{className:"btn danger",disabled:!wt,onClick:async()=>{if(!wt)return;const f=j.detail.keyField||"code";if(!confirm("¿Eliminar "+wt[f]+"?"))return;const b=await ol.datasetPost({key:j.detail.dataRef,action:"delete",keyField:f,keyValue:String(wt[f])});Dt(b.ok?"Eliminado":b.msg||"Error"),b.ok&&ht(j.id)},children:"Eliminar"})]})]}),o.jsx("div",{className:"grid-wrap",children:o.jsxs("table",{children:[o.jsx("thead",{children:o.jsx("tr",{children:(((ue=(zn=j.detail)==null?void 0:zn.grid)==null?void 0:ue.columns)||[]).map(f=>o.jsx("th",{children:f.label},f.id))})}),o.jsx("tbody",{children:hu.filter(f=>{var b;return R&&String(f[((b=j.detail)==null?void 0:b.masterKey)||Cl(j)])===String(R[Cl(j)])}).map((f,b)=>{var _,D;return o.jsx("tr",{className:wt===f?"sel":"",onClick:()=>Te(f),onDoubleClick:()=>hl({isNew:!1,row:{...f},scope:"detail"}),children:(((D=(_=j.detail)==null?void 0:_.grid)==null?void 0:D.columns)||[]).map(q=>o.jsx("td",{className:q.align==="right"||pt(q)?"right":"",children:ee(f[q.id],q)},q.id))},b)})})]})})]})]}):ae(j)?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"grid-wrap",children:o.jsxs("table",{children:[o.jsx("thead",{children:o.jsx("tr",{children:Jl.map(f=>o.jsxs("th",{className:["sortable",M===f.id?"sorted":"",f.align==="right"||pt(f)?"right":""].filter(Boolean).join(" "),onClick:()=>fa(f.id),title:"Clic para ordenar",children:[f.label," ",o.jsx("span",{className:"sort-ind",children:M===f.id?cl==="asc"?"▲":"▼":""})]},f.id))})}),o.jsx("tbody",{children:Su.length===0?o.jsx("tr",{children:o.jsx("td",{colSpan:Math.max(Jl.length,1),className:"empty-cell",children:"Sin registros con los filtros actuales"})}):Su.map((f,b)=>o.jsx("tr",{className:R&&String(R[Cl(j)])===String(f[Cl(j)])?"sel":"",onClick:()=>W(f),onDoubleClick:()=>Ql(j,"edit")&&Ft(f,!1),children:Jl.map(_=>o.jsx("td",{className:_.align==="right"||pt(_)?"right":"",children:ee(f[_.id],_)},_.id))},b))})]})}),o.jsxs("div",{className:"list-foot",children:[o.jsxs("div",{className:"foot-left",children:[o.jsx("span",{className:"rowcount",children:El.length?`${(Nl-1)*x+1}–${Math.min(Nl*x,El.length)} de ${El.length}`+(El.length!==K.length?` (total ${K.length})`:"")+" filas":`0 / ${K.length} filas`}),o.jsxs("label",{className:"page-size",children:["Filas",o.jsx("select",{value:x,onChange:f=>{C(Number(f.target.value)||25),z(1)},children:[10,25,50,100].map(f=>o.jsx("option",{value:f,children:f},f))})]})]}),o.jsxs("div",{className:"foot-nav",children:[o.jsx("button",{type:"button",className:"btn btn-icon",disabled:Nl<=1,onClick:()=>z(1),children:"«"}),o.jsx("button",{type:"button",className:"btn btn-icon",disabled:Nl<=1,onClick:()=>z(f=>Math.max(1,f-1)),children:"‹"}),o.jsxs("span",{className:"pg-info",children:["Pág. ",Nl," / ",Ut]}),o.jsx("button",{type:"button",className:"btn btn-icon",disabled:Nl>=Ut,onClick:()=>z(f=>f+1),children:"›"}),o.jsx("button",{type:"button",className:"btn btn-icon",disabled:Nl>=Ut,onClick:()=>z(Ut),children:"»"})]})]})]}):o.jsxs("div",{className:"empty",children:["Layout ",o.jsx("b",{children:j.layout||"especial"})," — lista, form y master-detail cubiertos; resto en shell HTTP. Ver PROPUESTA/SUSTENTO."]})]}):o.jsx("div",{className:"empty",children:"Selecciona un módulo."})})]}),Q&&j&&(()=>{var D,q,X;const f=Q.scope==="detail"?((q=(D=j.detail)==null?void 0:D.grid)==null?void 0:q.columns)||[]:Jl,b=Q.scope==="detail"?((X=j.detail)==null?void 0:X.keyField)||"code":Cl(j),_=!Q.isNew&&!Q.scope&&El.length>0;return o.jsx("div",{className:"overlay",onKeyDown:I=>{I.key==="Escape"&&hl(null)},children:o.jsxs("div",{className:"modal modal-form",role:"dialog","aria-modal":"true",children:[o.jsxs("div",{className:"modal-head",children:[o.jsx("h3",{children:Q.isNew?"Nuevo registro":"Editar "+(Q.row[b]??"")}),_&&o.jsxs("div",{className:"modal-nav",children:[o.jsx("button",{type:"button",className:"btn btn-icon",disabled:rl<=0,onClick:()=>De("first"),children:"«"}),o.jsx("button",{type:"button",className:"btn btn-icon",disabled:rl<=0,onClick:()=>De("prev"),children:"‹"}),o.jsx("span",{className:"pg-info",children:rl>=0?rl+1+" / "+El.length:"—"}),o.jsx("button",{type:"button",className:"btn btn-icon",disabled:rl<0||rl>=El.length-1,onClick:()=>De("next"),children:"›"}),o.jsx("button",{type:"button",className:"btn btn-icon",disabled:rl<0||rl>=El.length-1,onClick:()=>De("last"),children:"»"})]})]}),o.jsx("div",{className:"form",children:f.map(I=>o.jsxs("div",{className:"field"+(I.type==="checkbox"?" chk":""),children:[o.jsx("label",{children:I.label}),I.type==="checkbox"?o.jsx("input",{type:"checkbox",checked:!!Q.row[I.id],onChange:ll=>hl({...Q,row:{...Q.row,[I.id]:ll.target.checked}})}):I.type==="select"?o.jsx("select",{value:Q.row[I.id]??"",onChange:ll=>hl({...Q,row:{...Q.row,[I.id]:ll.target.value}}),children:(I.options||[]).map(ll=>o.jsx("option",{value:ll,children:ll},ll))}):o.jsx("input",{type:pt(I)?"number":"text",step:"0.01",value:Q.row[I.id]??"",readOnly:!Q.isNew&&b===I.id,onChange:ll=>hl({...Q,row:{...Q.row,[I.id]:pt(I)?ll.target.value===""?null:Number(ll.target.value):ll.target.value}})})]},I.id))}),o.jsxs("div",{className:"modal-actions",children:[o.jsx("button",{className:"btn",onClick:()=>hl(null),children:"Cancelar"}),o.jsx("button",{className:"btn primary",onClick:Ma,children:"Guardar"})]})]})})})()]})}ev.createRoot(document.getElementById("root")).render(o.jsx(iv,{})); diff --git a/samples/projects/FiveTech_ERP/www/web-react/index.html b/samples/projects/FiveTech_ERP/www/web-react/index.html new file mode 100644 index 0000000..a5a34c6 --- /dev/null +++ b/samples/projects/FiveTech_ERP/www/web-react/index.html @@ -0,0 +1,13 @@ + + + + + + FiveTech ERP — Rama Web (React) + + + + +
+ + diff --git a/samples/projects/FiveTech_ERP/www/web-vanilla/app.js b/samples/projects/FiveTech_ERP/www/web-vanilla/app.js new file mode 100644 index 0000000..1a4c8d8 --- /dev/null +++ b/samples/projects/FiveTech_ERP/www/web-vanilla/app.js @@ -0,0 +1,1186 @@ +// Rama 100% web — frontend vanilla (sin framework) +// Consume el mismo contrato HTTP que el WebView de escritorio: +// POST /api/login · GET /api/context · GET /api/meta · GET/POST /api/dataset · POST /api/cmd +// La sesión viaja en la cookie HttpOnly DWSESS que fija el servidor (nunca en JS). + +const $ = (id) => document.getElementById(id); +const api = { + async req(method, url, body) { + const opt = { method, headers: {} }; + if (body !== undefined) { + opt.headers['Content-Type'] = 'application/json'; + opt.body = JSON.stringify(body); + } + const r = await fetch(url, opt); + const j = await r.json().catch(() => ({ ok: false, msg: 'Respuesta no JSON (' + r.status + ')' })); + if (j && j.ok === false && j.msg === 'Not authenticated') { showLogin(); throw new Error('Sesión terminada'); } + return j; + }, + login: (user, password, workDate) => api.req('POST', '/api/login', { user, password, workDate }), + context: () => api.req('GET', '/api/context'), + meta: (key) => api.req('GET', '/api/meta?key=' + encodeURIComponent(key)), + modules: () => api.req('GET', '/api/meta?key=modules'), + dataset: (key) => api.req('GET', '/api/dataset?key=' + encodeURIComponent(key)), + datasetPost: (body) => api.req('POST', '/api/dataset', body), + processGet: () => api.req('GET', '/api/process'), + processPost: (body) => api.req('POST', '/api/process', body), + cmd: (action, a1, a2) => { + const p = new URLSearchParams({ action }); + if (a1 !== undefined) p.set('a1', a1); + if (a2 !== undefined) p.set('a2', a2); + return fetch('/api/cmd', { + method: 'POST', + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + body: p.toString(), + }).then((r) => r.json()); + }, +}; + +let ctx = null; +let currentScreen = null; + +function showLogin() { + $('view-login').classList.remove('hidden'); + $('view-app').classList.add('hidden'); +} +function showApp() { + $('view-login').classList.add('hidden'); + $('view-app').classList.remove('hidden'); +} + +// ---------------------------------------------------------------- tema claro/oscuro (paridad FWH) +function applyTheme(t) { + t = t === 'light' ? 'light' : 'dark'; + document.documentElement.setAttribute('data-theme', t); + document.documentElement.classList.toggle('light', t === 'light'); + try { localStorage.setItem('dw-theme', t); } catch (e) {} + document.querySelectorAll('.theme-fab').forEach((b) => { b.textContent = t === 'dark' ? 'Dark' : 'Light'; }); +} +function toggleTheme() { + applyTheme(document.documentElement.getAttribute('data-theme') === 'dark' ? 'light' : 'dark'); +} +applyTheme((() => { try { return localStorage.getItem('dw-theme') || 'dark'; } catch (e) { return 'dark'; } })()); + +// ---------------------------------------------------------------- login +$('login-form').addEventListener('submit', async (e) => { + e.preventDefault(); + $('login-error').textContent = ''; + $('login-btn').disabled = true; + try { + const j = await api.login($('login-user').value.trim(), $('login-pass').value, $('login-date').value); + if (!j.ok) { $('login-error').textContent = j.msg || 'Credenciales inválidas'; return; } + ctx = await api.context(); + await enterApp(); + } catch (err) { + $('login-error').textContent = err.message; + } finally { + $('login-btn').disabled = false; + } +}); + +$('btn-logout').addEventListener('click', async () => { + await api.cmd('logout'); + ctx = null; + showLogin(); +}); + +// ---------------------------------------------------------------- shell +async function enterApp() { + showApp(); + $('rama-tag').textContent = 'rama ' + (window.__RAMA__ ? window.__RAMA__.branch : 'web') + ' · vanilla'; + $('user-chip').textContent = ctx.company + ' · ' + (ctx.appLabel || ctx.app) + ' · ' + (ctx.isAdmin ? 'admin' : 'usuario'); + const mApp = await api.meta('app'); + if (mApp.ok && mApp.doc.version) $('user-chip').textContent += ' · v' + mApp.doc.version; + $('workdate').value = $('login-date').value || new Date().toISOString().slice(0, 10); + $('btn-theme-top').onclick = toggleTheme; + applyTheme(document.documentElement.getAttribute('data-theme')); + initSidebarChrome(); + fillSelectors(); + const m = await api.modules(); + renderSidebar(m.ok ? m.doc : { sections: [] }); + const first = firstScreen(m.ok ? m.doc : null); + if (first) openScreen(first); +} + +function goDashboard() { + // Shell HTTP FWH (misma cookie DWSESS) — dashboards/KPI/agenda + location.href = '/dashboard.html'; +} + +function initSidebarChrome() { + const body = $('app-body'); + const btn = $('btn-sidebar'); + const dash = $('btn-dashboard'); + if (dash) dash.onclick = goDashboard; + if (!body || !btn) return; + let collapsed = false; + try { collapsed = localStorage.getItem('dw-sidebar') === '1'; } catch (e) {} + function apply() { + body.classList.toggle('sidebar-collapsed', collapsed); + btn.setAttribute('aria-expanded', collapsed ? 'false' : 'true'); + btn.title = collapsed ? 'Mostrar menú' : 'Ocultar menú'; + try { localStorage.setItem('dw-sidebar', collapsed ? '1' : '0'); } catch (e) {} + } + btn.onclick = () => { collapsed = !collapsed; apply(); }; + apply(); +} + +$('workdate')?.addEventListener?.('change', async (e) => { + await api.cmd('workdate', e.target.value); +}); + +function fillSelectors() { + const sc = $('sel-company'); + sc.innerHTML = ''; + (ctx.companies || []).forEach((c) => { + const o = document.createElement('option'); + o.value = c.code; o.textContent = c.name || c.code; + if (c.code === ctx.company) o.selected = true; + sc.appendChild(o); + }); + sc.disabled = ctx.canSwitchCompany === false; + sc.onchange = async () => { + const j = await api.cmd('company', sc.value); + if (j.ok) { ctx = await api.context(); enterApp(); } + }; + + const sa = $('sel-app'); + sa.innerHTML = ''; + (ctx.apps || []).forEach((a) => { + const o = document.createElement('option'); + o.value = a.id; o.textContent = a.label || a.id; + if (a.id === ctx.app) o.selected = true; + sa.appendChild(o); + }); + sa.disabled = ctx.canSwitchApp === false; + sa.onchange = async () => { + const j = await api.cmd('app', sa.value); + if (j.ok) { ctx = await api.context(); enterApp(); } + }; +} + +function renderSidebar(mod) { + const nav = $('sidebar'); + nav.innerHTML = ''; + + // Accesos fijos + const pin = document.createElement('div'); + pin.className = 'nav-pin'; + const bd = document.createElement('button'); + bd.type = 'button'; + bd.className = 'nav-item dash'; + bd.textContent = '⊞ Dashboard'; + bd.title = 'Shell FWH · dashboard.html'; + bd.onclick = goDashboard; + pin.appendChild(bd); + nav.appendChild(pin); + + function makeSection(title, itemsBuild, secId) { + let collapsed = false; + try { + const raw = localStorage.getItem('dw-nav-sec'); + const map = raw ? JSON.parse(raw) : {}; + if (map[secId]) collapsed = true; + } catch (e) {} + const group = document.createElement('div'); + group.className = 'nav-group' + (collapsed ? ' collapsed' : ''); + group.dataset.sec = secId; + const h = document.createElement('button'); + h.type = 'button'; + h.className = 'nav-section'; + h.innerHTML = '' + esc(title) + ''; + h.onclick = () => { + group.classList.toggle('collapsed'); + try { + const raw = localStorage.getItem('dw-nav-sec'); + const map = raw ? JSON.parse(raw) : {}; + map[secId] = group.classList.contains('collapsed'); + localStorage.setItem('dw-nav-sec', JSON.stringify(map)); + } catch (e) {} + }; + const body = document.createElement('div'); + body.className = 'nav-group-body'; + itemsBuild(body); + group.appendChild(h); + group.appendChild(body); + nav.appendChild(group); + } + + (mod.sections || []).forEach((sec, si) => { + makeSection(sec.title || ('Sección ' + (si + 1)), (body) => { + (sec.items || []).forEach((it) => { + if (!it.screen) return; + const b = document.createElement('button'); + b.type = 'button'; + b.className = 'nav-item' + (it.sub ? ' sub' : ''); + b.textContent = it.label; + b.onclick = () => { + nav.querySelectorAll('.nav-item').forEach((x) => x.classList.remove('active')); + b.classList.add('active'); + openScreen(it.screen); + }; + body.appendChild(b); + }); + }, sec.id || ('s' + si)); + }); + + // Paridad FWH: herramientas del servidor (procesos declarados en meta) + makeSection('Herramientas', (body) => { + const bp = document.createElement('button'); + bp.type = 'button'; + bp.className = 'nav-item'; + bp.textContent = 'Procesos'; + bp.onclick = () => { + nav.querySelectorAll('.nav-item').forEach((x) => x.classList.remove('active')); + bp.classList.add('active'); + renderProcesses(); + }; + body.appendChild(bp); + }, '__tools'); +} + +function firstScreen(mod) { + if (!mod) return null; + for (const sec of mod.sections || []) + for (const it of sec.items || []) + if (it.screen && !it.sub) return it.screen; + return null; +} + +// ---------------------------------------------------------------- helpers paridad toolbar HTTP (FWH) +function isMasterDetail(doc) { + return !!(doc && (doc.layout === 'master-detail' || doc.layout === 'document') && + doc.detail && doc.detail.dataRef); +} +function isFormScreen(doc) { + return !!(doc && doc.layout === 'form' && Array.isArray(doc.fields) && doc.fields.length); +} +function isListScreen(doc) { + if (!doc || isMasterDetail(doc) || isFormScreen(doc)) return false; + return !!(doc.layout === 'list' || (doc.dataRef && doc.grid && (doc.grid.columns || []).length)); +} +function toolbarIds(doc) { + const t = doc && doc.toolbar; + if (Array.isArray(t) && t.length) + return t.map((x) => (typeof x === 'string' ? x : (x && x.id) || '')).filter(Boolean); + return ['add', 'edit', 'delete', 'refresh']; +} +function hasTb(doc, id) { return toolbarIds(doc).includes(id); } +function isMoneyCol(c) { return c && (c.type === 'money' || c.format === 'money'); } +function keyFieldOf(doc) { + return (doc && doc.keyField) || (doc.grid && doc.grid.columns && doc.grid.columns[0] && doc.grid.columns[0].id) || 'code'; +} +function csvCell(v) { + const s = v == null ? '' : String(v); + if (/[",\n\r]/.test(s)) return '"' + s.replace(/"/g, '""') + '"'; + return s; +} +function exportCsv(title, cols, rows) { + const crlf = '\r\n'; + const lines = [cols.map((c) => csvCell(c.label || c.id)).join(',')]; + rows.forEach((r) => lines.push(cols.map((c) => csvCell(r[c.id])).join(','))); + const blob = new Blob(['\ufeff' + lines.join(crlf)], { type: 'text/csv;charset=utf-8;' }); + const a = document.createElement('a'); + a.href = URL.createObjectURL(blob); + a.download = String(title || 'export').replace(/[^A-Za-z0-9_\-]+/g, '_') + '.csv'; + a.click(); + URL.revokeObjectURL(a.href); +} +function printGrid(title, cols, rows, fmt) { + const w = window.open('', '_blank'); + if (!w) { window.print(); return; } + const th = cols.map((c) => '' + esc(c.label) + '').join(''); + const body = rows.map((r) => '' + cols.map((c) => '' + esc(fmt(r[c.id], c)) + '').join('') + '').join(''); + w.document.write('' + esc(title) + '' + + '' + + '

' + esc(title) + '

' + th + '' + body + + '
'); + w.document.close(); +} + +// ---------------------------------------------------------------- renderer de pantallas +async function openScreen(screenKey) { + const main = $('main'); + main.innerHTML = '
Cargando ' + screenKey + '…
'; + const m = await api.meta(screenKey); + if (!m.ok) { main.innerHTML = '
Meta no disponible: ' + screenKey + '
'; return; } + const doc = m.doc; + currentScreen = doc; + if (isMasterDetail(doc)) return renderMasterDetail(doc); + if (isFormScreen(doc)) return renderForm(doc); + // Paridad HTTP: grilla con dataRef = lista CRUD (aunque layout no diga "list") + if (isListScreen(doc)) return renderList(doc); + return renderGeneric(doc); +} + +async function loadLookupOptions(lookupKey) { + try { + const m = await api.meta(lookupKey); + if (!m.ok || !m.doc) return []; + const vf = m.doc.valueField || 'code'; + const lf = m.doc.labelField || 'name'; + const dref = m.doc.dataRef; + if (!dref) return []; + const d = await api.dataset(dref); + if (!d.ok) return []; + return (d.rows || []).map((r) => ({ value: r[vf], label: (r[lf] != null ? r[lf] : r[vf]) + '' })); + } catch (e) { return []; } +} + +function fieldControlHtml(f, val, isNew, kf) { + const id = f.id; + const label = ''; + const v = val == null ? (f.default != null ? f.default : '') : val; + if (f.type === 'checkbox') + return '
' + label + '
'; + if (f.type === 'checklist') { + const arr = Array.isArray(v) ? v : (v ? String(v).split(/[,;]/).map((s) => s.trim()) : []); + return '
' + label + '
' + + (f.options || []).map((o) => + '').join('') + + '
'; + } + if (f.type === 'select') + return '
' + label + '
'; + if (f.type === 'lookup') + return '
' + label + '
'; + if (isMoneyCol(f)) + return '
' + label + '
'; + const ro = (!isNew && kf === id) ? ' readonly class="ro"' : ''; + return '
' + label + '
'; +} + +function readFormFields(host, fields) { + const out = {}; + fields.forEach((f) => { + if (f.type === 'checklist') { + const box = host.querySelector('.checklist[data-f="' + f.id + '"]'); + out[f.id] = box ? Array.from(box.querySelectorAll('input:checked')).map((i) => i.value) : []; + return; + } + const el = host.querySelector('[data-f="' + f.id + '"]'); + if (!el) return; + if (f.type === 'checkbox') out[f.id] = el.checked; + else if (isMoneyCol(f)) out[f.id] = el.value === '' ? null : Number(el.value); + else out[f.id] = el.value; + }); + return out; +} + +async function fillLookups(host, fields) { + for (const f of fields) { + if (f.type !== 'lookup' || !f.lookup) continue; + const sel = host.querySelector('select[data-f="' + f.id + '"]'); + if (!sel) continue; + const cur = sel.value; + const opts = await loadLookupOptions(f.lookup); + sel.innerHTML = '' + + opts.map((o) => '').join(''); + if (cur && !opts.some((o) => String(o.value) === String(cur))) { + const o = document.createElement('option'); + o.value = cur; o.textContent = cur; o.selected = true; + sel.appendChild(o); + } + } +} + +// ---------- FORM (paridad layout form FWH) ---------- +async function renderForm(doc) { + const main = $('main'); + const key = doc.dataRef; + const kf = keyFieldOf(doc); + const fields = doc.fields || []; + const tabs = doc.tabs || [{ id: 'all', label: 'Datos', fields: fields.map((f) => f.id) }]; + const j = await api.dataset(key); + const rows = j.ok ? (j.rows || []) : []; + let idx = 0; + let isNew = false; + let draft = rows[0] ? { ...rows[0] } : {}; + + const labelOf = (r) => { + if (!r) return '—'; + const n = r.name || r.title || r.label; + return (r[kf] != null ? r[kf] : '') + (n ? ' · ' + n : ''); + }; + + function paintShell() { + main.innerHTML = + '

' + esc(doc.title || doc.id) + '

' + + 'layout: form' + + '
' + + (hasTb(doc, 'add') ? '' : '') + + (hasTb(doc, 'edit') || hasTb(doc, 'add') ? '' : '') + + (hasTb(doc, 'delete') ? '' : '') + + (hasTb(doc, 'refresh') ? '' : '') + + '' + + '
' + + '
' + + '' + + '
' + + '
' + + '
' + + '
' + + '
'; + + const nav = $('form-nav-list'); + nav.innerHTML = rows.map((r, i) => + '').join('') || + '
Sin registros
'; + nav.querySelectorAll('[data-i]').forEach((b) => { + b.onclick = () => { + isNew = false; + idx = Number(b.dataset.i); + draft = { ...rows[idx] }; + paintShell(); + }; + }); + + const tabHost = $('form-tabs'); + let activeTab = tabs[0]?.id || 'all'; + tabHost.innerHTML = tabs.map((t, i) => + '').join(''); + + function fieldsOfTab(tid) { + const tab = tabs.find((t) => t.id === tid) || tabs[0]; + const ids = tab.fields || []; + return fields.filter((f) => ids.includes(f.id)); + } + function showTab(tid) { + // conservar valores de la pestaña actual antes de cambiar + const bodyPrev = $('form-body'); + if (bodyPrev) Object.assign(draft, readFormFields(bodyPrev, fieldsOfTab(activeTab))); + activeTab = tid; + tabHost.querySelectorAll('.form-tab').forEach((b) => b.classList.toggle('active', b.dataset.tab === tid)); + const fl = fieldsOfTab(tid); + const body = $('form-body'); + body.innerHTML = fl.map((f) => fieldControlHtml(f, draft[f.id], isNew, kf)).join('') || + '
Sin campos en esta pestaña
'; + fillLookups(body, fl); + } + tabHost.querySelectorAll('.form-tab').forEach((b) => { + b.onclick = () => showTab(b.dataset.tab); + }); + showTab(activeTab); + + $('form-pos').textContent = isNew ? 'Nuevo registro' : ((rows.length ? (idx + 1) : 0) + ' / ' + rows.length); + const tb = $('form-tb'); + tb.querySelector('[data-act="add"]')?.addEventListener('click', () => { + isNew = true; + draft = {}; + fields.forEach((f) => { if (f.default != null) draft[f.id] = f.default; }); + paintShell(); + }); + tb.querySelector('[data-act="ref"]')?.addEventListener('click', () => openScreen(doc.id)); + tb.querySelector('[data-act="del"]')?.addEventListener('click', async () => { + if (isNew || !rows[idx]) return; + if (!confirm('¿Eliminar ' + rows[idx][kf] + '?')) return; + const r = await api.datasetPost({ key, action: 'delete', keyField: kf, keyValue: rows[idx][kf] }); + if (!r.ok) alert(r.msg || 'Error'); + openScreen(doc.id); + }); + tb.querySelector('[data-act="save"]')?.addEventListener('click', async () => { + const bodyEl = $('form-body'); + Object.assign(draft, readFormFields(bodyEl, fieldsOfTab(activeTab))); + const out = { ...draft }; + const body = isNew + ? { key, action: 'add', row: out } + : { key, action: 'update', keyField: kf, keyValue: String(rows[idx][kf]), row: out }; + const r = await api.datasetPost(body); + if (!r.ok) { alert(r.msg || 'Error al guardar'); return; } + openScreen(doc.id); + }); + } + paintShell(); +} + +// ---------- MASTER-DETAIL / document ---------- +async function renderMasterDetail(doc) { + const main = $('main'); + const mKey = doc.dataRef; + const mKf = keyFieldOf(doc); + const cols = (doc.grid && doc.grid.columns) || []; + const det = doc.detail || {}; + const dKey = det.dataRef; + const dKf = det.keyField || 'code'; + const dCols = (det.grid && det.grid.columns) || []; + const masterFk = det.masterKey || mKf; + + const [jm, jd] = await Promise.all([api.dataset(mKey), api.dataset(dKey)]); + const masters = jm.ok ? (jm.rows || []) : []; + const allDetails = jd.ok ? (jd.rows || []) : []; + let sel = masters[0] || null; + let selDet = null; + + const fmt = (v, c) => { + if (isMoneyCol(c)) return v == null || v === '' ? '' : Number(v).toLocaleString('es', { minimumFractionDigits: 2, maximumFractionDigits: 2 }); + if (c.type === 'checkbox') return v ? '✔' : ''; + return v == null ? '' : String(v); + }; + + function detailsOf(m) { + if (!m) return []; + const mk = m[mKf]; + return allDetails.filter((r) => String(r[masterFk]) === String(mk)); + } + + function paint() { + const detRows = detailsOf(sel); + const tbM = toolbarIds(doc); + const tbD = Array.isArray(det.toolbar) ? det.toolbar : ['add', 'edit', 'delete', 'refresh']; + const hasM = (id) => tbM.includes(id); + const hasD = (id) => tbD.includes(id); + + main.innerHTML = + '

' + esc(doc.title || doc.id) + '

' + + 'layout: ' + esc(doc.layout) + '
' + + '
' + + '
' + + '
Maestro' + + '
' + + (hasM('add') ? '' : '') + + (hasM('edit') ? '' : '') + + (hasM('delete') ? '' : '') + + (hasM('excel') ? '' : '') + + (hasM('print') || hasM('pdf') ? '' : '') + + (hasM('refresh') ? '' : '') + + '' + + '' + + '
' + + '
' + + cols.map((c) => '' + esc(c.label) + '').join('') + + '
' + + '
' + + '
' + + '
' + esc(det.title || 'Detalle') + '' + + '
' + + (hasD('add') ? '' : '') + + (hasD('edit') ? '' : '') + + (hasD('delete') ? '' : '') + + (hasD('refresh') ? '' : '') + + '' + + '
' + + '
' + + dCols.map((c) => '' + esc(c.label) + '').join('') + + '
' + + '
' + + '
'; + + let q = ''; + function paintMaster() { + const tbody = main.querySelector('#md-master tbody'); + tbody.innerHTML = ''; + const f = q.toLowerCase(); + const vis = masters.filter((r) => !f || (doc.searchFields || cols.map((c) => c.id)) + .some((fld) => String(r[fld] ?? '').toLowerCase().includes(f))); + vis.forEach((r) => { + const tr = document.createElement('tr'); + if (sel && String(r[mKf]) === String(sel[mKf])) tr.classList.add('sel'); + cols.forEach((c) => { + const td = document.createElement('td'); + if (c.align === 'right' || isMoneyCol(c)) td.className = 'right'; + td.textContent = fmt(r[c.id], c); + tr.appendChild(td); + }); + tr.onclick = () => { sel = r; selDet = null; paint(); }; + tr.ondblclick = () => editMaster(r); + tbody.appendChild(tr); + }); + $('md-count').textContent = vis.length + ' / ' + masters.length; + } + + function paintDetail() { + const tbody = main.querySelector('#md-detail tbody'); + tbody.innerHTML = ''; + const rows = detailsOf(sel); + rows.forEach((r) => { + const tr = document.createElement('tr'); + if (selDet && String(r[dKf]) === String(selDet[dKf])) tr.classList.add('sel'); + dCols.forEach((c) => { + const td = document.createElement('td'); + if (c.align === 'right' || isMoneyCol(c)) td.className = 'right'; + td.textContent = fmt(r[c.id], c); + tr.appendChild(td); + }); + tr.onclick = () => { + selDet = r; + tbody.querySelectorAll('tr').forEach((x) => x.classList.remove('sel')); + tr.classList.add('sel'); + const be = main.querySelector('[data-d="edit"]'); + const bd = main.querySelector('[data-d="del"]'); + if (be) be.disabled = false; + if (bd) bd.disabled = false; + }; + tr.ondblclick = () => editDetail(r); + tbody.appendChild(tr); + }); + $('md-dcount').textContent = rows.length + ' líneas'; + } + + function editMaster(row) { + openEditModal(doc, cols, mKey, mKf, row, () => openScreen(doc.id)); + } + function editDetail(row) { + const isNew = !row; + const base = row ? { ...row } : {}; + if (isNew && sel) base[masterFk] = sel[mKf]; + openEditModal( + { ...det, keyField: dKf, title: det.title || 'Detalle' }, + dCols, dKey, dKf, isNew ? null : row, () => openScreen(doc.id), base + ); + } + + $('md-q').oninput = (e) => { q = e.target.value; paintMaster(); }; + main.querySelector('[data-m="ref"]')?.addEventListener('click', () => openScreen(doc.id)); + main.querySelector('[data-m="add"]')?.addEventListener('click', () => editMaster(null)); + main.querySelector('[data-m="edit"]')?.addEventListener('click', () => sel && editMaster(sel)); + main.querySelector('[data-m="del"]')?.addEventListener('click', async () => { + if (!sel) return; + if (!confirm('¿Eliminar ' + sel[mKf] + '?')) return; + const r = await api.datasetPost({ key: mKey, action: 'delete', keyField: mKf, keyValue: sel[mKf] }); + if (!r.ok) alert(r.msg || 'Error'); + openScreen(doc.id); + }); + main.querySelector('[data-m="excel"]')?.addEventListener('click', () => exportCsv(doc.title, cols, masters)); + main.querySelector('[data-m="print"]')?.addEventListener('click', () => printGrid(doc.title, cols, masters, fmt)); + main.querySelector('[data-d="ref"]')?.addEventListener('click', () => openScreen(doc.id)); + main.querySelector('[data-d="add"]')?.addEventListener('click', () => sel && editDetail(null)); + main.querySelector('[data-d="edit"]')?.addEventListener('click', () => selDet && editDetail(selDet)); + main.querySelector('[data-d="del"]')?.addEventListener('click', async () => { + if (!selDet) return; + if (!confirm('¿Eliminar línea ' + selDet[dKf] + '?')) return; + const r = await api.datasetPost({ key: dKey, action: 'delete', keyField: dKf, keyValue: selDet[dKf] }); + if (!r.ok) alert(r.msg || 'Error'); + openScreen(doc.id); + }); + + paintMaster(); + paintDetail(); + } + paint(); +} + +function openEditModal(docLike, cols, dataKey, kf, row, onDone, seed) { + const isNew = !row; + const vals = row ? { ...row } : { ...(seed || {}) }; + const overlay = document.createElement('div'); + overlay.className = 'overlay'; + overlay.innerHTML = + ''; + document.body.appendChild(overlay); + overlay.querySelector('[data-x]').onclick = () => overlay.remove(); + overlay.querySelector('[data-ok]').onclick = async () => { + const out = { ...vals }; + cols.forEach((c) => { + const el = overlay.querySelector('[data-f="' + c.id + '"]'); + if (!el) return; + if (c.type === 'checkbox') out[c.id] = el.checked; + else if (isMoneyCol(c)) out[c.id] = el.value === '' ? null : Number(el.value); + else out[c.id] = el.value; + }); + const body = isNew + ? { key: dataKey, action: 'add', row: out } + : { key: dataKey, action: 'update', keyField: kf, keyValue: String(row[kf]), row: out }; + const r = await api.datasetPost(body); + if (!r.ok) { alert(r.msg || 'Error'); return; } + overlay.remove(); + if (onDone) onDone(); + }; +} + +function renderGeneric(doc) { + const main = $('main'); + main.innerHTML = + '

' + esc(doc.title || doc.id) + '

' + + 'layout: ' + esc(doc.layout || '—') + '
' + + '
Layout ' + esc(doc.layout || 'especial') + ' (form, dashboard, master-detail…): ' + + 'en la rama HTTP de FiveTech se renderiza con el shell completo. ' + + 'La rama web 100% prioriza pantallas de lista/CRUD con el mismo contrato de datos.
' + + '
Meta JSON
' + esc(JSON.stringify(doc, null, 2)) + '
'; +} + +async function renderList(doc) { + const main = $('main'); + const key = doc.dataRef; + const kf = keyFieldOf(doc); + const cols = (doc.grid && doc.grid.columns) || []; + const j = await api.dataset(key); + const rows = j.ok ? (j.rows || []) : []; + const searchFields = doc.searchFields || cols.map((c) => c.id); + const filterCols = cols.filter((c) => c.type === 'select' && Array.isArray(c.options) && c.options.length); + const PAGE_SIZES = [10, 25, 50, 100]; + + const state = { + q: '', + colFilters: {}, + sortCol: null, + sortDir: 'asc', + page: 1, + pageSize: 25, + selected: null, + }; + + const tbBtn = (id, label, cls, extra) => + hasTb(doc, id) ? '' : ''; + + const filterBar = filterCols.length + ? '
' + + filterCols.map((c) => + '').join('') + + '
' + : ''; + + main.innerHTML = + '
' + + '

' + esc(doc.title || doc.id) + '

' + + '
' + + '' + + tbBtn('add', '+ Nuevo', 'primary') + + tbBtn('edit', 'Editar', '', ' disabled') + + tbBtn('delete', 'Eliminar', 'danger', ' disabled') + + tbBtn('print', 'Imprimir', '') + + tbBtn('pdf', 'PDF', '') + + tbBtn('excel', 'Excel', '') + + tbBtn('refresh', 'Refrescar', '') + + '
' + + '
' + + filterBar + + '
' + + cols.map((c) => { + const cls = [ + c.align === 'right' || isMoneyCol(c) ? 'right' : '', + 'sortable', + ].filter(Boolean).join(' '); + return ''; + }).join('') + + '
' + + esc(c.label) + '
' + + (doc.summary && doc.summary.showTotals ? '
' : '') + + '
' + + '
' + + '' + + '' + + '
' + + '
' + + '' + + '' + + '' + + '' + + '' + + '
' + + '
'; + + const tbody = main.querySelector('#grid tbody'); + + const fmt = (v, c) => { + if (isMoneyCol(c)) return v == null || v === '' ? '' : Number(v).toLocaleString('es', { minimumFractionDigits: 2, maximumFractionDigits: 2 }); + if (c.type === 'checkbox') return v ? '✔' : ''; + return v == null ? '' : String(v); + }; + + function cmpVal(a, b, c) { + if (isMoneyCol(c) || c.type === 'number') { + const na = Number(a), nb = Number(b); + if (!Number.isNaN(na) && !Number.isNaN(nb)) return na - nb; + } + if (c.type === 'checkbox') return (a ? 1 : 0) - (b ? 1 : 0); + return String(a ?? '').localeCompare(String(b ?? ''), 'es', { sensitivity: 'base', numeric: true }); + } + + function filteredSorted() { + const f = state.q.toLowerCase().trim(); + let list = rows.filter((r) => { + if (f && !searchFields.some((fld) => String(r[fld] ?? '').toLowerCase().includes(f))) return false; + for (const [cid, val] of Object.entries(state.colFilters)) { + if (val !== '' && String(r[cid] ?? '') !== String(val)) return false; + } + return true; + }); + if (state.sortCol) { + const col = cols.find((c) => c.id === state.sortCol) || { id: state.sortCol }; + const dir = state.sortDir === 'desc' ? -1 : 1; + list = list.slice().sort((a, b) => dir * cmpVal(a[state.sortCol], b[state.sortCol], col)); + } + return list; + } + + function pageSlice(list) { + const total = list.length; + const pages = Math.max(1, Math.ceil(total / state.pageSize) || 1); + if (state.page > pages) state.page = pages; + if (state.page < 1) state.page = 1; + const start = (state.page - 1) * state.pageSize; + return { list: list.slice(start, start + state.pageSize), total, pages, start }; + } + + function syncSelBtns() { + const ed = $('btn-edit'), del = $('btn-delete'); + if (ed) ed.disabled = !state.selected; + if (del) del.disabled = !state.selected; + } + + function paintTotals(visibleAll) { + const el = $('list-totals'); + if (!el || !doc.summary || !doc.summary.fields) return; + const parts = (doc.summary.fields || []).map((fid) => { + const sum = visibleAll.reduce((a, r) => a + (Number(r[fid]) || 0), 0); + const col = cols.find((c) => c.id === fid); + return esc(col ? col.label : fid) + ': ' + sum.toLocaleString('es', { minimumFractionDigits: 2 }) + ''; + }); + el.innerHTML = 'Totales (filtrados): ' + parts.join(' · '); + } + + function paintSortInd() { + main.querySelectorAll('.sort-ind').forEach((el) => { + const id = el.getAttribute('data-ind'); + if (id === state.sortCol) el.textContent = state.sortDir === 'asc' ? '▲' : '▼'; + else el.textContent = ''; + el.parentElement.classList.toggle('sorted', id === state.sortCol); + }); + } + + function paint() { + const all = filteredSorted(); + const { list: pageRows, total, pages, start } = pageSlice(all); + tbody.innerHTML = ''; + if (!pageRows.length) { + const tr = document.createElement('tr'); + tr.innerHTML = 'Sin registros con los filtros actuales'; + tbody.appendChild(tr); + } else { + pageRows.forEach((r) => { + const tr = document.createElement('tr'); + if (state.selected && String(r[kf]) === String(state.selected[kf])) tr.classList.add('sel'); + cols.forEach((c) => { + const td = document.createElement('td'); + if (c.align === 'right' || isMoneyCol(c)) td.className = 'right'; + td.textContent = fmt(r[c.id], c); + tr.appendChild(td); + }); + tr.onclick = () => { + state.selected = r; + tbody.querySelectorAll('tr').forEach((x) => x.classList.remove('sel')); + tr.classList.add('sel'); + syncSelBtns(); + }; + tr.ondblclick = () => { if (hasTb(doc, 'edit')) editRow(r, all); }; + tbody.appendChild(tr); + }); + } + const end = total ? Math.min(start + pageRows.length, total) : 0; + $('rowcount').textContent = total + ? (start + 1) + '–' + end + ' de ' + total + (total !== rows.length ? ' (total ' + rows.length + ')' : '') + ' filas' + : '0 / ' + rows.length + ' filas'; + $('pg-info').textContent = 'Pág. ' + state.page + ' / ' + pages; + const disFirst = state.page <= 1; + const disLast = state.page >= pages; + $('pg-first').disabled = disFirst; + $('pg-prev').disabled = disFirst; + $('pg-next').disabled = disLast; + $('pg-last').disabled = disLast; + paintSortInd(); + paintTotals(all); + syncSelBtns(); + } + + // eventos toolbar / filtros / paginación / sort + if ($('q')) $('q').oninput = (e) => { state.q = e.target.value; state.page = 1; paint(); }; + main.querySelectorAll('[data-ff]').forEach((sel) => { + sel.onchange = () => { + state.colFilters[sel.getAttribute('data-ff')] = sel.value; + state.page = 1; + paint(); + }; + }); + if ($('btn-clear-filters')) { + $('btn-clear-filters').onclick = () => { + state.colFilters = {}; + state.q = ''; + if ($('q')) $('q').value = ''; + main.querySelectorAll('[data-ff]').forEach((s) => { s.value = ''; }); + state.page = 1; + paint(); + }; + } + main.querySelectorAll('th[data-sort]').forEach((th) => { + th.onclick = () => { + const id = th.getAttribute('data-sort'); + if (state.sortCol === id) state.sortDir = state.sortDir === 'asc' ? 'desc' : 'asc'; + else { state.sortCol = id; state.sortDir = 'asc'; } + paint(); + }; + }); + if ($('page-size')) { + $('page-size').onchange = (e) => { + state.pageSize = Number(e.target.value) || 25; + state.page = 1; + paint(); + }; + } + if ($('pg-first')) $('pg-first').onclick = () => { state.page = 1; paint(); }; + if ($('pg-prev')) $('pg-prev').onclick = () => { state.page = Math.max(1, state.page - 1); paint(); }; + if ($('pg-next')) $('pg-next').onclick = () => { state.page += 1; paint(); }; + if ($('pg-last')) $('pg-last').onclick = () => { + const pages = Math.max(1, Math.ceil(filteredSorted().length / state.pageSize) || 1); + state.page = pages; + paint(); + }; + + if ($('btn-refresh')) $('btn-refresh').onclick = () => openScreen(doc.id); + if ($('btn-add')) $('btn-add').onclick = () => editRow(null, filteredSorted()); + if ($('btn-edit')) $('btn-edit').onclick = () => { if (state.selected) editRow(state.selected, filteredSorted()); }; + if ($('btn-delete')) $('btn-delete').onclick = async () => { + if (!state.selected) return; + if (!confirm('¿Eliminar ' + state.selected[kf] + '?')) return; + const r = await api.datasetPost({ key, action: 'delete', keyField: kf, keyValue: state.selected[kf] }); + if (!r.ok) alert(r.msg || 'Error'); + openScreen(doc.id); + }; + if ($('btn-excel')) $('btn-excel').onclick = () => exportCsv(doc.title || doc.id, cols, filteredSorted()); + if ($('btn-print')) $('btn-print').onclick = () => printGrid(doc.title || doc.id, cols, filteredSorted(), fmt); + if ($('btn-pdf')) $('btn-pdf').onclick = () => printGrid((doc.title || doc.id) + ' (PDF)', cols, filteredSorted(), fmt); + + function editRow(row, navList) { + const list = Array.isArray(navList) ? navList : filteredSorted(); + let isNew = !row; + let cur = row ? { ...row } : {}; + let navIdx = row ? list.findIndex((r) => String(r[kf]) === String(row[kf])) : -1; + + const overlay = document.createElement('div'); + overlay.className = 'overlay'; + + function readOut() { + const out = { ...cur }; + cols.forEach((c) => { + const el = overlay.querySelector('[data-f="' + c.id + '"]'); + if (!el) return; + if (c.type === 'checkbox') out[c.id] = el.checked; + else if (isMoneyCol(c)) out[c.id] = el.value === '' ? null : Number(el.value); + else out[c.id] = el.value; + }); + return out; + } + + function paintModal() { + const title = isNew ? 'Nuevo registro' : ('Editar ' + esc(String(cur[kf] ?? ''))); + const nav = !isNew && list.length + ? '' + : ''; + overlay.innerHTML = + ''; + + const firstInput = overlay.querySelector('input:not([readonly]), select, textarea'); + if (firstInput) setTimeout(() => firstInput.focus(), 30); + + overlay.querySelector('[data-x]').onclick = () => { document.removeEventListener('keydown', onKey); overlay.remove(); }; + overlay.querySelector('[data-new]')?.addEventListener('click', () => { + isNew = true; + cur = {}; + navIdx = -1; + paintModal(); + }); + overlay.querySelectorAll('[data-nav]').forEach((b) => { + b.onclick = () => { + if (isNew || !list.length) return; + const act = b.getAttribute('data-nav'); + if (act === 'first') navIdx = 0; + else if (act === 'prev') navIdx = Math.max(0, navIdx - 1); + else if (act === 'next') navIdx = Math.min(list.length - 1, navIdx + 1); + else if (act === 'last') navIdx = list.length - 1; + cur = { ...list[navIdx] }; + isNew = false; + paintModal(); + }; + }); + overlay.querySelector('#list-edit-form').onsubmit = async (e) => { + e.preventDefault(); + const out = readOut(); + if (isNew && kf && (out[kf] == null || String(out[kf]).trim() === '')) { + alert('Indique la clave (' + kf + ')'); + return; + } + const body = isNew + ? { key, action: 'add', row: out } + : { key, action: 'update', keyField: kf, keyValue: String(row ? row[kf] : cur[kf]), row: out }; + // si navegamos, keyValue es la clave del registro actual en pantalla + if (!isNew) body.keyValue = String(cur[kf]); + const r = await api.datasetPost(body); + if (!r.ok) { alert(r.msg || 'Error al guardar'); return; } + document.removeEventListener('keydown', onKey); + overlay.remove(); + openScreen(doc.id); + }; + } + + function onKey(ev) { + if (ev.key === 'Escape') { + document.removeEventListener('keydown', onKey); + overlay.remove(); + } + } + document.addEventListener('keydown', onKey); + document.body.appendChild(overlay); + paintModal(); + } + + paint(); +} + +function fieldHtml(c, v, isNew, kf) { + const id = c.id; + const label = ''; + const val = v == null ? '' : v; + if (c.type === 'checkbox') + return '
' + label + '
'; + if (c.type === 'select') + return '
' + label + '
'; + if (isMoneyCol(c)) + return '
' + label + '
'; + const ro = (!isNew && kf === id) ? ' readonly class="ro"' : ''; + return '
' + label + '
'; +} + +function esc(s) { + return String(s ?? '').replace(/[&<>"']/g, (c) => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c])); +} + +// ---------------------------------------------------------------- procesos (herramienta FWH) +async function renderProcesses() { + const main = $('main'); + main.innerHTML = '
Cargando procesos…
'; + const j = await api.processGet(); + if (!j.ok) { main.innerHTML = '
Procesos no disponibles
'; return; } + const items = j.items || []; + const handlers = j.handlers || []; + main.innerHTML = + '

Procesos

' + + 'handlers registrados: ' + (Array.isArray(handlers) ? handlers.length : Object.keys(handlers).length) + '
' + + '
' + + items.map((it, i) => + '
' + esc(it.title || it.key) + '' + + '
' + esc(it.key) + ' · handler: ' + esc(it.handler || '—') + '
' + + '
').join('') + + '
';
+  main.querySelectorAll('[data-run]').forEach((btn) => {
+    btn.onclick = async () => {
+      const it = items[Number(btn.dataset.run)];
+      $('proc-out').textContent = 'Ejecutando ' + it.key + '…';
+      const r = await api.processPost({ key: it.key, params: {} });
+      $('proc-out').textContent = JSON.stringify(r, null, 2);
+    };
+  });
+}
+
+// ---------------------------------------------------------------- herramienta de cargue y ramas
+(function initTool() {
+  const btn = $('btn-tool'), panel = $('tool-panel');
+  if (!btn || !panel) return;
+  const mount = location.pathname.split('/')[1] || 'portal';
+  btn.onclick = () => {
+    panel.classList.toggle('hidden');
+    if (!panel.classList.contains('hidden')) {
+      const b = window.__RAMA__ ? window.__RAMA__.branch : 'web';
+      const label = b === 'pc' ? '1 · PC (escritorio)'
+        : b === 'hibrida' ? '2 · WebView + HTTP'
+        : '3 · Web 100%';
+      $('tool-rama').textContent = label;
+      if ($('tool-cmd-pc')) $('tool-cmd-pc').textContent = 'set ZWEB_FRONT=' + mount + ' && FiveTech_ERP_local.exe';
+    }
+  };
+  const cp = $('tool-copy-pc');
+  if (cp) cp.onclick = () => {
+    navigator.clipboard.writeText($('tool-cmd-pc').textContent).then(() => {
+      cp.textContent = 'Copiado';
+      setTimeout(() => { cp.textContent = 'Copiar'; }, 1200);
+    });
+  };
+  const ipIn = $('tool-ip');
+  const prev = $('tool-url-preview');
+  if (ipIn) {
+    let h = location.hostname;
+    if (!h || h === 'localhost') h = '127.0.0.1';
+    ipIn.value = h;
+  }
+  const remoteUrl = () => 'http://' + ((ipIn && ipIn.value.trim()) || location.hostname || '127.0.0.1') + ':2222/portal/';
+  const refreshPrev = () => { if (prev) prev.textContent = 'Enlace: ' + remoteUrl(); };
+  refreshPrev();
+  if (ipIn) ipIn.addEventListener('input', refreshPrev);
+  const openExt = (u) => (window.__openExternal ? window.__openExternal(u) : window.open(u, '_blank'));
+  const ol = $('tool-open-local');
+  if (ol) {
+    ol.onclick = (ev) => {
+      ev.preventDefault();
+      openExt('http://127.0.0.1:2222/portal/');
+    };
+  }
+  const orr = $('tool-open-remote');
+  if (orr) orr.onclick = () => openExt(remoteUrl());
+  const crm = $('tool-copy-remote');
+  if (crm) crm.onclick = () => {
+    navigator.clipboard.writeText(remoteUrl()).then(() => {
+      crm.textContent = '¡Copiado!';
+      setTimeout(() => { crm.textContent = 'Copiar enlace'; }, 1400);
+    });
+  };
+  panel.addEventListener('click', (ev) => {
+    const a = ev.target && ev.target.closest ? ev.target.closest('a[href]') : null;
+    if (!a || a.id === 'tool-open-local') return;
+    ev.preventDefault();
+    openExt(a.getAttribute('href'));
+  });
+})();
+
+// ---------------------------------------------------------------- arranque
+(function initLoginExtras() {
+  const d = new Date();
+  const iso = d.getFullYear() + '-' + String(d.getMonth() + 1).padStart(2, '0') + '-' + String(d.getDate()).padStart(2, '0');
+  if ($('login-date')) $('login-date').value = iso;
+  if ($('btn-theme')) $('btn-theme').onclick = toggleTheme;
+})();
+
+(async function boot() {
+  // ¿Hay sesión viva? (cookie DWSESS la envía el navegador automáticamente)
+  try {
+    const j = await api.context();
+    if (j.ok) { ctx = j; return enterApp(); }
+  } catch (e) { /* sin sesión */ }
+  showLogin();
+})();
diff --git a/samples/projects/FiveTech_ERP/www/web-vanilla/container.js b/samples/projects/FiveTech_ERP/www/web-vanilla/container.js
new file mode 100644
index 0000000..eb6f4ed
--- /dev/null
+++ b/samples/projects/FiveTech_ERP/www/web-vanilla/container.js
@@ -0,0 +1,48 @@
+// Detección de rama/contenedor — el MISMO bundle corre en las 3 ramas.
+// La rama solo cambia el contenedor que hospeda el SPA; el contrato HTTP es idéntico.
+//   pc      → WebView2 (window.chrome.webview) dentro del exe desktop
+//   hibrida → WebView2 + pantallas nativas conviviendo (bridge SendToFWH presente)
+//   web     → navegador real (cualquier dispositivo)
+(function () {
+  const hasWebView = !!(window.chrome && window.chrome.webview);
+  const hasNativeBridge = typeof window.SendToFWH === 'function';
+  let branch = 'web';
+  if (hasWebView) branch = hasNativeBridge ? 'hibrida' : 'pc';
+  window.__RAMA__ = {
+    branch,
+    webview: hasWebView,
+    nativeBridge: hasNativeBridge,
+    capabilities: {
+      fkeys: branch !== 'web',
+      nativePrint: hasNativeBridge,
+      touch: matchMedia('(pointer: coarse)').matches,
+    },
+  };
+  document.documentElement.setAttribute('data-rama', branch);
+
+  // Navegador por defecto del SO (ShellExecute nativo). No toca la rama embebida.
+  // En WebView2 NUNCA window.open (NewWindowRequested → Navigate in-place).
+  function absUrl(u) {
+    try { return new URL(u, location.href).href; } catch (e) { return String(u || ''); }
+  }
+  window.__openExternal = function openExternal(url) {
+    url = absUrl(url);
+    if (!url) return false;
+    if (hasWebView) {
+      try { window.chrome.webview.postMessage(JSON.stringify({ cmd: 'open', url: url })); } catch (e1) {}
+      try { window.chrome.webview.postMessage('open:' + url); } catch (e2) {}
+    }
+    try {
+      fetch('/api/open-browser', {
+        method: 'POST',
+        headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
+        body: 'url=' + encodeURIComponent(url),
+        credentials: 'same-origin',
+      }).catch(function () {});
+    } catch (e3) {}
+    if (!hasWebView) {
+      try { window.open(url, '_blank', 'noopener'); } catch (e4) {}
+    }
+    return false;
+  };
+})();
diff --git a/samples/projects/FiveTech_ERP/www/web-vanilla/index.html b/samples/projects/FiveTech_ERP/www/web-vanilla/index.html
new file mode 100644
index 0000000..15f54f0
--- /dev/null
+++ b/samples/projects/FiveTech_ERP/www/web-vanilla/index.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+FiveTech ERP — Rama Web (Vanilla)
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/projects/FiveTech_ERP/www/web-vanilla/styles.css b/samples/projects/FiveTech_ERP/www/web-vanilla/styles.css
new file mode 100644
index 0000000..d0ab5ba
--- /dev/null
+++ b/samples/projects/FiveTech_ERP/www/web-vanilla/styles.css
@@ -0,0 +1,215 @@
+:root {
+  --bg: #0e1116;
+  --bg2: #161b23;
+  --bg3: #1e2530;
+  --line: #2a3342;
+  --txt: #e6ebf2;
+  --txt2: #8b98ab;
+  --acc: #3b82f6;
+  --acc2: #2563eb;
+  --ok: #22c55e;
+  --danger: #ef4444;
+}
+[data-theme="light"] {
+  --bg: #f1f5f9;
+  --bg2: #ffffff;
+  --bg3: #e2e8f0;
+  --line: #cbd5e1;
+  --txt: #0f172a;
+  --txt2: #64748b;
+  --acc: #2563eb;
+  --acc2: #1d4ed8;
+}
+* { margin: 0; padding: 0; box-sizing: border-box; }
+body { background: var(--bg); color: var(--txt); font: 14px/1.45 "Segoe UI", system-ui, sans-serif; }
+.hidden { display: none !important; }
+
+/* ---------- login ---------- */
+.login-wrap { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(1200px 600px at 50% -10%, #16233b 0%, var(--bg) 60%); }
+.login-card { width: 340px; background: var(--bg2); border: 1px solid var(--line); border-radius: 14px; padding: 28px; box-shadow: 0 20px 60px rgba(0,0,0,.45); }
+.login-brand { font-size: 22px; font-weight: 600; }
+.login-sub { color: var(--txt2); font-size: 12px; margin: 4px 0 20px; }
+.login-card label { display: block; color: var(--txt2); font-size: 12px; margin: 12px 0 4px; }
+.login-card input { width: 100%; background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; outline: none; }
+.login-card input:focus { border-color: var(--acc); }
+.login-card button { width: 100%; margin-top: 18px; background: var(--acc); border: 0; color: #fff; padding: 10px; border-radius: 8px; font-size: 14px; cursor: pointer; }
+.login-card button:hover { background: var(--acc2); }
+.login-card button:disabled { opacity: .6; cursor: wait; }
+.login-error { color: var(--danger); font-size: 12px; margin-top: 10px; min-height: 14px; }
+
+/* ---------- shell ---------- */
+.app { display: flex; flex-direction: column; height: 100vh; }
+.topbar { height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; background: var(--bg2); border-bottom: 1px solid var(--line); }
+.topbar-left { display: flex; align-items: center; gap: 10px; }
+.brand { font-weight: 600; font-size: 15px; }
+.branch-tag { font-size: 11px; color: var(--acc); border: 1px solid var(--acc2); border-radius: 999px; padding: 2px 9px; }
+.topbar-right { display: flex; align-items: center; gap: 8px; }
+.topbar select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 5px 8px; }
+.user-chip { color: var(--txt2); font-size: 12px; margin-left: 6px; }
+.btn-ghost { background: none; border: 1px solid var(--line); color: var(--txt); border-radius: 7px; padding: 5px 12px; cursor: pointer; }
+.btn-ghost:hover { border-color: var(--danger); color: var(--danger); }
+
+.body { flex: 1; display: flex; min-height: 0; }
+.btn-icon-bar {
+  background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px;
+  width: 36px; height: 34px; cursor: pointer; font-size: 16px; line-height: 1; flex-shrink: 0;
+}
+.btn-icon-bar:hover { border-color: var(--acc); }
+.btn-dash { font-size: 12.5px; }
+.sidebar {
+  width: 240px; min-width: 240px; background: var(--bg2); border-right: 1px solid var(--line);
+  overflow-x: hidden; overflow-y: auto; padding: 10px 8px;
+  transition: width .2s ease, min-width .2s ease, padding .2s ease, opacity .15s ease;
+  flex-shrink: 0;
+}
+.body.sidebar-collapsed .sidebar {
+  width: 0; min-width: 0; padding: 0; border: 0; opacity: 0; pointer-events: none;
+}
+.nav-pin {
+  display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; padding-bottom: 8px;
+  border-bottom: 1px solid var(--line);
+}
+.nav-group { margin-bottom: 2px; }
+.nav-section {
+  display: flex; align-items: center; justify-content: space-between; gap: 6px;
+  width: 100%; text-align: left; background: none; border: 0; color: var(--txt2);
+  font-size: 11px; text-transform: uppercase; letter-spacing: .08em; padding: 12px 10px 4px;
+  cursor: pointer; border-radius: 6px;
+}
+.nav-section:hover { color: var(--txt); background: var(--bg3); }
+.nav-section .chev { font-size: 10px; opacity: .75; transition: transform .15s; }
+.nav-group.collapsed .nav-section .chev { transform: rotate(-90deg); }
+.nav-group.collapsed .nav-group-body { display: none; }
+.nav-item { display: block; width: 100%; text-align: left; background: none; border: 0; color: var(--txt); padding: 7px 10px; border-radius: 7px; cursor: pointer; font-size: 13px; }
+.nav-item:hover { background: var(--bg3); }
+.nav-item.active { background: var(--acc2); color: #fff; }
+.nav-item.sub { padding-left: 24px; color: var(--txt2); }
+.nav-item.dash { color: var(--acc); font-weight: 500; }
+@media (max-width: 720px) {
+  .sidebar { position: absolute; z-index: 30; height: calc(100% - 52px); box-shadow: 8px 0 24px rgba(0,0,0,.35); }
+  .body.sidebar-collapsed .sidebar { box-shadow: none; }
+}
+
+.main { flex: 1; overflow: auto; padding: 18px 22px; }
+.loading, .empty { color: var(--txt2); padding: 40px; text-align: center; }
+.empty b { color: var(--txt); }
+details pre { margin-top: 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 8px; padding: 12px; overflow: auto; font-size: 12px; }
+
+.screen-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; flex-wrap: wrap; }
+.screen-head h2 { font-size: 19px; }
+.layout-tag { color: var(--txt2); font-size: 12px; border: 1px solid var(--line); border-radius: 999px; padding: 2px 9px; margin-left: 10px; }
+
+.toolbar { display: flex; align-items: center; gap: 8px; }
+.search { background: var(--bg3); border: 1px solid var(--line); color: var(--txt); border-radius: 8px; padding: 7px 11px; width: 260px; outline: none; }
+.search:focus { border-color: var(--acc); }
+.btn { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 8px; padding: 7px 13px; cursor: pointer; font-size: 13px; }
+.btn:hover { border-color: var(--acc); }
+.btn:disabled { opacity: .45; cursor: default; }
+.btn.primary { background: var(--acc); border-color: var(--acc); color: #fff; }
+.btn.primary:hover { background: var(--acc2); }
+.btn.danger:hover { border-color: var(--danger); color: var(--danger); }
+.rowcount { color: var(--txt2); font-size: 12px; margin-left: 6px; }
+
+.grid-wrap { border: 1px solid var(--line); border-radius: 10px; overflow: auto; background: var(--bg2); }
+table { border-collapse: collapse; width: 100%; }
+th, td { padding: 8px 12px; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; }
+th { background: var(--bg3); color: var(--txt2); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; position: sticky; top: 0; }
+th.right, td.right { text-align: right; }
+tbody tr { cursor: pointer; }
+tbody tr:hover { background: var(--bg3); }
+tbody tr.sel { background: #1d3a5f; }
+
+/* ---------- modal ---------- */
+.overlay { position: fixed; inset: 0; background: rgba(0,0,0,.55); display: grid; place-items: center; z-index: 50; }
+.modal { width: min(560px, 92vw); max-height: 86vh; overflow: auto; background: var(--bg2); border: 1px solid var(--line); border-radius: 12px; padding: 20px; }
+.modal h3 { margin-bottom: 14px; }
+.form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
+.field label { display: block; color: var(--txt2); font-size: 12px; margin-bottom: 3px; }
+.field input, .field select { width: 100%; background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 8px 10px; outline: none; }
+.field input:focus, .field select:focus { border-color: var(--acc); }
+.field input.ro { opacity: .6; }
+.field.chk { display: flex; align-items: center; gap: 8px; }
+.field.chk label { margin: 0; }
+.field.chk input { width: auto; }
+.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
+
+/* paridad FWH: boton de tema + procesos */
+.theme-fab { position: fixed; top: 14px; right: 14px; z-index: 60; background: var(--bg2); color: var(--txt); border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; cursor: pointer; }
+.theme-fab:hover { border-color: var(--acc); }
+input[type="date"] { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 5px 8px; }
+.login-card input[type="date"] { width: 100%; }
+.proc-list { display: flex; flex-direction: column; gap: 8px; max-width: 720px; }
+.proc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; }
+.proc-sub { color: var(--txt2); font-size: 12px; }
+.proc-out { margin-top: 14px; background: var(--bg2); border: 1px solid var(--line); border-radius: 8px; padding: 12px; min-height: 60px; max-height: 320px; overflow: auto; font-size: 12px; color: var(--txt); }
+
+/* herramienta de cargue y ramas (login) */
+.tool-toggle { width: 100%; margin-top: 10px; background: none; border: 1px dashed var(--line); color: var(--txt2); border-radius: 8px; padding: 7px; cursor: pointer; font-size: 12.5px; }
+.tool-toggle:hover { border-color: var(--acc); color: var(--txt); }
+.tool-panel { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 12px; display: flex; flex-direction: column; gap: 10px; text-align: left; }
+.tool-row { font-size: 12px; color: var(--txt2); display: flex; flex-direction: column; gap: 5px; }
+.tool-row b { color: var(--txt); }
+.tool-row code { background: var(--bg3); border: 1px solid var(--line); border-radius: 6px; padding: 4px 7px; font-size: 11px; color: var(--txt); word-break: break-all; }
+.tool-links { display: flex; gap: 8px; flex-wrap: wrap; }
+.tool-links a { color: var(--acc); text-decoration: none; border: 1px solid var(--line); border-radius: 999px; padding: 2px 10px; font-size: 12px; }
+.tool-links a:hover { border-color: var(--acc); }
+.tool-row .btn { align-self: flex-start; padding: 4px 10px; font-size: 11.5px; }
+
+.login-card .tool-toggle { background: none; border: 1px dashed var(--line); color: var(--txt2); }
+.login-card .tool-toggle:hover { border-color: var(--acc); color: var(--txt); background: none; }
+
+.tool-ip { background: var(--bg3); border: 1px solid var(--line); color: var(--txt); border-radius: 999px; padding: 3px 10px; font-size: 12px; width: 130px; }
+.tool-note { font-size: 11px; opacity: .8; }
+.list-totals { padding: 8px 14px; font-size: 12.5px; color: var(--txt2); border-top: 1px solid var(--line); background: var(--bg2); }
+.list-totals b { color: var(--txt); }
+
+/* lista estándar web: filtros, sort, pie paginación, modal nav */
+.list-filters { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin: 0 0 12px; padding: 10px 12px; background: var(--bg2); border: 1px solid var(--line); border-radius: 10px; }
+.filter-chip { display: flex; flex-direction: column; gap: 3px; font-size: 11px; color: var(--txt2); }
+.filter-chip select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 6px 8px; min-width: 120px; }
+th.sortable { cursor: pointer; user-select: none; }
+th.sortable:hover { color: var(--txt); }
+th.sorted { color: var(--acc); }
+.sort-ind { font-size: 9px; opacity: .85; margin-left: 2px; }
+.empty-cell { text-align: center !important; color: var(--txt2); padding: 28px !important; cursor: default; }
+.list-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 10px; padding: 8px 4px; }
+.foot-left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
+.foot-nav { display: flex; align-items: center; gap: 6px; }
+.page-size { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--txt2); }
+.page-size select { background: var(--bg3); color: var(--txt); border: 1px solid var(--line); border-radius: 7px; padding: 4px 8px; }
+.pg-info { font-size: 12px; color: var(--txt2); min-width: 72px; text-align: center; }
+.btn-icon { padding: 5px 10px; min-width: 34px; font-size: 14px; line-height: 1; }
+.modal-form { width: min(640px, 94vw); }
+.modal-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
+.modal-head h3 { margin: 0; }
+.modal-nav { display: flex; align-items: center; gap: 4px; }
+
+/* form layout */
+.form-layout { display: grid; grid-template-columns: 240px 1fr; gap: 0; flex: 1; min-height: 0; border-top: 1px solid var(--line); }
+.form-nav { border-right: 1px solid var(--line); background: var(--bg2); overflow: auto; max-height: calc(100vh - 120px); }
+.form-nav-title { padding: 10px 12px; font-size: 12px; color: var(--txt2); font-weight: 600; border-bottom: 1px solid var(--line); }
+.form-nav-item { display: block; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--line); color: var(--txt); padding: 10px 12px; cursor: pointer; font-size: 12.5px; }
+.form-nav-item:hover { background: var(--bg3); }
+.form-nav-item.active { background: var(--bg3); border-left: 3px solid var(--acc); }
+.form-main { display: flex; flex-direction: column; min-width: 0; overflow: auto; }
+.form-tabs { display: flex; gap: 4px; padding: 10px 12px 0; flex-wrap: wrap; border-bottom: 1px solid var(--line); }
+.form-tab { background: none; border: 1px solid transparent; border-bottom: 0; color: var(--txt2); padding: 8px 12px; border-radius: 8px 8px 0 0; cursor: pointer; font-size: 12.5px; }
+.form-tab.active { background: var(--bg2); color: var(--txt); border-color: var(--line); }
+.form-body { padding: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
+.form-body .field { margin: 0; }
+.form-body .field.chk { grid-column: 1 / -1; }
+.checklist { display: flex; flex-wrap: wrap; gap: 8px 14px; }
+.chk-item { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--txt); cursor: pointer; }
+.chk-item input { width: auto; }
+
+/* master-detail */
+.md-layout { display: grid; grid-template-rows: 1fr 1fr; gap: 0; flex: 1; min-height: 0; }
+.md-master, .md-detail { display: flex; flex-direction: column; min-height: 0; border-top: 1px solid var(--line); }
+.md-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; background: var(--bg2); flex-wrap: wrap; }
+.md-head b { font-size: 13px; }
+.md-master .grid-wrap, .md-detail .grid-wrap { flex: 1; overflow: auto; max-height: 36vh; }
+@media (max-width: 900px) {
+  .form-layout { grid-template-columns: 1fr; }
+  .form-body { grid-template-columns: 1fr; }
+  .md-layout { grid-template-rows: auto auto; }
+}
diff --git a/samples/projects/FiveTech_ERP/www/web-vue/assets/index-1FzZV9uQ.js b/samples/projects/FiveTech_ERP/www/web-vue/assets/index-1FzZV9uQ.js
new file mode 100644
index 0000000..febf0e3
--- /dev/null
+++ b/samples/projects/FiveTech_ERP/www/web-vue/assets/index-1FzZV9uQ.js
@@ -0,0 +1,19 @@
+(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))s(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();/**
+* @vue/shared v3.5.41
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Cs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ue={},Wt=[],ot=()=>{},Ol=()=>!1,Ln=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vn=e=>e.startsWith("onUpdate:"),Re=Object.assign,Ss=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},qi=Object.prototype.hasOwnProperty,se=(e,t)=>qi.call(e,t),U=Array.isArray,Bt=e=>gn(e)==="[object Map]",Hn=e=>gn(e)==="[object Set]",zs=e=>gn(e)==="[object Date]",W=e=>typeof e=="function",be=e=>typeof e=="string",rt=e=>typeof e=="symbol",oe=e=>e!==null&&typeof e=="object",Pl=e=>(oe(e)||W(e))&&W(e.then)&&W(e.catch),Al=Object.prototype.toString,gn=e=>Al.call(e),Gi=e=>gn(e).slice(8,-1),Rl=e=>gn(e)==="[object Object]",ks=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,sn=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Un=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Ji=/-\w/g,ze=Un(e=>e.replace(Ji,t=>t.slice(1).toUpperCase())),Yi=/\B([A-Z])/g,kt=Un(e=>e.replace(Yi,"-$1").toLowerCase()),Ml=Un(e=>e.charAt(0).toUpperCase()+e.slice(1)),Zn=Un(e=>e?`on${Ml(e)}`:""),it=(e,t)=>!Object.is(e,t),Tn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Kn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Xs;const Wn=()=>Xs||(Xs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Es(e){if(U(e)){const t={};for(let n=0;n{if(n){const s=n.split(Xi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function xe(e){let t="";if(be(e))t=e;else if(U(e))for(let n=0;nbn(n,t))}const Nl=e=>!!(e&&e.__v_isRef===!0),j=e=>be(e)?e:e==null?"":U(e)||oe(e)&&(e.toString===Al||!W(e.toString))?Nl(e)?j(e.value):JSON.stringify(e,Dl,2):String(e),Dl=(e,t)=>Nl(t)?Dl(e,t.value):Bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,l],i)=>(n[Qn(s,i)+" =>"]=l,n),{})}:Hn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Qn(n))}:rt(t)?Qn(t):oe(t)&&!U(t)&&!Rl(t)?String(t):t,Qn=(e,t="")=>{var n;return rt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
+* @vue/reactivity v3.5.41
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let Oe;class lo{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&&Oe&&(Oe.active?(this.parent=Oe,this.index=(Oe.scopes||(Oe.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){const s=this.scopes.slice();for(t=0,n=s.length;t0&&--this._on===0){if(Oe===this)Oe=this.prevScope;else{let t=Oe;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,s;for(n=0,s=this.effects.length;n0)return;if(on){let t=on;for(on=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;ln;){let t=ln;for(ln=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Vl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Hl(e){let t,n=e.depsTail,s=n;for(;s;){const l=s.prevDep;s.version===-1?(s===n&&(n=l),Ps(s),oo(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=l}e.deps=t,e.depsTail=n}function ds(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ul(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ul(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===cn)||(e.globalVersion=cn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ds(e))))return;e.flags|=2;const t=e.dep,n=fe,s=Xe;fe=e,Xe=!0;try{Vl(e);const l=e.fn(e._value);(t.version===0||it(l,e._value))&&(e.flags|=128,e._value=l,t.version++)}catch(l){throw t.version++,l}finally{fe=n,Xe=s,Hl(e),e.flags&=-3}}function Ps(e,t=!1){const{dep:n,prevSub:s,nextSub:l}=e;if(s&&(s.nextSub=l,e.prevSub=void 0),l&&(l.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ps(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function oo(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Xe=!0;const Kl=[];function vt(){Kl.push(Xe),Xe=!1}function gt(){const e=Kl.pop();Xe=e===void 0?!0:e}function Zs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=fe;fe=void 0;try{t()}finally{fe=n}}}let cn=0;class ro{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 As{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(!fe||!Xe||fe===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==fe)n=this.activeLink=new ro(fe,this),fe.deps?(n.prevDep=fe.depsTail,fe.depsTail.nextDep=n,fe.depsTail=n):fe.deps=fe.depsTail=n,Wl(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=fe.depsTail,n.nextDep=void 0,fe.depsTail.nextDep=n,fe.depsTail=n,fe.deps===n&&(fe.deps=s)}return n}trigger(t){this.version++,cn++,this.notify(t)}notify(t){Ts();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Os()}}}function Wl(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Wl(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ps=new WeakMap,It=Symbol(""),hs=Symbol(""),fn=Symbol("");function Pe(e,t,n){if(Xe&&fe){let s=ps.get(e);s||ps.set(e,s=new Map);let l=s.get(n);l||(s.set(n,l=new As),l.map=s,l.key=n),l.track()}}function dt(e,t,n,s,l,i){const o=ps.get(e);if(!o){cn++;return}const r=c=>{c&&c.trigger()};if(Ts(),t==="clear")o.forEach(r);else{const c=U(e),g=c&&ks(n);if(c&&n==="length"){const v=Number(s);o.forEach((y,R)=>{(R==="length"||R===fn||!rt(R)&&R>=v)&&r(y)})}else switch((n!==void 0||o.has(void 0))&&r(o.get(n)),g&&r(o.get(fn)),t){case"add":c?g&&r(o.get("length")):(r(o.get(It)),Bt(e)&&r(o.get(hs)));break;case"delete":c||(r(o.get(It)),Bt(e)&&r(o.get(hs)));break;case"set":Bt(e)&&r(o.get(It));break}}Os()}function Ut(e){const t=ne(e);return t===e?t:(Pe(t,"iterate",fn),Ye(e)?t:t.map(Ze))}function Bn(e){return Pe(e=ne(e),"iterate",fn),e}function st(e,t){return bt(e)?Jt(Ft(e)?Ze(t):t):Ze(t)}const ao={__proto__:null,[Symbol.iterator](){return ts(this,Symbol.iterator,e=>st(this,e))},concat(...e){return Ut(this).concat(...e.map(t=>U(t)?Ut(t):t))},entries(){return ts(this,"entries",e=>(e[1]=st(this,e[1]),e))},every(e,t){return ut(this,"every",e,t,void 0,arguments)},filter(e,t){return ut(this,"filter",e,t,n=>n.map(s=>st(this,s)),arguments)},find(e,t){return ut(this,"find",e,t,n=>st(this,n),arguments)},findIndex(e,t){return ut(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ut(this,"findLast",e,t,n=>st(this,n),arguments)},findLastIndex(e,t){return ut(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ut(this,"forEach",e,t,void 0,arguments)},includes(...e){return ns(this,"includes",e)},indexOf(...e){return ns(this,"indexOf",e)},join(e){return Ut(this).join(e)},lastIndexOf(...e){return ns(this,"lastIndexOf",e)},map(e,t){return ut(this,"map",e,t,void 0,arguments)},pop(){return Zt(this,"pop")},push(...e){return Zt(this,"push",e)},reduce(e,...t){return Qs(this,"reduce",e,t)},reduceRight(e,...t){return Qs(this,"reduceRight",e,t)},shift(){return Zt(this,"shift")},some(e,t){return ut(this,"some",e,t,void 0,arguments)},splice(...e){return Zt(this,"splice",e)},toReversed(){return Ut(this).toReversed()},toSorted(e){return Ut(this).toSorted(e)},toSpliced(...e){return Ut(this).toSpliced(...e)},unshift(...e){return Zt(this,"unshift",e)},values(){return ts(this,"values",e=>st(this,e))}};function ts(e,t,n){const s=Bn(e),l=s[t]();return s!==e&&!Ye(e)&&(l._next=l.next,l.next=()=>{const i=l._next();return i.done||(i.value=n(i.value)),i}),l}const uo=Array.prototype;function ut(e,t,n,s,l,i){const o=Bn(e),r=o!==e&&!Ye(e),c=o[t];if(c!==uo[t]){const y=c.apply(e,i);return r?Ze(y):y}let g=n;o!==e&&(r?g=function(y,R){return n.call(this,st(e,y),R,e)}:n.length>2&&(g=function(y,R){return n.call(this,y,R,e)}));const v=c.call(o,g,s);return r&&l?l(v):v}function Qs(e,t,n,s){const l=Bn(e),i=l!==e&&!Ye(e);let o=n,r=!1;l!==e&&(i?(r=s.length===0,o=function(g,v,y){return r&&(r=!1,g=st(e,g)),n.call(this,g,st(e,v),y,e)}):n.length>3&&(o=function(g,v,y){return n.call(this,g,v,y,e)}));const c=l[t](o,...s);return r?st(e,c):c}function ns(e,t,n){const s=ne(e);Pe(s,"iterate",fn);const l=s[t](...n);return(l===-1||l===!1)&&Fs(n[0])?(n[0]=ne(n[0]),s[t](...n)):l}function Zt(e,t,n=[]){vt(),Ts();const s=ne(e)[t].apply(e,n);return Os(),gt(),s}const co=Cs("__proto__,__v_isRef,__isVue"),Bl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(rt));function fo(e){rt(e)||(e=String(e));const t=ne(this);return Pe(t,"has",e),t.hasOwnProperty(e)}class ql{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const l=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!l;if(n==="__v_isReadonly")return l;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(l?i?xo:zl:i?Yl:Jl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=U(t);if(!l){let c;if(o&&(c=ao[n]))return c;if(n==="hasOwnProperty")return fo}const r=Reflect.get(t,n,Ae(t)?t:s);if((rt(n)?Bl.has(n):co(n))||(l||Pe(t,"get",n),i))return r;if(Ae(r)){const c=o&&ks(n)?r:r.value;return l&&oe(c)?gs(c):c}return oe(r)?l?gs(r):Ms(r):r}}class Gl extends ql{constructor(t=!1){super(!1,t)}set(t,n,s,l){let i=t[n];const o=U(t)&&ks(n);if(!this._isShallow){const g=bt(i);if(!Ye(s)&&!bt(s)&&(i=ne(i),s=ne(s)),!o&&Ae(i)&&!Ae(s))return g||(i.value=s),!0}const r=o?Number(n)e,Cn=e=>Reflect.getPrototypeOf(e);function bo(e,t,n){return function(...s){const l=this.__v_raw,i=ne(l),o=Bt(i),r=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,g=l[e](...s),v=n?vs:t?Jt:Ze;return!t&&Pe(i,"iterate",c?hs:It),Re(Object.create(g),{next(){const{value:y,done:R}=g.next();return R?{value:y,done:R}:{value:r?[v(y[0]),v(y[1])]:v(y),done:R}}})}}function Sn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function mo(e,t){const n={get(l){const i=this.__v_raw,o=ne(i),r=ne(l);e||(it(l,r)&&Pe(o,"get",l),Pe(o,"get",r));const{has:c}=Cn(o),g=t?vs:e?Jt:Ze;if(c.call(o,l))return g(i.get(l));if(c.call(o,r))return g(i.get(r));i!==o&&i.get(l)},get size(){const l=this.__v_raw;return!e&&Pe(ne(l),"iterate",It),l.size},has(l){const i=this.__v_raw,o=ne(i),r=ne(l);return e||(it(l,r)&&Pe(o,"has",l),Pe(o,"has",r)),l===r?i.has(l):i.has(l)||i.has(r)},forEach(l,i){const o=this,r=o.__v_raw,c=ne(r),g=t?vs:e?Jt:Ze;return!e&&Pe(c,"iterate",It),r.forEach((v,y)=>l.call(i,g(v),g(y),o))}};return Re(n,e?{add:Sn("add"),set:Sn("set"),delete:Sn("delete"),clear:Sn("clear")}:{add(l){const i=ne(this),o=Cn(i),r=ne(l),c=!t&&!Ye(l)&&!bt(l)?r:l;return o.has.call(i,c)||it(l,c)&&o.has.call(i,l)||it(r,c)&&o.has.call(i,r)||(i.add(c),dt(i,"add",c,c)),this},set(l,i){!t&&!Ye(i)&&!bt(i)&&(i=ne(i));const o=ne(this),{has:r,get:c}=Cn(o);let g=r.call(o,l);g||(l=ne(l),g=r.call(o,l));const v=c.call(o,l);return o.set(l,i),g?it(i,v)&&dt(o,"set",l,i):dt(o,"add",l,i),this},delete(l){const i=ne(this),{has:o,get:r}=Cn(i);let c=o.call(i,l);c||(l=ne(l),c=o.call(i,l)),r&&r.call(i,l);const g=i.delete(l);return c&&dt(i,"delete",l,void 0),g},clear(){const l=ne(this),i=l.size!==0,o=l.clear();return i&&dt(l,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(l=>{n[l]=bo(l,e,t)}),n}function Rs(e,t){const n=mo(e,t);return(s,l,i)=>l==="__v_isReactive"?!e:l==="__v_isReadonly"?e:l==="__v_raw"?s:Reflect.get(se(n,l)&&l in s?n:s,l,i)}const yo={get:Rs(!1,!1)},_o={get:Rs(!1,!0)},wo={get:Rs(!0,!1)};const Jl=new WeakMap,Yl=new WeakMap,zl=new WeakMap,xo=new WeakMap;function Co(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ms(e){return bt(e)?e:Is(e,!1,ho,yo,Jl)}function So(e){return Is(e,!1,go,_o,Yl)}function gs(e){return Is(e,!0,vo,wo,zl)}function Is(e,t,n,s,l){if(!oe(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=l.get(e);if(i)return i;const o=Co(Gi(e));if(o===0)return e;const r=new Proxy(e,o===2?s:n);return l.set(e,r),r}function Ft(e){return bt(e)?Ft(e.__v_raw):!!(e&&e.__v_isReactive)}function bt(e){return!!(e&&e.__v_isReadonly)}function Ye(e){return!!(e&&e.__v_isShallow)}function Fs(e){return e?!!e.__v_raw:!1}function ne(e){const t=e&&e.__v_raw;return t?ne(t):e}function ko(e){return!se(e,"__v_skip")&&Object.isExtensible(e)&&Il(e,"__v_skip",!0),e}const Ze=e=>oe(e)?Ms(e):e,Jt=e=>oe(e)?gs(e):e;function Ae(e){return e?e.__v_isRef===!0:!1}function J(e){return Eo(e,!1)}function Eo(e,t){return Ae(e)?e:new To(e,t)}class To{constructor(t,n){this.dep=new As,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ne(t),this._value=n?t:Ze(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Ye(t)||bt(t);t=s?t:ne(t),it(t,n)&&(this._rawValue=t,this._value=s?t:Ze(t),this.dep.trigger())}}function bs(e){return Ae(e)?e.value:e}const Oo={get:(e,t,n)=>t==="__v_raw"?e:bs(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const l=e[t];return Ae(l)&&!Ae(n)?(l.value=n,!0):Reflect.set(e,t,n,s)}};function Xl(e){return Ft(e)?e:new Proxy(e,Oo)}class Po{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new As(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=cn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&fe!==this)return Ll(this,!0),!0}get value(){const t=this.dep.track();return Ul(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Ao(e,t,n=!1){let s,l;return W(e)?s=e:(s=e.get,l=e.set),new Po(s,l,n)}const kn={},An=new WeakMap;let At;function Ro(e,t=!1,n=At){if(n){let s=An.get(n);s||An.set(n,s=[]),s.push(e)}}function Mo(e,t,n=ue){const{immediate:s,deep:l,once:i,scheduler:o,augmentJob:r,call:c}=n,g=D=>l?D:Ye(D)||l===!1||l===0?pt(D,1):pt(D);let v,y,R,I,K=!1,L=!1;if(Ae(e)?(y=()=>e.value,K=Ye(e)):Ft(e)?(y=()=>g(e),K=!0):U(e)?(L=!0,K=e.some(D=>Ft(D)||Ye(D)),y=()=>e.map(D=>{if(Ae(D))return D.value;if(Ft(D))return g(D);if(W(D))return c?c(D,2):D()})):W(e)?t?y=c?()=>c(e,2):e:y=()=>{if(R){vt();try{R()}finally{gt()}}const D=At;At=v;try{return c?c(e,3,[I]):e(I)}finally{At=D}}:y=ot,t&&l){const D=y,re=l===!0?1/0:l;y=()=>pt(D(),re)}const de=io(),S=()=>{v.stop(),de&&de.active&&Ss(de.effects,v)};if(i&&t){const D=t;t=(...re)=>{const Se=D(...re);return S(),Se}}let H=L?new Array(e.length).fill(kn):kn;const z=D=>{if(!(!(v.flags&1)||!v.dirty&&!D))if(t){const re=v.run();if(D||l||K||(L?re.some((Se,me)=>it(Se,H[me])):it(re,H))){R&&R();const Se=At;At=v;try{const me=[re,H===kn?void 0:L&&H[0]===kn?[]:H,I];H=re,c?c(t,3,me):t(...me)}finally{At=Se}}}else v.run()};return r&&r(z),v=new jl(y),v.scheduler=o?()=>o(z,!1):z,I=D=>Ro(D,!1,v),R=v.onStop=()=>{const D=An.get(v);if(D){if(c)c(D,4);else for(const re of D)re();An.delete(v)}},t?s?z(!0):H=v.run():o?o(z.bind(null,!0),!0):v.run(),S.pause=v.pause.bind(v),S.resume=v.resume.bind(v),S.stop=S,S}function pt(e,t=1/0,n){if(t<=0||!oe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ae(e))pt(e.value,t,n);else if(U(e))for(let s=0;s{pt(s,t,n)});else if(Rl(e)){for(const s in e)pt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&pt(e[s],t,n)}return e}/**
+* @vue/runtime-core v3.5.41
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function mn(e,t,n,s){try{return s?e(...s):e()}catch(l){qn(l,t,n)}}function Qe(e,t,n,s){if(W(e)){const l=mn(e,t,n,s);return l&&Pl(l)&&l.catch(i=>{qn(i,t,n)}),l}if(U(e)){const l=[];for(let i=0;i>>1,l=De[s],i=dn(l);i=dn(n)?De.push(e):De.splice(Fo(t),0,e),e.flags|=1,ei()}}function ei(){Rn||(Rn=Zl.then(ni))}function No(e){if(!U(e))St&&e.id===-1?St.splice(Kt+1,0,e):e.flags&1||(qt.push(e),e.flags|=1);else for(let t=0;tdn(n)-dn(s));if(qt.length=0,St){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function ni(e){try{for(nt=0;nt{s._d&&fl(-1);const i=Mn(t),o=Nt.length;let r;try{r=e(...l)}finally{for(let c=Nt.length;c>o;c--)Oi();Mn(i),s._d&&fl(1)}return r};return s._n=!0,s._c=!0,s._d=!0,s}function Ct(e,t){if(Je===null)return e;const n=Xn(Je),s=e.dirs||(e.dirs=[]);for(let l=0;l1)return n&&W(t)?t.call(s&&s.proxy):t}}const $o=Symbol.for("v-scx"),Lo=()=>On($o);function ss(e,t,n){return li(e,t,n)}function li(e,t,n=ue){const{immediate:s,deep:l,flush:i,once:o}=n,r=Re({},n),c=t&&s||!t&&i!=="post";let g;if(vn){if(i==="sync"){const I=Lo();g=I.__watcherHandles||(I.__watcherHandles=[])}else if(!c){const I=()=>{};return I.stop=ot,I.resume=ot,I.pause=ot,I}}const v=je;r.call=(I,K,L)=>Qe(I,v,K,L);let y=!1;i==="post"?r.scheduler=I=>{He(I,v&&v.suspense)}:i!=="sync"&&(y=!0,r.scheduler=(I,K)=>{K?I():Ns(I)}),r.augmentJob=I=>{t&&(I.flags|=4),y&&(I.flags|=2,v&&(I.id=v.uid,I.i=v))};const R=Mo(e,t,r);return vn&&(g?g.push(R):c&&R()),R}function Vo(e,t,n){const s=this.proxy,l=be(e)?e.includes(".")?ii(s,e):()=>s[e]:e.bind(s,s);let i;W(t)?i=t:(i=t.handler,n=t);const o=yn(this),r=li(l,i.bind(s),n);return o(),r}function ii(e,t){const n=t.split(".");return()=>{let s=e;for(let l=0;le.__isTeleport,ls=Symbol("_leaveCb");function Uo(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==mt){t=n;break}}return t}function oi(e){if(!js(e))return Gn(e.type)&&e.children?Uo(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&&W(n.default))return n.default()}}function Ds(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ds(Gn(n.type)&&oi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ri(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function tl(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const In=new WeakMap;function rn(e,t,n,s,l=!1){if(U(e)){e.forEach((L,de)=>rn(L,t&&(U(t)?t[de]:t),n,s,l));return}if(an(s)&&!l){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&rn(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?Xn(s.component):s.el,o=l?null:i,{i:r,r:c}=e,g=t&&t.r,v=r.refs===ue?r.refs={}:r.refs,y=r.setupState,R=ne(y),I=y===ue?Ol:L=>tl(v,L)?!1:se(R,L),K=(L,de)=>!(de&&tl(v,de));if(g!=null&&g!==c){if(nl(t),be(g))v[g]=null,I(g)&&(y[g]=null);else if(Ae(g)){const L=t;K(g,L.k)&&(g.value=null),L.k&&(v[L.k]=null)}}if(W(c))mn(c,r,12,[o,v]);else{const L=be(c),de=Ae(c);if(L||de){const S=()=>{if(e.f){const H=L?I(c)?y[c]:v[c]:K()||!e.k?c.value:v[e.k];if(l)U(H)&&Ss(H,i);else if(U(H))H.includes(i)||H.push(i);else if(L)v[c]=[i],I(c)&&(y[c]=v[c]);else{const z=[i];K(c,e.k)&&(c.value=z),e.k&&(v[e.k]=z)}}else L?(v[c]=o,I(c)&&(y[c]=o)):de&&(K(c,e.k)&&(c.value=o),e.k&&(v[e.k]=o))};if(o){const H=()=>{S(),In.delete(e)};H.id=-1,In.set(e,H),He(H,n)}else nl(e),S()}}}function nl(e){const t=In.get(e);t&&(t.flags|=8,In.delete(e))}Wn().requestIdleCallback;Wn().cancelIdleCallback;const an=e=>!!e.type.__asyncLoader,js=e=>e.type.__isKeepAlive;function Ko(e,t){ai(e,"a",t)}function Wo(e,t){ai(e,"da",t)}function ai(e,t,n=je){const s=e.__wdc||(e.__wdc=()=>{let l=n;for(;l;){if(l.isDeactivated)return;l=l.parent}return e()});if(Jn(t,s,n),n){let l=n.parent;for(;l&&l.parent;)js(l.parent.vnode)&&Bo(s,t,n,l),l=l.parent}}function Bo(e,t,n,s){const l=Jn(t,e,s,!0);ci(()=>{Ss(s[t],l)},n)}function Jn(e,t,n=je,s=!1){if(n){const l=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{vt();const r=yn(n),c=Qe(t,n,e,o);return r(),gt(),c});return s?l.unshift(i):l.push(i),i}}const yt=e=>(t,n=je)=>{(!vn||e==="sp")&&Jn(e,(...s)=>t(...s),n)},qo=yt("bm"),ui=yt("m"),Go=yt("bu"),Jo=yt("u"),Yo=yt("bum"),ci=yt("um"),zo=yt("sp"),Xo=yt("rtg"),Zo=yt("rtc");function Qo(e,t=je){Jn("ec",e,t)}const er=Symbol.for("v-ndc");function pe(e,t,n,s){let l;const i=n,o=U(e);if(o||be(e)){const r=o&&Ft(e);let c=!1,g=!1;r&&(c=!Ye(e),g=bt(e),e=Bn(e)),l=new Array(e.length);for(let v=0,y=e.length;vt(r,c,void 0,i));else{const r=Object.keys(e);l=new Array(r.length);for(let c=0,g=r.length;ce?Mi(e)?Xn(e):ms(e.parent):null,un=Re(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=>ms(e.parent),$root:e=>ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>di(e),$forceUpdate:e=>e.f||(e.f=()=>{Ns(e.update)}),$nextTick:e=>e.n||(e.n=Ql.bind(e.proxy)),$watch:e=>Vo.bind(e)}),is=(e,t)=>e!==ue&&!e.__isScriptSetup&&se(e,t),tr={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:l,props:i,accessCache:o,type:r,appContext:c}=e;if(t[0]!=="$"){const R=o[t];if(R!==void 0)switch(R){case 1:return s[t];case 2:return l[t];case 4:return n[t];case 3:return i[t]}else{if(is(s,t))return o[t]=1,s[t];if(l!==ue&&se(l,t))return o[t]=2,l[t];if(se(i,t))return o[t]=3,i[t];if(n!==ue&&se(n,t))return o[t]=4,n[t];ys&&(o[t]=0)}}const g=un[t];let v,y;if(g)return t==="$attrs"&&Pe(e.attrs,"get",""),g(e);if((v=r.__cssModules)&&(v=v[t]))return v;if(n!==ue&&se(n,t))return o[t]=4,n[t];if(y=c.config.globalProperties,se(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:l,ctx:i}=e;return is(l,t)?(l[t]=n,!0):s!==ue&&se(s,t)?(s[t]=n,!0):se(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:l,props:i,type:o}},r){let c;return!!(n[r]||e!==ue&&r[0]!=="$"&&se(e,r)||is(t,r)||se(i,r)||se(s,r)||se(un,r)||se(l.config.globalProperties,r)||(c=o.__cssModules)&&c[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:se(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function sl(e){return U(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ys=!0;function nr(e){const t=di(e),n=e.proxy,s=e.ctx;ys=!1,t.beforeCreate&&ll(t.beforeCreate,e,"bc");const{data:l,computed:i,methods:o,watch:r,provide:c,inject:g,created:v,beforeMount:y,mounted:R,beforeUpdate:I,updated:K,activated:L,deactivated:de,beforeDestroy:S,beforeUnmount:H,destroyed:z,unmounted:D,render:re,renderTracked:Se,renderTriggered:me,errorCaptured:Me,serverPrefetch:ke,expose:Ie,inheritAttrs:Ce,components:ae,directives:X,filters:Ue}=t;if(g&&sr(g,s,null),o)for(const Y in o){const Q=o[Y];W(Q)&&(s[Y]=Q.bind(n))}if(l){const Y=l.call(n,n);oe(Y)&&(e.data=Ms(Y))}if(ys=!0,i)for(const Y in i){const Q=i[Y],Ee=W(Q)?Q.bind(n,n):W(Q.get)?Q.get.bind(n,n):ot,ce=!W(Q)&&W(Q.set)?Q.set.bind(n):ot,Be=tt({get:Ee,set:ce});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>Be.value,set:$e=>Be.value=$e})}if(r)for(const Y in r)fi(r[Y],s,n,Y);if(c){const Y=W(c)?c.call(n):c;Reflect.ownKeys(Y).forEach(Q=>{jo(Q,Y[Q])})}v&&ll(v,e,"c");function we(Y,Q){U(Q)?Q.forEach(Ee=>Y(Ee.bind(n))):Q&&Y(Q.bind(n))}if(we(qo,y),we(ui,R),we(Go,I),we(Jo,K),we(Ko,L),we(Wo,de),we(Qo,Me),we(Zo,Se),we(Xo,me),we(Yo,H),we(ci,D),we(zo,ke),U(Ie))if(Ie.length){const Y=e.exposed||(e.exposed={});Ie.forEach(Q=>{Object.defineProperty(Y,Q,{get:()=>n[Q],set:Ee=>n[Q]=Ee,enumerable:!0})})}else e.exposed||(e.exposed={});re&&e.render===ot&&(e.render=re),Ce!=null&&(e.inheritAttrs=Ce),ae&&(e.components=ae),X&&(e.directives=X),ke&&ri(e)}function sr(e,t,n=ot){U(e)&&(e=_s(e));for(const s in e){const l=e[s];let i;oe(l)?"default"in l?i=On(l.from||s,l.default,!0):i=On(l.from||s):i=On(l),Ae(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function ll(e,t,n){Qe(U(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function fi(e,t,n,s){let l=s.includes(".")?ii(n,s):()=>n[s];if(be(e)){const i=t[e];W(i)&&ss(l,i)}else if(W(e))ss(l,e.bind(n));else if(oe(e))if(U(e))e.forEach(i=>fi(i,t,n,s));else{const i=W(e.handler)?e.handler.bind(n):t[e.handler];W(i)&&ss(l,i,e)}}function di(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:l,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,r=i.get(t);let c;return r?c=r:!l.length&&!n&&!s?c=t:(c={},l.length&&l.forEach(g=>Fn(c,g,o,!0)),Fn(c,t,o)),oe(t)&&i.set(t,c),c}function Fn(e,t,n,s=!1){const{mixins:l,extends:i}=t;i&&Fn(e,i,n,!0),l&&l.forEach(o=>Fn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const r=lr[o]||n&&n[o];e[o]=r?r(e[o],t[o]):t[o]}return e}const lr={data:il,props:ol,emits:ol,methods:tn,computed:tn,beforeCreate:Ne,created:Ne,beforeMount:Ne,mounted:Ne,beforeUpdate:Ne,updated:Ne,beforeDestroy:Ne,beforeUnmount:Ne,destroyed:Ne,unmounted:Ne,activated:Ne,deactivated:Ne,errorCaptured:Ne,serverPrefetch:Ne,components:tn,directives:tn,watch:or,provide:il,inject:ir};function il(e,t){return t?e?function(){return Re(W(e)?e.call(this,this):e,W(t)?t.call(this,this):t)}:t:e}function ir(e,t){return tn(_s(e),_s(t))}function _s(e){if(U(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ze(t)}Modifiers`]||e[`${kt(t)}Modifiers`];function cr(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||ue;let l=n;const i=t.startsWith("update:"),o=i&&ur(s,t.slice(7));o&&(o.trim&&(l=n.map(v=>be(v)?v.trim():v)),o.number&&(l=n.map(Kn)));let r,c=s[r=Zn(t)]||s[r=Zn(ze(t))];!c&&i&&(c=s[r=Zn(kt(t))]),c&&Qe(c,e,6,l);const g=s[r+"Once"];if(g){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,Qe(g,e,6,l)}}const fr=new WeakMap;function hi(e,t,n=!1){const s=n?fr:t.emitsCache,l=s.get(e);if(l!==void 0)return l;const i=e.emits;let o={},r=!1;if(!W(e)){const c=g=>{const v=hi(g,t,!0);v&&(r=!0,Re(o,v))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!r?(oe(e)&&s.set(e,null),null):(U(i)?i.forEach(c=>o[c]=null):Re(o,i),oe(e)&&s.set(e,o),o)}function Yn(e,t){return!e||!Ln(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),se(e,t[0].toLowerCase()+t.slice(1))||se(e,kt(t))||se(e,t))}function rl(e){const{type:t,vnode:n,proxy:s,withProxy:l,propsOptions:[i],slots:o,attrs:r,emit:c,render:g,renderCache:v,props:y,data:R,setupState:I,ctx:K,inheritAttrs:L}=e,de=Mn(e);let S,H;try{if(n.shapeFlag&4){const D=l||s,re=D;S=lt(g.call(re,D,v,y,I,R,K)),H=r}else{const D=t;S=lt(D.length>1?D(y,{attrs:r,slots:o,emit:c}):D(y,null)),H=t.props?r:dr(r)}}catch(D){Nt.length=0,qn(D,e,1),S=ht(mt)}let z=S;if(H&&L!==!1){const D=Object.keys(H),{shapeFlag:re}=z;D.length&&re&7&&(i&&D.some(Vn)&&(H=pr(H,i)),z=Yt(z,H,!1,!0))}if(n.dirs&&(z=Yt(z,null,!1,!0),z.dirs=z.dirs?z.dirs.concat(n.dirs):n.dirs),n.transition){const D=Gn(z.type)&&oi(z)||z;Ds(D,n.transition)}return S=z,Mn(de),S}const dr=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ln(n))&&((t||(t={}))[n]=e[n]);return t},pr=(e,t)=>{const n={};for(const s in e)(!Vn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function hr(e,t,n){const{props:s,children:l,component:i}=e,{props:o,children:r,patchFlag:c}=t,g=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?al(s,o,g):!!o;if(c&8){const v=t.dynamicProps;for(let y=0;yObject.create(gi),mi=e=>Object.getPrototypeOf(e)===gi;function gr(e,t,n,s=!1){const l={},i=bi();e.propsDefaults=Object.create(null),yi(e,t,l,i);for(const o in e.propsOptions[0])o in l||(l[o]=void 0);n?e.props=s?l:So(l):e.type.props?e.props=l:e.props=i,e.attrs=i}function br(e,t,n,s){const{props:l,attrs:i,vnode:{patchFlag:o}}=e,r=ne(l),[c]=e.propsOptions;let g=!1;if((s||o>0)&&!(o&16)){if(o&8){const v=e.vnode.dynamicProps;for(let y=0;y{c=!0;const[R,I]=_i(y,t,!0);Re(o,R),I&&r.push(...I)};!n&&t.mixins.length&&t.mixins.forEach(v),e.extends&&v(e.extends),e.mixins&&e.mixins.forEach(v)}if(!i&&!c)return oe(e)&&s.set(e,Wt),Wt;if(U(i))for(let v=0;ve==="_"||e==="_ctx"||e==="$stable",Ls=e=>U(e)?e.map(lt):[lt(e)],yr=(e,t,n)=>{if(t._n)return t;const s=Do((...l)=>Ls(t(...l)),n);return s._c=!1,s},wi=(e,t,n)=>{const s=e._ctx;for(const l in e){if($s(l))continue;const i=e[l];if(W(i))t[l]=yr(l,i,s);else if(i!=null){const o=Ls(i);t[l]=()=>o}}},xi=(e,t)=>{const n=Ls(t);e.slots.default=()=>n},Ci=(e,t,n)=>{for(const s in t)(n||!$s(s))&&(e[s]=t[s])},_r=(e,t,n)=>{const s=e.slots=bi();if(e.vnode.shapeFlag&32){const l=t._;l?(Ci(s,t,n),n&&Il(s,"_",l,!0)):wi(t,s)}else t&&xi(e,t)},wr=(e,t,n)=>{const{vnode:s,slots:l}=e;let i=!0,o=ue;if(s.shapeFlag&32){const r=t._;r?n&&r===1?i=!1:Ci(l,t,n):(i=!t.$stable,wi(t,l)),o=t}else t&&(xi(e,t),o={default:1});if(i)for(const r in l)!$s(r)&&o[r]==null&&delete l[r]},He=Er;function xr(e){return Cr(e)}function Cr(e,t){const n=Wn();n.__VUE__=!0;const{insert:s,remove:l,patchProp:i,createElement:o,createText:r,createComment:c,setText:g,setElementText:v,parentNode:y,nextSibling:R,setScopeId:I=ot,insertStaticContent:K}=e,L=(u,f,b,x=null,w=null,_=null,O=void 0,C=null,k=!!f.dynamicChildren)=>{if(u===f)return;u&&!Qt(u,f)&&(x=$t(u),$e(u,w,_,!0),u=null),f.patchFlag===-2&&(k=!1,f.dynamicChildren=null);const{type:m,ref:F,shapeFlag:P}=f;switch(m){case zn:de(u,f,b,x);break;case mt:S(u,f,b,x);break;case rs:u==null&&H(f,b,x,O);break;case G:ae(u,f,b,x,w,_,O,C,k);break;default:P&1?re(u,f,b,x,w,_,O,C,k):P&6?X(u,f,b,x,w,_,O,C,k):(P&64||P&128)&&m.process(u,f,b,x,w,_,O,C,k,at)}F!=null&&w?rn(F,u&&u.ref,_,f||u,!f):F==null&&u&&u.ref!=null&&rn(u.ref,null,_,u,!0)},de=(u,f,b,x)=>{if(u==null)s(f.el=r(f.children),b,x);else{const w=f.el=u.el;f.children!==u.children&&g(w,f.children)}},S=(u,f,b,x)=>{u==null?s(f.el=c(f.children||""),b,x):f.el=u.el},H=(u,f,b,x)=>{[u.el,u.anchor]=K(u.children,f,b,x,u.el,u.anchor)},z=({el:u,anchor:f},b,x)=>{let w;for(;u&&u!==f;)w=R(u),s(u,b,x),u=w;s(f,b,x)},D=({el:u,anchor:f})=>{let b;for(;u&&u!==f;)b=R(u),l(u),u=b;l(f)},re=(u,f,b,x,w,_,O,C,k)=>{if(f.type==="svg"?O="svg":f.type==="math"&&(O="mathml"),u==null)Se(f,b,x,w,_,O,C,k);else{const m=u.el&&u.el._isVueCE?u.el:null;try{m&&m._beginPatch(),ke(u,f,w,_,O,C,k)}finally{m&&m._endPatch()}}},Se=(u,f,b,x,w,_,O,C)=>{let k,m;const{props:F,shapeFlag:P,transition:N,dirs:V}=u;if(k=u.el=o(u.type,_,F&&F.is,F),P&8?v(k,u.children):P&16&&Me(u.children,k,null,x,w,os(u,_),O,C),V&&Ot(u,null,x,"created"),me(k,u,u.scopeId,O,x),F){for(const ee in F)ee!=="value"&&!sn(ee)&&i(k,ee,null,F[ee],_,x);"value"in F&&i(k,"value",null,F.value,_),(m=F.onVnodeBeforeMount)&&et(m,x,u)}V&&Ot(u,null,x,"beforeMount");const q=Sr(w,N);q&&N.beforeEnter(k),s(k,f,b),((m=F&&F.onVnodeMounted)||q||V)&&He(()=>{try{m&&et(m,x,u),q&&N.enter(k),V&&Ot(u,null,x,"mounted")}finally{}},w)},me=(u,f,b,x,w)=>{if(b&&I(u,b),x)for(let _=0;_{for(let m=k;m{const C=f.el=u.el;let{patchFlag:k,dynamicChildren:m,dirs:F}=f;k|=u.patchFlag&16;const P=u.props||ue,N=f.props||ue;let V;if(b&&Pt(b,!1),(V=N.onVnodeBeforeUpdate)&&et(V,b,f,u),F&&Ot(f,u,b,"beforeUpdate"),b&&Pt(b,!0),m&&(!u.dynamicChildren||u.dynamicChildren.length!==m.length)&&(k=0,O=!1,m=null),(P.innerHTML&&N.innerHTML==null||P.textContent&&N.textContent==null)&&v(C,""),m?Ie(u.dynamicChildren,m,C,b,x,os(f,w),_):O||Q(u,f,C,null,b,x,os(f,w),_,!1),k>0){if(k&16)Ce(C,P,N,b,w);else if(k&2&&P.class!==N.class&&i(C,"class",null,N.class,w),k&4&&i(C,"style",P.style,N.style,w),k&8){const q=f.dynamicProps;for(let ee=0;ee{V&&et(V,b,f,u),F&&Ot(f,u,b,"updated")},x)},Ie=(u,f,b,x,w,_,O)=>{for(let C=0;C{if(f!==b){if(f!==ue)for(const _ in f)!sn(_)&&!(_ in b)&&i(u,_,f[_],null,w,x);for(const _ in b){if(sn(_))continue;const O=b[_],C=f[_];O!==C&&_!=="value"&&i(u,_,C,O,w,x)}"value"in b&&i(u,"value",f.value,b.value,w)}},ae=(u,f,b,x,w,_,O,C,k)=>{const m=f.el=u?u.el:r(""),F=f.anchor=u?u.anchor:r("");let{patchFlag:P,dynamicChildren:N,slotScopeIds:V}=f;V&&(C=C?C.concat(V):V),u==null?(s(m,b,x),s(F,b,x),Me(f.children||[],b,F,w,_,O,C,k)):P>0&&P&64&&N&&u.dynamicChildren&&u.dynamicChildren.length===N.length?(Ie(u.dynamicChildren,N,b,w,_,O,C),(f.key!=null||w&&f===w.subTree)&&Si(u,f,!0)):Q(u,f,b,F,w,_,O,C,k)},X=(u,f,b,x,w,_,O,C,k)=>{f.slotScopeIds=C,u==null?f.shapeFlag&512?w.ctx.activate(f,b,x,O,k):Ue(f,b,x,w,_,O,k):Dt(u,f,k)},Ue=(u,f,b,x,w,_,O)=>{const C=u.component=Ir(u,x,w);if(js(u)&&(C.ctx.renderer=at),Nr(C,!1,O),C.asyncDep){if(w&&w.registerDep(C,we,O),!u.el){const k=C.subTree=ht(mt);S(null,k,f,b),u.placeholder=k.el}}else we(C,u,f,b,w,_,O)},Dt=(u,f,b)=>{const x=f.component=u.component;if(hr(u,f,b))if(x.asyncDep&&!x.asyncResolved){Y(x,f,b);return}else x.next=f,x.update();else f.el=u.el,x.vnode=f},we=(u,f,b,x,w,_,O)=>{const C=()=>{if(u.isMounted){let{next:P,bu:N,u:V,parent:q,vnode:ee}=u;{const Fe=ki(u);if(Fe){P&&(P.el=ee.el,Y(u,P,O)),Fe.asyncDep.then(()=>{He(()=>{u.isUnmounted||m()},w)});return}}let te=P,ge;Pt(u,!1),P?(P.el=ee.el,Y(u,P,O)):P=ee,N&&Tn(N),(ge=P.props&&P.props.onVnodeBeforeUpdate)&&et(ge,q,P,ee),Pt(u,!0);const ye=rl(u),Le=u.subTree;u.subTree=ye,L(Le,ye,y(Le.el),$t(Le),u,w,_),P.el=ye.el,te===null&&vr(u,ye.el),V&&He(V,w),(ge=P.props&&P.props.onVnodeUpdated)&&He(()=>et(ge,q,P,ee),w)}else{let P;const{el:N,props:V}=f,{bm:q,m:ee,parent:te,root:ge,type:ye}=u,Le=an(f);Pt(u,!1),q&&Tn(q),!Le&&(P=V&&V.onVnodeBeforeMount)&&et(P,te,f),Pt(u,!0);{ge.ce&&ge.ce._hasShadowRoot()&&ge.ce._injectChildStyle(ye,u.parent?u.parent.type:void 0);const Fe=u.subTree=rl(u);L(null,Fe,b,x,u,w,_),f.el=Fe.el}if(ee&&He(ee,w),!Le&&(P=V&&V.onVnodeMounted)){const Fe=f;He(()=>et(P,te,Fe),w)}(f.shapeFlag&256||te&&an(te.vnode)&&te.vnode.shapeFlag&256)&&u.a&&He(u.a,w),u.isMounted=!0,f=b=x=null}};u.scope.on();const k=u.effect=new jl(C);u.scope.off();const m=u.update=k.run.bind(k),F=u.job=k.runIfDirty.bind(k);F.i=u,F.id=u.uid,k.scheduler=()=>Ns(F),Pt(u,!0),m()},Y=(u,f,b)=>{f.component=u;const x=u.vnode.props;u.vnode=f,u.next=null,br(u,f.props,x,b),wr(u,f.children,b),vt(),el(u),gt()},Q=(u,f,b,x,w,_,O,C,k=!1)=>{const m=u&&u.children,F=u?u.shapeFlag:0,P=f.children,{patchFlag:N,shapeFlag:V}=f;if(N>0){if(N&128){ce(m,P,b,x,w,_,O,C,k);return}else if(N&256){Ee(m,P,b,x,w,_,O,C,k);return}}V&8?(F&16&&xt(m,w,_),P!==m&&v(b,P)):F&16?V&16?ce(m,P,b,x,w,_,O,C,k):xt(m,w,_,!0):(F&8&&v(b,""),V&16&&Me(P,b,x,w,_,O,C,k))},Ee=(u,f,b,x,w,_,O,C,k)=>{u=u||Wt,f=f||Wt;const m=u.length,F=f.length,P=Math.min(m,F);let N;for(N=0;NF?xt(u,w,_,!0,!1,P):Me(f,b,x,w,_,O,C,k,P)},ce=(u,f,b,x,w,_,O,C,k)=>{let m=0;const F=f.length;let P=u.length-1,N=F-1;for(;m<=P&&m<=N;){const V=u[m],q=f[m]=k?ft(f[m]):lt(f[m]);if(Qt(V,q))L(V,q,b,null,w,_,O,C,k);else break;m++}for(;m<=P&&m<=N;){const V=u[P],q=f[N]=k?ft(f[N]):lt(f[N]);if(Qt(V,q))L(V,q,b,null,w,_,O,C,k);else break;P--,N--}if(m>P){if(m<=N){const V=N+1,q=VN)for(;m<=P;)$e(u[m],w,_,!0),m++;else{const V=m,q=m,ee=new Map;for(m=q;m<=N;m++){const le=f[m]=k?ft(f[m]):lt(f[m]);le.key!=null&&ee.set(le.key,m)}let te,ge=0;const ye=N-q+1;let Le=!1,Fe=0;const Et=new Array(ye);for(m=0;m=ye){$e(le,w,_,!0);continue}let _e;if(le.key!=null)_e=ee.get(le.key);else for(te=q;te<=N;te++)if(Et[te-q]===0&&Qt(le,f[te])){_e=te;break}_e===void 0?$e(le,w,_,!0):(Et[_e-q]=m+1,_e>=Fe?Fe=_e:Le=!0,L(le,f[_e],b,null,w,_,O,C,k),ge++)}const Ve=Le?kr(Et):Wt;for(te=Ve.length-1,m=ye-1;m>=0;m--){const le=q+m,_e=f[le],_n=f[le+1],Ke=le+1{const{el:_,type:O,transition:C,children:k,shapeFlag:m}=u;if(m&6){Be(u.component.subTree,f,b,x);return}if(m&128){u.suspense.move(f,b,x);return}if(m&64){O.move(u,f,b,at);return}if(O===G){s(_,f,b);for(let P=0;PC.enter(_),w));else{const{leave:P,delayLeave:N,afterLeave:V}=C,q=()=>{u.ctx.isUnmounted?l(_):s(_,f,b)},ee=()=>{const te=_._isLeaving||!!_[ls];_._isLeaving&&_[ls](!0),C.persisted&&!te?q():P(_,()=>{q(),V&&V()})};N?N(_,q,ee):ee()}else s(_,f,b)},$e=(u,f,b,x=!1,w=!1)=>{const{type:_,props:O,ref:C,children:k,dynamicChildren:m,shapeFlag:F,patchFlag:P,dirs:N,cacheIndex:V,memo:q}=u;if(P===-2&&(w=!1),C!=null&&(vt(),rn(C,null,b,u,!0),gt()),V!=null&&(f.renderCache[V]=void 0),F&256){f.ctx.deactivate(u);return}const ee=F&1&&N,te=!an(u);let ge;if(te&&(ge=O&&O.onVnodeBeforeUnmount)&&et(ge,f,u),F&6)wt(u.component,b,x);else{if(F&128){u.suspense.unmount(b,x);return}ee&&Ot(u,null,f,"beforeUnmount"),F&64?u.type.remove(u,f,b,at,x):m&&!m.hasOnce&&(_!==G||P>0&&P&64)?xt(m,f,b,!1,!0):(_===G&&P&384||!w&&F&16)&&xt(k,f,b),x&&jt(u)}const ye=q!=null&&V==null;(te&&(ge=O&&O.onVnodeUnmounted)||ee||ye)&&He(()=>{ge&&et(ge,f,u),ee&&Ot(u,null,f,"unmounted"),ye&&(u.el=null)},b)},jt=u=>{const{type:f,el:b,anchor:x,transition:w}=u;if(f===G){_t(b,x);return}if(f===rs){D(u);return}const _=()=>{l(b),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(u.shapeFlag&1&&w&&!w.persisted){const{leave:O,delayLeave:C}=w,k=()=>O(b,_);C?C(u.el,_,k):k()}else _()},_t=(u,f)=>{let b;for(;u!==f;)b=R(u),l(u),u=b;l(f)},wt=(u,f,b)=>{const{bum:x,scope:w,job:_,subTree:O,um:C,m:k,a:m}=u;cl(k),cl(m),x&&Tn(x),w.stop(),_&&(_.flags|=8,$e(O,u,f,b)),C&&He(C,f),He(()=>{u.isUnmounted=!0},f)},xt=(u,f,b,x=!1,w=!1,_=0)=>{for(let O=_;O{if(u.shapeFlag&6)return $t(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const f=R(u.anchor||u.el),b=f&&f[Ho];return b?R(b):f};let Lt=!1;const Vt=(u,f,b)=>{let x;u==null?f._vnode&&($e(f._vnode,null,null,!0),x=f._vnode.component):L(f._vnode||null,u,f,null,null,null,b),f._vnode=u,Lt||(Lt=!0,el(x),ti(),Lt=!1)},at={p:L,um:$e,m:Be,r:jt,mt:Ue,mc:Me,pc:Q,pbc:Ie,n:$t,o:e};return{render:Vt,hydrate:void 0,createApp:ar(Vt)}}function os({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 Pt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Sr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Si(e,t,n=!1){const s=e.children,l=t.children;if(U(s)&&U(l))for(let i=0;i>1,e[n[r]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function ki(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ki(t)}function cl(e){if(e)for(let t=0;te.__isSuspense;function Er(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):No(e)}const G=Symbol.for("v-fgt"),zn=Symbol.for("v-txt"),mt=Symbol.for("v-cmt"),rs=Symbol.for("v-stc"),Nt=[];let We=null;function E(e=!1){Nt.push(We=e?null:[])}function Oi(){Nt.pop(),We=Nt[Nt.length-1]||null}let pn=1;function fl(e,t=!1){pn+=e,e<0&&We&&t&&(We.hasOnce=!0)}function Pi(e){return e.dynamicChildren=pn>0?We||Wt:null,Oi(),pn>0&&We&&We.push(e),e}function T(e,t,n,s,l,i){return Pi(h(e,t,n,s,l,i,!0))}function Tr(e,t,n,s,l){return Pi(ht(e,t,n,s,l,!0))}function Ai(e){return e?e.__v_isVNode===!0:!1}function Qt(e,t){return e.type===t.type&&e.key===t.key}const Ri=({key:e})=>e??null,Pn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?be(e)||Ae(e)||W(e)?{i:Je,r:e,k:t,f:!!n}:e:null);function h(e,t=null,n=null,s=0,l=null,i=e===G?0:1,o=!1,r=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ri(t),ref:t&&Pn(t),scopeId:si,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:i,patchFlag:s,dynamicProps:l,dynamicChildren:null,appContext:null,ctx:Je};return r?(Nn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=be(n)?8:16),pn>0&&!o&&We&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&We.push(c),c}const ht=Or;function Or(e,t=null,n=null,s=0,l=null,i=!1){if((!e||e===er)&&(e=mt),Ai(e)){const r=Yt(e,t,!0);return n&&Nn(r,n),pn>0&&!i&&We&&(r.shapeFlag&6?We[We.indexOf(e)]=r:We.push(r)),r.patchFlag=-2,r}if(Lr(e)&&(e=e.__vccOpts),t){t=Pr(t);let{class:r,style:c}=t;r&&!be(r)&&(t.class=xe(r)),oe(c)&&(Fs(c)&&!U(c)&&(c=Re({},c)),t.style=Es(c))}const o=be(e)?1:Ti(e)?128:Gn(e)?64:oe(e)?4:W(e)?2:0;return h(e,t,n,s,l,o,i,!0)}function Pr(e){return e?Fs(e)||mi(e)?Re({},e):e:null}function Yt(e,t,n=!1,s=!1){const{props:l,ref:i,patchFlag:o,children:r,transition:c}=e,g=t?Ar(l||{},t):l,v={__v_isVNode:!0,__v_skip:!0,type:e.type,props:g,key:g&&Ri(g),ref:t&&t.ref?n&&i?U(i)?i.concat(Pn(t)):[i,Pn(t)]:Pn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==G?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Yt(e.ssContent),ssFallback:e.ssFallback&&Yt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Ds(v,c.clone(v)),v}function Ge(e=" ",t=0){return ht(zn,null,e,t)}function Te(e="",t=!1){return t?(E(),Tr(mt,null,e)):ht(mt,null,e)}function lt(e){return e==null||typeof e=="boolean"?ht(mt):U(e)?ht(G,null,e.slice()):Ai(e)?ft(e):ht(zn,null,String(e))}function ft(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Yt(e)}function Nn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(s&65){const l=t.default;l&&(l._c&&(l._d=!1),Nn(e,l()),l._c&&(l._d=!0));return}else{n=32;const l=t._;!l&&!mi(t)?t._ctx=Je:l===3&&Je&&(Je.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(W(t)){if(s&65){Nn(e,{default:t});return}t={default:t,_ctx:Je},n=32}else t=String(t),s&64?(n=16,t=[Ge(t)]):n=8;e.children=t,e.shapeFlag|=n}function Ar(...e){const t={};for(let n=0;nje||Je;let Dn,hn;{const e=Wn(),t=(n,s)=>{let l;return(l=e[n])||(l=e[n]=[]),l.push(s),i=>{l.length>1?l.forEach(o=>o(i)):l[0](i)}};Dn=t("__VUE_INSTANCE_SETTERS__",n=>je=n),hn=t("__VUE_SSR_SETTERS__",n=>vn=n)}const yn=e=>{const t=je;return Dn(e),e.scope.on(),()=>{e.scope.off(),Dn(t)}},dl=()=>{je&&je.scope.off(),Dn(null)};function Mi(e){return e.vnode.shapeFlag&4}let vn=!1;function Nr(e,t=!1,n=!1){t&&hn(t);const{props:s,children:l}=e.vnode,i=Mi(e);gr(e,s,i,t),_r(e,l,n||t);const o=i?Dr(e,t):void 0;return t&&hn(!1),o}function Dr(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,tr);const{setup:s}=n;if(s){vt();const l=e.setupContext=s.length>1?$r(e):null,i=yn(e),o=mn(s,e,0,[e.props,l]),r=Pl(o);if(gt(),i(),(r||e.sp)&&!an(e)&&ri(e),r){if(o.then(dl,dl),t)return o.then(c=>{hn(!0);try{pl(e,c,t)}finally{hn(!1)}}).catch(c=>{qn(c,e,0)});e.asyncDep=o}else pl(e,o)}else Ii(e)}function pl(e,t,n){W(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:oe(t)&&(e.setupState=Xl(t)),Ii(e)}function Ii(e,t,n){const s=e.type;e.render||(e.render=s.render||ot);{const l=yn(e);vt();try{nr(e)}finally{gt(),l()}}}const jr={get(e,t){return Pe(e,"get",""),e[t]}};function $r(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,jr),slots:e.slots,emit:e.emit,expose:t}}function Xn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xl(ko(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in un)return un[n](e)},has(t,n){return n in t||n in un}})):e.proxy}function Lr(e){return W(e)&&"__vccOpts"in e}const tt=(e,t)=>Ao(e,t,vn),Vr="3.5.41";/**
+* @vue/runtime-dom v3.5.41
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let xs;const hl=typeof window<"u"&&window.trustedTypes;if(hl)try{xs=hl.createPolicy("vue",{createHTML:e=>e})}catch{}const Fi=xs?e=>xs.createHTML(e):e=>e,Hr="http://www.w3.org/2000/svg",Ur="http://www.w3.org/1998/Math/MathML",ct=typeof document<"u"?document:null,vl=ct&&ct.createElement("template"),Kr={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const l=t==="svg"?ct.createElementNS(Hr,e):t==="mathml"?ct.createElementNS(Ur,e):n?ct.createElement(e,{is:n}):ct.createElement(e);return e==="select"&&s&&s.multiple!=null&&l.setAttribute("multiple",s.multiple),l},createText:e=>ct.createTextNode(e),createComment:e=>ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,l,i){const o=n?n.previousSibling:t.lastChild;if(l&&(l===i||l.nextSibling))for(;t.insertBefore(l.cloneNode(!0),n),!(l===i||!(l=l.nextSibling)););else{vl.innerHTML=Fi(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const r=vl.content;if(s==="svg"||s==="mathml"){const c=r.firstChild;for(;c.firstChild;)r.appendChild(c.firstChild);r.removeChild(c)}t.insertBefore(r,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Wr=Symbol("_vtc");function Br(e,t,n){const s=e[Wr];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const gl=Symbol("_vod"),qr=Symbol("_vsh"),Gr=Symbol(""),Jr=/(?:^|;)\s*display\s*:/;function Yr(e,t,n){const s=e.style,l=be(n);let i=!1;if(n&&!l){if(t)if(be(t))for(const o of t.split(";")){const r=o.slice(0,o.indexOf(":")).trim();n[r]==null&&nn(s,r,"")}else for(const o in t)n[o]==null&&nn(s,o,"");for(const o in n){o==="display"&&(i=!0);const r=n[o];r!=null?Xr(e,o,!be(t)&&t?t[o]:void 0,r)||nn(s,o,r):nn(s,o,"")}}else if(l){if(t!==n){const o=s[Gr];o&&(n+=";"+o),s.cssText=n,i=Jr.test(n)}}else t&&e.removeAttribute("style");gl in e&&(e[gl]=i?s.display:"",e[qr]&&(s.display="none"))}const bl=/\s*!important$/;function nn(e,t,n){if(U(n))n.forEach(s=>nn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=zr(e,t);bl.test(n)?e.setProperty(kt(s),n.replace(bl,""),"important"):e[s]=n}}const ml=["Webkit","Moz","ms"],as={};function zr(e,t){const n=as[t];if(n)return n;let s=ze(t);if(s!=="filter"&&s in e)return as[t]=s;s=Ml(s);for(let l=0;lus||(sa.then(()=>us=0),us=Date.now());function ia(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const l=n.value;if(U(l)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=l.slice(),r=[s];for(let c=0;ce.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,oa=(e,t,n,s,l,i)=>{const o=l==="svg";t==="class"?Br(e,s,o):t==="style"?Yr(e,n,s):Ln(t)?Vn(t)||Qr(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ra(e,t,s,o))?(wl(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&_l(e,t,s,o,i,t!=="value")):e._isVueCE&&(aa(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!be(s)))?wl(e,ze(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),_l(e,t,s,o))};function ra(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Cl(t)&&W(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 l=e.tagName;if(l==="IMG"||l==="VIDEO"||l==="CANVAS"||l==="SOURCE")return!1}return Cl(t)&&be(n)?!1:t in e}function aa(e,t){const n=e._def.props;if(!n)return!1;const s=ze(t);return Array.isArray(n)?n.some(l=>ze(l)===s):Object.keys(n).some(l=>ze(l)===s)}const jn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return U(t)?n=>Tn(t,n):t};function ua(e){e.target.composing=!0}function Sl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Mt=Symbol("_assign"),En=Symbol("_initialValue");function cs(e,t,n){return t&&(e=e.trim()),n&&(e=Kn(e)),e}const en={created(e,{modifiers:{lazy:t,trim:n,number:s}},l){e.parentNode&&(e.type==="text"?e[En]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[En]=e.defaultValue.replace(/\r\n?/g,`
+`))),e[Mt]=jn(l);const i=s||l.props&&l.props.type==="number";Rt(e,t?"change":"input",o=>{o.target.composing||e[Mt](cs(e.value,n,i))}),(n||i)&&Rt(e,"change",()=>{e.value=cs(e.value,n,i)}),t||(Rt(e,"compositionstart",ua),Rt(e,"compositionend",Sl),Rt(e,"change",Sl))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const l=t??"",i=e[En];delete e[En],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[Mt](cs(e.value,n,s)):e.value=l},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:l,number:i}},o){if(e[Mt]=jn(o),e.composing)return;const r=(i||e.type==="number")&&!/^0\d/.test(e.value)?Kn(e.value):e.value,c=t??"";if(r===c)return;const g=e.getRootNode();(g instanceof Document||g instanceof ShadowRoot)&&g.activeElement===e&&e.type!=="range"&&(s&&t===n||l&&e.value.trim()===c)||(e.value=c)}},fs={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,Rt(e,"change",()=>{const l=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Kn($n(i)):$n(i));e[Mt](e.multiple?Hn(e._modelValue)?new Set(l):l:l[0]),e._assigning=!0,Ql(()=>{e._assigning=!1})}),e[Mt]=jn(s)},mounted(e,{value:t}){kl(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Mt]=jn(n)},updated(e,{value:t}){e._assigning||kl(e,t)}};function kl(e,t){const n=e.multiple,s=U(t);if(!(n&&!s&&!Hn(t))){for(let l=0,i=e.options.length;lString(g)===String(r)):o.selected=so(t,r)>-1}else o.selected=t.has(r);else if(bn($n(o),t)){e.selectedIndex!==l&&(e.selectedIndex=l);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function $n(e){return"_value"in e?e._value:e.value}const ca=["ctrl","shift","alt","meta"],fa={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)=>ca.some(n=>e[`${n}Key`]&&!t.includes(n))},El=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((l,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(l=>{if(!("key"in l))return;const i=kt(l.key);if(t.some(o=>o===i||da[o]===i))return e(l)}))},ha=Re({patchProp:oa},Kr);let Tl;function va(){return Tl||(Tl=xr(ha))}const ga=((...e)=>{const t=va().createApp(...e),{mount:n}=t;return t.mount=s=>{const l=ma(s);if(!l)return;const i=t._component;!W(i)&&!i.render&&!i.template&&(i.template=l.innerHTML),l.nodeType===1&&(l.textContent="");const o=n(l,!1,ba(l));return l instanceof Element&&(l.removeAttribute("v-cloak"),l.setAttribute("data-v-app","")),o},t});function ba(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ma(e){return be(e)?document.querySelector(e):e}const ya={key:0,class:"login-wrap"},_a={class:"login-card"},wa={class:"login-error"},xa={key:0,class:"tool-panel"},Ca={class:"tool-row"},Sa={class:"tool-row"},ka={class:"tool-note"},Ea={class:"tool-row"},Ta={class:"tool-links"},Oa={class:"tool-row"},Pa={class:"tool-links"},Aa={class:"tool-row"},Ra={class:"tool-links"},Ma={class:"tool-note"},Ia={key:1,class:"app"},Fa={class:"topbar"},Na={class:"topbar-left"},Da=["title","aria-expanded"],ja={class:"branch-tag"},$a={class:"topbar-right"},La=["value","disabled"],Va=["value"],Ha=["value","disabled"],Ua=["value"],Ka=["value"],Wa={class:"user-chip"},Ba={class:"sidebar","aria-label":"Módulos"},qa=["onClick"],Ga={class:"nav-group-body"},Ja=["onClick"],Ya={class:"nav-group-body"},za={class:"main"},Xa={class:"screen-head"},Za={class:"layout-tag"},Qa={class:"proc-list"},eu={class:"proc-sub"},tu=["onClick"],nu={class:"proc-out"},su={class:"screen-head"},lu={key:0,class:"toolbar"},iu=["value"],ou=["disabled"],ru=["disabled"],au={key:0,class:"notice"},uu={key:1,class:"list-filters"},cu=["value","onChange"],fu=["value"],du={key:2,class:"form-layout"},pu={class:"form-nav"},hu=["onClick"],vu={class:"form-main"},gu={class:"toolbar",style:{padding:"8px 12px"}},bu=["disabled"],mu={class:"rowcount"},yu={class:"form-tabs"},_u=["onClick"],wu={class:"form form-body"},xu=["checked","onChange"],Cu={key:1,class:"checklist"},Su=["checked","onChange"],ku=["onUpdate:modelValue"],Eu=["value"],Tu=["onUpdate:modelValue"],Ou=["value"],Pu=["value","onInput"],Au=["value","readonly","onInput"],Ru={key:3,class:"md-layout"},Mu={class:"md-master"},Iu={class:"md-head"},Fu={class:"toolbar"},Nu=["disabled"],Du=["disabled"],ju={class:"grid-wrap"},$u=["onClick","onDblclick"],Lu={class:"md-detail"},Vu={class:"md-head"},Hu={class:"toolbar"},Uu=["disabled"],Ku=["disabled"],Wu=["disabled"],Bu={class:"grid-wrap"},qu=["onClick","onDblclick"],Gu={class:"grid-wrap"},Ju=["onClick"],Yu={class:"sort-ind"},zu={key:0},Xu=["colspan"],Zu=["onClick","onDblclick"],Qu={class:"list-foot"},ec={class:"foot-left"},tc={class:"rowcount"},nc={class:"page-size"},sc=["value"],lc=["value"],ic={class:"foot-nav"},oc=["disabled"],rc=["disabled"],ac={class:"pg-info"},uc=["disabled"],cc=["disabled"],fc={key:5,class:"empty"},dc={key:2,class:"empty"},pc={class:"modal modal-form",role:"dialog","aria-modal":"true"},hc={class:"modal-head"},vc={key:0,class:"modal-nav"},gc=["disabled"],bc=["disabled"],mc={class:"pg-info"},yc=["disabled"],_c=["disabled"],wc={class:"form"},xc=["checked","onChange"],Cc=["onUpdate:modelValue"],Sc=["value"],kc=["type","value","readonly","onInput"],Ec={class:"modal-actions"},Tc={__name:"App",setup(e){const t={async req(d,a,A,$){const B={method:d,headers:{}};return A!==void 0&&(B.headers["Content-Type"]=$?"application/x-www-form-urlencoded":"application/json",B.body=$?A:JSON.stringify(A)),(await fetch(a,B)).json().catch(()=>({ok:!1,msg:"Respuesta no JSON"}))},login:(d,a,A)=>t.req("POST","/api/login",{user:d,password:a,workDate:A}),context:()=>t.req("GET","/api/context"),meta:d=>t.req("GET","/api/meta?key="+encodeURIComponent(d)),dataset:d=>t.req("GET","/api/dataset?key="+encodeURIComponent(d)),datasetPost:d=>t.req("POST","/api/dataset",d),processGet:()=>t.req("GET","/api/process"),processPost:d=>t.req("POST","/api/process",d),cmd:(d,a)=>t.req("POST","/api/cmd",new URLSearchParams({action:d,...a?{a1:a}:{}}).toString(),!0)};function n(d){d=d==="light"?"light":"dark",document.documentElement.setAttribute("data-theme",d),document.documentElement.classList.toggle("light",d==="light");try{localStorage.setItem("dw-theme",d)}catch{}}const s=()=>{const d=new Date;return d.getFullYear()+"-"+String(d.getMonth()+1).padStart(2,"0")+"-"+String(d.getDate()).padStart(2,"0")},l=!!(window.chrome&&window.chrome.webview),i=typeof window.SendToFWH=="function",o=l?i?"hibrida":"pc":"web",r=J((()=>{try{return localStorage.getItem("dw-theme")||"dark"}catch{return"dark"}})()),c=()=>{r.value=r.value==="dark"?"light":"dark",n(r.value)};n(r.value);const g=J("login"),v=J("admin"),y=J("1234"),R=J(s()),I=J(""),K=J(null),L=J([]),de=J(""),S=J(null),H=J([]),z=J(null),D=J(""),re=J(""),Se=J({}),me=J(null),Me=J("asc"),ke=J(1),Ie=J(25),Ce=J(-1),ae=J(null),X=J(null),Ue=J(""),Dt=J(""),we=J([]),Y=J(null),Q=J(0),Ee=J(!1),ce=J({}),Be=J(""),$e=J({}),jt=J(!1),_t=J((()=>{try{return localStorage.getItem("dw-sidebar")==="1"}catch{return!1}})()),wt=J((()=>{try{return JSON.parse(localStorage.getItem("dw-nav-sec")||"{}")}catch{return{}}})());function xt(){location.href="/dashboard.html"}function $t(){_t.value=!_t.value;try{localStorage.setItem("dw-sidebar",_t.value?"1":"0")}catch{}}function Lt(d){wt.value={...wt.value,[d]:!wt.value[d]};try{localStorage.setItem("dw-nav-sec",JSON.stringify(wt.value))}catch{}}const Vt=J((()=>{const d=location.hostname;return!d||d==="localhost"?"127.0.0.1":d})());location.pathname.split("/")[1];const at=tt(()=>"http://"+(Vt.value.trim()||location.hostname||"127.0.0.1")+":2222/portal/"),Vs=o==="pc"?"1 · PC (escritorio)":o==="hibrida"?"2 · WebView + HTTP":"3 · Web 100%",u=window,f=J(!1);function b(){navigator.clipboard.writeText(at.value).then(()=>{f.value=!0,setTimeout(()=>f.value=!1,1400)})}function x(d){var a;try{d=new URL(d,location.href).href}catch{}if(l&&((a=u.chrome)!=null&&a.webview)){try{u.chrome.webview.postMessage(JSON.stringify({cmd:"open",url:d}))}catch{}try{u.chrome.webview.postMessage("open:"+d)}catch{}}fetch("/api/open-browser",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"url="+encodeURIComponent(d),credentials:"same-origin"}).catch(()=>{}),l||u.open(d,"_blank","noopener")}function w(){x(at.value)}function _(){x("http://127.0.0.1:2222/portal/")}function O(d,a){d.preventDefault(),x(a)}const C=tt(()=>{var d,a;return((a=(d=S.value)==null?void 0:d.grid)==null?void 0:a.columns)||[]}),k=tt(()=>C.value.filter(d=>d.type==="select"&&Array.isArray(d.options)&&d.options.length)),m=tt(()=>{var $;const d=re.value.toLowerCase().trim(),a=(($=S.value)==null?void 0:$.searchFields)||C.value.map(B=>B.id);let A=H.value.filter(B=>{if(d&&!a.some(ie=>String(B[ie]??"").toLowerCase().includes(d)))return!1;for(const[ie,he]of Object.entries(Se.value))if(he!==""&&he!=null&&String(B[ie]??"")!==String(he))return!1;return!0});if(me.value){const B=C.value.find(he=>he.id===me.value)||{id:me.value},ie=Me.value==="desc"?-1:1;A=A.slice().sort((he,ve)=>{const qe=he[me.value],Ht=ve[me.value];if(_e(B)||B.type==="number"){const zt=Number(qe),Xt=Number(Ht);if(!Number.isNaN(zt)&&!Number.isNaN(Xt))return ie*(zt-Xt)}return B.type==="checkbox"?ie*((qe?1:0)-(Ht?1:0)):ie*String(qe??"").localeCompare(String(Ht??""),"es",{sensitivity:"base",numeric:!0})})}return A}),F=tt(()=>Math.max(1,Math.ceil(m.value.length/Ie.value)||1)),P=tt(()=>Math.min(ke.value,F.value)),N=tt(()=>{const d=(P.value-1)*Ie.value;return m.value.slice(d,d+Ie.value)});function V(d){me.value===d?Me.value=Me.value==="asc"?"desc":"asc":(me.value=d,Me.value="asc")}function q(d,a){if(a){X.value={isNew:!0,row:{}},Ce.value=-1;return}const A=le(S.value);Ce.value=m.value.findIndex($=>String($[A])===String(d[A])),X.value={isNew:!1,row:{...d}}}function ee(d){var A;if(!S.value||!m.value.length||(A=X.value)!=null&&A.isNew)return;let a=Ce.value;d==="first"?a=0:d==="prev"?a=Math.max(0,a-1):d==="next"?a=Math.min(m.value.length-1,a+1):d==="last"&&(a=m.value.length-1),Ce.value=a,X.value={isNew:!1,row:{...m.value[a]}}}ui(async()=>{const d=await t.context();d.ok&&(K.value=d,await te())});async function te(){var $;g.value="app";const d=await t.meta("modules");L.value=d.ok?d.doc.sections||[]:[];const a=await t.meta("app");a.ok&&a.doc.version&&(Dt.value=a.doc.version);const A=($=L.value.flatMap(B=>B.items||[]).find(B=>B.screen&&!B.sub))==null?void 0:$.screen;A&&Ke(A)}async function ge(){I.value="";const d=await t.login(v.value.trim(),y.value,R.value);if(!d.ok){I.value=d.msg||"Credenciales inválidas";return}K.value=await t.context(),await te()}function ye(d){var a;return!!(d&&(d.layout==="master-detail"||d.layout==="document")&&((a=d.detail)!=null&&a.dataRef))}function Le(d){return!!(d&&d.layout==="form"&&Array.isArray(d.fields)&&d.fields.length)}function Fe(d){var a,A;return!d||ye(d)||Le(d)?!1:!!(d.layout==="list"||d.dataRef&&((A=(a=d.grid)==null?void 0:a.columns)!=null&&A.length))}function Et(d){const a=d==null?void 0:d.toolbar;return Array.isArray(a)&&a.length?a.map(A=>typeof A=="string"?A:(A==null?void 0:A.id)||"").filter(Boolean):["add","edit","delete","refresh"]}function Ve(d,a){return Et(d).includes(a)}function le(d){var a,A,$;return(d==null?void 0:d.keyField)||(($=(A=(a=d==null?void 0:d.grid)==null?void 0:a.columns)==null?void 0:A[0])==null?void 0:$.id)||"code"}function _e(d){return(d==null?void 0:d.type)==="money"||(d==null?void 0:d.format)==="money"}async function _n(d){const a={...$e.value};for(const A of d||[])if(!(A.type!=="lookup"||!A.lookup||a[A.lookup]))try{const $=await t.meta(A.lookup);if(!$.ok)continue;const B=$.doc.valueField||"code",ie=$.doc.labelField||"name",he=await t.dataset($.doc.dataRef);a[A.lookup]=(he.ok?he.rows:[]).map(ve=>({value:ve[B],label:ve[ie]!=null?ve[ie]:ve[B]}))}catch{a[A.lookup]=[]}$e.value=a}async function Ke(d){var A;z.value=null,de.value=d,ae.value=null,Y.value=null,we.value=[],Ee.value=!1,Q.value=0;const a=await t.meta(d);if(!a.ok){S.value=null;return}if(S.value=a.doc,re.value="",Se.value={},me.value=null,Me.value="asc",ke.value=1,ye(a.doc)){const $=await t.dataset(a.doc.dataRef),B=$.ok?$.rows:[];H.value=B,ae.value=B[0]||null;const ie=await t.dataset(a.doc.detail.dataRef);we.value=ie.ok?ie.rows:[]}else if(Le(a.doc)){const $=await t.dataset(a.doc.dataRef),B=$.ok?$.rows:[];H.value=B,ce.value=B[0]?{...B[0]}:{},Be.value=a.doc.tabs&&((A=a.doc.tabs[0])==null?void 0:A.id)||"all",await _n(a.doc.fields)}else if(Fe(a.doc)&&a.doc.dataRef){const $=await t.dataset(a.doc.dataRef);H.value=$.ok?$.rows:[]}else H.value=[]}async function Ni(){var B;const d=S.value,a=le(d),A=Ee.value?{key:d.dataRef,action:"add",row:ce.value}:{key:d.dataRef,action:"update",keyField:a,keyValue:String((B=H.value[Q.value])==null?void 0:B[a]),row:ce.value},$=await t.datasetPost(A);Ue.value=$.ok?"Guardado":$.msg||"Error",$.ok&&Ke(d.id)}async function Di(){if(Ee.value)return;const d=S.value,a=le(d),A=H.value[Q.value];if(!A||!confirm("¿Eliminar "+A[a]+"?"))return;const $=await t.datasetPost({key:d.dataRef,action:"delete",keyField:a,keyValue:String(A[a])});Ue.value=$.ok?"Eliminado":$.msg||"Error",$.ok&&Ke(d.id)}const ji=tt(()=>{const d=S.value;if(!(d!=null&&d.fields))return[];const a=(d.tabs||[]).find(A=>A.id===Be.value)||{fields:d.fields.map(A=>A.id)};return d.fields.filter(A=>(a.fields||[]).includes(A.id))}),$i=tt(()=>{const d=S.value;if(!(d!=null&&d.detail)||!ae.value)return[];const a=d.detail.masterKey||le(d);return we.value.filter(A=>String(A[a])===String(ae.value[le(d)]))});async function Li(){S.value=null,de.value="__procs";const d=await t.processGet();z.value=d.ok?d:{items:[],handlers:[]},D.value=""}async function Vi(d){D.value="Ejecutando "+d.key+"…";const a=await t.processPost({key:d.key,params:{}});D.value=JSON.stringify(a,null,2)}async function Hs(d,a){const A=await t.cmd(d,a);A.ok?(K.value=await t.context(),await te()):Ue.value=A.msg||"No autorizado"}function Hi(d){t.cmd("workdate",d)}async function Ui(){const{isNew:d,row:a,scope:A}=X.value,$=S.value,B=A==="detail"?$.detail.dataRef:$.dataRef,ie=A==="detail"?$.detail.keyField||"code":le($),he=d?{key:B,action:"add",row:a}:{key:B,action:"update",keyField:ie,keyValue:String(a[ie]),row:a},ve=await t.datasetPost(he);Ue.value=ve.ok?"Guardado":ve.msg||"Error",ve.ok&&(X.value=null,Ke($.id))}async function Us(){if(!ae.value)return;const d=le(S.value);if(!confirm("¿Eliminar "+ae.value[d]+"?"))return;const a=await t.datasetPost({key:S.value.dataRef,action:"delete",keyField:d,keyValue:String(ae.value[d])});Ue.value=a.ok?"Eliminado":a.msg||"Error",a.ok&&Ke(S.value.id)}async function Ki(){var A;if(!Y.value||!((A=S.value)!=null&&A.detail))return;const d=S.value.detail.keyField||"code";if(!confirm("¿Eliminar "+Y.value[d]+"?"))return;const a=await t.datasetPost({key:S.value.detail.dataRef,action:"delete",keyField:d,keyValue:String(Y.value[d])});Ue.value=a.ok?"Eliminado":a.msg||"Error",a.ok&&Ke(S.value.id)}function Wi(){var he;const d=S.value;if(!d)return;const a=((he=d.grid)==null?void 0:he.columns)||[],A=ve=>{const qe=ve==null?"":String(ve);return/[",\n\r]/.test(qe)?'"'+qe.replace(/"/g,'""')+'"':qe},$=[a.map(ve=>A(ve.label||ve.id)).join(",")];m.value.forEach(ve=>$.push(a.map(qe=>A(ve[qe.id])).join(",")));const B=new Blob(["\uFEFF"+$.join(`\r
+`)],{type:"text/csv;charset=utf-8;"}),ie=document.createElement("a");ie.href=URL.createObjectURL(B),ie.download=String(d.title||d.id).replace(/[^A-Za-z0-9_\-]+/g,"_")+".csv",ie.click(),URL.revokeObjectURL(ie.href),Ue.value="Excel/CSV exportado ("+m.value.length+" filas)"}function Ks(){var ie;const d=S.value;if(!d)return;const a=((ie=d.grid)==null?void 0:ie.columns)||[],A=window.open("","_blank");if(!A){window.print();return}const $=a.map(he=>""+(he.label||he.id)+"").join(""),B=m.value.map(he=>""+a.map(ve=>""+wn(he[ve.id],ve)+"").join("")+"").join("");A.document.write(""+(d.title||"")+"

"+(d.title||"")+"

"+$+""+B+"
"),A.document.close(),setTimeout(()=>{try{A.print()}catch{}},250)}async function Bi(){await t.cmd("logout"),K.value=null,S.value=null,L.value=[],g.value="login"}function wn(d,a){return _e(a)&&d!=null&&d!==""?Number(d).toLocaleString("es",{minimumFractionDigits:2}):a.type==="checkbox"?d?"✔":"":d==null?"":String(d)}return(d,a)=>{var A,$,B,ie,he,ve,qe,Ht,zt,Xt,Ws,Bs,qs,Gs,Js,Ys;return g.value==="login"?(E(),T("div",ya,[h("button",{class:"theme-fab",onClick:c},j(r.value==="dark"?"Dark":"Light"),1),h("div",_a,[a[53]||(a[53]=h("div",{class:"login-brand"},"FiveTech ERP",-1)),a[54]||(a[54]=h("div",{class:"login-sub"},"Rama 100% web · frontend Vue",-1)),h("form",{onSubmit:El(ge,["prevent"])},[a[39]||(a[39]=h("label",null,"Usuario",-1)),Ct(h("input",{"onUpdate:modelValue":a[0]||(a[0]=p=>v.value=p)},null,512),[[en,v.value]]),a[40]||(a[40]=h("label",null,"Clave",-1)),Ct(h("input",{type:"password","onUpdate:modelValue":a[1]||(a[1]=p=>y.value=p)},null,512),[[en,y.value]]),a[41]||(a[41]=h("label",null,"Fecha de trabajo",-1)),Ct(h("input",{type:"date","onUpdate:modelValue":a[2]||(a[2]=p=>R.value=p)},null,512),[[en,R.value]]),a[42]||(a[42]=h("button",{type:"submit"},"Entrar",-1)),h("div",wa,j(I.value),1)],32),h("button",{type:"button",class:"tool-toggle",onClick:a[3]||(a[3]=p=>jt.value=!jt.value)},"Opciones de vista (ayuda)"),jt.value?(E(),T("div",xa,[h("div",Ca,[a[43]||(a[43]=h("span",null,"Ahora está en:",-1)),a[44]||(a[44]=Ge()),h("b",null,j(bs(Vs)),1)]),h("div",Sa,[a[46]||(a[46]=h("span",null,[h("b",null,"1 · Login directo — versión PC")],-1)),h("div",ka,[a[45]||(a[45]=Ge("Aplicación de este equipo. Login clásico: ",-1)),h("a",{href:"/login",onClick:a[4]||(a[4]=p=>O(p,"/login"))},"/login")])]),h("div",Ea,[a[47]||(a[47]=h("span",null,[h("b",null,"2 · WebView + HTTP")],-1)),a[48]||(a[48]=h("div",{class:"tool-note"},"App de escritorio + navegador (como Edge con localhost:2222/portal).",-1)),h("nav",Ta,[h("a",{href:"/portal/",onClick:El(_,["prevent"])},"Abrir portal en el navegador")])]),h("div",Oa,[a[49]||(a[49]=h("span",null,[h("b",null,"3 · Web 100%"),Ge(" — elija la vista (mismos datos)")],-1)),h("nav",Pa,[h("a",{href:"/web-vanilla/index.html",onClick:a[5]||(a[5]=p=>O(p,"/web-vanilla/index.html"))},"Vanilla"),h("a",{href:"/web-angular/index.html",onClick:a[6]||(a[6]=p=>O(p,"/web-angular/index.html"))},"Angular"),h("a",{href:"/web-react/index.html",onClick:a[7]||(a[7]=p=>O(p,"/web-react/index.html"))},"React"),h("a",{href:"/web-vue/index.html",onClick:a[8]||(a[8]=p=>O(p,"/web-vue/index.html"))},"Vue"),h("a",{href:"/portal/",onClick:a[9]||(a[9]=p=>O(p,"/portal/"))},"Menú…")])]),h("div",Aa,[a[50]||(a[50]=h("span",null,[h("b",null,"Acceso por la red")],-1)),a[51]||(a[51]=h("div",{class:"tool-note"},[h("b",null,"Intranet:"),Ge(" en otro PC/celular de la oficina use la dirección de abajo.")],-1)),h("nav",Ra,[Ct(h("input",{class:"tool-ip","onUpdate:modelValue":a[10]||(a[10]=p=>Vt.value=p),placeholder:"ej. 192.168.1.20"},null,512),[[en,Vt.value]]),h("button",{type:"button",class:"btn",onClick:w},"Probar"),h("button",{type:"button",class:"btn",onClick:b},j(f.value?"¡Copiado!":"Copiar enlace"),1)]),h("div",Ma,"Enlace: "+j(at.value),1),a[52]||(a[52]=h("div",{class:"tool-note"},[h("b",null,"Remoto (internet):"),Ge(" solo si sistemas habilitó acceso seguro (VPN o túnel).")],-1))])])):Te("",!0)])])):(E(),T("div",Ia,[h("header",Fa,[h("div",Na,[h("button",{type:"button",class:"btn-icon-bar",title:_t.value?"Mostrar menú":"Ocultar menú","aria-expanded":!_t.value,onClick:$t},"☰",8,Da),a[55]||(a[55]=h("span",{class:"brand"},"FiveTech ERP",-1)),h("span",ja,"rama "+j(bs(o))+" · vue"+j(Dt.value?" · v"+Dt.value:""),1),h("button",{type:"button",class:"btn-ghost btn-dash",title:"Ir al dashboard FWH",onClick:xt},"Dashboard")]),h("div",$a,[h("select",{value:(A=K.value)==null?void 0:A.company,disabled:(($=K.value)==null?void 0:$.canSwitchCompany)===!1,onChange:a[11]||(a[11]=p=>Hs("company",p.target.value))},[(E(!0),T(G,null,pe(((B=K.value)==null?void 0:B.companies)||[],p=>(E(),T("option",{key:p.code,value:p.code},j(p.name||p.code),9,Va))),128))],40,La),h("select",{value:(ie=K.value)==null?void 0:ie.app,disabled:((he=K.value)==null?void 0:he.canSwitchApp)===!1,onChange:a[12]||(a[12]=p=>Hs("app",p.target.value))},[(E(!0),T(G,null,pe(((ve=K.value)==null?void 0:ve.apps)||[],p=>(E(),T("option",{key:p.id,value:p.id},j(p.label||p.id),9,Ua))),128))],40,Ha),h("input",{type:"date",value:R.value,onChange:a[13]||(a[13]=p=>{R.value=p.target.value,Hi(R.value)})},null,40,Ka),h("span",Wa,j((qe=K.value)==null?void 0:qe.company)+" · "+j(((Ht=K.value)==null?void 0:Ht.appLabel)||((zt=K.value)==null?void 0:zt.app))+" · "+j((Xt=K.value)!=null&&Xt.isAdmin?"admin":"usuario"),1),h("button",{class:"btn-ghost",onClick:c},j(r.value==="dark"?"Dark":"Light"),1),h("button",{class:"btn-ghost",onClick:Bi},"Salir")])]),h("div",{class:xe(["body",{"sidebar-collapsed":_t.value}])},[h("nav",Ba,[h("div",{class:"nav-pin"},[h("button",{type:"button",class:"nav-item dash",onClick:xt},"⊞ Dashboard")]),(E(!0),T(G,null,pe(L.value,p=>(E(),T("div",{key:p.id||p.title,class:xe(["nav-group",{collapsed:wt.value[p.id||p.title]}])},[h("button",{type:"button",class:"nav-section",onClick:M=>Lt(p.id||p.title)},[h("span",null,j(p.title),1),a[56]||(a[56]=h("span",{class:"chev"},"▼",-1))],8,qa),h("div",Ga,[(E(!0),T(G,null,pe((p.items||[]).filter(M=>M.screen),M=>(E(),T("button",{key:M.id,type:"button",class:xe(["nav-item",{sub:M.sub,active:de.value===M.screen}]),onClick:Z=>Ke(M.screen)},j(M.label),11,Ja))),128))])],2))),128)),h("div",{class:xe(["nav-group",{collapsed:wt.value.__tools}])},[h("button",{type:"button",class:"nav-section",onClick:a[14]||(a[14]=p=>Lt("__tools"))},[...a[57]||(a[57]=[h("span",null,"Herramientas",-1),h("span",{class:"chev"},"▼",-1)])]),h("div",Ya,[h("button",{type:"button",class:xe(["nav-item",{active:de.value==="__procs"}]),onClick:Li},"Procesos",2)])],2)]),h("main",za,[z.value?(E(),T(G,{key:0},[h("div",Xa,[a[58]||(a[58]=h("h2",null,"Procesos",-1)),h("span",Za,"handlers: "+j((z.value.handlers||[]).length),1)]),h("div",Qa,[(E(!0),T(G,null,pe(z.value.items||[],p=>(E(),T("div",{key:p.key,class:"proc-row"},[h("div",null,[h("b",null,j(p.title||p.key),1),h("div",eu,j(p.key)+" · handler: "+j(p.handler||"—"),1)]),h("button",{class:"btn",onClick:M=>Vi(p)},"Ejecutar",8,tu)]))),128))]),h("pre",nu,j(D.value),1)],64)):S.value?(E(),T(G,{key:1},[h("div",su,[h("h2",null,j(S.value.title),1),Fe(S.value)?(E(),T("div",lu,[h("input",{class:"search",placeholder:"Buscar…",value:re.value,onInput:a[15]||(a[15]=p=>{re.value=p.target.value,ke.value=1})},null,40,iu),Ve(S.value,"add")?(E(),T("button",{key:0,class:"btn primary",onClick:a[16]||(a[16]=p=>q(null,!0))},"+ Nuevo")):Te("",!0),Ve(S.value,"edit")?(E(),T("button",{key:1,class:"btn",disabled:!ae.value,onClick:a[17]||(a[17]=p=>ae.value&&q(ae.value,!1))},"Editar",8,ou)):Te("",!0),Ve(S.value,"delete")?(E(),T("button",{key:2,class:"btn danger",disabled:!ae.value,onClick:Us},"Eliminar",8,ru)):Te("",!0),Ve(S.value,"print")?(E(),T("button",{key:3,class:"btn",onClick:Ks},"Imprimir")):Te("",!0),Ve(S.value,"pdf")?(E(),T("button",{key:4,class:"btn",onClick:Ks},"PDF")):Te("",!0),Ve(S.value,"excel")?(E(),T("button",{key:5,class:"btn",onClick:Wi},"Excel")):Te("",!0),Ve(S.value,"refresh")?(E(),T("button",{key:6,class:"btn",onClick:a[18]||(a[18]=p=>Ke(S.value.id))},"Refrescar")):Te("",!0)])):Te("",!0)]),Ue.value?(E(),T("div",au,j(Ue.value),1)):Te("",!0),Fe(S.value)&&k.value.length?(E(),T("div",uu,[(E(!0),T(G,null,pe(k.value,p=>(E(),T("label",{key:p.id,class:"filter-chip"},[Ge(j(p.label)+" ",1),h("select",{value:Se.value[p.id]||"",onChange:M=>{Se.value={...Se.value,[p.id]:M.target.value},ke.value=1}},[a[59]||(a[59]=h("option",{value:""},"(todos)",-1)),(E(!0),T(G,null,pe(p.options||[],M=>(E(),T("option",{key:M,value:M},j(M),9,fu))),128))],40,cu)]))),128)),h("button",{type:"button",class:"btn",onClick:a[19]||(a[19]=p=>{Se.value={},re.value="",ke.value=1})},"Limpiar filtros")])):Te("",!0),Le(S.value)?(E(),T("div",du,[h("aside",pu,[a[60]||(a[60]=h("div",{class:"form-nav-title"},"Registros",-1)),(E(!0),T(G,null,pe(H.value,(p,M)=>(E(),T("button",{key:M,type:"button",class:xe(["form-nav-item",{active:M===Q.value&&!Ee.value}]),onClick:Z=>{Ee.value=!1,Q.value=M,ce.value={...p}}},j((p[le(S.value)]??"")+(p.name?" · "+p.name:"")),11,hu))),128))]),h("div",vu,[h("div",gu,[Ve(S.value,"add")?(E(),T("button",{key:0,class:"btn primary",onClick:a[20]||(a[20]=p=>{Ee.value=!0,ce.value={}})},"+ Nuevo")):Te("",!0),h("button",{class:"btn primary",onClick:Ni},"Guardar"),Ve(S.value,"delete")?(E(),T("button",{key:1,class:"btn danger",disabled:Ee.value,onClick:Di},"Eliminar",8,bu)):Te("",!0),Ve(S.value,"refresh")?(E(),T("button",{key:2,class:"btn",onClick:a[21]||(a[21]=p=>Ke(S.value.id))},"Refrescar")):Te("",!0),h("span",mu,j(Ee.value?"Nuevo":(H.value.length?Q.value+1:0)+" / "+H.value.length),1)]),h("div",yu,[(E(!0),T(G,null,pe(S.value.tabs||[{id:"all",label:"Datos",fields:(S.value.fields||[]).map(p=>p.id)}],p=>(E(),T("button",{key:p.id,type:"button",class:xe(["form-tab",{active:Be.value===p.id}]),onClick:M=>Be.value=p.id},j(p.label||p.id),11,_u))),128))]),h("div",wu,[(E(!0),T(G,null,pe(ji.value,p=>(E(),T("div",{key:p.id,class:xe(["field",{chk:p.type==="checkbox"}])},[h("label",null,j(p.label)+j(p.required?" *":""),1),p.type==="checkbox"?(E(),T("input",{key:0,type:"checkbox",checked:!!ce.value[p.id],onChange:M=>ce.value[p.id]=M.target.checked},null,40,xu)):p.type==="checklist"?(E(),T("div",Cu,[(E(!0),T(G,null,pe(p.options||[],M=>(E(),T("label",{key:M,class:"chk-item"},[h("input",{type:"checkbox",checked:(Array.isArray(ce.value[p.id])?ce.value[p.id]:[]).includes(M),onChange:Z=>ce.value[p.id]=Z.target.checked?[...Array.isArray(ce.value[p.id])?ce.value[p.id]:[],M]:(ce.value[p.id]||[]).filter(xn=>xn!==M)},null,40,Su),Ge(" "+j(M),1)]))),128))])):p.type==="select"?Ct((E(),T("select",{key:2,"onUpdate:modelValue":M=>ce.value[p.id]=M},[a[61]||(a[61]=h("option",{value:""},null,-1)),(E(!0),T(G,null,pe(p.options||[],M=>(E(),T("option",{key:M,value:M},j(M),9,Eu))),128))],8,ku)),[[fs,ce.value[p.id]]]):p.type==="lookup"?Ct((E(),T("select",{key:3,"onUpdate:modelValue":M=>ce.value[p.id]=M},[a[62]||(a[62]=h("option",{value:""},null,-1)),(E(!0),T(G,null,pe($e.value[p.lookup]||[],M=>(E(),T("option",{key:M.value,value:M.value},j(M.label)+" ("+j(M.value)+")",9,Ou))),128))],8,Tu)),[[fs,ce.value[p.id]]]):_e(p)?(E(),T("input",{key:4,type:"number",step:"0.01",value:ce.value[p.id]??"",onInput:M=>ce.value[p.id]=M.target.value===""?null:Number(M.target.value)},null,40,Pu)):(E(),T("input",{key:5,value:ce.value[p.id]??"",readonly:!Ee.value&&le(S.value)===p.id,onInput:M=>ce.value[p.id]=M.target.value},null,40,Au))],2))),128))])])])):ye(S.value)?(E(),T("div",Ru,[h("section",Mu,[h("div",Iu,[a[63]||(a[63]=h("b",null,"Maestro",-1)),h("div",Fu,[h("button",{class:"btn primary",onClick:a[22]||(a[22]=p=>X.value={isNew:!0,row:{},scope:"master"})},"+ Nuevo"),h("button",{class:"btn",disabled:!ae.value,onClick:a[23]||(a[23]=p=>ae.value&&(X.value={isNew:!1,row:{...ae.value},scope:"master"}))},"Editar",8,Nu),h("button",{class:"btn danger",disabled:!ae.value,onClick:Us},"Eliminar",8,Du),h("button",{class:"btn",onClick:a[24]||(a[24]=p=>Ke(S.value.id))},"Refrescar"),Ct(h("input",{class:"search",placeholder:"Buscar…","onUpdate:modelValue":a[25]||(a[25]=p=>re.value=p)},null,512),[[en,re.value]])])]),h("div",ju,[h("table",null,[h("thead",null,[h("tr",null,[(E(!0),T(G,null,pe(C.value,p=>(E(),T("th",{key:p.id},j(p.label),1))),128))])]),h("tbody",null,[(E(!0),T(G,null,pe(m.value,(p,M)=>(E(),T("tr",{key:M,class:xe({sel:ae.value===p}),onClick:Z=>{ae.value=p,Y.value=null},onDblclick:Z=>X.value={isNew:!1,row:{...p},scope:"master"}},[(E(!0),T(G,null,pe(C.value,Z=>(E(),T("td",{key:Z.id,class:xe({right:Z.align==="right"||_e(Z)})},j(wn(p[Z.id],Z)),3))),128))],42,$u))),128))])])])]),h("section",Lu,[h("div",Vu,[h("b",null,j(((Ws=S.value.detail)==null?void 0:Ws.title)||"Detalle"),1),h("div",Hu,[h("button",{class:"btn primary",disabled:!ae.value,onClick:a[26]||(a[26]=p=>{var M;return X.value={isNew:!0,row:{[((M=S.value.detail)==null?void 0:M.masterKey)||le(S.value)]:ae.value[le(S.value)]},scope:"detail"}})},"+ Línea",8,Uu),h("button",{class:"btn",disabled:!Y.value,onClick:a[27]||(a[27]=p=>Y.value&&(X.value={isNew:!1,row:{...Y.value},scope:"detail"}))},"Editar",8,Ku),h("button",{class:"btn danger",disabled:!Y.value,onClick:Ki},"Eliminar",8,Wu)])]),h("div",Bu,[h("table",null,[h("thead",null,[h("tr",null,[(E(!0),T(G,null,pe(((qs=(Bs=S.value.detail)==null?void 0:Bs.grid)==null?void 0:qs.columns)||[],p=>(E(),T("th",{key:p.id},j(p.label),1))),128))])]),h("tbody",null,[(E(!0),T(G,null,pe($i.value,(p,M)=>{var Z,xn;return E(),T("tr",{key:M,class:xe({sel:Y.value===p}),onClick:Tt=>Y.value=p,onDblclick:Tt=>X.value={isNew:!1,row:{...p},scope:"detail"}},[(E(!0),T(G,null,pe(((xn=(Z=S.value.detail)==null?void 0:Z.grid)==null?void 0:xn.columns)||[],Tt=>(E(),T("td",{key:Tt.id,class:xe({right:Tt.align==="right"||_e(Tt)})},j(wn(p[Tt.id],Tt)),3))),128))],42,qu)}),128))])])])])])):Fe(S.value)?(E(),T(G,{key:4},[h("div",Gu,[h("table",null,[h("thead",null,[h("tr",null,[(E(!0),T(G,null,pe(C.value,p=>(E(),T("th",{key:p.id,class:xe(["sortable",{right:p.align==="right"||_e(p),sorted:me.value===p.id}]),title:"Clic para ordenar",onClick:M=>V(p.id)},[Ge(j(p.label)+" ",1),h("span",Yu,j(me.value===p.id?Me.value==="asc"?"▲":"▼":""),1)],10,Ju))),128))])]),h("tbody",null,[N.value.length?Te("",!0):(E(),T("tr",zu,[h("td",{colspan:Math.max(C.value.length,1),class:"empty-cell"},"Sin registros con los filtros actuales",8,Xu)])),(E(!0),T(G,null,pe(N.value,(p,M)=>(E(),T("tr",{key:M,class:xe({sel:ae.value&&String(ae.value[le(S.value)])===String(p[le(S.value)])}),onClick:Z=>ae.value=p,onDblclick:Z=>Ve(S.value,"edit")&&q(p,!1)},[(E(!0),T(G,null,pe(C.value,Z=>(E(),T("td",{key:Z.id,class:xe({right:Z.align==="right"||_e(Z)})},j(wn(p[Z.id],Z)),3))),128))],42,Zu))),128))])])]),h("div",Qu,[h("div",ec,[h("span",tc,j(m.value.length?(P.value-1)*Ie.value+1+"–"+Math.min(P.value*Ie.value,m.value.length)+" de "+m.value.length+(m.value.length!==H.value.length?" (total "+H.value.length+")":"")+" filas":"0 / "+H.value.length+" filas"),1),h("label",nc,[a[64]||(a[64]=Ge("Filas ",-1)),h("select",{value:Ie.value,onChange:a[28]||(a[28]=p=>{Ie.value=Number(p.target.value)||25,ke.value=1})},[(E(),T(G,null,pe([10,25,50,100],p=>h("option",{key:p,value:p},j(p),9,lc)),64))],40,sc)])]),h("div",ic,[h("button",{type:"button",class:"btn btn-icon",disabled:P.value<=1,onClick:a[29]||(a[29]=p=>ke.value=1)},"«",8,oc),h("button",{type:"button",class:"btn btn-icon",disabled:P.value<=1,onClick:a[30]||(a[30]=p=>ke.value=Math.max(1,ke.value-1))},"‹",8,rc),h("span",ac,"Pág. "+j(P.value)+" / "+j(F.value),1),h("button",{type:"button",class:"btn btn-icon",disabled:P.value>=F.value,onClick:a[31]||(a[31]=p=>ke.value=ke.value+1)},"›",8,uc),h("button",{type:"button",class:"btn btn-icon",disabled:P.value>=F.value,onClick:a[32]||(a[32]=p=>ke.value=F.value)},"»",8,cc)])])],64)):(E(),T("div",fc,[a[65]||(a[65]=Ge("Layout ",-1)),h("b",null,j(S.value.layout||"especial"),1),a[66]||(a[66]=Ge(" — lista, form y master-detail cubiertos; resto en shell HTTP. Ver PROPUESTA/SUSTENTO.",-1))]))],64)):(E(),T("div",dc,"Selecciona un módulo."))])],2),X.value&&S.value?(E(),T("div",{key:0,class:"overlay",onKeydown:a[38]||(a[38]=pa(p=>X.value=null,["esc"]))},[h("div",pc,[h("div",hc,[h("h3",null,j(X.value.isNew?"Nuevo registro":"Editar "+X.value.row[X.value.scope==="detail"?((Gs=S.value.detail)==null?void 0:Gs.keyField)||"code":le(S.value)]),1),!X.value.isNew&&!X.value.scope&&m.value.length?(E(),T("div",vc,[h("button",{type:"button",class:"btn btn-icon",disabled:Ce.value<=0,onClick:a[33]||(a[33]=p=>ee("first"))},"«",8,gc),h("button",{type:"button",class:"btn btn-icon",disabled:Ce.value<=0,onClick:a[34]||(a[34]=p=>ee("prev"))},"‹",8,bc),h("span",mc,j(Ce.value>=0?Ce.value+1+" / "+m.value.length:"—"),1),h("button",{type:"button",class:"btn btn-icon",disabled:Ce.value<0||Ce.value>=m.value.length-1,onClick:a[35]||(a[35]=p=>ee("next"))},"›",8,yc),h("button",{type:"button",class:"btn btn-icon",disabled:Ce.value<0||Ce.value>=m.value.length-1,onClick:a[36]||(a[36]=p=>ee("last"))},"»",8,_c)])):Te("",!0)]),h("div",wc,[(E(!0),T(G,null,pe(X.value.scope==="detail"?((Ys=(Js=S.value.detail)==null?void 0:Js.grid)==null?void 0:Ys.columns)||[]:C.value,p=>{var M;return E(),T("div",{key:p.id,class:xe(["field",{chk:p.type==="checkbox"}])},[h("label",null,j(p.label),1),p.type==="checkbox"?(E(),T("input",{key:0,type:"checkbox",checked:!!X.value.row[p.id],onChange:Z=>X.value.row[p.id]=Z.target.checked},null,40,xc)):p.type==="select"?Ct((E(),T("select",{key:1,"onUpdate:modelValue":Z=>X.value.row[p.id]=Z},[(E(!0),T(G,null,pe(p.options||[],Z=>(E(),T("option",{key:Z,value:Z},j(Z),9,Sc))),128))],8,Cc)),[[fs,X.value.row[p.id]]]):(E(),T("input",{key:2,type:_e(p)?"number":"text",step:"0.01",value:X.value.row[p.id]??"",readonly:!X.value.isNew&&(X.value.scope==="detail"?((M=S.value.detail)==null?void 0:M.keyField)||"code":le(S.value))===p.id,onInput:Z=>X.value.row[p.id]=_e(p)?Z.target.value===""?null:Number(Z.target.value):Z.target.value},null,40,kc))],2)}),128))]),h("div",Ec,[h("button",{class:"btn",onClick:a[37]||(a[37]=p=>X.value=null)},"Cancelar"),h("button",{class:"btn primary",onClick:Ui},"Guardar")])])],32)):Te("",!0)]))}}};ga(Tc).mount("#app"); diff --git a/samples/projects/FiveTech_ERP/www/web-vue/assets/index-CbJPQUbz.css b/samples/projects/FiveTech_ERP/www/web-vue/assets/index-CbJPQUbz.css new file mode 100644 index 0000000..1418f36 --- /dev/null +++ b/samples/projects/FiveTech_ERP/www/web-vue/assets/index-CbJPQUbz.css @@ -0,0 +1 @@ +:root{--bg: #0e1116;--bg2: #161b23;--bg3: #1e2530;--line: #2a3342;--txt: #e6ebf2;--txt2: #8b98ab;--acc: #3b82f6;--acc2: #2563eb;--ok: #22c55e;--danger: #ef4444}[data-theme=light]{--bg: #f1f5f9;--bg2: #ffffff;--bg3: #e2e8f0;--line: #cbd5e1;--txt: #0f172a;--txt2: #64748b;--acc: #2563eb;--acc2: #1d4ed8}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--txt);font:14px/1.45 Segoe UI,system-ui,sans-serif}.hidden{display:none!important}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 600px at 50% -10%,#16233b 0%,var(--bg) 60%)}.login-card{width:340px;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 20px 60px #00000073}.login-brand{font-size:22px;font-weight:600}.login-sub{color:var(--txt2);font-size:12px;margin:4px 0 20px}.login-card label{display:block;color:var(--txt2);font-size:12px;margin:12px 0 4px}.login-card input{width:100%;background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:9px 11px;outline:none}.login-card input:focus{border-color:var(--acc)}.login-card button{width:100%;margin-top:18px;background:var(--acc);border:0;color:#fff;padding:10px;border-radius:8px;font-size:14px;cursor:pointer}.login-card button:hover{background:var(--acc2)}.login-card button:disabled{opacity:.6;cursor:wait}.login-error{color:var(--danger);font-size:12px;margin-top:10px;min-height:14px}.app{display:flex;flex-direction:column;height:100vh}.topbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--bg2);border-bottom:1px solid var(--line)}.topbar-left{display:flex;align-items:center;gap:10px}.brand{font-weight:600;font-size:15px}.branch-tag{font-size:11px;color:var(--acc);border:1px solid var(--acc2);border-radius:999px;padding:2px 9px}.topbar-right{display:flex;align-items:center;gap:8px}.topbar select{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:7px;padding:5px 8px}.user-chip{color:var(--txt2);font-size:12px;margin-left:6px}.btn-ghost{background:none;border:1px solid var(--line);color:var(--txt);border-radius:7px;padding:5px 12px;cursor:pointer}.btn-ghost:hover{border-color:var(--danger);color:var(--danger)}.body{flex:1;display:flex;min-height:0}.btn-icon-bar{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:8px;width:36px;height:34px;cursor:pointer;font-size:16px;line-height:1;flex-shrink:0}.btn-icon-bar:hover{border-color:var(--acc)}.btn-dash{font-size:12.5px}.sidebar{width:240px;min-width:240px;background:var(--bg2);border-right:1px solid var(--line);overflow-x:hidden;overflow-y:auto;padding:10px 8px;transition:width .2s ease,min-width .2s ease,padding .2s ease,opacity .15s ease;flex-shrink:0}.body.sidebar-collapsed .sidebar{width:0;min-width:0;padding:0;border:0;opacity:0;pointer-events:none}.nav-pin{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.nav-group{margin-bottom:2px}.nav-section{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;text-align:left;background:none;border:0;color:var(--txt2);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:12px 10px 4px;cursor:pointer;border-radius:6px}.nav-section:hover{color:var(--txt);background:var(--bg3)}.nav-section .chev{font-size:10px;opacity:.75;transition:transform .15s}.nav-group.collapsed .nav-section .chev{transform:rotate(-90deg)}.nav-group.collapsed .nav-group-body{display:none}.nav-item{display:block;width:100%;text-align:left;background:none;border:0;color:var(--txt);padding:7px 10px;border-radius:7px;cursor:pointer;font-size:13px}.nav-item:hover{background:var(--bg3)}.nav-item.active{background:var(--acc2);color:#fff}.nav-item.sub{padding-left:24px;color:var(--txt2)}.nav-item.dash{color:var(--acc);font-weight:500}@media(max-width:720px){.sidebar{position:absolute;z-index:30;height:calc(100% - 52px);box-shadow:8px 0 24px #00000059}.body.sidebar-collapsed .sidebar{box-shadow:none}}.main{flex:1;overflow:auto;padding:18px 22px}.loading,.empty{color:var(--txt2);padding:40px;text-align:center}.empty b{color:var(--txt)}details pre{margin-top:12px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:12px;overflow:auto;font-size:12px}.screen-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}.screen-head h2{font-size:19px}.layout-tag{color:var(--txt2);font-size:12px;border:1px solid var(--line);border-radius:999px;padding:2px 9px;margin-left:10px}.toolbar{display:flex;align-items:center;gap:8px}.search{background:var(--bg3);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:7px 11px;width:260px;outline:none}.search:focus{border-color:var(--acc)}.btn{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:7px 13px;cursor:pointer;font-size:13px}.btn:hover{border-color:var(--acc)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff}.btn.primary:hover{background:var(--acc2)}.btn.danger:hover{border-color:var(--danger);color:var(--danger)}.rowcount{color:var(--txt2);font-size:12px;margin-left:6px}.grid-wrap{border:1px solid var(--line);border-radius:10px;overflow:auto;background:var(--bg2)}table{border-collapse:collapse;width:100%}th,td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{background:var(--bg3);color:var(--txt2);font-size:12px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}th.right,td.right{text-align:right}tbody tr{cursor:pointer}tbody tr:hover{background:var(--bg3)}tbody tr.sel{background:#1d3a5f}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:50}.modal{width:min(560px,92vw);max-height:86vh;overflow:auto;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:20px}.modal h3{margin-bottom:14px}.form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.field label{display:block;color:var(--txt2);font-size:12px;margin-bottom:3px}.field input,.field select{width:100%;background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:7px;padding:8px 10px;outline:none}.field input:focus,.field select:focus{border-color:var(--acc)}.field input.ro{opacity:.6}.field.chk{display:flex;align-items:center;gap:8px}.field.chk label{margin:0}.field.chk input{width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.theme-fab{position:fixed;top:14px;right:14px;z-index:60;background:var(--bg2);color:var(--txt);border:1px solid var(--line);border-radius:999px;padding:6px 14px;cursor:pointer}.theme-fab:hover{border-color:var(--acc)}input[type=date]{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:7px;padding:5px 8px}.login-card input[type=date]{width:100%}.proc-list{display:flex;flex-direction:column;gap:8px;max-width:720px}.proc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.proc-sub{color:var(--txt2);font-size:12px}.proc-out{margin-top:14px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:12px;min-height:60px;max-height:320px;overflow:auto;font-size:12px;color:var(--txt)}.tool-toggle{width:100%;margin-top:10px;background:none;border:1px dashed var(--line);color:var(--txt2);border-radius:8px;padding:7px;cursor:pointer;font-size:12.5px}.tool-toggle:hover{border-color:var(--acc);color:var(--txt)}.tool-panel{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:10px;text-align:left}.tool-row{font-size:12px;color:var(--txt2);display:flex;flex-direction:column;gap:5px}.tool-row b{color:var(--txt)}.tool-row code{background:var(--bg3);border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-size:11px;color:var(--txt);word-break:break-all}.tool-links{display:flex;gap:8px;flex-wrap:wrap}.tool-links a{color:var(--acc);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:12px}.tool-links a:hover{border-color:var(--acc)}.tool-row .btn{align-self:flex-start;padding:4px 10px;font-size:11.5px}.login-card .tool-toggle{background:none;border:1px dashed var(--line);color:var(--txt2)}.login-card .tool-toggle:hover{border-color:var(--acc);color:var(--txt);background:none}.tool-ip{background:var(--bg3);border:1px solid var(--line);color:var(--txt);border-radius:999px;padding:3px 10px;font-size:12px;width:130px}.form-layout{display:grid;grid-template-columns:240px 1fr;flex:1;min-height:0;border-top:1px solid var(--line)}.form-nav{border-right:1px solid var(--line);background:var(--bg2);overflow:auto;max-height:calc(100vh - 120px)}.form-nav-title{padding:10px 12px;font-size:12px;color:var(--txt2);font-weight:600;border-bottom:1px solid var(--line)}.form-nav-item{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);color:var(--txt);padding:10px 12px;cursor:pointer;font-size:12.5px}.form-nav-item.active,.form-nav-item:hover{background:var(--bg3)}.form-main{display:flex;flex-direction:column;min-width:0;overflow:auto}.form-tabs{display:flex;gap:4px;padding:10px 12px 0;flex-wrap:wrap;border-bottom:1px solid var(--line)}.form-tab{background:none;border:1px solid transparent;color:var(--txt2);padding:8px 12px;border-radius:8px 8px 0 0;cursor:pointer;font-size:12.5px}.form-tab.active{background:var(--bg2);color:var(--txt);border-color:var(--line);border-bottom-color:transparent}.form-body{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.checklist{display:flex;flex-wrap:wrap;gap:8px 14px}.chk-item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.md-layout{display:grid;grid-template-rows:1fr 1fr;flex:1;min-height:0}.md-master,.md-detail{display:flex;flex-direction:column;border-top:1px solid var(--line);min-height:0}.md-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--bg2);flex-wrap:wrap}.md-master .grid-wrap,.md-detail .grid-wrap{flex:1;overflow:auto;max-height:36vh}.tool-note{font-size:11px;opacity:.8}.list-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:0 0 12px;padding:10px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:10px}.filter-chip{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--txt2)}.filter-chip select{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:7px;padding:6px 8px;min-width:120px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--txt)}th.sorted{color:var(--acc)}.sort-ind{font-size:9px;opacity:.85;margin-left:2px}.empty-cell{text-align:center!important;color:var(--txt2);padding:28px!important;cursor:default}.list-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px;padding:8px 4px}.foot-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.foot-nav{display:flex;align-items:center;gap:6px}.page-size{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--txt2)}.page-size select{background:var(--bg3);color:var(--txt);border:1px solid var(--line);border-radius:7px;padding:4px 8px}.pg-info{font-size:12px;color:var(--txt2);min-width:72px;text-align:center}.btn-icon{padding:5px 10px;min-width:34px;font-size:14px;line-height:1}.modal-form{width:min(640px,94vw)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}.modal-head h3{margin:0}.modal-nav{display:flex;align-items:center;gap:4px} diff --git a/samples/projects/FiveTech_ERP/www/web-vue/index.html b/samples/projects/FiveTech_ERP/www/web-vue/index.html new file mode 100644 index 0000000..034d2cd --- /dev/null +++ b/samples/projects/FiveTech_ERP/www/web-vue/index.html @@ -0,0 +1,13 @@ + + + + + + FiveTech ERP — Rama Web (Vue) + + + + +
+ + From 0851f7a38bc767eab41fc6e06ca694fb1c12eea6 Mon Sep 17 00:00:00 2001 From: russimicro Date: Sat, 8 Aug 2026 14:05:34 -0500 Subject: [PATCH 2/3] FiveTech_ERP web branch: rename vanilla -> vainilla frontend Renames the framework-less frontend and every reference to it (folders, routes, portal/login links, README, docs, evidence screenshots) from "vanilla" to "vainilla". Co-Authored-By: Claude Sonnet 5 --- samples/projects/FiveTech_ERP/Form1.prg | 2 +- samples/projects/FiveTech_ERP/README.md | 6 +++--- .../docs/web-branch/FORO_FIVETECH_POST.md | 4 ++-- .../docs/web-branch/PROPUESTA_FIVETECH_RAMA_WEB.md | 10 +++++----- .../docs/web-branch/SUSTENTO_RAMA_100_WEB.md | 4 ++-- .../{web-vanilla-app.png => web-vainilla-app.png} | Bin ...web-vanilla-error.png => web-vainilla-error.png} | Bin ...web-vanilla-login.png => web-vainilla-login.png} | Bin .../FiveTech_ERP/frontends/react/src/App.jsx | 2 +- .../frontends/{vanilla => vainilla}/app.js | 4 ++-- .../frontends/{vanilla => vainilla}/container.js | 0 .../frontends/{vanilla => vainilla}/index.html | 6 +++--- .../frontends/{vanilla => vainilla}/styles.css | 0 .../projects/FiveTech_ERP/frontends/vue/src/App.vue | 2 +- .../frontends/web-angular/src/app/app.html | 2 +- samples/projects/FiveTech_ERP/scripts/evidence.cjs | 2 +- samples/projects/FiveTech_ERP/www/portal/index.html | 2 +- .../FiveTech_ERP/www/web-angular/main-ORSDDJMH.js | 4 ++-- .../www/web-react/assets/index-DyZUOc-h.js | 2 +- .../www/{web-vanilla => web-vainilla}/app.js | 4 ++-- .../www/{web-vanilla => web-vainilla}/container.js | 0 .../www/{web-vanilla => web-vainilla}/index.html | 6 +++--- .../www/{web-vanilla => web-vainilla}/styles.css | 0 .../www/web-vue/assets/index-1FzZV9uQ.js | 2 +- 24 files changed, 32 insertions(+), 32 deletions(-) rename samples/projects/FiveTech_ERP/docs/web-branch/evidencia/{web-vanilla-app.png => web-vainilla-app.png} (100%) rename samples/projects/FiveTech_ERP/docs/web-branch/evidencia/{web-vanilla-error.png => web-vainilla-error.png} (100%) rename samples/projects/FiveTech_ERP/docs/web-branch/evidencia/{web-vanilla-login.png => web-vainilla-login.png} (100%) rename samples/projects/FiveTech_ERP/frontends/{vanilla => vainilla}/app.js (99%) rename samples/projects/FiveTech_ERP/frontends/{vanilla => vainilla}/container.js (100%) rename samples/projects/FiveTech_ERP/frontends/{vanilla => vainilla}/index.html (95%) rename samples/projects/FiveTech_ERP/frontends/{vanilla => vainilla}/styles.css (100%) rename samples/projects/FiveTech_ERP/www/{web-vanilla => web-vainilla}/app.js (99%) rename samples/projects/FiveTech_ERP/www/{web-vanilla => web-vainilla}/container.js (100%) rename samples/projects/FiveTech_ERP/www/{web-vanilla => web-vainilla}/index.html (95%) rename samples/projects/FiveTech_ERP/www/{web-vanilla => web-vainilla}/styles.css (100%) diff --git a/samples/projects/FiveTech_ERP/Form1.prg b/samples/projects/FiveTech_ERP/Form1.prg index ad48edd..ed22044 100644 --- a/samples/projects/FiveTech_ERP/Form1.prg +++ b/samples/projects/FiveTech_ERP/Form1.prg @@ -67,7 +67,7 @@ METHOD StartServer() CLASS TForm1 ::cUrl := "http://127.0.0.1:" + hb_ntos( ::nPort ) + "/" // Rama PC parametrizable: ZWEB_FRONT= FiveTech_ERP_local.exe // carga ese bundle dentro del WebView2 (mismo contrato que el navegador). - // Ej.: set ZWEB_FRONT=web-vanilla + // Ej.: set ZWEB_FRONT=web-vainilla cArg := AllTrim( hb_GetEnv( "ZWEB_FRONT" ) ) if ! Empty( cArg ) ::cUrl += cArg + "/index.html" diff --git a/samples/projects/FiveTech_ERP/README.md b/samples/projects/FiveTech_ERP/README.md index 407de0e..20f6d38 100644 --- a/samples/projects/FiveTech_ERP/README.md +++ b/samples/projects/FiveTech_ERP/README.md @@ -98,10 +98,10 @@ branches of the **same build** — nothing above changes for the default |---|---|---| | **PC** (native) | WebView2 inside the exe | `ZWEB_FRONT=` makes `Form1.prg` navigate its embedded WebView2 to that bundle instead of the FWH shell. Unset → identical to today. | | **Hybrid** (native) | WebView2 per module, alongside native screens | Same URLs (`/web-*/`), module by module, from any native shell (pattern used in production by Zerus's `FW_DASHBOARD`). | -| **Web** (ours) | Any real browser | `http://:2222/web-vanilla/`, `/web-angular/`, `/web-react/`, `/web-vue/`, or `/portal/` to pick one. Same origin, same `DWSESS` cookie, no CORS. | +| **Web** (ours) | Any real browser | `http://:2222/web-vainilla/`, `/web-angular/`, `/web-react/`, `/web-vue/`, or `/portal/` to pick one. Same origin, same `DWSESS` cookie, no CORS. | ``` -frontends/ source of the 4 bundles (vanilla / Angular 21+PrimeNG / React / Vue) +frontends/ source of the 4 bundles (vainilla / Angular 21+PrimeNG / React / Vue) www/web-* built static output served by erp_http.prg (same as any other www/ asset) www/portal/ branch picker (login → choose frontend) scripts/ api-check.mjs · concurrency*.py · evidence.cjs (reproducible checks) @@ -128,5 +128,5 @@ Rebuilding a frontend after editing its source: cd frontends\react && npm install && npm run build cd frontends\vue && npm install && npm run build cd frontends\web-angular && npm install && npx ng build --configuration=production -:: copy each dist/ output into www\web-\ (vanilla needs no build step) +:: copy each dist/ output into www\web-\ (vainilla needs no build step) ``` diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/FORO_FIVETECH_POST.md b/samples/projects/FiveTech_ERP/docs/web-branch/FORO_FIVETECH_POST.md index 95efa42..ecddcad 100644 --- a/samples/projects/FiveTech_ERP/docs/web-branch/FORO_FIVETECH_POST.md +++ b/samples/projects/FiveTech_ERP/docs/web-branch/FORO_FIVETECH_POST.md @@ -34,7 +34,7 @@ verificados. **Regla de oro:** el frontend es un parámetro del despliegue, no del código. Lo demostramos consumiendo el mismo contrato con **cuatro frontends distintos** -sin adaptadores: vanilla (HTML/CSS/JS puro), **Angular 21 + PrimeNG**, React 19 +sin adaptadores: vainilla (HTML/CSS/JS puro), **Angular 21 + PrimeNG**, React 19 y Vue 3 — login, multi-empresa/multi-app, grilla CRUD desde `screen.*`/`data.*` y ejecución de `process.*`. @@ -62,7 +62,7 @@ Un usuario en WebView2 y otro en navegador no se distinguen del lado Harbour. ## 4. Lo que entregamos (para revisión / merge si lo aprueban) -1. **Sample `FiveTech_ERP_Web`**: monturas `web-vanilla|angular|react|vue` +1. **Sample `FiveTech_ERP_Web`**: monturas `web-vainilla|angular|react|vue` servidas como estáticos del propio backend + `/portal/` (selector de frontends con asistente de activación por rama) + `INICIAR.bat` (menú de usuario final: rama web / PC / híbrida + frontend por defecto). diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/PROPUESTA_FIVETECH_RAMA_WEB.md b/samples/projects/FiveTech_ERP/docs/web-branch/PROPUESTA_FIVETECH_RAMA_WEB.md index 40b360b..ac5136c 100644 --- a/samples/projects/FiveTech_ERP/docs/web-branch/PROPUESTA_FIVETECH_RAMA_WEB.md +++ b/samples/projects/FiveTech_ERP/docs/web-branch/PROPUESTA_FIVETECH_RAMA_WEB.md @@ -25,7 +25,7 @@ Esta propuesta: el cliente. 2. **Regala** un fix verificado de concurrencia en `POST /api/dataset` (race condition con pérdida de escrituras bajo clientes simultáneos). -3. **Demuestra** con 4 frontends reales (vanilla, Angular 21+PrimeNG, React, +3. **Demuestra** con 4 frontends reales (vainilla, Angular 21+PrimeNG, React, Vue) que el meta JSON de FWH DesktopWeb se renderiza fuera del WebView, con CRUD completo, multi-empresa y procesos. 4. **No toca** el shell FWH, el contrato HTTP, los scripts de build ni el @@ -63,7 +63,7 @@ declaración explícita de qué contenedor (WebView vs navegador) usa cada rama. Rama PC Rama híbrida Rama 100% web Rama 100% web Shell FWH WebView2 del WebView2 por navegador PC navegador móvil original exe (ZWEB_FRONT) módulo dentro /portal/ → (mismo URL) /login - del shell web-vanilla | + del shell web-vainilla | nativo web-angular | (FW_DASHBOARD) web-react | web-vue @@ -157,7 +157,7 @@ consumen sin adaptadores. | ERP legacy en modernización | ★ | ★★★ recomendada | ★★ para módulos nuevos | | SaaS multi-tenant | ✗ (scaling por puesto) | ✗ | ★★★ recomendada | | Usuarios remotos / móviles | ✗ | ✗ | ★★★ (o Android nativo del IDE) | -| Sin equipo de frontend propio | ★★★ (HTML FWH listo) | ★★ | ★★ (vanilla listo) | +| Sin equipo de frontend propio | ★★★ (HTML FWH listo) | ★★ | ★★ (vainilla listo) | | Operación intensiva de escritorio | ★★★ | ★★★ | ★★ | | Actualización centralizada | ★ (por exe) | ★★ | ★★★ | | Aislamiento / offline por puesto | ★★★ | ★★★ | ★ | @@ -175,7 +175,7 @@ conviven y comparten backend y datos.) | 10 sesiones concurrentes (lectura) | 10/10, login 175 ms | `python scripts/concurrency.py 10` | | 10 sesiones × 3 filas CRUD concurrentes (con fix) | 10/10, integridad 12→12 | `python scripts/concurrency-write.py 10 3` | | 4 frontends: login → multi-app → grilla CRUD | 4/4, 697–784 ms | `node scripts/evidence.cjs` (Playwright) | -| Rama PC con SPA dentro del WebView2 | captura OK | `ZWEB_FRONT=web-vanilla` + screenshot | +| Rama PC con SPA dentro del WebView2 | captura OK | `ZWEB_FRONT=web-vainilla` + screenshot | | UTF-8/tilde/€ intactos por el canal | capturas | `docs/evidencia/*` | **Hallazgo incluido (regalo #1):** sin el fix, el estrés de escritura da @@ -193,7 +193,7 @@ comportamiento por defecto. ## 7. Qué se entrega exactamente (para revisión) -1. `samples/projects/FiveTech_ERP_Web/` — monturas `web-vanilla|angular|react| +1. `samples/projects/FiveTech_ERP_Web/` — monturas `web-vainilla|angular|react| vue` + `portal/` + este documento + guiones de evidencia. 2. Parche a `Form1.prg`: `ZWEB_FRONT` (3 líneas; sin la variable el exe es byte-a-byte el de hoy en comportamiento). diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/SUSTENTO_RAMA_100_WEB.md b/samples/projects/FiveTech_ERP/docs/web-branch/SUSTENTO_RAMA_100_WEB.md index 73f3233..89f3d3f 100644 --- a/samples/projects/FiveTech_ERP/docs/web-branch/SUSTENTO_RAMA_100_WEB.md +++ b/samples/projects/FiveTech_ERP/docs/web-branch/SUSTENTO_RAMA_100_WEB.md @@ -7,7 +7,7 @@ HarbourBuilder (repo, sin modificar) · **Máquina:** Windows x64 dev. | # | Criterio "100% web" | Evidencia (reproducible) | |---|---|---| -| 1 | La UI es 100% HTML/CSS/JS servida por HTTP; ningún control nativo en el cliente | 4 bundles independientes (vanilla, Angular 21+PrimeNG, React 19, Vue 3) renderizados en Chromium real; capturas `docs/evidencia/*-app.png` | +| 1 | La UI es 100% HTML/CSS/JS servida por HTTP; ningún control nativo en el cliente | 4 bundles independientes (vainilla, Angular 21+PrimeNG, React 19, Vue 3) renderizados en Chromium real; capturas `docs/evidencia/*-app.png` | | 2 | Todo dato y toda acción viajan por HTTP JSON; el negocio no depende del contenedor | `node scripts/api-check.mjs` → 8/8 OK (login, contexto, meta, dataset, CRUD add→update→delete, logout) en ~104 ms | | 3 | La sesión y la seguridad viven en el servidor, no en el cliente | Cookie `DWSESS` HttpOnly+SameSite=Lax fija por el servidor; sin cookie → `"Not authenticated"` (api-check prueba 8); logout invalida token | | 4 | Multiples usuarios reales concurrentes | `python scripts/concurrency.py 10` → 10/10 sesiones OK, login mediana 175 ms, datos mediana 11 ms, 0 errores | @@ -23,7 +23,7 @@ HarbourBuilder (repo, sin modificar) · **Máquina:** Windows x64 dev. ``` api-check.mjs 8 pruebas OK · 104 ms totales concurrency.py 10 10/10 OK · login 174/175/177 ms · datos 5/11/13 ms -evidence.cjs vanilla 719 ms · angular 780 ms · react 731 ms · vue 742 ms — 0 fallos +evidence.cjs vainilla 719 ms · angular 780 ms · react 731 ms · vue 742 ms — 0 fallos ``` ## Por qué esto valida la rama web del ecosistema FiveTech diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-app.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vainilla-app.png similarity index 100% rename from samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-app.png rename to samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vainilla-app.png diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-error.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vainilla-error.png similarity index 100% rename from samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-error.png rename to samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vainilla-error.png diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-login.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vainilla-login.png similarity index 100% rename from samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vanilla-login.png rename to samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vainilla-login.png diff --git a/samples/projects/FiveTech_ERP/frontends/react/src/App.jsx b/samples/projects/FiveTech_ERP/frontends/react/src/App.jsx index 9a74c8b..6d24249 100644 --- a/samples/projects/FiveTech_ERP/frontends/react/src/App.jsx +++ b/samples/projects/FiveTech_ERP/frontends/react/src/App.jsx @@ -453,7 +453,7 @@ export default function App() {
3 · Web 100% — elija la vista (mismos datos)

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 RtPlpPvVyvNk?f z0~-q8-T$;~@q`m6?%!nus?w-t29g5m7C^GW<{(Ju2`3+rRPZkVk_?qiAo&x*GC12%{Z4U?2?Veyyh8*Q*Q+Y%QR%fYC1g=m^K?0MF?7*68rwXcLJ3gS+>D o)zAO`({o;&2G+Q2p!$fJ;d2@n$E^FTyr4?h)78&qol`;+098^GYXATM literal 0 HcmV?d00001 diff --git a/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vue-login.png b/samples/projects/FiveTech_ERP/docs/web-branch/evidencia/web-vue-login.png new file mode 100644 index 0000000000000000000000000000000000000000..4d81e441a525efafe77501d42a0229473556a341 GIT binary patch literal 112779 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�!hsBJXJQB)LEY;-v&pfm;P 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 }, cKey, cAction, cKeyField, cKeyValue, hRow, cOut local cRaw, hDoc := { => }, aRows, n, lFound := .F. - local cFull, cJson, lOk + local cFull, cJson, lOk, oGuard if Empty( hSess ) return ErpHttpOk( hb_jsonEncode( { "ok" => .F., "msg" => "Not authenticated" } ), ; @@ -555,6 +556,13 @@ static function ErpApiDatasetPost( cBody, hSess ) "action" => cAction } ), "application/json; charset=utf-8" ) endif + // FIX race (hallazgo prototipo web-branch): la lectura vivía fuera del + // mutex → dos escrituras concurrentes perdían un add (last-writer-wins + // sobre el doc completo). El guard toma el mutex hasta salir de la + // función y hace atómico el read-modify-write. + oGuard := ErpMutexGuard():New( s_mtx ) + HB_SYMBOL_UNUSED( oGuard ) + // Fresh copy from disk — never mutate the ErpMetaGet() cached hash cRaw := ErpMetaGetRaw( cKey ) if Empty( cRaw ) @@ -639,13 +647,7 @@ static function ErpApiDatasetPost( cBody, hSess ) "application/json; charset=utf-8" ) endif cJson := hb_jsonEncode( hDoc ) + Chr( 10 ) - if s_mtx != NIL - hb_mutexLock( s_mtx ) - endif lOk := ErpWriteFileAtomic( cFull, cJson ) - if s_mtx != NIL - hb_mutexUnlock( s_mtx ) - endif if ! lOk return ErpHttpOk( hb_jsonEncode( { "ok" => .F., "msg" => "Write failed" } ), ; "application/json; charset=utf-8" ) @@ -1763,6 +1765,73 @@ static function ErpHttpOk( cBody, cType ) Chr( 13 ) + Chr( 10 ) return cHdr + cBody +//-------------------------------------------------------------------- +// Abre URL en el NAVEGADOR POR DEFECTO del SO (asociación nativa). +// NO toca la rama embebida (WebView2 sigue en su ventana con ZWEB_FRONT). +// Solo http(s); sin comillas/CR/LF. +// Usado por POST /api/open-browser, cmd openurl y WEBVIEW2_ONBIND. +function ErpShellOpenUrl( cUrl ) + + local cLow, nRet + + cUrl := AllTrim( cUrl ) + if Empty( cUrl ) + return .F. + endif + cLow := Lower( cUrl ) + if !( Left( cLow, 7 ) == "http://" .or. Left( cLow, 8 ) == "https://" ) + return .F. + endif + if '"' $ cUrl .or. "'" $ cUrl .or. Chr( 10 ) $ cUrl .or. Chr( 13 ) $ cUrl .or. ; + Chr( 0 ) $ cUrl + return .F. + endif + + // Windows: ShellExecuteA "open" → navegador por defecto del usuario. + // No es Navigate del WebView ni un navegador embebido. + nRet := ErpShellExecuteOpen( cUrl ) + if nRet > 32 + return .T. + endif + + // Fallback multiplataforma si ShellExecute no aplica / falla +#ifdef __PLATFORM__WINDOWS + hb_run( 'cmd /c start "" "' + cUrl + '"' ) +#else + #ifdef __PLATFORM__DARWIN + hb_run( 'open "' + cUrl + '"' ) + #else + hb_run( 'xdg-open "' + cUrl + '"' ) + #endif +#endif + +return .T. + +//-------------------------------------------------------------------- +// C helper: ShellExecuteA(NULL,"open",url,...) — asociación del SO +#pragma BEGINDUMP +#include "hbapi.h" +#if defined( HB_OS_WIN ) + #include + #include +#endif + +HB_FUNC( ERPSHELLEXECUTEOPEN ) +{ +#if defined( HB_OS_WIN ) + const char * szUrl = hb_parc( 1 ); + if( szUrl && *szUrl ) + /* ShellExecute > 32 = éxito; usa asociación del SO (navegador por defecto) */ + hb_retnl( ( long )( size_t ) ShellExecuteA( NULL, "open", szUrl, NULL, NULL, SW_SHOWNORMAL ) ); + else + hb_retnl( 0 ); +#else + HB_SYMBOL_UNUSED( /* url */ 0 ); + hb_retnl( 0 ); +#endif +} +#pragma ENDDUMP + //-------------------------------------------------------------------- static function ErpDispatch( cMethod, cPath, cQuery, cBody, hHdr ) @@ -1789,6 +1858,24 @@ static function ErpDispatch( cMethod, cPath, cQuery, cBody, hHdr ) ErpMetaSetRequestVertical( "" ) endif + // Abrir URL en navegador nativo del SO (rama PC: no embebido). + // Público a propósito: el panel "Cargue y ramas" vive en el login sin cookie. + if cMethod == "POST" .and. cPath == "/api/open-browser" + hQ := ErpQuery( cBody ) + cArg := AllTrim( hb_HGetDef( hQ, "url", hb_HGetDef( hQ, "a1", "" ) ) ) + if Empty( cArg ) + return ErpHttpOk( hb_jsonEncode( { "ok" => .F., "msg" => "url required" } ), ; + "application/json; charset=utf-8" ) + endif + if ErpShellOpenUrl( cArg ) + return ErpHttpOk( hb_jsonEncode( { "ok" => .T., "url" => cArg } ), ; + "application/json; charset=utf-8" ) + endif + return ErpHttpOk( hb_jsonEncode( { "ok" => .F., ; + "msg" => "Only http(s) URLs allowed" } ), ; + "application/json; charset=utf-8" ) + endif + // --- pages (same routes as FWH DesktopWeb login.prg) --- if cMethod == "GET" .and. ( cPath == "/" .or. cPath == "/login" .or. cPath == "/index.html" ) ErpMetaSetRequestVertical( "" ) @@ -2038,6 +2125,19 @@ static function ErpDispatch( cMethod, cPath, cQuery, cBody, hHdr ) ErpSessPut( cTok, hSess ) return ErpHttpOk( hb_jsonEncode( { "ok" => .T., "workDate" => cArg } ), ; "application/json; charset=utf-8" ) + elseif cAction == "openurl" .or. cAction == "open-browser" .or. cAction == "openbrowser" + // a1 = URL http(s) → navegador nativo del SO (no WebView embebido) + if Empty( cArg ) + return ErpHttpOk( hb_jsonEncode( { "ok" => .F., "msg" => "url required" } ), ; + "application/json; charset=utf-8" ) + endif + if ErpShellOpenUrl( cArg ) + return ErpHttpOk( hb_jsonEncode( { "ok" => .T., "url" => cArg } ), ; + "application/json; charset=utf-8" ) + endif + return ErpHttpOk( hb_jsonEncode( { "ok" => .F., ; + "msg" => "Only http(s) URLs allowed" } ), ; + "application/json; charset=utf-8" ) elseif cAction == "company" .or. cAction == "setcompany" .or. cAction == "set_company" // a1 = company code; optional a2 = app id within that company if Empty( cArg ) @@ -2235,18 +2335,34 @@ static function ErpDispatch( cMethod, cPath, cQuery, cBody, hHdr ) endif // static www assets (path traversal guard: URL-decode first, reject "..") + // /portal/ y /portal → www/portal/index.html (como un servidor web normal) if Left( cPath, 1 ) == "/" cRel := ErpUrlDecode( cPath ) if ".." $ cRel return ErpHttpForbidden( cPath ) endif cFile := hb_DirBase() + "www" + StrTran( cRel, "/", hb_ps() ) + // Quitar separador final: /portal/ → carpeta portal + do while Len( cFile ) > 0 .and. Right( cFile, 1 ) $ "/\" + cFile := Left( cFile, Len( cFile ) - 1 ) + enddo + if ! File( cFile ) + // Carpeta o ruta sin archivo: servir index.html del directorio + if File( cFile + hb_ps() + "index.html" ) + cFile := cFile + hb_ps() + "index.html" + elseif File( cFile + hb_ps() + "Index.html" ) + cFile := cFile + hb_ps() + "Index.html" + endif + endif if File( cFile ) cMime := "text/plain" if Right( Lower( cFile ), 5 ) == ".html" ; cMime := "text/html; charset=utf-8" ; endif if Right( Lower( cFile ), 3 ) == ".js" ; cMime := "application/javascript" ; endif if Right( Lower( cFile ), 4 ) == ".css" ; cMime := "text/css" ; endif if Right( Lower( cFile ), 5 ) == ".json" ; cMime := "application/json" ; endif + if Right( Lower( cFile ), 4 ) == ".svg" ; cMime := "image/svg+xml" ; endif + if Right( Lower( cFile ), 4 ) == ".png" ; cMime := "image/png" ; endif + if Right( Lower( cFile ), 4 ) == ".ico" ; cMime := "image/x-icon" ; endif return ErpHttpOk( MemoRead( cFile ), cMime ) endif endif @@ -2705,3 +2821,31 @@ function ErpUrlDecode( c ) endif enddo return cOut + +//-------------------------------------------------------------------- +// FIX race (prototipo web-branch, para PR a FiveTech): +// Guard de mutex con destructor — Harbour invoca Destroy() al liberarse +// el LOCAL (cualquier RETURN de la función que lo declara). Hace atómico +// el read-modify-write de ErpApiDatasetPost sin tocar cada return. +CLASS ErpMutexGuard + + DATA mtx + + METHOD New( m ) + METHOD Destroy() + +ENDCLASS + +METHOD New( m ) CLASS ErpMutexGuard + ::mtx := m + if ::mtx != NIL + hb_mutexLock( ::mtx ) + endif +return Self + +METHOD Destroy() CLASS ErpMutexGuard + if ::mtx != NIL + hb_mutexUnlock( ::mtx ) + ::mtx := NIL + endif +return NIL diff --git a/samples/projects/FiveTech_ERP/frontends/react/index.html b/samples/projects/FiveTech_ERP/frontends/react/index.html new file mode 100644 index 0000000..1a0a556 --- /dev/null +++ b/samples/projects/FiveTech_ERP/frontends/react/index.html @@ -0,0 +1,13 @@ + + + + + + FiveTech ERP — Rama Web (React) + + + +