diff --git a/.claude/skills/default-next-meetup/SKILL.md b/.claude/skills/default-next-meetup/SKILL.md deleted file mode 100644 index 96c26fb..0000000 --- a/.claude/skills/default-next-meetup/SKILL.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -name: default-next-meetup -description: Reset the homepage "Next Meetup" section to its default generic state — generic image, generic title/description, no specific date, and the generic Meetup link. Use when the user wants to clear a specific event from the Next Meetup section or restore it to default. ---- - -# default-next-meetup - -Restore the homepage **Next Meetup** section (`app-meetup`) to the generic default: no specific event, generic image, generic Meetup link, and no event date line. - -## Files - -- `src/app/components/meetup/meetup.component.html` -- `public/i18n/it.json` and `public/i18n/en.json` (the `nextMeetup` object) -- `public/images/homepage/DefaultNextMeetup.jpg` — the committed generic default image (1440x1440). The default state points the `` at this file directly; it is never overwritten. (Event-specific images go to `NextMeetup.jpg` instead, written by the `set-next-meetup` skill.) - -## Steps - -1. **Reset the HTML.** Make `src/app/components/meetup/meetup.component.html` exactly: - ```html -
-
-
- Next Meetup -
-
-
-

{{ 'nextMeetup.title' | transloco }}

-

{{ 'nextMeetup.description' | transloco }}

- - {{ 'nextMeetup.join' | transloco }} -
-
-
-
- ``` - Key differences from the event-specific state: `ngSrc` points at `DefaultNextMeetup.jpg` (not `NextMeetup.jpg`), `alt="Next Meetup"`, image `width/height` `1440`, no `nextMeetup.date` paragraph, generic `href="https://www.meetup.com/python-catania/"`, and the button uses `inline-flex` (not centered). - -2. **Remove the date translation key.** Delete the `"date": ...` line from the `nextMeetup` object in both `public/i18n/it.json` and `public/i18n/en.json`. The resulting object is: - ```json - "nextMeetup": { - "title": "...", - "description": "...", - "join": "..." - } - ``` - Leave `title`, `description`, `join` untouched. - -3. **Verify** the build still compiles: - ```bash - npm run build - ``` - -Do not commit unless the user asks. diff --git a/.claude/skills/set-next-meetup/SKILL.md b/.claude/skills/set-next-meetup/SKILL.md deleted file mode 100644 index 22f7e59..0000000 --- a/.claude/skills/set-next-meetup/SKILL.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -name: set-next-meetup -description: Point the homepage "Next Meetup" section at a specific Meetup event given its event link — sets the event date, the link, the image, the title, and centers the button. Use when the user gives a meetup.com event URL and wants it featured as the next meetup. ---- - -# set-next-meetup - -Configure the homepage **Next Meetup** section (`app-meetup`) for a specific Meetup event. - -## Input - -- A Meetup event URL, e.g. `https://www.meetup.com/python-catania/events/315327982/` (the user provides it; it may also appear in the prompt). -- Optionally, an event image the user attaches in the conversation. If they attach one, use it instead of the event's own image. - -## Files - -- `src/app/components/meetup/meetup.component.html` -- `public/i18n/it.json` and `public/i18n/en.json` (the `nextMeetup` object) -- `public/images/homepage/NextMeetup.jpg` - -## Steps - -1. **Get the event details.** Fetch the event page to read the **title**, **date**, and **start time**: - ``` - WebFetch "What is the title, date and start time of this event?" - ``` - -2. **Build the localized date strings.** - - Italian (`it.json`): `" , ore "` — e.g. `Martedì 14 luglio 2026, ore 18:30`. Use Italian weekday (Lunedì, Martedì, Mercoledì, Giovedì, Venerdì, Sabato, Domenica) and lowercase Italian month (gennaio, febbraio, marzo, aprile, maggio, giugno, luglio, agosto, settembre, ottobre, novembre, dicembre). Time in 24h. - - English (`en.json`): `", , "` — e.g. `Tuesday, 14 July 2026, 6:30 PM`. - -3. **Update the image.** Always replace `public/images/homepage/NextMeetup.jpg`. - - If the user attached an image for this event, use that source. Otherwise download the event's own cover image from the Meetup page. The `og:image` meta tag points at a low-res share variant (e.g. `.../600_.jpeg`); Meetup stores the same photo at full resolution under a `highres_` prefix, so rewrite the size prefix to `highres_` before downloading: - ```bash - IMAGE_URL=$(curl -sL "" | grep -oP ' -quality 90 public/images/homepage/NextMeetup.jpg - identify public/images/homepage/NextMeetup.jpg # note the width/height - ``` - - Use the reported width/height in the `` tag in the next step. - -4. **Set the HTML** in `src/app/components/meetup/meetup.component.html`. The section must read (replace `WIDTH`/`HEIGHT` with the image dimensions, `EVENT TITLE` with the event title, and `EVENT-URL` with the event link): - ```html -
-
-
- EVENT TITLE -
-
-
-

{{ 'nextMeetup.title' | transloco }}

-

{{ 'nextMeetup.description' | transloco }}

-

{{ 'nextMeetup.date' | transloco }}

- - {{ 'nextMeetup.join' | transloco }} -
-
-
-
- ``` - Notes: the date paragraph is bigger, bold, centered, and inherits the default text color (no red). The button is `mx-auto flex w-fit` so it stays centered. - -5. **Set the `date` translation key** inside the `nextMeetup` object of both `public/i18n/it.json` and `public/i18n/en.json` (add it if missing, between `description` and `join`): - ```json - "nextMeetup": { - "title": "...", - "description": "...", - "date": "", - "join": "..." - } - ``` - Leave `title`, `description`, `join` untouched. - -6. **Verify** the build: - ```bash - npm run build - ``` - -To reset the section back to the generic default, use the `default-next-meetup` skill. - -Do not commit unless the user asks. diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md deleted file mode 100644 index 6a7b78a..0000000 --- a/.github/copilot-instructions.md +++ /dev/null @@ -1,72 +0,0 @@ -# Persona - -You are a dedicated Angular developer who thrives on leveraging the absolute latest features of the framework to build cutting-edge applications. You are currently immersed in Angular v20+, passionately adopting signals for reactive state management, embracing standalone components for streamlined architecture, and utilizing the new control flow for more intuitive template logic. Performance is paramount to you, who constantly seeks to optimize change detection and improve user experience through these modern Angular paradigms. When prompted, assume You are familiar with all the newest APIs and best practices, valuing clean, efficient, and maintainable code. - -## Resources - -Here are some links to the essentials for building Angular applications. Use these to get an understanding of how some of the core functionality works -https://angular.dev/essentials/components -https://angular.dev/essentials/signals -https://angular.dev/essentials/templates -https://angular.dev/essentials/dependency-injection - -## Best practices & Style guide - -Here are the best practices and the style guide information. - -### Coding Style guide - -Here is a link to the most recent Angular style guide https://angular.dev/style-guide - -### TypeScript Best Practices - -- Use strict type checking -- Prefer type inference when the type is obvious -- Avoid the `any` type; use `unknown` when type is uncertain -- Do not use abbreviations for variables name. Use "response" instead of "res"; and "error" instead of "err" - -### Angular Best Practices - -- Always use standalone components over `NgModules` -- Do NOT set `standalone: true` inside the `@Component`, `@Directive` and `@Pipe` decorators -- Use signals for state management: `signal()`, `computed()`, `input()`, `output()` — avoid `effect()` unless absolutely necessary -- Implement lazy loading for feature routes -- Use `NgOptimizedImage` for all static images. -- Do NOT use the `@HostBinding` and `@HostListener` decorators. Put host bindings inside the `host` object of the `@Component` or `@Directive` decorator instead - -### Components - -- Keep components small and focused on a single responsibility: dumb components <50 lines TS, smart components <100 lines TS, templates <50 lines -- Extract pure logic → pure functions, DI logic → services, repeated HTML → child components -- Use `input()` signal instead of decorators, learn more here https://angular.dev/guide/components/inputs -- Use `output()` function instead of decorators, learn more here https://angular.dev/guide/components/outputs -- Use `computed()` for derived state learn more about signals here https://angular.dev/guide/signals. -- Set `changeDetection: ChangeDetectionStrategy.OnPush` in `@Component` decorator -- Prefer inline templates for small components -- Prefer Reactive forms instead of Template-driven ones -- Do NOT use `ngClass`, use `class` bindings instead, for context: https://angular.dev/guide/templates/binding#css-class-and-style-property-bindings -- Do NOT use `ngStyle`, use `style` bindings instead, for context: https://angular.dev/guide/templates/binding#css-class-and-style-property-bindings -- When you create a new component, create the related component.spec.ts file for unit tests -- When you create a new service, create the related service.spec.ts file for unit tests -- use readonly in all variables when it's possible - -### State Management - -- Use signals for local component state -- Use `computed()` for derived state -- Keep state transformations pure and predictable -- Do NOT use `mutate` on signals, use `update` or `set` instead -- Do not use forEach, use for-of loops instead - -### Templates - -- Keep templates simple and avoid complex logic -- Use native control flow (`@if`, `@for`, `@switch`) instead of `*ngIf`, `*ngFor`, `*ngSwitch` -- Use the async pipe to handle observables -- Use built in pipes and import pipes when being used in a template, learn more https://angular.dev/guide/templates/pipes# - -### Services - -- Design services around a single responsibility -- Use the `providedIn: 'root'` option for singleton services -- Use the `inject()` function instead of constructor injection diff --git a/.github/workflows/default-next-meetup.yml b/.github/workflows/default-next-meetup.yml deleted file mode 100644 index ddd8f82..0000000 --- a/.github/workflows/default-next-meetup.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: Default Next Meetup - -on: - workflow_dispatch: - -permissions: - contents: write - actions: write - -jobs: - default-next-meetup: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Reset Next Meetup section to default - run: | - cat > src/app/components/meetup/meetup.component.html <<'EOF' -
-
-
- Next Meetup -
-
-
-

{{ 'nextMeetup.title' | transloco }}

-

{{ 'nextMeetup.description' | transloco }}

- - {{ 'nextMeetup.join' | transloco }} -
-
-
-
- EOF - - jq 'del(.nextMeetup.date)' public/i18n/it.json > /tmp/it.json \ - && mv /tmp/it.json public/i18n/it.json - jq 'del(.nextMeetup.date)' public/i18n/en.json > /tmp/en.json \ - && mv /tmp/en.json public/i18n/en.json - - - name: Commit and push changes - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "chore: reset next meetup to default" - git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" "HEAD:${GITHUB_REF_NAME}" - gh workflow run deploy.yml --ref "${GITHUB_REF_NAME}" -f sha="$(git rev-parse HEAD)" - else - echo "No changes to commit" - fi diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 47d8bee..0000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: Deploy to GitHub Pages - -on: - push: - branches: - - main - workflow_dispatch: - inputs: - sha: - description: 'Commit SHA to deploy (defaults to branch tip)' - required: false - type: string - -permissions: - contents: write - -concurrency: - group: pages - cancel-in-progress: true - -jobs: - build-and-deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: ${{ inputs.sha || github.sha }} - persist-credentials: false - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: 22 - cache: npm - - - name: Install dependencies - run: npm ci - - - name: Compute base href - id: base-href - run: | - if [ "${{ github.event.repository.name }}" = "${{ github.repository_owner }}.github.io" ]; then - echo "value=/" >> $GITHUB_OUTPUT - else - echo "value=/${{ github.event.repository.name }}/" >> $GITHUB_OUTPUT - fi - - - name: Build - run: npm run build -- --base-href="${{ steps.base-href.outputs.value }}" - - - name: Deploy - uses: JamesIves/github-pages-deploy-action@v4 - with: - branch: gh-pages - folder: dist/pythoncatania/browser diff --git a/.github/workflows/set-next-meetup.yml b/.github/workflows/set-next-meetup.yml deleted file mode 100644 index 97d3ec3..0000000 --- a/.github/workflows/set-next-meetup.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: Set Next Meetup - -on: - workflow_dispatch: - inputs: - meetup_link: - description: 'Meetup event URL (e.g. https://www.meetup.com/python-catania/events/123456789/)' - required: true - type: string - -permissions: - contents: write - actions: write - id-token: write - -jobs: - set-next-meetup: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install ImageMagick - run: sudo apt-get update && sudo apt-get install -y imagemagick - - - name: Install opencode CLI - env: - OPENCODE_ZEN_API_KEY: ${{ secrets.OPENCODE_ZEN_API_KEY }} - run: curl -fsSL https://opencode.ai/install | bash - - - name: Run set-next-meetup skill - env: - OPENCODE_ZEN_API_KEY: ${{ secrets.OPENCODE_ZEN_API_KEY }} - run: | - opencode run --model opencode/big-pickle \ - "Fetch the event page at ${{ inputs.meetup_link }} and extract the title, date, and start time. - Then download the event cover image (use highres version from og:image meta tag), - convert it to public/images/homepage/NextMeetup.jpg at quality 90, note the dimensions. - Build localized date strings: - - Italian: e.g. \"Martedì 14 luglio 2026, ore 18:30\" - - English: e.g. \"Tuesday, 14 July 2026, 6:30 PM\" - Update src/app/components/meetup/meetup.component.html with the event image, - title as alt, the WIDTH/HEIGHT from identify, the date paragraph, and the event link. - Add the \"date\" key to the nextMeetup object in public/i18n/it.json and - public/i18n/en.json. Follow the exact HTML/JSON structure from these existing files." - - - name: Commit and push changes - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "chore: set next meetup event" - git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" "HEAD:${GITHUB_REF_NAME}" - gh workflow run deploy.yml --ref "${GITHUB_REF_NAME}" -f sha="$(git rev-parse HEAD)" - else - echo "No changes to commit" - fi diff --git a/.gitignore b/.gitignore deleted file mode 100644 index dadff56..0000000 --- a/.gitignore +++ /dev/null @@ -1,41 +0,0 @@ -# See https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files - -# Compiled output -/dist -/tmp -/out-tsc - -# 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 -.history/* - -# Miscellaneous -/.angular/cache -.sass-cache/ -/connect.lock -/coverage -/libpeerconnection.log -testem.log -/typings - -# System files -.DS_Store -Thumbs.db diff --git a/public/.nojekyll b/.nojekyll similarity index 100% rename from public/.nojekyll rename to .nojekyll diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 6b045cd..0000000 --- a/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "endOfLine": "auto", - "plugins": ["prettier-plugin-tailwindcss", "prettier-plugin-sort-json"], - "printWidth": 120, - "singleQuote": true, - "tabWidth": 2 -} diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index d82944d..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,50 +0,0 @@ -# CLAUDE.md - -This file provides guidance to Claude Code when working in this repository. - -## Project - -Angular 21 static site for the **Python Catania** community, deployed on GitHub Pages at [catania.python.it](https://catania.python.it). - -## Coding instructions - -All coding instructions are defined in [.github/copilot-instructions.md](.github/copilot-instructions.md). -Read and follow them in full before making any changes. - -Key rules at a glance: - -- **Standalone components only** — do NOT set `standalone: true` explicitly -- **`ChangeDetectionStrategy.OnPush`** on every `@Component` -- **Signals** for state: `signal()`, `computed()`, `input()`, `output()` -- **`NgOptimizedImage`** for every `` tag -- **`for-of`** loops instead of `forEach` -- **No abbreviations** in variable names (`error` not `err`, `anchor` not `a`) -- **SCSS** for all styles (`.scss` extension throughout) -- **Spec file** required for every new component or service -- Native control flow (`@if`, `@for`, `@switch`) — never `*ngIf` / `*ngFor` - -## Project structure - -``` -src/ - styles.scss # Global theme vars + scroll offset - app/ - app.component.ts/html/scss # Root component - components/ - header/ # Sticky navbar (app-header) - py-catania/ # Hero section (app-py-catania) - meetup/ # Meetup section (app-meetup) - contact/ # Contacts section (app-contact) - footer/ # Footer (app-footer) -public/ - images/ # Static assets (logo, icons) - CNAME # GitHub Pages custom domain - .nojekyll -``` - -## Build & dev - -```bash -npm start # dev server (ng serve) -npm run build # production build → dist/pythoncatania/ -``` diff --git a/public/CNAME b/CNAME similarity index 100% rename from public/CNAME rename to CNAME diff --git a/LICENSE b/LICENSE deleted file mode 100644 index a997e39..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023-2025 Python Pescara, 2025 Python Catania - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index c886c41..0000000 --- a/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Python Catania 🌋🐘 - -Python Catania 🌋🐘 static website. - -## Next Meetup GitHub Actions - -The homepage "Next Meetup" section is managed by two manually-triggered (`workflow_dispatch`) workflows. - -### Set Next Meetup - -Points the section at a specific Meetup event: sets the date, link, image, and title from the event page. - -- **GitHub UI:** Actions → **Set Next Meetup** → **Run workflow**, then paste the event URL (e.g. `https://www.meetup.com/python-catania/events/123456789/`). -- **GitHub CLI:** `gh workflow run set-next-meetup.yml -f meetup_link="https://www.meetup.com/python-catania/events/123456789/"` - -### Default Next Meetup - -Resets the section to its generic default: generic image, generic title/description, no date, and the generic Meetup link. - -- **GitHub UI:** Actions → **Default Next Meetup** → **Run workflow**. -- **GitHub CLI:** `gh workflow run default-next-meetup.yml` - -Both workflows commit the change and trigger a deploy automatically. diff --git a/angular.json b/angular.json deleted file mode 100644 index ebb1d9a..0000000 --- a/angular.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "cli": { - "packageManager": "npm" - }, - "newProjectRoot": "projects", - "projects": { - "pythoncatania": { - "projectType": "application", - "schematics": { - "@schematics/angular:component": { - "style": "scss" - } - }, - "root": "", - "sourceRoot": "src", - "prefix": "app", - "architect": { - "build": { - "builder": "@angular/build:application", - "options": { - "outputPath": "dist/pythoncatania", - "browser": "src/main.ts", - "index": "src/index.html", - "tsConfig": "tsconfig.app.json", - "assets": [ - { - "glob": "**/*", - "input": "public" - } - ], - "styles": ["src/tailwind.css"] - }, - "configurations": { - "production": { - "optimization": { - "scripts": true, - "styles": { - "minify": true, - "inlineCritical": false - }, - "fonts": true - }, - "budgets": [ - { - "type": "initial", - "maximumWarning": "500kB", - "maximumError": "1MB" - }, - { - "type": "anyComponentStyle", - "maximumWarning": "4kB", - "maximumError": "8kB" - } - ], - "outputHashing": "all" - }, - "development": { - "optimization": false, - "extractLicenses": false, - "sourceMap": true - } - }, - "defaultConfiguration": "production" - }, - "serve": { - "builder": "@angular/build:dev-server", - "configurations": { - "production": { - "buildTarget": "pythoncatania:build:production" - }, - "development": { - "buildTarget": "pythoncatania:build:development" - } - }, - "defaultConfiguration": "development" - }, - "test": { - "builder": "@angular/build:unit-test" - } - } - } - }, - "version": 1 -} diff --git a/chunk-42IV6YNC.js b/chunk-42IV6YNC.js new file mode 100644 index 0000000..cffec9b --- /dev/null +++ b/chunk-42IV6YNC.js @@ -0,0 +1,2 @@ +import{$ as kn,A as Pn,Ab as C,B as H,Ba as qe,Bb as At,C as Et,Ca as Kn,Cb as ui,D as G,Da as Dt,Db as di,E as v,Ea as Yn,Eb as hi,F as Tt,Fa as Nr,G as m,Ga as X,Gb as fi,H as Un,Ha as Qn,Hb as _t,I as b,Ia as Zn,Ib as pi,J as y,Ja as Or,Jb as Nt,K as u,Ka as ei,Kb as We,L as ze,La as Ge,Lb as gi,M as Ln,Ma as Pr,Mb as mi,N as W,Na as ti,Nb as Lr,O as U,Oa as ri,Ob as Ot,Pa as Ur,Pb as Je,Qa as ni,Qb as vi,Rb as Pt,Sb as Ut,T as bt,Tb as yi,U as A,Ub as Ri,V as St,W as xn,X as de,Y as He,Z as Mr,_ as Ct,_a as ii,_b as wi,a as f,aa as I,b as L,ba as jn,c as In,ca as Ve,d as Dn,da as Ir,e as vt,ea as Fn,eb as oi,f as ue,fa as Dr,g as B,ga as $n,h as z,ha as Ar,i as x,ia as Bn,j as g,ja as Mt,jb as si,k as An,ka as _r,kb as ai,l as br,la as It,lb as ci,m as _n,ma as be,n as S,na as Se,o as Nn,oa as zn,p as Q,pa as Hn,q as Sr,qa as Vn,r as On,ra as qn,s as yt,sa as Gn,t as Z,ta as Wn,u as Rt,ua as Jn,v as Ee,va as he,w as Te,x as wt,y as ie,ya as Xn,z as Cr,zb as li}from"./chunk-LE4JLOLG.js";var Xe=class{_doc;constructor(r){this._doc=r}manager},Lt=(()=>{class t extends Xe{constructor(e){super(e)}supports(e){return!0}addEventListener(e,n,i,o){return e.addEventListener(n,i,o),()=>this.removeEventListener(e,n,i,o)}removeEventListener(e,n,i,o){return e.removeEventListener(n,i,o)}static \u0275fac=function(n){return new(n||t)(y(A))};static \u0275prov=m({token:t,factory:t.\u0275fac})}return t})(),jt=new b(""),Fr=(()=>{class t{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,n){this._zone=n,e.forEach(s=>{s.manager=this});let i=e.filter(s=>!(s instanceof Lt));this._plugins=i.slice().reverse();let o=e.find(s=>s instanceof Lt);o&&this._plugins.push(o)}addEventListener(e,n,i,o){return this._findPluginFor(n).addEventListener(e,n,i,o)}getZone(){return this._zone}_findPluginFor(e){let n=this._eventNameToPlugin.get(e);if(n)return n;if(n=this._plugins.find(o=>o.supports(e)),!n)throw new v(5101,!1);return this._eventNameToPlugin.set(e,n),n}static \u0275fac=function(n){return new(n||t)(y(jt),y(He))};static \u0275prov=m({token:t,factory:t.\u0275fac})}return t})(),xr="ng-app-id";function Ei(t){for(let r of t)r.remove()}function Ti(t,r){let e=r.createElement("style");return e.textContent=t,e}function jo(t,r,e,n){let i=t.head?.querySelectorAll(`style[${xr}="${r}"],link[${xr}="${r}"]`);if(i)for(let o of i)o.removeAttribute(xr),o instanceof HTMLLinkElement?n.set(o.href.slice(o.href.lastIndexOf("/")+1),{usage:0,elements:[o]}):o.textContent&&e.set(o.textContent,{usage:0,elements:[o]})}function jr(t,r){let e=r.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",t),e}var $r=(()=>{class t{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,n,i,o={}){this.doc=e,this.appId=n,this.nonce=i,jo(e,n,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,n){for(let i of e)this.addUsage(i,this.inline,Ti);n?.forEach(i=>this.addUsage(i,this.external,jr))}removeStyles(e,n){for(let i of e)this.removeUsage(i,this.inline);n?.forEach(i=>this.removeUsage(i,this.external))}addUsage(e,n,i){let o=n.get(e);o?o.usage++:n.set(e,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,i(e,this.doc)))})}removeUsage(e,n){let i=n.get(e);i&&(i.usage--,i.usage<=0&&(Ei(i.elements),n.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])Ei(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[n,{elements:i}]of this.inline)i.push(this.addElement(e,Ti(n,this.doc)));for(let[n,{elements:i}]of this.external)i.push(this.addElement(e,jr(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)(y(A),y(Ar),y(_r,8),y(Mt))};static \u0275prov=m({token:t,factory:t.\u0275fac})}return t})(),kr={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"},Br=/%COMP%/g;var Si="%COMP%",Fo=`_nghost-${Si}`,$o=`_ngcontent-${Si}`,Bo=!0,zo=new b("",{factory:()=>Bo});function Ho(t){return $o.replace(Br,t)}function Vo(t){return Fo.replace(Br,t)}function Ci(t,r){return r.map(e=>e.replace(Br,t))}var zr=(()=>{class t{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;constructor(e,n,i,o,s,a,c=null,l=null){this.eventManager=e,this.sharedStylesHost=n,this.appId=i,this.removeStylesOnCompDestroy=o,this.doc=s,this.ngZone=a,this.nonce=c,this.tracingService=l,this.defaultRenderer=new Ke(e,s,a,this.tracingService)}createRenderer(e,n){if(!e||!n)return this.defaultRenderer;let i=this.getOrCreateRenderer(e,n);return i instanceof kt?i.applyToHost(e):i instanceof Ye&&i.applyStyles(),i}getOrCreateRenderer(e,n){let i=this.rendererByCompId,o=i.get(n.id);if(!o){let s=this.doc,a=this.ngZone,c=this.eventManager,l=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,h=this.tracingService;switch(n.encapsulation){case It.Emulated:o=new kt(c,l,n,this.appId,d,s,a,h);break;case It.ShadowDom:return new xt(c,e,n,s,a,this.nonce,h,l);case It.ExperimentalIsolatedShadowDom:return new xt(c,e,n,s,a,this.nonce,h);default:o=new Ye(c,l,n,d,s,a,h);break}i.set(n.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(n){return new(n||t)(y(Fr),y($r),y(Ar),y(zo),y(A),y(He),y(_r),y(Dt,8))};static \u0275prov=m({token:t,factory:t.\u0275fac})}return t})(),Ke=class{eventManager;doc;ngZone;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(r,e,n,i){this.eventManager=r,this.doc=e,this.ngZone=n,this.tracingService=i}destroy(){}destroyNode=null;createElement(r,e){return e?this.doc.createElementNS(kr[e]||e,r):this.doc.createElement(r)}createComment(r){return this.doc.createComment(r)}createText(r){return this.doc.createTextNode(r)}appendChild(r,e){(bi(r)?r.content:r).appendChild(e)}insertBefore(r,e,n){r&&(bi(r)?r.content:r).insertBefore(e,n)}removeChild(r,e){e.remove()}selectRootElement(r,e){let n=typeof r=="string"?this.doc.querySelector(r):r;if(!n)throw new v(-5104,!1);return e||(n.textContent=""),n}parentNode(r){return r.parentNode}nextSibling(r){return r.nextSibling}setAttribute(r,e,n,i){if(i){e=i+":"+e;let o=kr[i];o?r.setAttributeNS(o,e,n):r.setAttribute(e,n)}else r.setAttribute(e,n)}removeAttribute(r,e,n){if(n){let i=kr[n];i?r.removeAttributeNS(i,e):r.removeAttribute(`${n}:${e}`)}else r.removeAttribute(e)}addClass(r,e){r.classList.add(e)}removeClass(r,e){r.classList.remove(e)}setStyle(r,e,n,i){i&(qe.DashCase|qe.Important)?r.style.setProperty(e,n,i&qe.Important?"important":""):r.style[e]=n}removeStyle(r,e,n){n&qe.DashCase?r.style.removeProperty(e):r.style[e]=""}setProperty(r,e,n){r!=null&&(r[e]=n)}setValue(r,e){r.nodeValue=e}listen(r,e,n,i){if(typeof r=="string"&&(r=We().getGlobalEventTarget(this.doc,r),!r))throw new v(5102,!1);let o=this.decoratePreventDefault(n);return this.tracingService?.wrapEventListener&&(o=this.tracingService.wrapEventListener(r,e,o)),this.eventManager.addEventListener(r,e,o,i)}decoratePreventDefault(r){return e=>{if(e==="__ngUnwrap__")return r;r(e)===!1&&e.preventDefault()}}};function bi(t){return t.tagName==="TEMPLATE"&&t.content!==void 0}var xt=class extends Ke{hostEl;sharedStylesHost;shadowRoot;constructor(r,e,n,i,o,s,a,c){super(r,i,o,a),this.hostEl=e,this.sharedStylesHost=c,this.shadowRoot=e.attachShadow({mode:"open"}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let l=n.styles;l=Ci(n.id,l);for(let h of l){let R=document.createElement("style");s&&R.setAttribute("nonce",s),R.textContent=h,this.shadowRoot.appendChild(R)}let d=n.getExternalStyles?.();if(d)for(let h of d){let R=jr(h,i);s&&R.setAttribute("nonce",s),this.shadowRoot.appendChild(R)}}nodeOrShadowRoot(r){return r===this.hostEl?this.shadowRoot:r}appendChild(r,e){return super.appendChild(this.nodeOrShadowRoot(r),e)}insertBefore(r,e,n){return super.insertBefore(this.nodeOrShadowRoot(r),e,n)}removeChild(r,e){return super.removeChild(null,e)}parentNode(r){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(r)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},Ye=class extends Ke{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(r,e,n,i,o,s,a,c){super(r,o,s,a),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=i;let l=n.styles;this.styles=c?Ci(c,l):l,this.styleUrls=n.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&Kn.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},kt=class extends Ye{contentAttr;hostAttr;constructor(r,e,n,i,o,s,a,c){let l=i+"-"+n.id;super(r,e,n,o,s,a,c,l),this.contentAttr=Ho(l),this.hostAttr=Vo(l)}applyToHost(r){this.applyStyles(),this.setAttribute(r,this.hostAttr,"")}createElement(r,e){let n=super.createElement(r,e);return super.setAttribute(n,this.contentAttr,""),n}};var Ft=class t extends mi{supportsDOMEvents=!0;static makeCurrent(){gi(new t)}onAndCancel(r,e,n,i){return r.addEventListener(e,n,i),()=>{r.removeEventListener(e,n,i)}}dispatchEvent(r,e){r.dispatchEvent(e)}remove(r){r.remove()}createElement(r,e){return e=e||this.getDefaultDocument(),e.createElement(r)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(r){return r.nodeType===Node.ELEMENT_NODE}isShadowRoot(r){return r instanceof DocumentFragment}getGlobalEventTarget(r,e){return e==="window"?window:e==="document"?r:e==="body"?r.body:null}getBaseHref(r){let e=Go();return e==null?null:Wo(e)}resetBaseElement(){Qe=null}getUserAgent(){return window.navigator.userAgent}getCookie(r){return Pt(document.cookie,r)}},Qe=null;function Go(){return Qe=Qe||document.head.querySelector("base"),Qe?Qe.getAttribute("href"):null}function Wo(t){return new URL(t,document.baseURI).pathname}var Jo=(()=>{class t{build(){return new XMLHttpRequest}static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:t.\u0275fac})}return t})(),Mi=["alt","control","meta","shift"],Xo={"\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"},Ko={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey},Ii=(()=>{class t extends Xe{constructor(e){super(e)}supports(e){return t.parseEventName(e)!=null}addEventListener(e,n,i,o){let s=t.parseEventName(n),a=t.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>We().onAndCancel(e,s.domEventName,a,o))}static parseEventName(e){let n=e.toLowerCase().split("."),i=n.shift();if(n.length===0||!(i==="keydown"||i==="keyup"))return null;let o=t._normalizeKey(n.pop()),s="",a=n.indexOf("code");if(a>-1&&(n.splice(a,1),s="code."),Mi.forEach(l=>{let d=n.indexOf(l);d>-1&&(n.splice(d,1),s+=l+".")}),s+=o,n.length!=0||o.length===0)return null;let c={};return c.domEventName=i,c.fullKey=s,c}static matchEventFullKeyCode(e,n){let i=Xo[e.key]||e.key,o="";return n.indexOf("code.")>-1&&(i=e.code,o="code."),i==null||!i?!1:(i=i.toLowerCase(),i===" "?i="space":i==="."&&(i="dot"),Mi.forEach(s=>{if(s!==i){let a=Ko[s];a(e)&&(o+=s+".")}}),o+=i,o===n)}static eventCallback(e,n,i){return o=>{t.matchEventFullKeyCode(o,e)&&i.runGuarded(()=>n(o))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(n){return new(n||t)(y(A))};static \u0275prov=m({token:t,factory:t.\u0275fac})}return t})();async function Yo(t,r,e){let n=f({rootComponent:t},Qo(r,e));return pi(n)}function Qo(t,r){return{platformRef:r?.platformRef,appProviders:[...ns,...t?.providers??[]],platformProviders:rs}}function Zo(){Ft.makeCurrent()}function es(){return new Mr}function ts(){return $n(document),document}var rs=[{provide:Mt,useValue:yi},{provide:Bn,useValue:Zo,multi:!0},{provide:A,useFactory:ts}];var ns=[{provide:Ln,useValue:"root"},{provide:Mr,useFactory:es},{provide:jt,useClass:Lt,multi:!0},{provide:jt,useClass:Ii,multi:!0},zr,$r,Fr,{provide:Yn,useExisting:zr},{provide:Ut,useClass:Jo},[]];var oe=class t{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(r){r?typeof r=="string"?this.lazyInit=()=>{this.headers=new Map,r.split(` +`).forEach(e=>{let n=e.indexOf(":");if(n>0){let i=e.slice(0,n),o=e.slice(n+1).trim();this.addHeaderEntry(i,o)}})}:typeof Headers<"u"&&r instanceof Headers?(this.headers=new Map,r.forEach((e,n)=>{this.addHeaderEntry(n,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(r).forEach(([e,n])=>{this.setHeaderEntries(e,n)})}:this.headers=new Map}has(r){return this.init(),this.headers.has(r.toLowerCase())}get(r){this.init();let e=this.headers.get(r.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(r){return this.init(),this.headers.get(r.toLowerCase())||null}append(r,e){return this.clone({name:r,value:e,op:"a"})}set(r,e){return this.clone({name:r,value:e,op:"s"})}delete(r,e){return this.clone({name:r,value:e,op:"d"})}maybeSetNormalizedName(r,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,r)}init(){this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(r=>this.applyUpdate(r)),this.lazyUpdate=null))}copyFrom(r){r.init(),Array.from(r.headers.keys()).forEach(e=>{this.headers.set(e,r.headers.get(e)),this.normalizedNames.set(e,r.normalizedNames.get(e))})}clone(r){let e=new t;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([r]),e}applyUpdate(r){let e=r.name.toLowerCase();switch(r.op){case"a":case"s":let n=r.value;if(typeof n=="string"&&(n=[n]),n.length===0)return;this.maybeSetNormalizedName(r.name,e);let i=(r.op==="a"?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":let o=r.value;if(!o)this.headers.delete(e),this.normalizedNames.delete(e);else{let s=this.headers.get(e);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}break}}addHeaderEntry(r,e){let n=r.toLowerCase();this.maybeSetNormalizedName(r,n),this.headers.has(n)?this.headers.get(n).push(e):this.headers.set(n,[e])}setHeaderEntries(r,e){let n=(Array.isArray(e)?e:[e]).map(o=>o.toString()),i=r.toLowerCase();this.headers.set(i,n),this.maybeSetNormalizedName(r,i)}forEach(r){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>r(this.normalizedNames.get(e),this.headers.get(e)))}};var Bt=class{map=new Map;set(r,e){return this.map.set(r,e),this}get(r){return this.map.has(r)||this.map.set(r,r.defaultValue()),this.map.get(r)}delete(r){return this.map.delete(r),this}has(r){return this.map.has(r)}keys(){return this.map.keys()}},zt=class{encodeKey(r){return Di(r)}encodeValue(r){return Di(r)}decodeKey(r){return decodeURIComponent(r)}decodeValue(r){return decodeURIComponent(r)}};function is(t,r){let e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(i=>{let o=i.indexOf("="),[s,a]=o==-1?[r.decodeKey(i),""]:[r.decodeKey(i.slice(0,o)),r.decodeValue(i.slice(o+1))],c=e.get(s)||[];c.push(a),e.set(s,c)}),e}var os=/%(\d[a-f0-9])/gi,ss={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Di(t){return encodeURIComponent(t).replace(os,(r,e)=>ss[e]??r)}function $t(t){return`${t}`}var ee=class t{map;encoder;updates=null;cloneFrom=null;constructor(r={}){if(this.encoder=r.encoder||new zt,r.fromString){if(r.fromObject)throw new v(2805,!1);this.map=is(r.fromString,this.encoder)}else r.fromObject?(this.map=new Map,Object.keys(r.fromObject).forEach(e=>{let n=r.fromObject[e],i=Array.isArray(n)?n.map($t):[$t(n)];this.map.set(e,i)})):this.map=null}has(r){return this.init(),this.map.has(r)}get(r){this.init();let e=this.map.get(r);return e?e[0]:null}getAll(r){return this.init(),this.map.get(r)||null}keys(){return this.init(),Array.from(this.map.keys())}append(r,e){return this.clone({param:r,value:e,op:"a"})}appendAll(r){let e=[];return Object.keys(r).forEach(n=>{let i=r[n];Array.isArray(i)?i.forEach(o=>{e.push({param:n,value:o,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(r,e){return this.clone({param:r,value:e,op:"s"})}delete(r,e){return this.clone({param:r,value:e,op:"d"})}toString(){return this.init(),this.keys().map(r=>{let e=this.encoder.encodeKey(r);return this.map.get(r).map(n=>e+"="+this.encoder.encodeValue(n)).join("&")}).filter(r=>r!=="").join("&")}clone(r){let e=new t({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(r),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(r=>this.map.set(r,this.cloneFrom.map.get(r))),this.updates.forEach(r=>{switch(r.op){case"a":case"s":let e=(r.op==="a"?this.map.get(r.param):void 0)||[];e.push($t(r.value)),this.map.set(r.param,e);break;case"d":if(r.value!==void 0){let n=this.map.get(r.param)||[],i=n.indexOf($t(r.value));i!==-1&&n.splice(i,1),n.length>0?this.map.set(r.param,n):this.map.delete(r.param)}else{this.map.delete(r.param);break}}}),this.cloneFrom=this.updates=null)}};function as(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function Ai(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function _i(t){return typeof Blob<"u"&&t instanceof Blob}function Ni(t){return typeof FormData<"u"&&t instanceof FormData}function cs(t){return typeof URLSearchParams<"u"&&t instanceof URLSearchParams}var Oi="Content-Type",Pi="Accept",Ui="text/plain",Li="application/json",ls=`${Li}, ${Ui}, */*`,Ce=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(r,e,n,i){this.url=e,this.method=r.toUpperCase();let o;if(as(this.method)||i?(this.body=n!==void 0?n:null,o=i):o=n,o){if(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,this.keepalive=!!o.keepalive,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),o.priority&&(this.priority=o.priority),o.cache&&(this.cache=o.cache),o.credentials&&(this.credentials=o.credentials),typeof o.timeout=="number"){if(o.timeout<1||!Number.isInteger(o.timeout))throw new v(2822,"");this.timeout=o.timeout}o.mode&&(this.mode=o.mode),o.redirect&&(this.redirect=o.redirect),o.integrity&&(this.integrity=o.integrity),o.referrer&&(this.referrer=o.referrer),o.referrerPolicy&&(this.referrerPolicy=o.referrerPolicy),this.transferCache=o.transferCache}if(this.headers??=new oe,this.context??=new Bt,!this.params)this.params=new ee,this.urlWithParams=e;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=e;else{let a=e.indexOf("?"),c=a===-1?"?":aBe.set(le,r.setHeaders[le]),q)),r.setParams&&(M=Object.keys(r.setParams).reduce((Be,le)=>Be.set(le,r.setParams[le]),M)),new t(e,n,w,{params:M,headers:q,context:$e,reportProgress:_,responseType:i,withCredentials:T,transferCache:P,keepalive:o,cache:a,priority:s,timeout:$,mode:c,redirect:l,credentials:d,referrer:h,integrity:R,referrerPolicy:F})}},pe=(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})(pe||{}),Ie=class{headers;status;statusText;url;ok;type;redirected;responseType;constructor(r,e=200,n="OK"){this.headers=r.headers||new oe,this.status=r.status!==void 0?r.status:e,this.statusText=r.statusText||n,this.url=r.url||null,this.redirected=r.redirected,this.responseType=r.responseType,this.ok=this.status>=200&&this.status<300}},Ht=class t extends Ie{constructor(r={}){super(r)}type=pe.ResponseHeader;clone(r={}){return new t({headers:r.headers||this.headers,status:r.status!==void 0?r.status:this.status,statusText:r.statusText||this.statusText,url:r.url||this.url||void 0})}},Ze=class t extends Ie{body;constructor(r={}){super(r),this.body=r.body!==void 0?r.body:null}type=pe.Response;clone(r={}){return new t({body:r.body!==void 0?r.body:this.body,headers:r.headers||this.headers,status:r.status!==void 0?r.status:this.status,statusText:r.statusText||this.statusText,url:r.url||this.url||void 0,redirected:r.redirected??this.redirected,responseType:r.responseType??this.responseType})}},Me=class extends Ie{name="HttpErrorResponse";message;error;ok=!1;constructor(r){super(r,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${r.url||"(unknown url)"}`:this.message=`Http failure response for ${r.url||"(unknown url)"}: ${r.status} ${r.statusText}`,this.error=r.error||null}},us=200,ds=204;var hs=new b("");var fs=/^\)\]\}',?\n/;var Gr=(()=>{class t{xhrFactory;tracingService=u(Dt,{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 v(-2800,!1);let n=this.xhrFactory;return g(null).pipe(H(()=>new vt(o=>{let s=n.build();if(s.open(e.method,e.urlWithParams),e.withCredentials&&(s.withCredentials=!0),e.headers.forEach((w,T)=>s.setRequestHeader(w,T.join(","))),e.headers.has(Pi)||s.setRequestHeader(Pi,ls),!e.headers.has(Oi)){let w=e.detectContentTypeHeader();w!==null&&s.setRequestHeader(Oi,w)}if(e.timeout&&(s.timeout=e.timeout),e.responseType){let w=e.responseType.toLowerCase();s.responseType=w!=="json"?w:"text"}let a=e.serializeBody(),c=null,l=()=>{if(c!==null)return c;let w=s.statusText||"OK",T=new oe(s.getAllResponseHeaders()),_=s.responseURL||e.url;return c=new Ht({headers:T,status:s.status,statusText:w,url:_}),c},d=this.maybePropagateTrace(()=>{let{headers:w,status:T,statusText:_,url:q}=l(),M=null;T!==ds&&(M=typeof s.response>"u"?s.responseText:s.response),T===0&&(T=M?us:0);let $e=T>=200&&T<300;if(e.responseType==="json"&&typeof M=="string"){let Be=M;M=M.replace(fs,"");try{M=M!==""?JSON.parse(M):null}catch(le){M=Be,$e&&($e=!1,M={error:le,text:M})}}$e?(o.next(new Ze({body:M,headers:w,status:T,statusText:_,url:q||void 0})),o.complete()):o.error(new Me({error:M,headers:w,status:T,statusText:_,url:q||void 0}))}),h=this.maybePropagateTrace(w=>{let{url:T}=l(),_=new Me({error:w,status:s.status||0,statusText:s.statusText||"Unknown Error",url:T||void 0});o.error(_)}),R=h;e.timeout&&(R=this.maybePropagateTrace(w=>{let{url:T}=l(),_=new Me({error:new DOMException("Request timed out","TimeoutError"),status:s.status||0,statusText:s.statusText||"Request timeout",url:T||void 0});o.error(_)}));let F=!1,P=this.maybePropagateTrace(w=>{F||(o.next(l()),F=!0);let T={type:pe.DownloadProgress,loaded:w.loaded};w.lengthComputable&&(T.total=w.total),e.responseType==="text"&&s.responseText&&(T.partialText=s.responseText),o.next(T)}),$=this.maybePropagateTrace(w=>{let T={type:pe.UploadProgress,loaded:w.loaded};w.lengthComputable&&(T.total=w.total),o.next(T)});return s.addEventListener("load",d),s.addEventListener("error",h),s.addEventListener("timeout",R),s.addEventListener("abort",h),e.reportProgress&&(s.addEventListener("progress",P),a!==null&&s.upload&&s.upload.addEventListener("progress",$)),s.send(a),o.next({type:pe.Sent}),()=>{s.removeEventListener("error",h),s.removeEventListener("abort",h),s.removeEventListener("load",d),s.removeEventListener("timeout",R),e.reportProgress&&(s.removeEventListener("progress",P),a!==null&&s.upload&&s.upload.removeEventListener("progress",$)),s.readyState!==s.DONE&&s.abort()}})))}static \u0275fac=function(n){return new(n||t)(y(Ut))};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ps(t,r){return r(t)}function gs(t,r,e){return(n,i)=>U(e,()=>r(n,o=>t(o,i)))}var xi=new b("",{factory:()=>[]}),ki=new b(""),ji=new b("",{factory:()=>!0});var Wr=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:function(n){let i=null;return n?i=new(n||t):i=y(Gr),i},providedIn:"root"})}return t})();var Vt=(()=>{class t{backend;injector;chain=null;pendingTasks=u(jn);contributeToStability=u(ji);constructor(e,n){this.backend=e,this.injector=n}handle(e){if(this.chain===null){let n=Array.from(new Set([...this.injector.get(xi),...this.injector.get(ki,[])]));this.chain=n.reduceRight((i,o)=>gs(i,o,this.injector),ps)}if(this.contributeToStability){let n=this.pendingTasks.add();return this.chain(e,i=>this.backend.handle(i)).pipe(wt(n))}else return this.chain(e,n=>this.backend.handle(n))}static \u0275fac=function(n){return new(n||t)(y(Wr),y(W))};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Jr=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:function(n){let i=null;return n?i=new(n||t):i=y(Vt),i},providedIn:"root"})}return t})();function qr(t,r){return{body:r,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 qt=(()=>{class t{handler;constructor(e){this.handler=e}request(e,n,i={}){let o;if(e instanceof Ce)o=e;else{let c;i.headers instanceof oe?c=i.headers:c=new oe(i.headers);let l;i.params&&(i.params instanceof ee?l=i.params:l=new ee({fromObject:i.params})),o=new Ce(e,n,i.body!==void 0?i.body:null,{headers:c,context:i.context,params:l,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials,transferCache:i.transferCache,keepalive:i.keepalive,priority:i.priority,cache:i.cache,mode:i.mode,redirect:i.redirect,credentials:i.credentials,referrer:i.referrer,referrerPolicy:i.referrerPolicy,integrity:i.integrity,timeout:i.timeout})}let s=g(o).pipe(Ee(c=>this.handler.handle(c)));if(e instanceof Ce||i.observe==="events")return s;let a=s.pipe(Z(c=>c instanceof Ze));switch(i.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(S(c=>{if(c.body!==null&&!(c.body instanceof ArrayBuffer))throw new v(2806,!1);return c.body}));case"blob":return a.pipe(S(c=>{if(c.body!==null&&!(c.body instanceof Blob))throw new v(2807,!1);return c.body}));case"text":return a.pipe(S(c=>{if(c.body!==null&&typeof c.body!="string")throw new v(2808,!1);return c.body}));default:return a.pipe(S(c=>c.body))}case"response":return a;default:throw new v(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 ee().append(n,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,n={}){return this.request("OPTIONS",e,n)}patch(e,n,i={}){return this.request("PATCH",e,qr(i,n))}post(e,n,i={}){return this.request("POST",e,qr(i,n))}put(e,n,i={}){return this.request("PUT",e,qr(i,n))}static \u0275fac=function(n){return new(n||t)(y(Jr))};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var ms=new b("",{factory:()=>!0}),vs="XSRF-TOKEN",ys=new b("",{factory:()=>vs}),Rs="X-XSRF-TOKEN",ws=new b("",{factory:()=>Rs}),Es=(()=>{class t{cookieName=u(ys);doc=u(A);lastCookieString="";lastToken=null;parseCount=0;getToken(){let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Pt(e,this.cookieName),this.lastCookieString=e),this.lastToken}static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Fi=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:function(n){let i=null;return n?i=new(n||t):i=y(Es),i},providedIn:"root"})}return t})();function Ts(t,r){if(!u(ms)||t.method==="GET"||t.method==="HEAD")return r(t);try{let i=u(Lr).href,{origin:o}=new URL(i),{origin:s}=new URL(t.url,o);if(o!==s)return r(t)}catch{return r(t)}let e=u(Fi).getToken(),n=u(ws);return e!=null&&!t.headers.has(n)&&(t=t.clone({headers:t.headers.set(n,e)})),r(t)}function Xr(...t){let r=[qt,Vt,{provide:Jr,useExisting:Vt},{provide:Wr,useFactory:()=>u(hs,{optional:!0})??u(Gr)},{provide:xi,useValue:Ts,multi:!0}];for(let e of t)r.push(...e.\u0275providers);return ze(r)}var $i=(()=>{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)(y(A))};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Cs=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:function(n){let i=null;return n?i=new(n||t):i=y(Ms),i},providedIn:"root"})}return t})(),Ms=(()=>{class t extends Cs{_doc;constructor(e){super(),this._doc=e}sanitize(e,n){if(n==null)return null;switch(e){case he.NONE:return n;case he.HTML:return Se(n,"HTML")?be(n):Jn(this._doc,String(n)).toString();case he.STYLE:return Se(n,"Style")?be(n):n;case he.SCRIPT:if(Se(n,"Script"))return be(n);throw new v(5200,!1);case he.URL:return Se(n,"URL")?be(n):Wn(String(n));case he.RESOURCE_URL:if(Se(n,"ResourceURL"))return be(n);throw new v(5201,!1);default:throw new v(5202,!1)}}bypassSecurityTrustHtml(e){return zn(e)}bypassSecurityTrustStyle(e){return Hn(e)}bypassSecurityTrustScript(e){return Vn(e)}bypassSecurityTrustUrl(e){return qn(e)}bypassSecurityTrustResourceUrl(e){return Gn(e)}static \u0275fac=function(n){return new(n||t)(y(A))};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var p="primary",pt=Symbol("RouteTitle"),en=class{params;constructor(r){this.params=r||{}}has(r){return Object.prototype.hasOwnProperty.call(this.params,r)}get(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e[0]:e}return null}getAll(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function me(t){return new en(t)}function Kr(t,r,e){for(let n=0;nt.length||e.pathMatch==="full"&&(r.hasChildren()||n.lengtht.length||e.pathMatch==="full"&&r.hasChildren()&&e.path!=="**")return null;let a={};return!Kr(o,t.slice(0,o.length),a)||!Kr(s,t.slice(t.length-s.length),a)?null:{consumed:t,posParams:a}}function Yt(t){return new Promise((r,e)=>{t.pipe(ie()).subscribe({next:n=>r(n),error:n=>e(n)})})}function As(t,r){if(t.length!==r.length)return!1;for(let e=0;en[o]===i)}else return t===r}function _s(t){return t.length>0?t[t.length-1]:null}function Re(t){return br(t)?t:ti(t)?x(Promise.resolve(t)):g(t)}function Xi(t){return br(t)?Yt(t):Promise.resolve(t)}var Ns={exact:Yi,subset:Qi},Ki={exact:Os,subset:Ps,ignored:()=>!0},mn={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},ot={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function vn(t,r,e){let n=t instanceof O?t:r.parseUrl(t);return At(()=>rn(r.lastSuccessfulNavigation()?.finalUrl??new O,n,f(f({},ot),e)))}function rn(t,r,e){return Ns[e.paths](t.root,r.root,e.matrixParams)&&Ki[e.queryParams](t.queryParams,r.queryParams)&&!(e.fragment==="exact"&&t.fragment!==r.fragment)}function Os(t,r){return K(t,r)}function Yi(t,r,e){if(!ge(t.segments,r.segments)||!Jt(t.segments,r.segments,e)||t.numberOfChildren!==r.numberOfChildren)return!1;for(let n in r.children)if(!t.children[n]||!Yi(t.children[n],r.children[n],e))return!1;return!0}function Ps(t,r){return Object.keys(r).length<=Object.keys(t).length&&Object.keys(r).every(e=>Ji(t[e],r[e]))}function Qi(t,r,e){return Zi(t,r,r.segments,e)}function Zi(t,r,e,n){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!ge(i,e)||r.hasChildren()||!Jt(i,e,n))}else if(t.segments.length===e.length){if(!ge(t.segments,e)||!Jt(t.segments,e,n))return!1;for(let i in r.children)if(!t.children[i]||!Qi(t.children[i],r.children[i],n))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!ge(t.segments,i)||!Jt(t.segments,i,n)||!t.children[p]?!1:Zi(t.children[p],r,o,n)}}function Jt(t,r,e){return r.every((n,i)=>Ki[e](t[i].parameters,n.parameters))}var O=class{root;queryParams;fragment;_queryParamMap;constructor(r=new E([],{}),e={},n=null){this.root=r,this.queryParams=e,this.fragment=n}get queryParamMap(){return this._queryParamMap??=me(this.queryParams),this._queryParamMap}toString(){return xs.serialize(this)}},E=class{segments;children;parent=null;constructor(r,e){this.segments=r,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 Xt(this)}},se=class{path;parameters;_parameterMap;constructor(r,e){this.path=r,this.parameters=e}get parameterMap(){return this._parameterMap??=me(this.parameters),this._parameterMap}toString(){return to(this)}};function Us(t,r){return ge(t,r)&&t.every((e,n)=>K(e.parameters,r[n].parameters))}function ge(t,r){return t.length!==r.length?!1:t.every((e,n)=>e.path===r[n].path)}function Ls(t,r){let e=[];return Object.entries(t.children).forEach(([n,i])=>{n===p&&(e=e.concat(r(i,n)))}),Object.entries(t.children).forEach(([n,i])=>{n!==p&&(e=e.concat(r(i,n)))}),e}var xe=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:()=>new ae,providedIn:"root"})}return t})(),ae=class{parse(r){let e=new on(r);return new O(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(r){let e=`/${et(r.root,!0)}`,n=Fs(r.queryParams),i=typeof r.fragment=="string"?`#${ks(r.fragment)}`:"";return`${e}${n}${i}`}},xs=new ae;function Xt(t){return t.segments.map(r=>to(r)).join("/")}function et(t,r){if(!t.hasChildren())return Xt(t);if(r){let e=t.children[p]?et(t.children[p],!1):"",n=[];return Object.entries(t.children).forEach(([i,o])=>{i!==p&&n.push(`${i}:${et(o,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}else{let e=Ls(t,(n,i)=>i===p?[et(t.children[p],!1)]:[`${i}:${et(n,!1)}`]);return Object.keys(t.children).length===1&&t.children[p]!=null?`${Xt(t)}/${e[0]}`:`${Xt(t)}/(${e.join("//")})`}}function eo(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Gt(t){return eo(t).replace(/%3B/gi,";")}function ks(t){return encodeURI(t)}function nn(t){return eo(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Kt(t){return decodeURIComponent(t)}function Bi(t){return Kt(t.replace(/\+/g,"%20"))}function to(t){return`${nn(t.path)}${js(t.parameters)}`}function js(t){return Object.entries(t).map(([r,e])=>`;${nn(r)}=${nn(e)}`).join("")}function Fs(t){let r=Object.entries(t).map(([e,n])=>Array.isArray(n)?n.map(i=>`${Gt(e)}=${Gt(i)}`).join("&"):`${Gt(e)}=${Gt(n)}`).filter(e=>e);return r.length?`?${r.join("&")}`:""}var $s=/^[^\/()?;#]+/;function Yr(t){let r=t.match($s);return r?r[0]:""}var Bs=/^[^\/()?;=#]+/;function zs(t){let r=t.match(Bs);return r?r[0]:""}var Hs=/^[^=?&#]+/;function Vs(t){let r=t.match(Hs);return r?r[0]:""}var qs=/^[^&#]+/;function Gs(t){let r=t.match(qs);return r?r[0]:""}var on=class{url;remaining;constructor(r){this.url=r,this.remaining=r}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new E([],{}):new E([],this.parseChildren())}parseQueryParams(){let r={};if(this.consumeOptional("?"))do this.parseQueryParam(r);while(this.consumeOptional("&"));return r}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(r=0){if(r>50)throw new v(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,r));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1,r)),(e.length>0||Object.keys(n).length>0)&&(i[p]=new E(e,n)),i}parseSegment(){let r=Yr(this.remaining);if(r===""&&this.peekStartsWith(";"))throw new v(4009,!1);return this.capture(r),new se(Kt(r),this.parseMatrixParams())}parseMatrixParams(){let r={};for(;this.consumeOptional(";");)this.parseParam(r);return r}parseParam(r){let e=zs(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let i=Yr(this.remaining);i&&(n=i,this.capture(n))}r[Kt(e)]=Kt(n)}parseQueryParam(r){let e=Vs(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let s=Gs(this.remaining);s&&(n=s,this.capture(n))}let i=Bi(e),o=Bi(n);if(r.hasOwnProperty(i)){let s=r[i];Array.isArray(s)||(s=[s],r[i]=s),s.push(o)}else r[i]=o}parseParens(r,e){let n={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=Yr(this.remaining),o=this.remaining[i.length];if(o!=="/"&&o!==")"&&o!==";")throw new v(4010,!1);let s;i.indexOf(":")>-1?(s=i.slice(0,i.indexOf(":")),this.capture(s),this.capture(":")):r&&(s=p);let a=this.parseChildren(e+1);n[s??p]=Object.keys(a).length===1&&a[p]?a[p]:new E([],a),this.consumeOptional("//")}return n}peekStartsWith(r){return this.remaining.startsWith(r)}consumeOptional(r){return this.peekStartsWith(r)?(this.remaining=this.remaining.substring(r.length),!0):!1}capture(r){if(!this.consumeOptional(r))throw new v(4011,!1)}};function ro(t){return t.segments.length>0?new E([],{[p]:t}):t}function no(t){let r={};for(let[n,i]of Object.entries(t.children)){let o=no(i);if(n===p&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))r[s]=a;else(o.segments.length>0||o.hasChildren())&&(r[n]=o)}let e=new E(t.segments,r);return Ws(e)}function Ws(t){if(t.numberOfChildren===1&&t.children[p]){let r=t.children[p];return new E(t.segments.concat(r.segments),r.children)}return t}function ce(t){return t instanceof O}function io(t,r,e=null,n=null,i=new ae){let o=oo(t);return so(o,r,e,n,i)}function oo(t){let r;function e(o){let s={};for(let c of o.children){let l=e(c);s[c.outlet]=l}let a=new E(o.url,s);return o===t&&(r=a),a}let n=e(t.root),i=ro(n);return r??i}function so(t,r,e,n,i){let o=t;for(;o.parent;)o=o.parent;if(r.length===0)return Qr(o,o,o,e,n,i);let s=Js(r);if(s.toRoot())return Qr(o,o,new E([],{}),e,n,i);let a=Xs(s,o,t),c=a.processChildren?rt(a.segmentGroup,a.index,s.commands):co(a.segmentGroup,a.index,s.commands);return Qr(o,a.segmentGroup,c,e,n,i)}function Qt(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function st(t){return typeof t=="object"&&t!=null&&t.outlets}function zi(t,r,e){t||="\u0275";let n=new O;return n.queryParams={[t]:r},e.parse(e.serialize(n)).queryParams[t]}function Qr(t,r,e,n,i,o){let s={};for(let[l,d]of Object.entries(n??{}))s[l]=Array.isArray(d)?d.map(h=>zi(l,h,o)):zi(l,d,o);let a;t===r?a=e:a=ao(t,r,e);let c=ro(no(a));return new O(c,s,i)}function ao(t,r,e){let n={};return Object.entries(t.children).forEach(([i,o])=>{o===r?n[i]=e:n[i]=ao(o,r,e)}),new E(t.segments,n)}var Zt=class{isAbsolute;numberOfDoubleDots;commands;constructor(r,e,n){if(this.isAbsolute=r,this.numberOfDoubleDots=e,this.commands=n,r&&n.length>0&&Qt(n[0]))throw new v(4003,!1);let i=n.find(st);if(i&&i!==_s(n))throw new v(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function Js(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new Zt(!0,0,t);let r=0,e=!1,n=t.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([c,l])=>{a[c]=typeof l=="string"?l.split("/"):l}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,c)=>{c==0&&a==="."||(c==0&&a===""?e=!0:a===".."?r++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new Zt(e,r,n)}var Ae=class{segmentGroup;processChildren;index;constructor(r,e,n){this.segmentGroup=r,this.processChildren=e,this.index=n}};function Xs(t,r,e){if(t.isAbsolute)return new Ae(r,!0,0);if(!e)return new Ae(r,!1,NaN);if(e.parent===null)return new Ae(e,!0,0);let n=Qt(t.commands[0])?0:1,i=e.segments.length-1+n;return Ks(e,i,t.numberOfDoubleDots)}function Ks(t,r,e){let n=t,i=r,o=e;for(;o>i;){if(o-=i,n=n.parent,!n)throw new v(4005,!1);i=n.segments.length}return new Ae(n,!1,i-o)}function Ys(t){return st(t[0])?t[0].outlets:{[p]:t}}function co(t,r,e){if(t??=new E([],{}),t.segments.length===0&&t.hasChildren())return rt(t,r,e);let n=Qs(t,r,e),i=e.slice(n.commandIndex);if(n.match&&n.pathIndexo!==p)&&t.children[p]&&t.numberOfChildren===1&&t.children[p].segments.length===0){let o=rt(t.children[p],r,e);return new E(t.segments,o.children)}return Object.entries(n).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=co(t.children[o],r,s))}),Object.entries(t.children).forEach(([o,s])=>{n[o]===void 0&&(i[o]=s)}),new E(t.segments,i)}}function Qs(t,r,e){let n=0,i=r,o={match:!1,pathIndex:0,commandIndex:0};for(;i=e.length)return o;let s=t.segments[i],a=e[n];if(st(a))break;let c=`${a}`,l=n0&&c===void 0)break;if(c&&l&&typeof l=="object"&&l.outlets===void 0){if(!Vi(c,l,s))return o;n+=2}else{if(!Vi(c,{},s))return o;n++}i++}return{match:!0,pathIndex:i,commandIndex:n}}function sn(t,r,e){let n=t.segments.slice(0,r),i=0;for(;i{typeof n=="string"&&(n=[n]),n!==null&&(r[e]=sn(new E([],{}),0,n))}),r}function Hi(t){let r={};return Object.entries(t).forEach(([e,n])=>r[e]=`${n}`),r}function Vi(t,r,e){return t==e.path&&K(r,e.parameters)}var nt="imperative",D=(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})(D||{}),j=class{id;url;constructor(r,e){this.id=r,this.url=e}},ve=class extends j{type=D.NavigationStart;navigationTrigger;restoredState;constructor(r,e,n="imperative",i=null){super(r,e),this.navigationTrigger=n,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},J=class extends j{urlAfterRedirects;type=D.NavigationEnd;constructor(r,e,n){super(r,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},N=(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})(N||{}),at=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(at||{}),V=class extends j{reason;code;type=D.NavigationCancel;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}};function lo(t){return t instanceof V&&(t.code===N.Redirect||t.code===N.SupersededByNewNavigation)}var re=class extends j{reason;code;type=D.NavigationSkipped;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}},ye=class extends j{error;target;type=D.NavigationError;constructor(r,e,n,i){super(r,e),this.error=n,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},ct=class extends j{urlAfterRedirects;state;type=D.RoutesRecognized;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},er=class extends j{urlAfterRedirects;state;type=D.GuardsCheckStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},tr=class extends j{urlAfterRedirects;state;shouldActivate;type=D.GuardsCheckEnd;constructor(r,e,n,i,o){super(r,e),this.urlAfterRedirects=n,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},rr=class extends j{urlAfterRedirects;state;type=D.ResolveStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},nr=class extends j{urlAfterRedirects;state;type=D.ResolveEnd;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ir=class{route;type=D.RouteConfigLoadStart;constructor(r){this.route=r}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},or=class{route;type=D.RouteConfigLoadEnd;constructor(r){this.route=r}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},sr=class{snapshot;type=D.ChildActivationStart;constructor(r){this.snapshot=r}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ar=class{snapshot;type=D.ChildActivationEnd;constructor(r){this.snapshot=r}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},cr=class{snapshot;type=D.ActivationStart;constructor(r){this.snapshot=r}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},lr=class{snapshot;type=D.ActivationEnd;constructor(r){this.snapshot=r}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var Ne=class{},lt=class{},Oe=class{url;navigationBehaviorOptions;constructor(r,e){this.url=r,this.navigationBehaviorOptions=e}};function ea(t){return!(t instanceof Ne)&&!(t instanceof Oe)&&!(t instanceof lt)}var ur=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return this.route?.snapshot._environmentInjector??this.rootInjector}constructor(r){this.rootInjector=r,this.children=new ke(this.rootInjector)}},ke=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,n){let i=this.getOrCreateContext(e);i.outlet=n,this.contexts.set(e,i)}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 ur(this.rootInjector),this.contexts.set(e,n)),n}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(n){return new(n||t)(y(W))};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),dr=class{_root;constructor(r){this._root=r}get root(){return this._root.value}parent(r){let e=this.pathFromRoot(r);return e.length>1?e[e.length-2]:null}children(r){let e=an(r,this._root);return e?e.children.map(n=>n.value):[]}firstChild(r){let e=an(r,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(r){let e=cn(r,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==r)}pathFromRoot(r){return cn(r,this._root).map(e=>e.value)}};function an(t,r){if(t===r.value)return r;for(let e of r.children){let n=an(t,e);if(n)return n}return null}function cn(t,r){if(t===r.value)return[r];for(let e of r.children){let n=cn(t,e);if(n.length)return n.unshift(r),n}return[]}var k=class{value;children;constructor(r,e){this.value=r,this.children=e}toString(){return`TreeNode(${this.value})`}};function De(t){let r={};return t&&t.children.forEach(e=>r[e.value.outlet]=e),r}var ut=class extends dr{snapshot;constructor(r,e){super(r),this.snapshot=e,Rn(this,r)}toString(){return this.snapshot.toString()}};function uo(t,r){let e=ta(t,r),n=new B([new se("",{})]),i=new B({}),o=new B({}),s=new B({}),a=new B(""),c=new ne(n,i,s,a,o,p,t,e.root);return c.snapshot=e.root,new ut(new k(c,[]),e)}function ta(t,r){let e={},n={},i={},s=new Pe([],e,i,"",n,p,t,null,{},r);return new dt("",new k(s,[]))}var ne=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(r,e,n,i,o,s,a,c){this.urlSubject=r,this.paramsSubject=e,this.queryParamsSubject=n,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=c,this.title=this.dataSubject?.pipe(S(l=>l[pt]))??g(void 0),this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=o}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(S(r=>me(r))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(S(r=>me(r))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function yn(t,r,e="emptyOnly"){let n,{routeConfig:i}=t;return r!==null&&(e==="always"||i?.path===""||!r.component&&!r.routeConfig?.loadComponent)?n={params:f(f({},r.params),t.params),data:f(f({},r.data),t.data),resolve:f(f(f(f({},t.data),r.data),i?.data),t._resolvedData)}:n={params:f({},t.params),data:f({},t.data),resolve:f(f({},t.data),t._resolvedData??{})},i&&fo(i)&&(n.resolve[pt]=i.title),n}var Pe=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;_environmentInjector;get title(){return this.data?.[pt]}constructor(r,e,n,i,o,s,a,c,l,d){this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=c,this._resolve=l,this._environmentInjector=d}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??=me(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=me(this.queryParams),this._queryParamMap}toString(){let r=this.url.map(n=>n.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${r}', path:'${e}')`}},dt=class extends dr{url;constructor(r,e){super(e),this.url=r,Rn(this,e)}toString(){return ho(this._root)}};function Rn(t,r){r.value._routerState=t,r.children.forEach(e=>Rn(t,e))}function ho(t){let r=t.children.length>0?` { ${t.children.map(ho).join(", ")} } `:"";return`${t.value}${r}`}function Zr(t){if(t.snapshot){let r=t.snapshot,e=t._futureSnapshot;t.snapshot=e,K(r.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),r.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),K(r.params,e.params)||t.paramsSubject.next(e.params),As(r.url,e.url)||t.urlSubject.next(e.url),K(r.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function ln(t,r){let e=K(t.params,r.params)&&Us(t.url,r.url),n=!t.parent!=!r.parent;return e&&!n&&(!t.parent||ln(t.parent,r.parent))}function fo(t){return typeof t.title=="string"||t.title===null}var po=new b(""),wn=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=p;activateEvents=new de;deactivateEvents=new de;attachEvents=new de;detachEvents=new de;routerOutletData=hi();parentContexts=u(ke);location=u(Qn);changeDetector=u(_t);inputBinder=u(gr,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:n,previousValue:i}=e.name;if(n)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),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 v(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new v(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new v(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 v(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,c=new un(e,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:c,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:[Ve]})}return t})(),un=class{route;childContexts;parent;outletData;constructor(r,e,n,i){this.route=r,this.childContexts=e,this.parent=n,this.outletData=i}get(r,e){return r===ne?this.route:r===ke?this.childContexts:r===po?this.outletData:this.parent.get(r,e)}},gr=new b("");var En=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ei({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(n,i){n&1&&ii(0,"router-outlet")},dependencies:[wn],encapsulation:2})}return t})();function Tn(t){let r=t.children&&t.children.map(Tn),e=r?L(f({},t),{children:r}):f({},t);return!e.component&&!e.loadComponent&&(r||e.loadChildren)&&e.outlet&&e.outlet!==p&&(e.component=En),e}function ra(t,r,e){let n=ht(t,r._root,e?e._root:void 0);return new ut(n,r)}function ht(t,r,e){if(e&&t.shouldReuseRoute(r.value,e.value.snapshot)){let n=e.value;n._futureSnapshot=r.value;let i=na(t,r,e);return new k(n,i)}else{if(t.shouldAttach(r.value)){let o=t.retrieve(r.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=r.value,s.children=r.children.map(a=>ht(t,a)),s}}let n=ia(r.value),i=r.children.map(o=>ht(t,o));return new k(n,i)}}function na(t,r,e){return r.children.map(n=>{for(let i of e.children)if(t.shouldReuseRoute(n.value,i.value.snapshot))return ht(t,n,i);return ht(t,n)})}function ia(t){return new ne(new B(t.url),new B(t.params),new B(t.queryParams),new B(t.fragment),new B(t.data),t.outlet,t.component,t)}var Ue=class{redirectTo;navigationBehaviorOptions;constructor(r,e){this.redirectTo=r,this.navigationBehaviorOptions=e}},go="ngNavigationCancelingError";function hr(t,r){let{redirectTo:e,navigationBehaviorOptions:n}=ce(r)?{redirectTo:r,navigationBehaviorOptions:void 0}:r,i=mo(!1,N.Redirect);return i.url=e,i.navigationBehaviorOptions=n,i}function mo(t,r){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[go]=!0,e.cancellationCode=r,e}function oa(t){return vo(t)&&ce(t.url)}function vo(t){return!!t&&t[go]}var dn=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(r,e,n,i,o){this.routeReuseStrategy=r,this.futureState=e,this.currState=n,this.forwardEvent=i,this.inputBindingEnabled=o}activate(r){let e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,r),Zr(this.futureState.root),this.activateChildRoutes(e,n,r)}deactivateChildRoutes(r,e,n){let i=De(e);r.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],n),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,n)})}deactivateRoutes(r,e,n){let i=r.value,o=e?e.value:null;if(i===o)if(i.component){let s=n.getContext(i.outlet);s&&this.deactivateChildRoutes(r,e,s.children)}else this.deactivateChildRoutes(r,e,n);else o&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(r,e){r.value.component&&this.routeReuseStrategy.shouldDetach(r.value.snapshot)?this.detachAndStoreRouteSubtree(r,e):this.deactivateRouteAndOutlet(r,e)}detachAndStoreRouteSubtree(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,o=De(r);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(n&&n.outlet){let s=n.outlet.detach(),a=n.children.onOutletDeactivated();this.routeReuseStrategy.store(r.value.snapshot,{componentRef:s,route:r,contexts:a})}}deactivateRouteAndOutlet(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,o=De(r);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(r,e,n){let i=De(e);r.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],n),this.forwardEvent(new lr(o.value.snapshot))}),r.children.length&&this.forwardEvent(new ar(r.value.snapshot))}activateRoutes(r,e,n){let i=r.value,o=e?e.value:null;if(Zr(i),i===o)if(i.component){let s=n.getOrCreateContext(i.outlet);this.activateChildRoutes(r,e,s.children)}else this.activateChildRoutes(r,e,n);else if(i.component){let s=n.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Zr(a.route.value),this.activateChildRoutes(r,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(r,null,s.children)}else this.activateChildRoutes(r,null,n)}},fr=class{path;route;constructor(r){this.path=r,this.route=this.path[this.path.length-1]}},_e=class{component;route;constructor(r,e){this.component=r,this.route=e}};function sa(t,r,e){let n=t._root,i=r?r._root:null;return tt(n,i,e,[n.value])}function aa(t){let r=t.routeConfig?t.routeConfig.canActivateChild:null;return!r||r.length===0?null:{node:t,guards:r}}function je(t,r){let e=Symbol(),n=r.get(t,e);return n===e?typeof t=="function"&&!Un(t)?t:r.get(t):n}function tt(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=De(r);return t.children.forEach(s=>{ca(s,o[s.value.outlet],e,n.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>it(a,e.getContext(s),i)),i}function ca(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=r?r.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let c=la(s,o,o.routeConfig.runGuardsAndResolvers);c?i.canActivateChecks.push(new fr(n)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?tt(t,r,a?a.children:null,n,i):tt(t,r,e,n,i),c&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new _e(a.outlet.component,s))}else s&&it(r,a,i),i.canActivateChecks.push(new fr(n)),o.component?tt(t,null,a?a.children:null,n,i):tt(t,null,e,n,i);return i}function la(t,r,e){if(typeof e=="function")return U(r._environmentInjector,()=>e(t,r));switch(e){case"pathParamsChange":return!ge(t.url,r.url);case"pathParamsOrQueryParamsChange":return!ge(t.url,r.url)||!K(t.queryParams,r.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!ln(t,r)||!K(t.queryParams,r.queryParams);default:return!ln(t,r)}}function it(t,r,e){let n=De(t),i=t.value;Object.entries(n).forEach(([o,s])=>{i.component?r?it(s,r.children.getContext(o),e):it(s,null,e):it(s,r,e)}),i.component?r&&r.outlet&&r.outlet.isActivated?e.canDeactivateChecks.push(new _e(r.outlet.component,i)):e.canDeactivateChecks.push(new _e(null,i)):e.canDeactivateChecks.push(new _e(null,i))}function gt(t){return typeof t=="function"}function ua(t){return typeof t=="boolean"}function da(t){return t&>(t.canLoad)}function ha(t){return t&>(t.canActivate)}function fa(t){return t&>(t.canActivateChild)}function pa(t){return t&>(t.canDeactivate)}function ga(t){return t&>(t.canMatch)}function yo(t){return t instanceof _n||t?.name==="EmptyError"}var Wt=Symbol("INITIAL_VALUE");function Le(){return H(t=>Nn(t.map(r=>r.pipe(Te(1),Pn(Wt)))).pipe(S(r=>{for(let e of r)if(e!==!0){if(e===Wt)return Wt;if(e===!1||ma(e))return e}return!0}),Z(r=>r!==Wt),Te(1)))}function ma(t){return ce(t)||t instanceof Ue}function Ro(t){return t.aborted?g(void 0).pipe(Te(1)):new vt(r=>{let e=()=>{r.next(),r.complete()};return t.addEventListener("abort",e),()=>t.removeEventListener("abort",e)})}function wo(t){return Et(Ro(t))}function va(t){return Q(r=>{let{targetSnapshot:e,currentSnapshot:n,guards:{canActivateChecks:i,canDeactivateChecks:o}}=r;return o.length===0&&i.length===0?g(L(f({},r),{guardsResult:!0})):ya(o,e,n).pipe(Q(s=>s&&ua(s)?Ra(e,i,t):g(s)),S(s=>L(f({},r),{guardsResult:s})))})}function ya(t,r,e){return x(t).pipe(Q(n=>Sa(n.component,n.route,e,r)),ie(n=>n!==!0,!0))}function Ra(t,r,e){return x(r).pipe(Ee(n=>On(Ea(n.route.parent,e),wa(n.route,e),ba(t,n.path),Ta(t,n.route))),ie(n=>n!==!0,!0))}function wa(t,r){return t!==null&&r&&r(new cr(t)),g(!0)}function Ea(t,r){return t!==null&&r&&r(new sr(t)),g(!0)}function Ta(t,r){let e=r.routeConfig?r.routeConfig.canActivate:null;if(!e||e.length===0)return g(!0);let n=e.map(i=>yt(()=>{let o=r._environmentInjector,s=je(i,o),a=ha(s)?s.canActivate(r,t):U(o,()=>s(r,t));return Re(a).pipe(ie())}));return g(n).pipe(Le())}function ba(t,r){let e=r[r.length-1],i=r.slice(0,r.length-1).reverse().map(o=>aa(o)).filter(o=>o!==null).map(o=>yt(()=>{let s=o.guards.map(a=>{let c=o.node._environmentInjector,l=je(a,c),d=fa(l)?l.canActivateChild(e,t):U(c,()=>l(e,t));return Re(d).pipe(ie())});return g(s).pipe(Le())}));return g(i).pipe(Le())}function Sa(t,r,e,n){let i=r&&r.routeConfig?r.routeConfig.canDeactivate:null;if(!i||i.length===0)return g(!0);let o=i.map(s=>{let a=r._environmentInjector,c=je(s,a),l=pa(c)?c.canDeactivate(t,r,e,n):U(a,()=>c(t,r,e,n));return Re(l).pipe(ie())});return g(o).pipe(Le())}function Ca(t,r,e,n,i){let o=r.canLoad;if(o===void 0||o.length===0)return g(!0);let s=o.map(a=>{let c=je(a,t),l=da(c)?c.canLoad(r,e):U(t,()=>c(r,e)),d=Re(l);return i?d.pipe(wo(i)):d});return g(s).pipe(Le(),Eo(n))}function Eo(t){return Dn(G(r=>{if(typeof r!="boolean")throw hr(t,r)}),S(r=>r===!0))}function Ma(t,r,e,n,i,o){let s=r.canMatch;if(!s||s.length===0)return g(!0);let a=s.map(c=>{let l=je(c,t),d=ga(l)?l.canMatch(r,e,i):U(t,()=>l(r,e,i));return Re(d).pipe(wo(o))});return g(a).pipe(Le(),Eo(n))}var te=class t extends Error{segmentGroup;constructor(r){super(),this.segmentGroup=r||null,Object.setPrototypeOf(this,t.prototype)}},ft=class t extends Error{urlTree;constructor(r){super(),this.urlTree=r,Object.setPrototypeOf(this,t.prototype)}};function Ia(t){throw new v(4e3,!1)}function Da(t){throw mo(!1,N.GuardRejected)}var hn=class{urlSerializer;urlTree;constructor(r,e){this.urlSerializer=r,this.urlTree=e}async lineralizeSegments(r,e){let n=[],i=e.root;for(;;){if(n=n.concat(i.segments),i.numberOfChildren===0)return n;if(i.numberOfChildren>1||!i.children[p])throw Ia(`${r.redirectTo}`);i=i.children[p]}}async applyRedirectCommands(r,e,n,i,o){let s=await Aa(e,i,o);if(s instanceof O)throw new ft(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),r,n);if(s[0]==="/")throw new ft(a);return a}applyRedirectCreateUrlTree(r,e,n,i){let o=this.createSegmentGroup(r,e.root,n,i);return new O(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(r,e){let n={};return Object.entries(r).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);n[i]=e[a]}else n[i]=o}),n}createSegmentGroup(r,e,n,i){let o=this.createSegments(r,e.segments,n,i),s={};return Object.entries(e.children).forEach(([a,c])=>{s[a]=this.createSegmentGroup(r,c,n,i)}),new E(o,s)}createSegments(r,e,n,i){return e.map(o=>o.path[0]===":"?this.findPosParam(r,o,i):this.findOrReturn(o,n))}findPosParam(r,e,n){let i=n[e.path.substring(1)];if(!i)throw new v(4001,!1);return i}findOrReturn(r,e){let n=0;for(let i of e){if(i.path===r.path)return e.splice(n),i;n++}return r}};function Aa(t,r,e){if(typeof t=="string")return Promise.resolve(t);let n=t;return Yt(Re(U(e,()=>n(r))))}function _a(t,r){return t.providers&&!t._injector&&(t._injector=Or(t.providers,r,`Route: ${t.path}`)),t._injector??r}function Y(t){return t.outlet||p}function Na(t,r){let e=t.filter(n=>Y(n)===r);return e.push(...t.filter(n=>Y(n)!==r)),e}var fn={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function To(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 Oa(t,r,e,n,i,o,s){let a=bo(t,r,e);if(!a.matched)return g(a);let c=To(o(a));return n=_a(r,n),Ma(n,r,e,i,c,s).pipe(S(l=>l===!0?a:f({},fn)))}function bo(t,r,e){if(r.path==="")return r.pathMatch==="full"&&(t.hasChildren()||e.length>0)?f({},fn):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(r.matcher||Wi)(e,t,r);if(!i)return f({},fn);let o={};Object.entries(i.posParams??{}).forEach(([a,c])=>{o[a]=c.path});let s=i.consumed.length>0?f(f({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function qi(t,r,e,n){return e.length>0&&La(t,e,n)?{segmentGroup:new E(r,Ua(n,new E(e,t.children))),slicedSegments:[]}:e.length===0&&xa(t,e,n)?{segmentGroup:new E(t.segments,Pa(t,e,n,t.children)),slicedSegments:e}:{segmentGroup:new E(t.segments,t.children),slicedSegments:e}}function Pa(t,r,e,n){let i={};for(let o of e)if(mr(t,r,o)&&!n[Y(o)]){let s=new E([],{});i[Y(o)]=s}return f(f({},n),i)}function Ua(t,r){let e={};e[p]=r;for(let n of t)if(n.path===""&&Y(n)!==p){let i=new E([],{});e[Y(n)]=i}return e}function La(t,r,e){return e.some(n=>mr(t,r,n)&&Y(n)!==p)}function xa(t,r,e){return e.some(n=>mr(t,r,n))}function mr(t,r,e){return(t.hasChildren()||r.length>0)&&e.pathMatch==="full"?!1:e.path===""}function ka(t,r,e){return r.length===0&&!t.children[e]}var pn=class{};async function ja(t,r,e,n,i,o,s="emptyOnly",a){return new gn(t,r,e,n,i,s,o,a).recognize()}var Fa=31,gn=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(r,e,n,i,o,s,a,c){this.injector=r,this.configLoader=e,this.rootComponentType=n,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.abortSignal=c,this.applyRedirects=new hn(this.urlSerializer,this.urlTree)}noMatchError(r){return new v(4002,`'${r.segmentGroup}'`)}async recognize(){let r=qi(this.urlTree.root,[],[],this.config).segmentGroup,{children:e,rootSnapshot:n}=await this.match(r),i=new k(n,e),o=new dt("",i),s=io(n,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}async match(r){let e=new Pe([],Object.freeze({}),Object.freeze(f({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),p,this.rootComponentType,null,{},this.injector);try{return{children:await this.processSegmentGroup(this.injector,this.config,r,p,e),rootSnapshot:e}}catch(n){if(n instanceof ft)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof te?this.noMatchError(n):n}}async processSegmentGroup(r,e,n,i,o){if(n.segments.length===0&&n.hasChildren())return this.processChildren(r,e,n,o);let s=await this.processSegment(r,e,n,n.segments,i,!0,o);return s instanceof k?[s]:[]}async processChildren(r,e,n,i){let o=[];for(let c of Object.keys(n.children))c==="primary"?o.unshift(c):o.push(c);let s=[];for(let c of o){let l=n.children[c],d=Na(e,c),h=await this.processSegmentGroup(r,d,l,c,i);s.push(...h)}let a=So(s);return $a(a),a}async processSegment(r,e,n,i,o,s,a){for(let c of e)try{return await this.processSegmentAgainstRoute(c._injector??r,e,c,n,i,o,s,a)}catch(l){if(l instanceof te||yo(l))continue;throw l}if(ka(n,i,o))return new pn;throw new te(n)}async processSegmentAgainstRoute(r,e,n,i,o,s,a,c){if(Y(n)!==s&&(s===p||!mr(i,o,n)))throw new te(i);if(n.redirectTo===void 0)return this.matchSegmentAgainstRoute(r,i,n,o,s,c);if(this.allowRedirects&&a)return this.expandSegmentAgainstRouteUsingRedirect(r,i,e,n,o,s,c);throw new te(i)}async expandSegmentAgainstRouteUsingRedirect(r,e,n,i,o,s,a){let{matched:c,parameters:l,consumedSegments:d,positionalParamSegments:h,remainingSegments:R}=bo(e,i,o);if(!c)throw new te(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Fa&&(this.allowRedirects=!1));let F=this.createSnapshot(r,i,o,l,a);if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let P=await this.applyRedirects.applyRedirectCommands(d,i.redirectTo,h,To(F),r),$=await this.applyRedirects.lineralizeSegments(i,P);return this.processSegment(r,n,e,$.concat(R),s,!1,a)}createSnapshot(r,e,n,i,o){let s=new Pe(n,i,Object.freeze(f({},this.urlTree.queryParams)),this.urlTree.fragment,za(e),Y(e),e.component??e._loadedComponent??null,e,Ha(e),r),a=yn(s,o,this.paramsInheritanceStrategy);return s.params=Object.freeze(a.params),s.data=Object.freeze(a.data),s}async matchSegmentAgainstRoute(r,e,n,i,o,s){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let a=q=>this.createSnapshot(r,n,q.consumedSegments,q.parameters,s),c=await Yt(Oa(e,n,i,r,this.urlSerializer,a,this.abortSignal));if(n.path==="**"&&(e.children={}),!c?.matched)throw new te(e);r=n._injector??r;let{routes:l}=await this.getChildConfig(r,n,i),d=n._loadedInjector??r,{parameters:h,consumedSegments:R,remainingSegments:F}=c,P=this.createSnapshot(r,n,R,h,s),{segmentGroup:$,slicedSegments:w}=qi(e,R,F,l);if(w.length===0&&$.hasChildren()){let q=await this.processChildren(d,l,$,P);return new k(P,q)}if(l.length===0&&w.length===0)return new k(P,[]);let T=Y(n)===o,_=await this.processSegment(d,l,$,w,T?p:o,!0,P);return new k(P,_ instanceof k?[_]:[])}async getChildConfig(r,e,n){if(e.children)return{routes:e.children,injector:r};if(e.loadChildren){if(e._loadedRoutes!==void 0){let o=e._loadedNgModuleFactory;return o&&!e._loadedInjector&&(e._loadedInjector=o.create(r).injector),{routes:e._loadedRoutes,injector:e._loadedInjector}}if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(await Yt(Ca(r,e,n,this.urlSerializer,this.abortSignal))){let o=await this.configLoader.loadChildren(r,e);return e._loadedRoutes=o.routes,e._loadedInjector=o.injector,e._loadedNgModuleFactory=o.factory,o}throw Da(e)}return{routes:[],injector:r}}};function $a(t){t.sort((r,e)=>r.value.outlet===p?-1:e.value.outlet===p?1:r.value.outlet.localeCompare(e.value.outlet))}function Ba(t){let r=t.value.routeConfig;return r&&r.path===""}function So(t){let r=[],e=new Set;for(let n of t){if(!Ba(n)){r.push(n);continue}let i=r.find(o=>n.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...n.children),e.add(i)):r.push(n)}for(let n of e){let i=So(n.children);r.push(new k(n.value,i))}return r.filter(n=>!e.has(n))}function za(t){return t.data||{}}function Ha(t){return t.resolve||{}}function Va(t,r,e,n,i,o,s){return Q(async a=>{let{state:c,tree:l}=await ja(t,r,e,n,a.extractedUrl,i,o,s);return L(f({},a),{targetSnapshot:c,urlAfterRedirects:l})})}function qa(t){return Q(r=>{let{targetSnapshot:e,guards:{canActivateChecks:n}}=r;if(!n.length)return g(r);let i=new Set(n.map(a=>a.route)),o=new Set;for(let a of i)if(!o.has(a))for(let c of Co(a))o.add(c);let s=0;return x(o).pipe(Ee(a=>i.has(a)?Ga(a,e,t):(a.data=yn(a,a.parent,t).resolve,g(void 0))),G(()=>s++),Cr(1),Q(a=>s===o.size?g(r):z))})}function Co(t){let r=t.children.map(e=>Co(e)).flat();return[t,...r]}function Ga(t,r,e){let n=t.routeConfig,i=t._resolve;return n?.title!==void 0&&!fo(n)&&(i[pt]=n.title),yt(()=>(t.data=yn(t,t.parent,e).resolve,Wa(i,t,r).pipe(S(o=>(t._resolvedData=o,t.data=f(f({},t.data),o),null)))))}function Wa(t,r,e){let n=tn(t);if(n.length===0)return g({});let i={};return x(n).pipe(Q(o=>Ja(t[o],r,e).pipe(ie(),G(s=>{if(s instanceof Ue)throw hr(new ae,s);i[o]=s}))),Cr(1),S(()=>i),Rt(o=>yo(o)?z:An(o)))}function Ja(t,r,e){let n=r._environmentInjector,i=je(t,n),o=i.resolve?i.resolve(r,e):U(n,()=>i(r,e));return Re(o)}function Gi(t){return H(r=>{let e=t(r);return e?x(e).pipe(S(()=>r)):g(r)})}var bn=(()=>{class t{buildTitle(e){let n,i=e.root;for(;i!==void 0;)n=this.getResolvedTitleForRoute(i)??n,i=i.children.find(o=>o.outlet===p);return n}getResolvedTitleForRoute(e){return e.data[pt]}static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:()=>u(Mo),providedIn:"root"})}return t})(),Mo=(()=>{class t extends bn{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)(y($i))};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Fe=new b("",{factory:()=>({})}),mt=new b(""),Io=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=u(li);async loadComponent(e,n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return Promise.resolve(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);let i=(async()=>{try{let o=await Xi(U(e,()=>n.loadComponent())),s=await _o(Ao(o));return this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=s,s}finally{this.componentLoaders.delete(n)}})();return this.componentLoaders.set(n,i),i}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 i=(async()=>{try{let o=await Do(n,this.compiler,e,this.onLoadEndListener);return n._loadedRoutes=o.routes,n._loadedInjector=o.injector,n._loadedNgModuleFactory=o.factory,o}finally{this.childrenLoaders.delete(n)}})();return this.childrenLoaders.set(n,i),i}static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();async function Do(t,r,e,n){let i=await Xi(U(e,()=>t.loadChildren())),o=await _o(Ao(i)),s;o instanceof Zn||Array.isArray(o)?s=o:s=await r.compileModuleAsync(o),n&&n(t);let a,c,l=!1,d;return Array.isArray(s)?(c=s,l=!0):(a=s.create(e).injector,d=s,c=a.get(mt,[],{optional:!0,self:!0}).flat()),{routes:c.map(Tn),injector:a,factory:d}}function Xa(t){return t&&typeof t=="object"&&"default"in t}function Ao(t){return Xa(t)?t.default:t}async function _o(t){return t}var vr=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:()=>u(Ka),providedIn:"root"})}return t})(),Ka=(()=>{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=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),No=new b("");var Ya=()=>{},Oo=new b(""),Po=(()=>{class t{currentNavigation=I(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=I(null);events=new ue;transitionAbortWithErrorSubject=new ue;configLoader=u(Io);environmentInjector=u(W);destroyRef=u(St);urlSerializer=u(xe);rootContexts=u(ke);location=u(Je);inputBindingEnabled=u(gr,{optional:!0})!==null;titleStrategy=u(bn);options=u(Fe,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=u(vr);createViewTransition=u(No,{optional:!0});navigationErrorHandler=u(Oo,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>g(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new ir(i)),n=i=>this.events.next(new or(i));this.configLoader.onLoadEndListener=n,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let n=++this.navigationId;C(()=>{this.transitions?.next(L(f({},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 B(null),this.transitions.pipe(Z(n=>n!==null),H(n=>{let i=!1,o=new AbortController,s=()=>!i&&this.currentTransition?.id===n.id;return g(n).pipe(H(a=>{if(this.navigationId>n.id)return this.cancelNavigationTransition(n,"",N.SupersededByNewNavigation),z;this.currentTransition=n;let c=this.lastSuccessfulNavigation();this.currentNavigation.set({id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,targetBrowserUrl:typeof a.extras.browserUrl=="string"?this.urlSerializer.parse(a.extras.browserUrl):a.extras.browserUrl,trigger:a.source,extras:a.extras,previousNavigation:c?L(f({},c),{previousNavigation:null}):null,abort:()=>o.abort(),routesRecognizeHandler:a.routesRecognizeHandler,beforeActivateHandler:a.beforeActivateHandler});let l=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),d=a.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!l&&d!=="reload")return this.events.next(new re(a.id,this.urlSerializer.serialize(a.rawUrl),"",at.IgnoredSameUrlNavigation)),a.resolve(!1),z;if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return g(a).pipe(H(h=>(this.events.next(new ve(h.id,this.urlSerializer.serialize(h.extractedUrl),h.source,h.restoredState)),h.id!==this.navigationId?z:Promise.resolve(h))),Va(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy,o.signal),G(h=>{n.targetSnapshot=h.targetSnapshot,n.urlAfterRedirects=h.urlAfterRedirects,this.currentNavigation.update(R=>(R.finalUrl=h.urlAfterRedirects,R)),this.events.next(new lt)}),H(h=>x(n.routesRecognizeHandler.deferredHandle??g(void 0)).pipe(S(()=>h))),G(()=>{let h=new ct(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(h)}));if(l&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:h,extractedUrl:R,source:F,restoredState:P,extras:$}=a,w=new ve(h,this.urlSerializer.serialize(R),F,P);this.events.next(w);let T=uo(this.rootComponentType,this.environmentInjector).snapshot;return this.currentTransition=n=L(f({},a),{targetSnapshot:T,urlAfterRedirects:R,extras:L(f({},$),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(_=>(_.finalUrl=R,_)),g(n)}else return this.events.next(new re(a.id,this.urlSerializer.serialize(a.extractedUrl),"",at.IgnoredByUrlHandlingStrategy)),a.resolve(!1),z}),S(a=>{let c=new er(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);return this.events.next(c),this.currentTransition=n=L(f({},a),{guards:sa(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),n}),va(a=>this.events.next(a)),H(a=>{if(n.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw hr(this.urlSerializer,a.guardsResult);let c=new tr(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);if(this.events.next(c),!s())return z;if(!a.guardsResult)return this.cancelNavigationTransition(a,"",N.GuardRejected),z;if(a.guards.canActivateChecks.length===0)return g(a);let l=new rr(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);if(this.events.next(l),!s())return z;let d=!1;return g(a).pipe(qa(this.paramsInheritanceStrategy),G({next:()=>{d=!0;let h=new nr(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(h)},complete:()=>{d||this.cancelNavigationTransition(a,"",N.NoDataFromResolver)}}))}),Gi(a=>{let c=d=>{let h=[];if(d.routeConfig?._loadedComponent)d.component=d.routeConfig?._loadedComponent;else if(d.routeConfig?.loadComponent){let R=d._environmentInjector;h.push(this.configLoader.loadComponent(R,d.routeConfig).then(F=>{d.component=F}))}for(let R of d.children)h.push(...c(R));return h},l=c(a.targetSnapshot.root);return l.length===0?g(a):x(Promise.all(l).then(()=>a))}),Gi(()=>this.afterPreactivation()),H(()=>{let{currentSnapshot:a,targetSnapshot:c}=n,l=this.createViewTransition?.(this.environmentInjector,a.root,c.root);return l?x(l).pipe(S(()=>n)):g(n)}),Te(1),H(a=>{let c=ra(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);this.currentTransition=n=a=L(f({},a),{targetRouterState:c}),this.currentNavigation.update(d=>(d.targetRouterState=c,d)),this.events.next(new Ne);let l=n.beforeActivateHandler.deferredHandle;return l?x(l.then(()=>a)):g(a)}),G(a=>{new dn(e.routeReuseStrategy,n.targetRouterState,n.currentRouterState,c=>this.events.next(c),this.inputBindingEnabled).activate(this.rootContexts),s()&&(i=!0,this.currentNavigation.update(c=>(c.abort=Ya,c)),this.lastSuccessfulNavigation.set(C(this.currentNavigation)),this.events.next(new J(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),this.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0))}),Et(Ro(o.signal).pipe(Z(()=>!i&&!n.targetRouterState),G(()=>{this.cancelNavigationTransition(n,o.signal.reason+"",N.Aborted)}))),G({complete:()=>{i=!0}}),Et(this.transitionAbortWithErrorSubject.pipe(G(a=>{throw a}))),wt(()=>{o.abort(),i||this.cancelNavigationTransition(n,"",N.SupersededByNewNavigation),this.currentTransition?.id===n.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),Rt(a=>{if(i=!0,this.destroyed)return n.resolve(!1),z;if(vo(a))this.events.next(new V(n.id,this.urlSerializer.serialize(n.extractedUrl),a.message,a.cancellationCode)),oa(a)?this.events.next(new Oe(a.url,a.navigationBehaviorOptions)):n.resolve(!1);else{let c=new ye(n.id,this.urlSerializer.serialize(n.extractedUrl),a,n.targetSnapshot??void 0);try{let l=U(this.environmentInjector,()=>this.navigationErrorHandler?.(c));if(l instanceof Ue){let{message:d,cancellationCode:h}=hr(this.urlSerializer,l);this.events.next(new V(n.id,this.urlSerializer.serialize(n.extractedUrl),d,h)),this.events.next(new Oe(l.redirectTo,l.navigationBehaviorOptions))}else throw this.events.next(c),a}catch(l){this.options.resolveNavigationPromiseOnError?n.resolve(!1):n.reject(l)}}return z}))}))}cancelNavigationTransition(e,n,i){let o=new V(e.id,this.urlSerializer.serialize(e.extractedUrl),n,i);this.events.next(o),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=C(this.currentNavigation),i=n?.targetBrowserUrl??n?.extractedUrl;return e.toString()!==i?.toString()&&!n?.extras.skipLocationChange}static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Qa(t){return t!==nt}var Uo=new b("");var Lo=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:()=>u(Za),providedIn:"root"})}return t})(),pr=class{shouldDetach(r){return!1}store(r,e){}shouldAttach(r){return!1}retrieve(r){return null}shouldReuseRoute(r,e){return r.routeConfig===e.routeConfig}shouldDestroyInjector(r){return!0}},Za=(()=>{class t extends pr{static \u0275fac=(()=>{let e;return function(i){return(e||(e=Ir(t)))(i||t)}})();static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),yr=(()=>{class t{urlSerializer=u(xe);options=u(Fe,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=u(Je);urlHandlingStrategy=u(vr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new O;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:n,targetBrowserUrl:i}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,n):n,s=i??o;return s instanceof O?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:n,initialUrl:i}){n&&e?(this.currentUrlTree=n,this.rawUrlTree=this.urlHandlingStrategy.merge(n,i),this.routerState=e):this.rawUrlTree=i}routerState=uo(null,u(W));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=m({token:t,factory:()=>u(ec),providedIn:"root"})}return t})(),ec=(()=>{class t extends yr{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 ve?this.updateStateMemento():e instanceof re?this.commitTransition(n):e instanceof ct?this.urlUpdateStrategy==="eager"&&(n.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(n),n)):e instanceof Ne?(this.commitTransition(n),this.urlUpdateStrategy==="deferred"&&!n.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(n),n)):e instanceof V&&!lo(e)?this.restoreHistory(n):e instanceof ye?this.restoreHistory(n,!0):e instanceof J&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:n,id:i}){let{replaceUrl:o,state:s}=n;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,c=f(f({},s),this.generateNgRouterState(i,a));this.location.replaceState(e,"",c)}else{let a=f(f({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,n=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===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){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:n}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=Ir(t)))(i||t)}})();static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Sn(t,r){t.events.pipe(Z(e=>e instanceof J||e instanceof V||e instanceof ye||e instanceof re),S(e=>e instanceof J||e instanceof re?0:(e instanceof V?e.code===N.Redirect||e.code===N.SupersededByNewNavigation:!1)?2:1),Z(e=>e!==2),Te(1)).subscribe(()=>{r()})}var we=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=u(Pr);stateManager=u(yr);options=u(Fe,{optional:!0})||{};pendingTasks=u(xn);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=u(Po);urlSerializer=u(xe);location=u(Je);urlHandlingStrategy=u(vr);injector=u(W);_events=new ue;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=u(Lo);injectorCleanup=u(Uo,{optional:!0});onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=u(mt,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!u(gr,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{}}),this.subscribeToNavigationEvents()}eventsSubscription=new In;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(n=>{try{let i=this.navigationTransitions.currentTransition,o=C(this.navigationTransitions.currentNavigation);if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(n,o),n instanceof V&&n.code!==N.Redirect&&n.code!==N.SupersededByNewNavigation)this.navigated=!0;else if(n instanceof J)this.navigated=!0,this.injectorCleanup?.(this.routeReuseStrategy,this.routerState,this.config);else if(n instanceof Oe){let s=n.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(n.url,i.currentRawUrl),c=f({scroll:i.extras.scroll,browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||Qa(i.source)},s);this.scheduleNavigation(a,nt,null,c,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}ea(n)&&this._events.next(n)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});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),nt,this.stateManager.restoredState(),{replaceUrl:!0})}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,n,i,o)=>{this.navigateToSyncWithBrowser(e,i,n,o)})}navigateToSyncWithBrowser(e,n,i,o){let s=i?.navigationId?i:null;if(i){let c=f({},i);delete c.navigationId,delete c.\u0275routerPageId,Object.keys(c).length!==0&&(o.state=c)}let a=this.parseUrl(e);this.scheduleNavigation(a,n,s,o).catch(c=>{this.disposed||this.injector.get(Ct)(c)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return C(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(Tn),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:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:c}=n,l=c?this.currentUrlTree.fragment:s,d=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":d=f(f({},this.currentUrlTree.queryParams),o);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=o||null}d!==null&&(d=this.removeEmptyProps(d));let h;try{let R=i?i.snapshot:this.routerState.snapshot.root;h=oo(R)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),h=this.currentUrlTree.root}return so(h,e,d,l??null,this.urlSerializer)}navigateByUrl(e,n={skipLocationChange:!1}){let i=ce(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,nt,null,n)}navigate(e,n={skipLocationChange:!1}){return tc(e),this.navigateByUrl(this.createUrlTree(e,n),n)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.console.warn(Tt(4018,!1)),this.urlSerializer.parse("/")}}isActive(e,n){let i;if(n===!0?i=f({},mn):n===!1?i=f({},ot):i=f(f({},ot),n),ce(e))return rn(this.currentUrlTree,e,i);let o=this.parseUrl(e);return rn(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((n,[i,o])=>(o!=null&&(n[i]=o),n),{})}scheduleNavigation(e,n,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,c,l;s?(a=s.resolve,c=s.reject,l=s.promise):l=new Promise((h,R)=>{a=h,c=R});let d=this.pendingTasks.add();return Sn(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(d))}),this.navigationTransitions.handleNavigationRequest({source:n,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:a,reject:c,promise:l,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),l.catch(Promise.reject.bind(Promise))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function tc(t){for(let r=0;r{class t{router=u(we);stateManager=u(yr);fragment=I("");queryParams=I({});path=I("");serializer=u(xe);constructor(){this.updateState(),this.router.events?.subscribe(e=>{e instanceof J&&this.updateState()})}updateState(){let{fragment:e,root:n,queryParams:i}=this.stateManager.getCurrentUrlTree();this.fragment.set(e),this.queryParams.set(i),this.path.set(this.serializer.serialize(new O(n)))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Rr=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;hrefAttributeValue=u(new di("href"),{optional:!0});reactiveHref=ui(()=>this.isAnchorElement?this.computeHref(this._urlTree()):this.hrefAttributeValue);get href(){return C(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}set target(e){this._target.set(e)}get target(){return C(this._target)}_target=I(void 0);set queryParams(e){this._queryParams.set(e)}get queryParams(){return C(this._queryParams)}_queryParams=I(void 0,{equal:()=>!1});set fragment(e){this._fragment.set(e)}get fragment(){return C(this._fragment)}_fragment=I(void 0);set queryParamsHandling(e){this._queryParamsHandling.set(e)}get queryParamsHandling(){return C(this._queryParamsHandling)}_queryParamsHandling=I(void 0);set state(e){this._state.set(e)}get state(){return C(this._state)}_state=I(void 0,{equal:()=>!1});set info(e){this._info.set(e)}get info(){return C(this._info)}_info=I(void 0,{equal:()=>!1});set relativeTo(e){this._relativeTo.set(e)}get relativeTo(){return C(this._relativeTo)}_relativeTo=I(void 0);set preserveFragment(e){this._preserveFragment.set(e)}get preserveFragment(){return C(this._preserveFragment)}_preserveFragment=I(!1);set skipLocationChange(e){this._skipLocationChange.set(e)}get skipLocationChange(){return C(this._skipLocationChange)}_skipLocationChange=I(!1);set replaceUrl(e){this._replaceUrl.set(e)}get replaceUrl(){return C(this._replaceUrl)}_replaceUrl=I(!1);isAnchorElement;onChanges=new ue;applicationErrorHandler=u(Ct);options=u(Fe,{optional:!0});reactiveRouterState=u(nc);constructor(e,n,i,o,s,a){this.router=e,this.route=n,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a;let c=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=c==="a"||c==="area"||!!(typeof customElements=="object"&&customElements.get(c)?.observedAttributes?.includes?.("href"))}setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.onChanges.next(this)}routerLinkInput=I(null);set routerLink(e){e==null?(this.routerLinkInput.set(null),this.setTabIndexIfNotOnNativeEl(null)):(ce(e)?this.routerLinkInput.set(e):this.routerLinkInput.set(Array.isArray(e)?e:[e]),this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,n,i,o,s){let a=this._urlTree();if(a===null||this.isAnchorElement&&(e!==0||n||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let c={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,c)?.catch(l=>{this.applicationErrorHandler(l)}),!this.isAnchorElement}ngOnDestroy(){}applyAttributeValue(e,n){let i=this.renderer,o=this.el.nativeElement;n!==null?i.setAttribute(o,e,n):i.removeAttribute(o,e)}_urlTree=At(()=>{this.reactiveRouterState.path(),this._preserveFragment()&&this.reactiveRouterState.fragment();let e=i=>i==="preserve"||i==="merge";(e(this._queryParamsHandling())||e(this.options?.defaultQueryParamsHandling))&&this.reactiveRouterState.queryParams();let n=this.routerLinkInput();return n===null||!this.router.createUrlTree?null:ce(n)?n:this.router.createUrlTree(n,{relativeTo:this._relativeTo()!==void 0?this._relativeTo():this.route,queryParams:this._queryParams(),fragment:this._fragment(),queryParamsHandling:this._queryParamsHandling(),preserveFragment:this._preserveFragment()})},{equal:(e,n)=>this.computeHref(e)===this.computeHref(n)});get urlTree(){return C(this._urlTree)}computeHref(e){return e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e))??"":null}static \u0275fac=function(n){return new(n||t)(X(we),X(ne),Fn("tabindex"),X(Nr),X(Dr),X(Ot))};static \u0275dir=Ge({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(n,i){n&1&&oi("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),n&2&&ni("href",i.reactiveHref(),Xn)("target",i._target())},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Nt],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Nt],replaceUrl:[2,"replaceUrl","replaceUrl",Nt],routerLink:"routerLink"},features:[Ve]})}return t})(),ic=(()=>{class t{router;element;renderer;cdr;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new de;link=u(Rr,{optional:!0});constructor(e,n,i,o){this.router=e,this.element=n,this.renderer=i,this.cdr=o,this.routerEventsSubscription=e.events.subscribe(s=>{s instanceof J&&this.update()})}ngAfterContentInit(){g(this.links.changes,g(null)).pipe(Sr()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let e=[...this.links.toArray(),this.link].filter(n=>!!n).map(n=>n.onChanges);this.linkInputChangesSubscription=x(e).pipe(Sr()).subscribe(n=>{this._isActive!==this.isLinkActive(this.router)(n)&&this.update()})}set routerLinkActive(e){let n=Array.isArray(e)?e:e.split(" ");this.classes=n.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(n=>{e?this.renderer.addClass(this.element.nativeElement,n):this.renderer.removeClass(this.element.nativeElement,n)}),e&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==e&&(this._isActive=e,this.cdr.markForCheck(),this.isActiveChange.emit(e))})}isLinkActive(e){let n=oc(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact??!1?f({},mn):f({},ot);return i=>{let o=i.urlTree;return o?C(vn(o,e,n)):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(n){return new(n||t)(X(we),X(Dr),X(Nr),X(_t))};static \u0275dir=Ge({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(n,i,o){if(n&1&&si(o,Rr,5),n&2){let s;ai(s=ci())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[Ve]})}return t})();function oc(t){let r=t;return!!(r.paths||r.matrixParams||r.queryParams||r.fragment)}var sc=new b("");function Cn(t,...r){return ze([{provide:mt,multi:!0,useValue:t},[],{provide:ne,useFactory:ac},{provide:ri,multi:!0,useFactory:lc},r.map(e=>e.\u0275providers)])}function ac(){return u(we).routerState.root}function cc(t,r){return{\u0275kind:t,\u0275providers:r}}function lc(){let t=u(bt);return r=>{let e=t.get(Ur);if(r!==e.components[0])return;let n=t.get(we),i=t.get(uc);t.get(dc)===1&&n.initialNavigation(),t.get(hc,null,{optional:!0})?.setUpPreloading(),t.get(sc,null,{optional:!0})?.init(),n.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var uc=new b("",{factory:()=>new ue}),dc=new b("",{factory:()=>1});var hc=new b("");function Mn(){return cc(6,[{provide:Ot,useClass:vi}])}var wr=class t{document=u(A);isEnabled=new URLSearchParams(this.document.defaultView?.location.search??"").get("debug")==="true";static \u0275fac=function(e){return new(e||t)};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})};var xo=()=>u(wr).isEnabled,ko=[{path:"",loadComponent:()=>import("./chunk-PT33XIFN.js").then(t=>t.HomeComponent)},{path:"blog",canMatch:[xo],loadComponent:()=>import("./chunk-E56RX2D3.js").then(t=>t.BlogComponent)},{path:"events",loadComponent:()=>import("./chunk-EXESVGAZ.js").then(t=>t.EventsComponent)},{path:"events/:id",loadComponent:()=>import("./chunk-7YFUMYUH.js").then(t=>t.EventDetailComponent)},{path:"blog/:id",canMatch:[xo],loadComponent:()=>import("./chunk-EP77IZS3.js").then(t=>t.BlogDetailComponent)},{path:"chi-siamo",loadComponent:()=>import("./chunk-VKJGUBC2.js").then(t=>t.TeamComponent)},{path:"coc",loadComponent:()=>import("./chunk-W5FJDTYA.js").then(t=>t.CocComponent)},{path:"**",redirectTo:""}];var Er=class t{http=u(qt);baseUrl=u(Tr);getTranslation(r){return this.http.get(`${this.baseUrl}/i18n/${r}.json`)}static \u0275fac=function(e){return new(e||t)};static \u0275prov=m({token:t,factory:t.\u0275fac,providedIn:"root"})};var Tr=new b("BASE_URL");function fc(t){let r=t.querySelector("base")?.getAttribute("href")??"/";return r.endsWith("/")?r.slice(0,-1):r}var Sd={providers:[kn(),Xr(),Cn(ko,Mn()),wi({config:{availableLangs:["it","en"],defaultLang:"it",reRenderOnLangChange:!0,prodMode:!fi()},loader:Er}),{provide:Tr,useFactory:fc,deps:[A]},{provide:Ri,useFactory:t=>r=>t+r.src,deps:[Tr]}]};export{Yo as a,qt as b,Cs as c,ne as d,wn as e,we as f,Rr as g,ic as h,wr as i,Tr as j,Sd as k}; diff --git a/chunk-7YFUMYUH.js b/chunk-7YFUMYUH.js new file mode 100644 index 0000000..7c61c77 --- /dev/null +++ b/chunk-7YFUMYUH.js @@ -0,0 +1 @@ +import{a as ie}from"./chunk-OZIJIHBJ.js";import{b as J,d as Q,g as X,j as ne}from"./chunk-42IV6YNC.js";import{$a as C,Aa as n,Eb as B,Fb as O,K as k,Ka as T,P as g,Q as v,Qa as V,R as S,Ra as s,S as z,Sa as p,Ua as P,Va as L,Vb as q,Wa as j,Wb as Y,Xa as x,Xb as Z,Ya as o,Yb as ee,Za as r,Zb as te,_a as _,aa as $,ab as E,bb as N,cb as D,db as A,eb as U,fb as w,gb as a,mb as M,ob as d,pb as b,qb as y,rb as H,sb as G,tb as W,ub as R,vb as K,xa as m,xb as h,yb as f,za as F}from"./chunk-LE4JLOLG.js";function le(t,i){if(t&1){let e=D();C(0,"div",1),w("click",function(){g(e);let c=a();return v(c.close())}),C(1,"button",2),w("click",function(){g(e);let c=a();return v(c.close())}),d(2," \u2715 "),E(),C(3,"button",3),w("click",function(c){g(e);let u=a();return c.stopPropagation(),v(u.prev())}),d(4," \u2039 "),E(),C(5,"div",4),w("click",function(c){return c.stopPropagation()}),N(6,"img",5),E(),C(7,"button",6),w("click",function(c){g(e);let u=a();return c.stopPropagation(),v(u.next())}),d(8," \u203A "),E(),C(9,"div",7),d(10),E()()}if(t&2){let e=a();n(6),A("src",e.baseUrl()+e.images()[e.index()],m)("alt","Photo "+(e.index()+1)+" of "+e.images().length),n(4),H(" ",e.index()+1," / ",e.images().length," ")}}var I=class t{images=B.required();baseUrl=B("");index=O(null);close(){this.index.set(null)}prev(){let i=this.index();i!==null&&this.index.set((i-1+this.images().length)%this.images().length)}next(){let i=this.index();i!==null&&this.index.set((i+1)%this.images().length)}onKeyDown(i){this.index()!==null&&(i.key==="Escape"&&this.close(),i.key==="ArrowLeft"&&this.prev(),i.key==="ArrowRight"&&this.next())}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=T({type:t,selectors:[["app-lightbox"]],hostBindings:function(e,l){e&1&&U("keydown",function(u){return l.onKeyDown(u)},F)},inputs:{images:[1,"images"],baseUrl:[1,"baseUrl"],index:[1,"index"]},outputs:{index:"indexChange"},decls:1,vars:1,consts:[["role","dialog","aria-modal","true",1,"fixed","inset-0","z-50","flex","items-center","justify-center","bg-black/85"],["role","dialog","aria-modal","true",1,"fixed","inset-0","z-50","flex","items-center","justify-center","bg-black/85",3,"click"],["type","button","aria-label","Close",1,"absolute","top-4","right-4","flex","h-10","w-10","cursor-pointer","items-center","justify-center","rounded-full","bg-white/10","text-2xl","text-white","transition-colors","hover:bg-white/25",3,"click"],["type","button","aria-label","Previous photo",1,"absolute","left-4","flex","h-12","w-12","cursor-pointer","items-center","justify-center","rounded-full","bg-white/10","text-2xl","text-white","transition-colors","hover:bg-white/25",3,"click"],[1,"mx-20","flex","max-h-[90vh]","max-w-[90vw]","items-center","justify-center",3,"click"],[1,"max-h-[90vh]","max-w-[90vw]","rounded-(--radius)","object-contain","shadow-2xl",3,"src","alt"],["type","button","aria-label","Next photo",1,"absolute","right-4","flex","h-12","w-12","cursor-pointer","items-center","justify-center","rounded-full","bg-white/10","text-2xl","text-white","transition-colors","hover:bg-white/25",3,"click"],[1,"absolute","bottom-4","text-sm","text-white/70"]],template:function(e,l){e&1&&s(0,le,11,4,"div",0),e&2&&p(l.index()!==null?0:-1)},encapsulation:2,changeDetection:0})};var de=(t,i)=>i.name,ce=(t,i)=>i.id;function se(t,i){if(t&1&&_(0,"div",11),t&2){let e=a(2);M("background-image","url("+e.baseUrl+e.event().image+")"),V("aria-label",e.event().title)}}function pe(t,i){if(t&1&&_(0,"img",15),t&2){let e=a().$implicit;x("ngSrc",e.image)("alt",e.name)}}function me(t,i){if(t&1&&(o(0,"div",16),d(1),r()),t&2){let e=a().$implicit;n(),y(" ",e.name.charAt(0)," ")}}function xe(t,i){if(t&1&&(o(0,"a",20),S(),o(1,"svg",22),_(2,"path",23)(3,"polyline",24)(4,"line",25)(5,"line",26)(6,"polyline",27),r(),d(7," Slides "),r()),t&2){let e=a(2).$implicit;x("href",e.slide,m)}}function ue(t,i){if(t&1&&(o(0,"a",20),S(),o(1,"svg",22),_(2,"path",23)(3,"polyline",24)(4,"line",28)(5,"line",29),r(),d(6," Paper "),r()),t&2){let e=a(2).$implicit;x("href",e.paper,m)}}function _e(t,i){if(t&1&&(o(0,"a",21),_(1,"app-icon-github"),d(2," Project "),r()),t&2){let e=a(2).$implicit;x("href",e.project,m)}}function ge(t,i){if(t&1&&(o(0,"a",21),_(1,"app-icon-github"),d(2," Code "),r()),t&2){let e=a(2).$implicit;x("href",e.project2,m)}}function ve(t,i){if(t&1&&(o(0,"a",20),S(),o(1,"svg",22),_(2,"circle",30)(3,"line",31)(4,"path",32),r(),d(5," Demo "),r()),t&2){let e=a(2).$implicit;x("href",e.demo,m)}}function he(t,i){if(t&1&&(o(0,"div",19),s(1,xe,8,1,"a",20),s(2,ue,7,1,"a",20),s(3,_e,3,1,"a",21),s(4,ge,3,1,"a",21),s(5,ve,6,1,"a",20),r()),t&2){let e=a().$implicit;n(),p(e.slide?1:-1),n(),p(e.paper?2:-1),n(),p(e.project?3:-1),n(),p(e.project2?4:-1),n(),p(e.demo?5:-1)}}function fe(t,i){if(t&1&&(o(0,"li",14),s(1,pe,1,2,"img",15)(2,me,2,1,"div",16),o(3,"div")(4,"p",17),d(5),r(),o(6,"p",18),d(7),r(),s(8,he,6,5,"div",19),r()()),t&2){let e=i.$implicit,l=a(3);n(),p(e.image?1:2),n(4),b(e.name),n(2),y(" ",l.activeLang()==="en"?e.topicEn:e.topic," "),n(),p(e.slide||e.project||e.project2||e.paper||e.demo?8:-1)}}function Ce(t,i){if(t&1&&(o(0,"div",9)(1,"h2",12),d(2),h(3,"transloco"),r(),o(4,"ul",13),L(5,fe,9,4,"li",14,de),r()()),t&2){let e=a(2);n(2),b(f(3,1,"events.speakers")),n(3),j(e.event().speakers)}}function be(t,i){if(t&1&&(o(0,"a",34)(1,"div",35),_(2,"img",36),o(3,"div",37)(4,"div",38),S(),o(5,"svg",39),_(6,"path",40),r()()()(),z(),o(7,"div",41),d(8),r()()),t&2){let e=i.$implicit,l=a(3);x("href",l.videoWatchUrl(e.id),m),n(2),x("src",l.videoThumbnail(e.id),m)("alt",e.title),n(6),y(" ",e.title," ")}}function ye(t,i){if(t&1&&(o(0,"div",9)(1,"h2",12),d(2),h(3,"transloco"),r(),o(4,"div",33),L(5,be,9,4,"a",34,ce),r()()),t&2){let e=a(2);n(2),b(f(3,1,"events.videos")),n(3),j(e.event().videos)}}function Ee(t,i){if(t&1){let e=D();o(0,"li")(1,"button",43),U("click",function(){let c=g(e).$index,u=a(3);return v(u.openLightbox(c))}),r()()}if(t&2){let e=i.$implicit,l=i.$index,c=a(3);n(),M("background-image","url("+c.baseUrl+e+")"),V("aria-label",c.event().title+" - photo "+(l+1))}}function we(t,i){if(t&1&&(o(0,"div",9)(1,"h2",12),d(2),h(3,"transloco"),r(),o(4,"ul",42),L(5,Ee,2,3,"li",null,P),r()()),t&2){let e=a(2);n(2),b(f(3,1,"events.gallery")),n(3),j(e.event().gallery)}}function ke(t,i){if(t&1&&(s(0,se,1,3,"div",5),o(1,"h1",6),d(2),r(),o(3,"p",7),d(4),h(5,"transloco"),r(),o(6,"p",8),d(7),r(),s(8,Ce,7,3,"div",9),s(9,ye,7,3,"div",9),s(10,we,7,3,"div",9),o(11,"a",10),d(12),h(13,"transloco"),r()),t&2){let e=a();p(e.event().image?0:-1),n(2),b(e.event().title),n(2),G(" \u{1F4C5} ",e.event().date," \xA0\xB7\xA0 \u{1F465} ",e.event().attendees," ",f(5,11,"events.attendees")," "),n(3),y(" ",e.activeLang()==="en"?e.event().fullDescriptionEn:e.event().fullDescription," "),n(),p(e.event().speakers.length>0?8:-1),n(),p(e.event().videos&&e.event().videos.length>0?9:-1),n(),p(e.event().gallery.length>0?10:-1),n(),x("href",e.event().url,m),n(),y("",f(13,13,"events.viewOnMeetup")," \u2192")}}function Se(t,i){t&1&&(o(0,"p",3),d(1),h(2,"transloco"),r()),t&2&&(n(),b(f(2,1,"events.noContent")))}function De(t,i){if(t&1){let e=D();o(0,"app-lightbox",44),K("indexChange",function(c){g(e);let u=a();return R(u.lightboxIndex,c)||(u.lightboxIndex=c),v(c)}),r()}if(t&2){let e=a();x("images",e.event().gallery)("baseUrl",e.baseUrl),W("index",e.lightboxIndex)}}var oe=class t{http=k(J);route=k(Q);translocoService=k(Z);baseUrl=k(ne);event=$(null);lightboxIndex=$(null);activeLang=Y(this.translocoService.langChanges$,{initialValue:this.translocoService.getActiveLang()});constructor(){let i=Number(this.route.snapshot.paramMap.get("id"));this.http.get(`${this.baseUrl}/data/events.json`).subscribe(e=>{let l=e.find(c=>c.id===i)??null;this.event.set(l)})}videoThumbnail(i){return`${this.baseUrl}/images/youtube/${i.split("?")[0]}.jpg`}videoWatchUrl(i){let[e,l]=i.split("?");return l?`https://www.youtube.com/watch?v=${e}&${l}`:`https://www.youtube.com/watch?v=${e}`}openLightbox(i){this.lightboxIndex.set(i)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=T({type:t,selectors:[["app-event-detail"]],decls:8,vars:5,consts:[[1,"px-4","py-16"],[1,"mx-auto","max-w-3xl"],["routerLink","/events",1,"mb-8","inline-flex","items-center","gap-1","text-sm","text-(--color-muted)","no-underline","hover:text-(--color-primary)"],[1,"text-center","text-(--color-muted)"],[3,"images","baseUrl","index"],["role","img",1,"mb-8","h-64","rounded-(--radius)","bg-cover","bg-center",3,"background-image"],[1,"mb-2","text-3xl","font-bold"],[1,"mb-6","text-sm","text-(--color-muted)"],[1,"mb-10","leading-relaxed","text-(--color-muted)"],[1,"mb-10"],["target","_blank","rel","noopener",1,"inline-flex","items-center","gap-1","text-(--color-primary)","no-underline","hover:underline",3,"href"],["role","img",1,"mb-8","h-64","rounded-(--radius)","bg-cover","bg-center"],[1,"mb-4","text-xl","font-semibold"],[1,"grid","list-none","grid-cols-1","gap-3","p-0","sm:grid-cols-2"],[1,"flex","items-start","gap-3","rounded-(--radius)","border","border-(--border)","bg-(--surface)","p-4"],["width","40","height","40",1,"h-10","w-10","shrink-0","rounded-full","object-cover",3,"ngSrc","alt"],[1,"flex","h-10","w-10","shrink-0","items-center","justify-center","rounded-full","bg-(--color-primary)/15","text-lg","font-bold","text-(--color-primary)"],[1,"font-medium"],[1,"text-sm","text-(--color-muted)"],[1,"mt-2","flex","flex-wrap","gap-3"],["target","_blank","rel","noopener",1,"inline-flex","cursor-pointer","items-center","justify-center","gap-2","rounded-(--radius)","border-2","border-(--color-secondary)","bg-(--color-secondary)","px-4","py-2","text-sm","font-semibold","text-white","no-underline","transition-colors","hover:border-(--color-secondary-hover)","hover:bg-(--color-secondary-hover)","hover:text-white","[&_svg]:shrink-0",3,"href"],["target","_blank","rel","noopener",1,"inline-flex","cursor-pointer","items-center","justify-center","gap-2","rounded-(--radius)","border-2","border-(--color-primary)","bg-(--color-primary)","px-4","py-2","text-sm","font-semibold","text-white","no-underline","transition-colors","hover:border-(--color-primary-hover)","hover:bg-(--color-primary-hover)","hover:text-white","[&_svg]:shrink-0",3,"href"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","aria-hidden","true",1,"h-4","w-4"],["d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"],["points","14 2 14 8 20 8"],["x1","16","y1","13","x2","8","y2","13"],["x1","16","y1","17","x2","8","y2","17"],["points","10 9 9 9 8 9"],["x1","12","y1","17","x2","12","y2","11"],["x1","9","y1","14","x2","15","y2","14"],["cx","12","cy","12","r","10"],["x1","2","y1","12","x2","22","y2","12"],["d","M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"],[1,"grid","grid-cols-1","gap-4","sm:grid-cols-2"],["target","_blank","rel","noopener",1,"group","relative","block","overflow-hidden","rounded-(--radius)","no-underline","shadow",3,"href"],[1,"relative","aspect-video","w-full"],[1,"h-full","w-full","object-cover","transition-opacity","group-hover:opacity-80",3,"src","alt"],[1,"absolute","inset-0","flex","items-center","justify-center"],[1,"flex","h-14","w-14","items-center","justify-center","rounded-full","bg-black/60","text-white","transition-colors","group-hover:bg-black/80"],["viewBox","0 0 24 24","fill","currentColor","aria-hidden","true",1,"h-7","w-7","translate-x-0.5"],["d","M8 5v14l11-7z"],[1,"flex","h-16","items-center","bg-(--surface)","px-3","py-2","text-base","leading-snug","font-medium","text-white"],[1,"grid","list-none","grid-cols-2","gap-3","p-0","sm:grid-cols-3"],["type","button",1,"h-40","w-full","cursor-pointer","rounded-(--radius)","bg-cover","bg-center","transition-opacity","hover:opacity-80",3,"click"],[3,"indexChange","images","baseUrl","index"]],template:function(e,l){e&1&&(o(0,"section",0)(1,"div",1)(2,"a",2),d(3),h(4,"transloco"),r(),s(5,ke,14,15)(6,Se,3,3,"p",3),r()(),s(7,De,1,3,"app-lightbox",4)),e&2&&(n(3),y("\u2190 ",f(4,3,"events.backToEvents")),n(2),p(l.event()?5:6),n(2),p(l.event()?7:-1))},dependencies:[te,X,q,I,ie,ee],encapsulation:2,changeDetection:0})};export{oe as EventDetailComponent}; diff --git a/chunk-E56RX2D3.js b/chunk-E56RX2D3.js new file mode 100644 index 0000000..34e526c --- /dev/null +++ b/chunk-E56RX2D3.js @@ -0,0 +1 @@ +import{b as B,g as E,j as D}from"./chunk-42IV6YNC.js";import{Aa as n,K as s,Ka as g,Ra as u,Sa as x,Va as b,Wa as f,Wb as _,Xa as v,Xb as L,Ya as i,Yb as I,Za as r,Zb as T,aa as m,gb as y,ob as a,pb as p,qb as h,rb as C,wb as S,xb as c,yb as d}from"./chunk-LE4JLOLG.js";var P=t=>["/blog",t],k=(t,o)=>o.id;function $(t,o){t&1&&(i(0,"p",3),a(1),c(2,"transloco"),r()),t&2&&(n(),p(d(2,1,"blog.noContent")))}function F(t,o){if(t&1&&(i(0,"li",5)(1,"p",6),a(2),r(),i(3,"h2",7),a(4),r(),i(5,"p",8),a(6),r(),i(7,"a",9),a(8),c(9,"transloco"),r()()),t&2){let e=o.$implicit,l=y();n(2),C("",e.date," \xB7 ",e.author),n(2),p(l.activeLang()==="en"?e.titleEn:e.title),n(2),p(l.activeLang()==="en"?e.contentEn:e.content),n(),v("routerLink",S(8,P,e.id)),n(),h("",d(9,6,"blog.readMore")," \u2192")}}var M=class t{http=s(B);translocoService=s(L);baseUrl=s(D);posts=m([]);activeLang=_(this.translocoService.langChanges$,{initialValue:this.translocoService.getActiveLang()});constructor(){this.http.get(`${this.baseUrl}/data/blog-posts.json`).subscribe(o=>{this.posts.set(o)})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=g({type:t,selectors:[["app-blog"]],decls:9,vars:4,consts:[[1,"px-4","py-16"],[1,"mx-auto","max-w-3xl"],[1,"mb-8","text-center","text-3xl","font-bold"],[1,"text-center","text-(--color-muted)"],[1,"list-none","p-0"],[1,"mb-8","rounded-(--radius)","border","border-(--border)","bg-(--surface)","p-6"],[1,"mb-1","text-sm","text-(--color-muted)"],[1,"mb-2","text-xl","font-semibold"],[1,"mb-4","text-(--color-muted)"],[1,"inline-flex","items-center","gap-1","text-(--color-primary)","no-underline","hover:underline",3,"routerLink"]],template:function(e,l){e&1&&(i(0,"section",0)(1,"div",1)(2,"h1",2),a(3),c(4,"transloco"),r(),u(5,$,3,3,"p",3),i(6,"ul",4),b(7,F,10,10,"li",5,k),r()()()),e&2&&(n(3),p(d(4,2,"blog.title")),n(2),x(l.posts().length===0?5:-1),n(2),f(l.posts()))},dependencies:[T,E,I],encapsulation:2,changeDetection:0})};export{M as BlogComponent}; diff --git a/chunk-EP77IZS3.js b/chunk-EP77IZS3.js new file mode 100644 index 0000000..8c7b00b --- /dev/null +++ b/chunk-EP77IZS3.js @@ -0,0 +1,3 @@ +import{b as E,d as S,g as I,j as A}from"./chunk-42IV6YNC.js";import{Aa as o,K as r,Ka as f,Qa as v,Ra as c,Sa as s,Ta as C,Va as y,Wa as h,Wb as T,Xb as L,Ya as a,Yb as k,Za as i,Zb as P,_a as _,aa as b,gb as d,mb as D,ob as l,pb as m,qb as g,rb as B,xb as u,yb as x}from"./chunk-LE4JLOLG.js";function N(e,n){if(e&1&&_(0,"div",9),e&2){let t=d(2);D("background-image","url("+t.baseUrl+t.post().coverImage+")"),v("aria-label",t.activeLang()==="en"?t.post().titleEn:t.post().title)}}function U(e,n){if(e&1&&(a(0,"p",8),l(1),i()),e&2){let t=n.$implicit;o(),m(t)}}function R(e,n){if(e&1&&(c(0,N,1,3,"div",4),a(1,"h1",5),l(2),i(),a(3,"p",6),l(4),i(),a(5,"div",7),y(6,U,2,1,"p",8,C),i()),e&2){let t=d();s(t.post().coverImage?0:-1),o(2),g(" ",t.activeLang()==="en"?t.post().titleEn:t.post().title," "),o(2),B(" \u{1F4C5} ",t.post().date," \xA0\xB7\xA0 \u270D\uFE0F ",t.post().author," "),o(2),h((t.activeLang()==="en"?t.post().fullContentEn:t.post().fullContent).split(` + +`))}}function $(e,n){e&1&&(a(0,"p",3),l(1),u(2,"transloco"),i()),e&2&&(o(),m(x(2,1,"blog.noContent")))}var M=class e{http=r(E);route=r(S);translocoService=r(L);baseUrl=r(A);post=b(null);activeLang=T(this.translocoService.langChanges$,{initialValue:this.translocoService.getActiveLang()});constructor(){let n=Number(this.route.snapshot.paramMap.get("id"));this.http.get(`${this.baseUrl}/data/blog-posts.json`).subscribe(t=>{let p=t.find(F=>F.id===n)??null;this.post.set(p)})}formatContent(n){return n.replace(/\n/g,"
")}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=f({type:e,selectors:[["app-blog-detail"]],decls:7,vars:4,consts:[[1,"px-4","py-16"],[1,"mx-auto","max-w-3xl"],["routerLink","/blog",1,"mb-8","inline-flex","items-center","gap-1","text-sm","text-(--color-muted)","no-underline","hover:text-(--color-primary)"],[1,"text-center","text-(--color-muted)"],["role","img",1,"mb-8","h-64","rounded-(--radius)","bg-cover","bg-center",3,"background-image"],[1,"mb-2","text-3xl","font-bold"],[1,"mb-8","text-sm","text-(--color-muted)"],[1,"prose","leading-relaxed","text-(--color-muted)"],[1,"mb-4"],["role","img",1,"mb-8","h-64","rounded-(--radius)","bg-cover","bg-center"]],template:function(t,p){t&1&&(a(0,"section",0)(1,"div",1)(2,"a",2),l(3),u(4,"transloco"),i(),c(5,R,8,4)(6,$,3,3,"p",3),i()()),t&2&&(o(3),g("\u2190 ",x(4,2,"blog.backToBlog")),o(2),s(p.post()?5:6))},dependencies:[P,I,k],encapsulation:2,changeDetection:0})};export{M as BlogDetailComponent}; diff --git a/chunk-EXESVGAZ.js b/chunk-EXESVGAZ.js new file mode 100644 index 0000000..a4b8ee5 --- /dev/null +++ b/chunk-EXESVGAZ.js @@ -0,0 +1 @@ +import{b as D,g as T,j as $}from"./chunk-42IV6YNC.js";import{Aa as n,K as s,Ka as u,Qa as f,Ra as v,Sa as x,Va as b,Wa as C,Wb as k,Xa as _,Xb as I,Ya as o,Yb as L,Za as r,Zb as M,aa as g,gb as d,mb as h,ob as a,pb as c,qb as y,rb as E,wb as S,xb as p,yb as m}from"./chunk-LE4JLOLG.js";var w=e=>["/events",e],B=(e,i)=>i.id;function U(e,i){e&1&&(o(0,"p",3),a(1),p(2,"transloco"),r()),e&2&&(n(),c(m(2,1,"events.noContent")))}function N(e,i){if(e&1&&(o(0,"div",13)(1,"div",14)(2,"h3",15),a(3),r()()()),e&2){let t=d().$implicit,l=d();h("background-image","url("+l.baseUrl+t.image+")"),f("aria-label",t.title),n(3),c(t.title)}}function P(e,i){if(e&1&&(o(0,"div",8)(1,"h3",16),a(2),r()()),e&2){let t=d().$implicit;n(2),c(t.title)}}function j(e,i){if(e&1&&(o(0,"li",5)(1,"a",6),v(2,N,4,4,"div",7)(3,P,3,1,"div",8),r(),o(4,"div",9)(5,"p",10),a(6),r(),o(7,"p",11),a(8),r(),o(9,"span",12),a(10),p(11,"transloco"),r()()()),e&2){let t=i.$implicit,l=d();n(),_("routerLink",S(8,w,t.id)),n(),x(t.image?2:3),n(4),c(t.date),n(2),y(" ",l.activeLang()==="en"?t.descriptionEn:t.description," "),n(2),E("\u{1F465} ",t.attendees," ",m(11,6,"events.attendees"))}}var F=class e{http=s(D);translocoService=s(I);baseUrl=s($);events=g([]);activeLang=k(this.translocoService.langChanges$,{initialValue:this.translocoService.getActiveLang()});constructor(){this.http.get(`${this.baseUrl}/data/events.json`).subscribe(i=>{this.events.set(i)})}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=u({type:e,selectors:[["app-events"]],decls:9,vars:4,consts:[[1,"px-4","py-16"],[1,"mx-auto","max-w-4xl"],[1,"mb-8","text-center","text-3xl","font-bold"],[1,"text-center","text-(--color-muted)"],[1,"grid","list-none","grid-cols-1","gap-6","p-0","sm:grid-cols-2"],[1,"overflow-hidden","rounded-(--radius)","border","border-(--border)","bg-(--surface)"],[1,"relative","block","no-underline",3,"routerLink"],["role","img",1,"h-48","bg-cover","bg-center",3,"background-image"],[1,"flex","items-center","bg-(--color-primary)/10","px-4","py-4"],[1,"p-5"],[1,"mb-3","text-sm","text-(--color-muted)"],[1,"mb-3","text-(--color-muted)"],[1,"text-sm","text-(--color-muted)"],["role","img",1,"h-48","bg-cover","bg-center"],[1,"flex","h-full","items-end","bg-gradient-to-t","from-black/70","to-transparent","p-4"],[1,"text-lg","font-semibold","text-white"],[1,"text-lg","font-semibold","text-inherit","hover:underline"]],template:function(t,l){t&1&&(o(0,"section",0)(1,"div",1)(2,"h1",2),a(3),p(4,"transloco"),r(),v(5,U,3,3,"p",3),o(6,"ul",4),b(7,j,12,10,"li",5,B),r()()()),t&2&&(n(3),c(m(4,2,"events.title")),n(2),x(l.events().length===0?5:-1),n(2),C(l.events()))},dependencies:[M,T,L],encapsulation:2,changeDetection:0})};export{F as EventsComponent}; diff --git a/chunk-LE4JLOLG.js b/chunk-LE4JLOLG.js new file mode 100644 index 0000000..e52f7fd --- /dev/null +++ b/chunk-LE4JLOLG.js @@ -0,0 +1,4 @@ +var Yp=Object.defineProperty,Qp=Object.defineProperties;var Kp=Object.getOwnPropertyDescriptors;var Dr=Object.getOwnPropertySymbols;var $c=Object.prototype.hasOwnProperty,Uc=Object.prototype.propertyIsEnumerable;var Hc=(e,t,n)=>t in e?Yp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_=(e,t)=>{for(var n in t||={})$c.call(t,n)&&Hc(e,n,t[n]);if(Dr)for(var n of Dr(t))Uc.call(t,n)&&Hc(e,n,t[n]);return e},H=(e,t)=>Qp(e,Kp(t));var Gc=(e,t)=>{var n={};for(var r in e)$c.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dr)for(var r of Dr(e))t.indexOf(r)<0&&Uc.call(e,r)&&(n[r]=e[r]);return n};function Wc(e,t,n,r){function o(i){return i instanceof n?i:new n(function(s){s(i)})}return new(n||(n=Promise))(function(i,s){function a(l){try{u(r.next(l))}catch(d){s(d)}}function c(l){try{u(r.throw(l))}catch(d){s(d)}}function u(l){l.done?i(l.value):o(l.value).then(a,c)}u((r=r.apply(e,t||[])).next())})}function zc(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function at(e){return this instanceof at?(this.v=e,this):new at(e)}function qc(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(f){return function(h){return Promise.resolve(h).then(f,d)}}function a(f,h){r[f]&&(o[f]=function(w){return new Promise(function(L,P){i.push([f,w,L,P])>1||c(f,w)})},h&&(o[f]=h(o[f])))}function c(f,h){try{u(r[f](h))}catch(w){p(i[0][3],w)}}function u(f){f.value instanceof at?Promise.resolve(f.value.v).then(l,d):p(i[0][2],f)}function l(f){c("next",f)}function d(f){c("throw",f)}function p(f,h){f(h),i.shift(),i.length&&c(i[0][0],i[0][1])}}function Zc(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof zc=="function"?zc(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=e[i]&&function(s){return new Promise(function(a,c){s=e[i](s),o(a,c,s.done,s.value)})}}function o(i,s,a,c){Promise.resolve(c).then(function(u){i({value:u,done:a})},s)}}var Er=e=>e&&typeof e.length=="number"&&typeof e!="function";function E(e){return typeof e=="function"}function Ir(e){return E(e?.then)}function Pt(e){let n=e(r=>{Error.call(r),r.stack=new Error().stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var Cr=Pt(e=>function(n){e(this),this.message=n?`${n.length} errors occurred during unsubscription: +${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(` + `)}`:"",this.name="UnsubscriptionError",this.errors=n});function ct(e,t){if(e){let n=e.indexOf(t);0<=n&&e.splice(n,1)}}var z=class e{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;let{_parentage:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(let i of n)i.remove(this);else n.remove(this);let{initialTeardown:r}=this;if(E(r))try{r()}catch(i){t=i instanceof Cr?i.errors:[i]}let{_finalizers:o}=this;if(o){this._finalizers=null;for(let i of o)try{Yc(i)}catch(s){t=t??[],s instanceof Cr?t=[...t,...s.errors]:t.push(s)}}if(t)throw new Cr(t)}}add(t){var n;if(t&&t!==this)if(this.closed)Yc(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(t)}}_hasParent(t){let{_parentage:n}=this;return n===t||Array.isArray(n)&&n.includes(t)}_addParent(t){let{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t}_removeParent(t){let{_parentage:n}=this;n===t?this._parentage=null:Array.isArray(n)&&ct(n,t)}remove(t){let{_finalizers:n}=this;n&&ct(n,t),t instanceof e&&t._removeParent(this)}};z.EMPTY=(()=>{let e=new z;return e.closed=!0,e})();var _i=z.EMPTY;function wr(e){return e instanceof z||e&&"closed"in e&&E(e.remove)&&E(e.add)&&E(e.unsubscribe)}function Yc(e){E(e)?e():e.unsubscribe()}var fe={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var jt={setTimeout(e,t,...n){let{delegate:r}=jt;return r?.setTimeout?r.setTimeout(e,t,...n):setTimeout(e,t,...n)},clearTimeout(e){let{delegate:t}=jt;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function br(e){jt.setTimeout(()=>{let{onUnhandledError:t}=fe;if(t)t(e);else throw e})}function vn(){}var Qc=Si("C",void 0,void 0);function Kc(e){return Si("E",void 0,e)}function Jc(e){return Si("N",e,void 0)}function Si(e,t,n){return{kind:e,value:t,error:n}}var ut=null;function Vt(e){if(fe.useDeprecatedSynchronousErrorHandling){let t=!ut;if(t&&(ut={errorThrown:!1,error:null}),e(),t){let{errorThrown:n,error:r}=ut;if(ut=null,n)throw r}}else e()}function Xc(e){fe.useDeprecatedSynchronousErrorHandling&&ut&&(ut.errorThrown=!0,ut.error=e)}var lt=class extends z{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,wr(t)&&t.add(this)):this.destination=eh}static create(t,n,r){return new xe(t,n,r)}next(t){this.isStopped?Ni(Jc(t),this):this._next(t)}error(t){this.isStopped?Ni(Kc(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Ni(Qc,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},Jp=Function.prototype.bind;function Mi(e,t){return Jp.call(e,t)}var Ai=class{constructor(t){this.partialObserver=t}next(t){let{partialObserver:n}=this;if(n.next)try{n.next(t)}catch(r){Tr(r)}}error(t){let{partialObserver:n}=this;if(n.error)try{n.error(t)}catch(r){Tr(r)}else Tr(t)}complete(){let{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(n){Tr(n)}}},xe=class extends lt{constructor(t,n,r){super();let o;if(E(t)||!t)o={next:t??void 0,error:n??void 0,complete:r??void 0};else{let i;this&&fe.useDeprecatedNextContext?(i=Object.create(t),i.unsubscribe=()=>this.unsubscribe(),o={next:t.next&&Mi(t.next,i),error:t.error&&Mi(t.error,i),complete:t.complete&&Mi(t.complete,i)}):o=t}this.destination=new Ai(o)}};function Tr(e){fe.useDeprecatedSynchronousErrorHandling?Xc(e):br(e)}function Xp(e){throw e}function Ni(e,t){let{onStoppedNotification:n}=fe;n&&jt.setTimeout(()=>n(e,t))}var eh={closed:!0,next:vn,error:Xp,complete:vn};var Bt=typeof Symbol=="function"&&Symbol.observable||"@@observable";function oe(e){return e}function th(...e){return xi(e)}function xi(e){return e.length===0?oe:e.length===1?e[0]:function(n){return e.reduce((r,o)=>o(r),n)}}var T=(()=>{class e{constructor(n){n&&(this._subscribe=n)}lift(n){let r=new e;return r.source=this,r.operator=n,r}subscribe(n,r,o){let i=rh(n)?n:new xe(n,r,o);return Vt(()=>{let{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(n){try{return this._subscribe(n)}catch(r){n.error(r)}}forEach(n,r){return r=eu(r),new r((o,i)=>{let s=new xe({next:a=>{try{n(a)}catch(c){i(c),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(n){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(n)}[Bt](){return this}pipe(...n){return xi(n)(this)}toPromise(n){return n=eu(n),new n((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=t=>new e(t),e})();function eu(e){var t;return(t=e??fe.Promise)!==null&&t!==void 0?t:Promise}function nh(e){return e&&E(e.next)&&E(e.error)&&E(e.complete)}function rh(e){return e&&e instanceof lt||nh(e)&&wr(e)}function _r(e){return E(e[Bt])}function Sr(e){return Symbol.asyncIterator&&E(e?.[Symbol.asyncIterator])}function Mr(e){return new TypeError(`You provided ${e!==null&&typeof e=="object"?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function oh(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Nr=oh();function Ar(e){return E(e?.[Nr])}function xr(e){return qc(this,arguments,function*(){let n=e.getReader();try{for(;;){let{value:r,done:o}=yield at(n.read());if(o)return yield at(void 0);yield yield at(r)}}finally{n.releaseLock()}})}function Rr(e){return E(e?.getReader)}function k(e){if(e instanceof T)return e;if(e!=null){if(_r(e))return ih(e);if(Er(e))return sh(e);if(Ir(e))return ah(e);if(Sr(e))return tu(e);if(Ar(e))return ch(e);if(Rr(e))return uh(e)}throw Mr(e)}function ih(e){return new T(t=>{let n=e[Bt]();if(E(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function sh(e){return new T(t=>{for(let n=0;n{e.then(n=>{t.closed||(t.next(n),t.complete())},n=>t.error(n)).then(null,br)})}function ch(e){return new T(t=>{for(let n of e)if(t.next(n),t.closed)return;t.complete()})}function tu(e){return new T(t=>{lh(e,t).catch(n=>t.error(n))})}function uh(e){return tu(xr(e))}function lh(e,t){var n,r,o,i;return Wc(this,void 0,void 0,function*(){try{for(n=Zc(e);r=yield n.next(),!r.done;){let s=r.value;if(t.next(s),t.closed)return}}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=n.return)&&(yield i.call(n))}finally{if(o)throw o.error}}t.complete()})}function dh(e){return E(e?.lift)}function S(e){return t=>{if(dh(t))return t.lift(function(n){try{return e(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function M(e,t,n,r,o){return new Ri(e,t,n,r,o)}var Ri=class extends lt{constructor(t,n,r,o,i,s){super(t),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=n?function(a){try{n(a)}catch(c){t.error(c)}}:super._next,this._error=o?function(a){try{o(a)}catch(c){t.error(c)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:n}=this;super.unsubscribe(),!n&&((t=this.onFinalize)===null||t===void 0||t.call(this))}}};function dt(e,t){return S((n,r)=>{let o=null,i=0,s=!1,a=()=>s&&!o&&r.complete();n.subscribe(M(r,c=>{o?.unsubscribe();let u=0,l=i++;k(e(c,l)).subscribe(o=M(r,d=>r.next(t?t(c,d,l,u++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}var nu=Pt(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var W=(()=>{class e extends T{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(n){let r=new Or(this,this);return r.operator=n,r}_throwIfClosed(){if(this.closed)throw new nu}next(n){Vt(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let r of this.currentObservers)r.next(n)}})}error(n){Vt(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=n;let{observers:r}=this;for(;r.length;)r.shift().error(n)}})}complete(){Vt(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:n}=this;for(;n.length;)n.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0}_trySubscribe(n){return this._throwIfClosed(),super._trySubscribe(n)}_subscribe(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)}_innerSubscribe(n){let{hasError:r,isStopped:o,observers:i}=this;return r||o?_i:(this.currentObservers=null,i.push(n),new z(()=>{this.currentObservers=null,ct(i,n)}))}_checkFinalizedStatuses(n){let{hasError:r,thrownError:o,isStopped:i}=this;r?n.error(o):i&&n.complete()}asObservable(){let n=new T;return n.source=this,n}}return e.create=(t,n)=>new Or(t,n),e})(),Or=class extends W{constructor(t,n){super(),this.destination=t,this.source=n}next(t){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.next)===null||r===void 0||r.call(n,t)}error(t){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.error)===null||r===void 0||r.call(n,t)}complete(){var t,n;(n=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||n===void 0||n.call(t)}_subscribe(t){var n,r;return(r=(n=this.source)===null||n===void 0?void 0:n.subscribe(t))!==null&&r!==void 0?r:_i}};var ft=class extends W{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){let n=super._subscribe(t);return!n.closed&&t.next(this._value),n}getValue(){let{hasError:t,thrownError:n,_value:r}=this;if(t)throw n;return this._throwIfClosed(),r}next(t){super.next(this._value=t)}};var Dn={now(){return(Dn.delegate||Date).now()},delegate:void 0};var En=class extends W{constructor(t=1/0,n=1/0,r=Dn){super(),this._bufferSize=t,this._windowTime=n,this._timestampProvider=r,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=n===1/0,this._bufferSize=Math.max(1,t),this._windowTime=Math.max(1,n)}next(t){let{isStopped:n,_buffer:r,_infiniteTimeWindow:o,_timestampProvider:i,_windowTime:s}=this;n||(r.push(t),!o&&r.push(i.now()+s)),this._trimBuffer(),super.next(t)}_subscribe(t){this._throwIfClosed(),this._trimBuffer();let n=this._innerSubscribe(t),{_infiniteTimeWindow:r,_buffer:o}=this,i=o.slice();for(let s=0;se.complete());function Pr(e){return e&&E(e.schedule)}function ou(e){return e[e.length-1]}function jr(e){return E(ou(e))?e.pop():void 0}function Ue(e){return Pr(ou(e))?e.pop():void 0}function ee(e,t,n,r=0,o=!1){let i=t.schedule(function(){n(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function Vr(e,t=0){return S((n,r)=>{n.subscribe(M(r,o=>ee(r,e,()=>r.next(o),t),()=>ee(r,e,()=>r.complete(),t),o=>ee(r,e,()=>r.error(o),t)))})}function Br(e,t=0){return S((n,r)=>{r.add(e.schedule(()=>n.subscribe(r),t))})}function iu(e,t){return k(e).pipe(Br(t),Vr(t))}function su(e,t){return k(e).pipe(Br(t),Vr(t))}function au(e,t){return new T(n=>{let r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}function cu(e,t){return new T(n=>{let r;return ee(n,t,()=>{r=e[Nr](),ee(n,t,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){n.error(s);return}i?n.complete():n.next(o)},0,!0)}),()=>E(r?.return)&&r.return()})}function Hr(e,t){if(!e)throw new Error("Iterable cannot be null");return new T(n=>{ee(n,t,()=>{let r=e[Symbol.asyncIterator]();ee(n,t,()=>{r.next().then(o=>{o.done?n.complete():n.next(o.value)})},0,!0)})})}function uu(e,t){return Hr(xr(e),t)}function lu(e,t){if(e!=null){if(_r(e))return iu(e,t);if(Er(e))return au(e,t);if(Ir(e))return su(e,t);if(Sr(e))return Hr(e,t);if(Ar(e))return cu(e,t);if(Rr(e))return uu(e,t)}throw Mr(e)}function pe(e,t){return t?lu(e,t):k(e)}function Cn(...e){let t=Ue(e);return pe(e,t)}function ph(e,t){let n=E(e)?e:()=>e,r=o=>o.error(n());return new T(t?o=>t.schedule(r,0,o):r)}function hh(e){return!!e&&(e instanceof T||E(e.lift)&&E(e.subscribe))}var wn=Pt(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function du(e){return e instanceof Date&&!isNaN(e)}function te(e,t){return S((n,r)=>{let o=0;n.subscribe(M(r,i=>{r.next(e.call(t,i,o++))}))})}var{isArray:gh}=Array;function mh(e,t){return gh(t)?e(...t):e(t)}function $r(e){return te(t=>mh(e,t))}var{isArray:yh}=Array,{getPrototypeOf:vh,prototype:Dh,keys:Eh}=Object;function Ur(e){if(e.length===1){let t=e[0];if(yh(t))return{args:t,keys:null};if(Ih(t)){let n=Eh(t);return{args:n.map(r=>t[r]),keys:n}}}return{args:e,keys:null}}function Ih(e){return e&&typeof e=="object"&&vh(e)===Dh}function Gr(e,t){return e.reduce((n,r,o)=>(n[r]=t[o],n),{})}function Oi(...e){let t=Ue(e),n=jr(e),{args:r,keys:o}=Ur(e);if(r.length===0)return pe([],t);let i=new T(Ch(r,t,o?s=>Gr(o,s):oe));return n?i.pipe($r(n)):i}function Ch(e,t,n=oe){return r=>{fu(t,()=>{let{length:o}=e,i=new Array(o),s=o,a=o;for(let c=0;c{let u=pe(e[c],t),l=!1;u.subscribe(M(r,d=>{i[c]=d,l||(l=!0,a--),a||r.next(n(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}function fu(e,t,n){e?ee(n,e,t):t()}function pu(e,t,n,r,o,i,s,a){let c=[],u=0,l=0,d=!1,p=()=>{d&&!c.length&&!u&&t.complete()},f=w=>u{i&&t.next(w),u++;let L=!1;k(n(w,l++)).subscribe(M(t,P=>{o?.(P),i?f(P):t.next(P)},()=>{L=!0},void 0,()=>{if(L)try{for(u--;c.length&&uh(P)):h(P)}p()}catch(P){t.error(P)}}))};return e.subscribe(M(t,f,()=>{d=!0,p()})),()=>{a?.()}}function ht(e,t,n=1/0){return E(t)?ht((r,o)=>te((i,s)=>t(r,i,o,s))(k(e(r,o))),n):(typeof t=="number"&&(n=t),S((r,o)=>pu(r,o,e,n)))}function Fi(e=1/0){return ht(oe,e)}function hu(){return Fi(1)}function zr(...e){return hu()(pe(e,Ue(e)))}function wh(e){return new T(t=>{k(e()).subscribe(t)})}function Wr(...e){let t=jr(e),{args:n,keys:r}=Ur(e),o=new T(i=>{let{length:s}=n;if(!s){i.complete();return}let a=new Array(s),c=s,u=s;for(let l=0;l{d||(d=!0,u--),a[l]=p},()=>c--,void 0,()=>{(!c||!d)&&(u||i.next(r?Gr(r,a):a),i.complete())}))}});return t?o.pipe($r(t)):o}function gu(e=0,t,n=ru){let r=-1;return t!=null&&(Pr(t)?n=t:r=t),new T(o=>{let i=du(e)?+e-n.now():e;i<0&&(i=0);let s=0;return n.schedule(function(){o.closed||(o.next(s++),0<=r?this.schedule(void 0,r):o.complete())},i)})}function ki(e,t){return S((n,r)=>{let o=0;n.subscribe(M(r,i=>e.call(t,i,o++)&&r.next(i)))})}function bn(e){return S((t,n)=>{let r=null,o=!1,i;r=t.subscribe(M(n,void 0,void 0,s=>{i=k(e(s,bn(e)(t))),r?(r.unsubscribe(),r=null,i.subscribe(n)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(n))})}function bh(e,t){return E(t)?ht(e,t,1):ht(e,1)}function mu(e){return S((t,n)=>{let r=!1;t.subscribe(M(n,o=>{r=!0,n.next(o)},()=>{r||n.next(e),n.complete()}))})}function $t(e){return e<=0?()=>pt:S((t,n)=>{let r=0;t.subscribe(M(n,o=>{++r<=e&&(n.next(o),e<=r&&n.complete())}))})}function yu(e=Th){return S((t,n)=>{let r=!1;t.subscribe(M(n,o=>{r=!0,n.next(o)},()=>r?n.complete():n.error(e())))})}function Th(){return new wn}function _h(e){return S((t,n)=>{try{t.subscribe(n)}finally{n.add(e)}})}function Sh(e,t){let n=arguments.length>=2;return r=>r.pipe(e?ki((o,i)=>e(o,i,r)):oe,$t(1),n?mu(t):yu(()=>new wn))}function Mh(e){return e<=0?()=>pt:S((t,n)=>{let r=[];t.subscribe(M(n,o=>{r.push(o),e{for(let o of r)n.next(o);n.complete()},void 0,()=>{r=null}))})}function Li(e=1/0){let t;e&&typeof e=="object"?t=e:t={count:e};let{count:n=1/0,delay:r,resetOnSuccess:o=!1}=t;return n<=0?oe:S((i,s)=>{let a=0,c,u=()=>{let l=!1;c=i.subscribe(M(s,d=>{o&&(a=0),s.next(d)},void 0,d=>{if(a++{c?(c.unsubscribe(),c=null,u()):l=!0};if(r!=null){let f=typeof r=="number"?gu(r):k(r(d,a)),h=M(s,()=>{h.unsubscribe(),p()},()=>{s.complete()});f.subscribe(h)}else p()}else s.error(d)})),l&&(c.unsubscribe(),c=null,u())};u()})}function vu(e={}){let{connector:t=()=>new W,resetOnError:n=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s,a,c,u=0,l=!1,d=!1,p=()=>{a?.unsubscribe(),a=void 0},f=()=>{p(),s=c=void 0,l=d=!1},h=()=>{let w=s;f(),w?.unsubscribe()};return S((w,L)=>{u++,!d&&!l&&p();let P=c=c??t();L.add(()=>{u--,u===0&&!d&&!l&&(a=Pi(h,o))}),P.subscribe(L),!s&&u>0&&(s=new xe({next:we=>P.next(we),error:we=>{d=!0,p(),a=Pi(f,n,we),P.error(we)},complete:()=>{l=!0,p(),a=Pi(f,r),P.complete()}}),k(w).subscribe(s))})(i)}}function Pi(e,t,...n){if(t===!0){e();return}if(t===!1)return;let r=new xe({next:()=>{r.unsubscribe(),e()}});return k(t(...n)).subscribe(r)}function ji(e,t,n){let r,o=!1;return e&&typeof e=="object"?{bufferSize:r=1/0,windowTime:t=1/0,refCount:o=!1,scheduler:n}=e:r=e??1/0,vu({connector:()=>new En(r,t,n),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:o})}function Nh(...e){let t=Ue(e);return S((n,r)=>{(t?zr(e,n,t):zr(e,n)).subscribe(r)})}function Vi(e){return S((t,n)=>{k(e).subscribe(M(n,()=>n.complete(),vn)),!n.closed&&t.subscribe(n)})}function qr(e,t,n){let r=E(e)||t||n?{next:e,error:t,complete:n}:e;return r?S((o,i)=>{var s;(s=r.subscribe)===null||s===void 0||s.call(r);let a=!0;o.subscribe(M(i,c=>{var u;(u=r.next)===null||u===void 0||u.call(r,c),i.next(c)},()=>{var c;a=!1,(c=r.complete)===null||c===void 0||c.call(r),i.complete()},c=>{var u;a=!1,(u=r.error)===null||u===void 0||u.call(r,c),i.error(c)},()=>{var c,u;a&&((c=r.unsubscribe)===null||c===void 0||c.call(r)),(u=r.finalize)===null||u===void 0||u.call(r)}))}):oe}var q=null,Zr=!1,Bi=1,Ah=null,U=Symbol("SIGNAL");function m(e){let t=q;return q=e,t}function Yr(){return q}var mt={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 ze(e){if(Zr)throw new Error("");if(q===null)return;q.consumerOnSignalRead(e);let t=q.producersTail;if(t!==void 0&&t.producer===e)return;let n,r=q.recomputing;if(r&&(n=t!==void 0?t.nextProducer:q.producers,n!==void 0&&n.producer===e)){q.producersTail=n,n.lastReadVersion=e.version;return}let o=e.consumersTail;if(o!==void 0&&o.consumer===q&&(!r||Rh(o,q)))return;let i=zt(q),s={producer:e,consumer:q,nextProducer:n,prevConsumer:o,lastReadVersion:e.version,nextConsumer:void 0};q.producersTail=s,t!==void 0?t.nextProducer=s:q.producers=s,i&&Cu(e,s)}function Du(){Bi++}function yt(e){if(!(zt(e)&&!e.dirty)&&!(!e.dirty&&e.lastCleanEpoch===Bi)){if(!e.producerMustRecompute(e)&&!Qr(e)){Ut(e);return}e.producerRecomputeValue(e),Ut(e)}}function Hi(e){if(e.consumers===void 0)return;let t=Zr;Zr=!0;try{for(let n=e.consumers;n!==void 0;n=n.nextConsumer){let r=n.consumer;r.dirty||xh(r)}}finally{Zr=t}}function $i(){return q?.consumerAllowSignalWrites!==!1}function xh(e){e.dirty=!0,Hi(e),e.consumerMarkedDirty?.(e)}function Ut(e){e.dirty=!1,e.lastCleanEpoch=Bi}function vt(e){return e&&Eu(e),m(e)}function Eu(e){e.producersTail=void 0,e.recomputing=!0}function Gt(e,t){m(t),e&&Iu(e)}function Iu(e){e.recomputing=!1;let t=e.producersTail,n=t!==void 0?t.nextProducer:e.producers;if(n!==void 0){if(zt(e))do n=Ui(n);while(n!==void 0);t!==void 0?t.nextProducer=void 0:e.producers=void 0}}function Qr(e){for(let t=e.producers;t!==void 0;t=t.nextProducer){let n=t.producer,r=t.lastReadVersion;if(r!==n.version||(yt(n),r!==n.version))return!0}return!1}function Tn(e){if(zt(e)){let t=e.producers;for(;t!==void 0;)t=Ui(t)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function Cu(e,t){let n=e.consumersTail,r=zt(e);if(n!==void 0?(t.nextConsumer=n.nextConsumer,n.nextConsumer=t):(t.nextConsumer=void 0,e.consumers=t),t.prevConsumer=n,e.consumersTail=t,!r)for(let o=e.producers;o!==void 0;o=o.nextProducer)Cu(o.producer,o)}function Ui(e){let t=e.producer,n=e.nextProducer,r=e.nextConsumer,o=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,r!==void 0?r.prevConsumer=o:t.consumersTail=o,o!==void 0)o.nextConsumer=r;else if(t.consumers=r,!zt(t)){let i=t.producers;for(;i!==void 0;)i=Ui(i)}return n}function zt(e){return e.consumerIsAlwaysLive||e.consumers!==void 0}function _n(e){Ah?.(e)}function Rh(e,t){let n=t.producersTail;if(n!==void 0){let r=t.producers;do{if(r===e)return!0;if(r===n)break;r=r.nextProducer}while(r!==void 0)}return!1}function Sn(e,t){return Object.is(e,t)}function Kr(e,t){let n=Object.create(Oh);n.computation=e,t!==void 0&&(n.equal=t);let r=()=>{if(yt(n),ze(n),n.value===be)throw n.error;return n.value};return r[U]=n,_n(n),r}var Ge=Symbol("UNSET"),gt=Symbol("COMPUTING"),be=Symbol("ERRORED"),Oh=H(_({},mt),{value:Ge,dirty:!0,error:null,equal:Sn,kind:"computed",producerMustRecompute(e){return e.value===Ge||e.value===gt},producerRecomputeValue(e){if(e.value===gt)throw new Error("");let t=e.value;e.value=gt;let n=vt(e),r,o=!1;try{r=e.computation(),m(null),o=t!==Ge&&t!==be&&r!==be&&e.equal(t,r)}catch(i){r=be,e.error=i}finally{Gt(e,n)}if(o){e.value=t;return}e.value=r,e.version++}});function Fh(){throw new Error}var wu=Fh;function bu(e){wu(e)}function Gi(e){wu=e}var kh=null;function zi(e,t){let n=Object.create(Xr);n.value=e,t!==void 0&&(n.equal=t);let r=()=>Tu(n);return r[U]=n,_n(n),[r,s=>We(n,s),s=>Jr(n,s)]}function Tu(e){return ze(e),e.value}function We(e,t){$i()||bu(e),e.equal(e.value,t)||(e.value=t,Lh(e))}function Jr(e,t){$i()||bu(e),We(e,t(e.value))}var Xr=H(_({},mt),{equal:Sn,value:void 0,kind:"signal"});function Lh(e){e.version++,Du(),Hi(e),kh?.(e)}var Wi;function eo(){return Wi}function Te(e){let t=Wi;return Wi=e,t}var _u=Symbol("NotFound");function Wt(e){return e===_u||e?.name==="\u0275NotFound"}function qi(e,t,n){let r=Object.create(Ph);r.source=e,r.computation=t,n!=null&&(r.equal=n);let i=()=>{if(yt(r),ze(r),r.value===be)throw r.error;return r.value};return i[U]=r,_n(r),i}function Su(e,t){yt(e),We(e,t),Ut(e)}function Mu(e,t){if(yt(e),e.value===be)throw e.error;Jr(e,t),Ut(e)}var Ph=H(_({},mt),{value:Ge,dirty:!0,error:null,equal:Sn,kind:"linkedSignal",producerMustRecompute(e){return e.value===Ge||e.value===gt},producerRecomputeValue(e){if(e.value===gt)throw new Error("");let t=e.value;e.value=gt;let n=vt(e),r;try{let o=e.source(),i=t===Ge||t===be?void 0:{source:e.sourceValue,value:t};r=e.computation(o,i),e.sourceValue=o}catch(o){r=be,e.error=o}finally{Gt(e,n)}if(t!==Ge&&r!==be&&e.equal(t,r)){e.value=t;return}e.value=r,e.version++}});function Nu(e){let t=m(null);try{return e()}finally{m(t)}}var so="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss",b=class extends Error{code;constructor(t,n){super(Zt(t,n)),this.code=t}};function Bh(e){return`NG0${Math.abs(e)}`}function Zt(e,t){return`${Bh(e)}${t?": "+t:""}`}var Yt=globalThis;function x(e){for(let t in e)if(e[t]===x)return t;throw Error("")}function On(e){if(typeof e=="string")return e;if(Array.isArray(e))return`[${e.map(On).join(", ")}]`;if(e==null)return""+e;let t=e.overriddenName||e.name;if(t)return`${t}`;let n=e.toString();if(n==null)return""+n;let r=n.indexOf(` +`);return r>=0?n.slice(0,r):n}function ao(e,t){return e?t?`${e} ${t}`:e:t||""}var Hh=x({__forward_ref__:x});function co(e){return e.__forward_ref__=co,e}function ne(e){return cs(e)?e():e}function cs(e){return typeof e=="function"&&e.hasOwnProperty(Hh)&&e.__forward_ref__===co}function N(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Fn(e){return{providers:e.providers||[],imports:e.imports||[]}}function kn(e){return Uh(e,uo)}function $h(e){return kn(e)!==null}function Uh(e,t){return e.hasOwnProperty(t)&&e[t]||null}function Gh(e){let t=e?.[uo]??null;return t||null}function Yi(e){return e&&e.hasOwnProperty(no)?e[no]:null}var uo=x({\u0275prov:x}),no=x({\u0275inj:x}),I=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(t,n){this._desc=t,this.\u0275prov=void 0,typeof n=="number"?this.__NG_ELEMENT_ID__=n:n!==void 0&&(this.\u0275prov=N({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function us(e){return e&&!!e.\u0275providers}var ls=x({\u0275cmp:x}),ds=x({\u0275dir:x}),fs=x({\u0275pipe:x}),ps=x({\u0275mod:x}),Nn=x({\u0275fac:x}),wt=x({__NG_ELEMENT_ID__:x}),Au=x({__NG_ENV_ID__:x});function hs(e){return lo(e,"@NgModule"),e[ps]||null}function Qe(e){return lo(e,"@Component"),e[ls]||null}function gs(e){return lo(e,"@Directive"),e[ds]||null}function Fu(e){return lo(e,"@Pipe"),e[fs]||null}function lo(e,t){if(e==null)throw new b(-919,!1)}function _e(e){return typeof e=="string"?e:e==null?"":String(e)}var ku=x({ngErrorCode:x}),zh=x({ngErrorMessage:x}),Wh=x({ngTokenPath:x});function ms(e,t){return Lu("",-200,t)}function fo(e,t){throw new b(-201,!1)}function Lu(e,t,n){let r=new b(t,e);return r[ku]=t,r[zh]=e,n&&(r[Wh]=n),r}function qh(e){return e[ku]}var Qi;function Pu(){return Qi}function Q(e){let t=Qi;return Qi=e,t}function ys(e,t,n){let r=kn(e);if(r&&r.providedIn=="root")return r.value===void 0?r.value=r.factory():r.value;if(n&8)return null;if(t!==void 0)return t;fo(e,"")}var Zh={},Dt=Zh,Yh="__NG_DI_FLAG__",Ki=class{injector;constructor(t){this.injector=t}retrieve(t,n){let r=Et(n)||0;try{return this.injector.get(t,r&8?null:Dt,r)}catch(o){if(Wt(o))return o;throw o}}};function Qh(e,t=0){let n=eo();if(n===void 0)throw new b(-203,!1);if(n===null)return ys(e,void 0,t);{let r=Kh(t),o=n.retrieve(e,r);if(Wt(o)){if(r.optional)return null;throw o}return o}}function O(e,t=0){return(Pu()||Qh)(ne(e),t)}function g(e,t){return O(e,Et(t))}function Et(e){return typeof e>"u"||typeof e=="number"?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Kh(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function Ji(e){let t=[];for(let n=0;nArray.isArray(n)?po(n,t):t(n))}function vs(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Ln(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Bu(e,t){let n=[];for(let r=0;rt;){let i=o-2;e[o]=e[i],o--}e[t]=n,e[t+1]=r}}function ho(e,t,n){let r=Qt(e,t);return r>=0?e[r|1]=n:(r=~r,Hu(e,r,t,n)),r}function go(e,t){let n=Qt(e,t);if(n>=0)return e[n|1]}function Qt(e,t){return Xh(e,t,1)}function Xh(e,t,n){let r=0,o=e.length>>n;for(;o!==r;){let i=r+(o-r>>1),s=e[i<t?o=i:r=i+1}return~(o<{n.push(s)};return po(t,s=>{let a=s;ro(a,i,[],r)&&(o||=[],o.push(a))}),o!==void 0&&Gu(o,i),n}function Gu(e,t){for(let n=0;n{t(i,r)})}}function ro(e,t,n,r){if(e=ne(e),!e)return!1;let o=null,i=Yi(e),s=!i&&Qe(e);if(!i&&!s){let c=e.ngModule;if(i=Yi(c),i)o=c;else return!1}else{if(s&&!s.standalone)return!1;o=e}let a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){let c=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let u of c)ro(u,t,n,r)}}else if(i){if(i.imports!=null&&!a){r.add(o);let u;po(i.imports,l=>{ro(l,t,n,r)&&(u||=[],u.push(l))}),u!==void 0&&Gu(u,t)}if(!a){let u=qe(o)||(()=>new o);t({provide:o,useFactory:u,deps:re},o),t({provide:Es,useValue:o,multi:!0},o),t({provide:Kt,useValue:()=>O(o),multi:!0},o)}let c=i.providers;if(c!=null&&!a){let u=e;Cs(c,l=>{t(l,u)})}}else return!1;return o!==e&&e.providers!==void 0}function Cs(e,t){for(let n of e)us(n)&&(n=n.\u0275providers),Array.isArray(n)?Cs(n,t):t(n)}var eg=x({provide:String,useValue:x});function zu(e){return e!==null&&typeof e=="object"&&eg in e}function tg(e){return!!(e&&e.useExisting)}function ng(e){return!!(e&&e.useFactory)}function oo(e){return typeof e=="function"}var ws=new I(""),to={},xu={},Zi;function Pn(){return Zi===void 0&&(Zi=new An),Zi}var ae=class{},It=class extends ae{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(t,n,r,o){super(),this.parent=n,this.source=r,this.scopes=o,es(t,s=>this.processProvider(s)),this.records.set(Ds,qt(void 0,this)),o.has("environment")&&this.records.set(ae,qt(void 0,this));let i=this.records.get(ws);i!=null&&typeof i.value=="string"&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Es,re,{self:!0}))}retrieve(t,n){let r=Et(n)||0;try{return this.get(t,Dt,r)}catch(o){if(Wt(o))return o;throw o}}destroy(){Mn(this),this._destroyed=!0;let t=m(null);try{for(let r of this._ngOnDestroyHooks)r.ngOnDestroy();let n=this._onDestroyHooks;this._onDestroyHooks=[];for(let r of n)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),m(t)}}onDestroy(t){return Mn(this),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){Mn(this);let n=Te(this),r=Q(void 0),o;try{return t()}finally{Te(n),Q(r)}}get(t,n=Dt,r){if(Mn(this),t.hasOwnProperty(Au))return t[Au](this);let o=Et(r),i,s=Te(this),a=Q(void 0);try{if(!(o&4)){let u=this.records.get(t);if(u===void 0){let l=ag(t)&&kn(t);l&&this.injectableDefInScope(l)?u=qt(Xi(t),to):u=null,this.records.set(t,u)}if(u!=null)return this.hydrate(t,u,o)}let c=o&2?Pn():this.parent;return n=o&8&&n===Dt?null:n,c.get(t,n)}catch(c){let u=qh(c);throw u===-200||u===-201?new b(u,null):c}finally{Q(a),Te(s)}}resolveInjectorInitializers(){let t=m(null),n=Te(this),r=Q(void 0),o;try{let i=this.get(Kt,re,{self:!0});for(let s of i)s()}finally{Te(n),Q(r),m(t)}}toString(){return"R3Injector[...]"}processProvider(t){t=ne(t);let n=oo(t)?t:ne(t&&t.provide),r=og(t);if(!oo(t)&&t.multi===!0){let o=this.records.get(n);o||(o=qt(void 0,to,!0),o.factory=()=>Ji(o.multi),this.records.set(n,o)),n=t,o.multi.push(t)}this.records.set(n,r)}hydrate(t,n,r){let o=m(null);try{if(n.value===xu)throw ms("");return n.value===to&&(n.value=xu,n.value=n.factory(void 0,r)),typeof n.value=="object"&&n.value&&sg(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}finally{m(o)}}injectableDefInScope(t){if(!t.providedIn)return!1;let n=ne(t.providedIn);return typeof n=="string"?n==="any"||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){let n=this._onDestroyHooks.indexOf(t);n!==-1&&this._onDestroyHooks.splice(n,1)}};function Xi(e){let t=kn(e),n=t!==null?t.factory:qe(e);if(n!==null)return n;if(e instanceof I)throw new b(-204,!1);if(e instanceof Function)return rg(e);throw new b(-204,!1)}function rg(e){if(e.length>0)throw new b(-204,!1);let n=Gh(e);return n!==null?()=>n.factory(e):()=>new e}function og(e){if(zu(e))return qt(void 0,e.useValue);{let t=Wu(e);return qt(t,to)}}function Wu(e,t,n){let r;if(oo(e)){let o=ne(e);return qe(o)||Xi(o)}else if(zu(e))r=()=>ne(e.useValue);else if(ng(e))r=()=>e.useFactory(...Ji(e.deps||[]));else if(tg(e))r=(o,i)=>O(ne(e.useExisting),i!==void 0&&i&8?8:void 0);else{let o=ne(e&&(e.useClass||e.provide));if(ig(e))r=()=>new o(...Ji(e.deps));else return qe(o)||Xi(o)}return r}function Mn(e){if(e.destroyed)throw new b(-205,!1)}function qt(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function ig(e){return!!e.deps}function sg(e){return e!==null&&typeof e=="object"&&typeof e.ngOnDestroy=="function"}function ag(e){return typeof e=="function"||typeof e=="object"&&e.ngMetadataName==="InjectionToken"}function es(e,t){for(let n of e)Array.isArray(n)?es(n,t):n&&us(n)?es(n.\u0275providers,t):t(n)}function jn(e,t){let n;e instanceof It?(Mn(e),n=e):n=new Ki(e);let r,o=Te(n),i=Q(void 0);try{return t()}finally{Te(o),Q(i)}}function qu(){return Pu()!==void 0||eo()!=null}var ge=0,y=1,v=2,G=3,ue=4,K=5,Tt=6,Jt=7,V=8,ke=9,me=10,F=11,Xt=12,bs=13,_t=14,J=15,Ke=16,St=17,Se=18,Le=19,Ts=20,Oe=21,mo=22,Vn=23,ie=24,yo=25,Je=26,B=27,Zu=1,_s=6,Xe=7,Bn=8,Mt=9,j=10;function Pe(e){return Array.isArray(e)&&typeof e[Zu]=="object"}function ye(e){return Array.isArray(e)&&e[Zu]===!0}function Ss(e){return(e.flags&4)!==0}function je(e){return e.componentOffset>-1}function vo(e){return(e.flags&1)===1}function Nt(e){return!!e.template}function en(e){return(e[v]&512)!==0}function At(e){return(e[v]&256)===256}var Ms="svg",Yu="math";function le(e){for(;Array.isArray(e);)e=e[ge];return e}function Ns(e,t){return le(t[e])}function ve(e,t){return le(t[e.index])}function Do(e,t){return e.data[t]}function Qu(e,t){return e[t]}function As(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}function de(e,t){let n=t[e];return Pe(n)?n:n[ge]}function Ku(e){return(e[v]&4)===4}function Eo(e){return(e[v]&128)===128}function Ju(e){return ye(e[G])}function Me(e,t){return t==null?null:e[t]}function xs(e){e[St]=0}function Rs(e){e[v]&1024||(e[v]|=1024,Eo(e)&&$n(e))}function Xu(e,t){for(;e>0;)t=t[_t],e--;return t}function Hn(e){return!!(e[v]&9216||e[ie]?.dirty)}function Io(e){e[me].changeDetectionScheduler?.notify(8),e[v]&64&&(e[v]|=1024),Hn(e)&&$n(e)}function $n(e){e[me].changeDetectionScheduler?.notify(0);let t=Ze(e);for(;t!==null&&!(t[v]&8192||(t[v]|=8192,!Eo(t)));)t=Ze(t)}function Os(e,t){if(At(e))throw new b(911,!1);e[Oe]===null&&(e[Oe]=[]),e[Oe].push(t)}function el(e,t){if(e[Oe]===null)return;let n=e[Oe].indexOf(t);n!==-1&&e[Oe].splice(n,1)}function Ze(e){let t=e[G];return ye(t)?t[G]:t}function Fs(e){return e[Jt]??=[]}function ks(e){return e.cleanup??=[]}function tl(e,t,n,r){let o=Fs(t);o.push(n),e.firstCreatePass&&ks(e).push(r,o.length-1)}var C={lFrame:hl(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var ts=!1;function nl(){return C.lFrame.elementDepthCount}function rl(){C.lFrame.elementDepthCount++}function Ls(){C.lFrame.elementDepthCount--}function ol(){return C.bindingsEnabled}function Ps(){return C.skipHydrationRootTNode!==null}function js(e){return C.skipHydrationRootTNode===e}function Vs(){C.skipHydrationRootTNode=null}function D(){return C.lFrame.lView}function $(){return C.lFrame.tView}function il(e){return C.lFrame.contextLView=e,e[V]}function sl(e){return C.lFrame.contextLView=null,e}function Z(){let e=Bs();for(;e!==null&&e.type===64;)e=e.parent;return e}function Bs(){return C.lFrame.currentTNode}function al(){let e=C.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function tn(e,t){let n=C.lFrame;n.currentTNode=e,n.isParent=t}function Hs(){return C.lFrame.isParent}function $s(){C.lFrame.isParent=!1}function Us(){return ts}function Gs(e){let t=ts;return ts=e,t}function zs(){let e=C.lFrame,t=e.bindingRootIndex;return t===-1&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function Ws(){return C.lFrame.bindingIndex}function cl(e){return C.lFrame.bindingIndex=e}function et(){return C.lFrame.bindingIndex++}function Un(e){let t=C.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function ul(){return C.lFrame.inI18n}function ll(e,t){let n=C.lFrame;n.bindingIndex=n.bindingRootIndex=e,Co(t)}function dl(){return C.lFrame.currentDirectiveIndex}function Co(e){C.lFrame.currentDirectiveIndex=e}function fl(e){let t=C.lFrame.currentDirectiveIndex;return t===-1?null:e[t]}function qs(){return C.lFrame.currentQueryIndex}function wo(e){C.lFrame.currentQueryIndex=e}function cg(e){let t=e[y];return t.type===2?t.declTNode:t.type===1?e[K]:null}function Zs(e,t,n){if(n&4){let o=t,i=e;for(;o=o.parent,o===null&&!(n&1);)if(o=cg(i),o===null||(i=i[_t],o.type&10))break;if(o===null)return!1;t=o,e=i}let r=C.lFrame=pl();return r.currentTNode=t,r.lView=e,!0}function bo(e){let t=pl(),n=e[y];C.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function pl(){let e=C.lFrame,t=e===null?null:e.child;return t===null?hl(e):t}function hl(e){let t={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:e,child:null,inI18n:!1};return e!==null&&(e.child=t),t}function gl(){let e=C.lFrame;return C.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var Ys=gl;function To(){let e=gl();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function ml(e){return(C.lFrame.contextLView=Xu(e,C.lFrame.contextLView))[V]}function De(){return C.lFrame.selectedIndex}function tt(e){C.lFrame.selectedIndex=e}function Gn(){let e=C.lFrame;return Do(e.tView,e.selectedIndex)}function yl(){C.lFrame.currentNamespace=Ms}function vl(){ug()}function ug(){C.lFrame.currentNamespace=null}function Dl(){return C.lFrame.currentNamespace}var El=!0;function _o(){return El}function So(e){El=e}function ns(e,t=null,n=null,r){let o=Qs(e,t,n,r);return o.resolveInjectorInitializers(),o}function Qs(e,t=null,n=null,r,o=new Set){let i=[n||re,Uu(e)],s;return new It(i,t||Pn(),s||null,o)}var ce=class e{static THROW_IF_NOT_FOUND=Dt;static NULL=new An;static create(t,n){if(Array.isArray(t))return ns({name:""},n,t,"");{let r=t.name??"";return ns({name:r},t.parent,t.providers,r)}}static \u0275prov=N({token:e,providedIn:"any",factory:()=>O(Ds)});static __NG_ELEMENT_ID__=-1},Ne=new I(""),X=(()=>{class e{static __NG_ELEMENT_ID__=lg;static __NG_ENV_ID__=n=>n}return e})(),rs=class extends X{_lView;constructor(t){super(),this._lView=t}get destroyed(){return At(this._lView)}onDestroy(t){let n=this._lView;return Os(n,t),()=>el(n,t)}};function lg(){return new rs(D())}var Il=!1,Cl=new I(""),xt=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new ft(!1);debugTaskTracker=g(Cl,{optional:!0});get hasPendingTasks(){return this.destroyed?!1:this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new T(n=>{n.next(!1),n.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let n=this.taskId++;return this.pendingTasks.add(n),this.debugTaskTracker?.add(n),n}has(n){return this.pendingTasks.has(n)}remove(n){this.pendingTasks.delete(n),this.debugTaskTracker?.remove(n),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=N({token:e,providedIn:"root",factory:()=>new e})}return e})(),os=class extends W{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(t=!1){super(),this.__isAsync=t,qu()&&(this.destroyRef=g(X,{optional:!0})??void 0,this.pendingTasks=g(xt,{optional:!0})??void 0)}emit(t){let n=m(null);try{super.next(t)}finally{m(n)}}subscribe(t,n,r){let o=t,i=n||(()=>null),s=r;if(t&&typeof t=="object"){let c=t;o=c.next?.bind(c),i=c.error?.bind(c),s=c.complete?.bind(c)}this.__isAsync&&(i=this.wrapInTimeout(i),o&&(o=this.wrapInTimeout(o)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:o,error:i,complete:s});return t instanceof z&&t.add(a),a}wrapInTimeout(t){return n=>{let r=this.pendingTasks?.add();setTimeout(()=>{try{t(n)}finally{r!==void 0&&this.pendingTasks?.remove(r)}})}}},Re=os;function io(...e){}function Ks(e){let t,n;function r(){e=io;try{n!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(n),t!==void 0&&clearTimeout(t)}catch{}}return t=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame=="function"&&(n=requestAnimationFrame(()=>{e(),r()})),()=>r()}function wl(e){return queueMicrotask(()=>e()),()=>{e=io}}var Js="isAngularZone",xn=Js+"_ID",dg=0,Fe=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new Re(!1);onMicrotaskEmpty=new Re(!1);onStable=new Re(!1);onError=new Re(!1);constructor(t){let{enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:o=!1,scheduleInRootZone:i=Il}=t;if(typeof Zone>"u")throw new b(908,!1);Zone.assertZonePatched();let s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!o&&r,s.shouldCoalesceRunChangeDetection=o,s.callbackScheduled=!1,s.scheduleInRootZone=i,hg(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(Js)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new b(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new b(909,!1)}run(t,n,r){return this._inner.run(t,n,r)}runTask(t,n,r,o){let i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,t,fg,io,io);try{return i.runTask(s,n,r)}finally{i.cancelTask(s)}}runGuarded(t,n,r){return this._inner.runGuarded(t,n,r)}runOutsideAngular(t){return this._outer.run(t)}},fg={};function Xs(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function pg(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function t(){Ks(()=>{e.callbackScheduled=!1,is(e),e.isCheckStableRunning=!0,Xs(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{t()}):e._outer.run(()=>{t()}),is(e)}function hg(e){let t=()=>{pg(e)},n=dg++;e._inner=e._inner.fork({name:"angular",properties:{[Js]:!0,[xn]:n,[xn+n]:!0},onInvokeTask:(r,o,i,s,a,c)=>{if(gg(c))return r.invokeTask(i,s,a,c);try{return Ru(e),r.invokeTask(i,s,a,c)}finally{(e.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||e.shouldCoalesceRunChangeDetection)&&t(),Ou(e)}},onInvoke:(r,o,i,s,a,c,u)=>{try{return Ru(e),r.invoke(i,s,a,c,u)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!mg(c)&&t(),Ou(e)}},onHasTask:(r,o,i,s)=>{r.hasTask(i,s),o===i&&(s.change=="microTask"?(e._hasPendingMicrotasks=s.microTask,is(e),Xs(e)):s.change=="macroTask"&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(r,o,i,s)=>(r.handleError(i,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}function is(e){e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0?e.hasPendingMicrotasks=!0:e.hasPendingMicrotasks=!1}function Ru(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Ou(e){e._nesting--,Xs(e)}var Rn=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new Re;onMicrotaskEmpty=new Re;onStable=new Re;onError=new Re;run(t,n,r){return t.apply(n,r)}runGuarded(t,n,r){return t.apply(n,r)}runOutsideAngular(t){return t()}runTask(t,n,r,o){return t.apply(n,r)}};function gg(e){return bl(e,"__ignore_ng_zone__")}function mg(e){return bl(e,"__scheduler_tick__")}function bl(e,t){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[t]===!0}var Ye=class{_console=console;handleError(t){this._console.error("ERROR",t)}},nt=new I("",{factory:()=>{let e=g(Fe),t=g(ae),n;return r=>{e.runOutsideAngular(()=>{t.destroyed&&!n?setTimeout(()=>{throw r}):(n??=t.get(Ye),n.handleError(r))})}}}),Tl={provide:Kt,useValue:()=>{let e=g(Ye,{optional:!0})},multi:!0},yg=new I("",{factory:()=>{let e=g(Ne).defaultView;if(!e)return;let t=g(nt),n=i=>{t(i.reason),i.preventDefault()},r=i=>{i.error?t(i.error):t(new Error(i.message,{cause:i})),i.preventDefault()},o=()=>{e.addEventListener("unhandledrejection",n),e.addEventListener("error",r)};typeof Zone<"u"?Zone.root.run(o):o(),g(X).onDestroy(()=>{e.removeEventListener("error",r),e.removeEventListener("unhandledrejection",n)})}});function vg(){return he([$u(()=>{g(yg)})])}function nn(e,t){let[n,r,o]=zi(e,t?.equal),i=n,s=i[U];return i.set=r,i.update=o,i.asReadonly=zn.bind(i),i}function zn(){let e=this[U];if(e.readonlyFn===void 0){let t=()=>this();t[U]=e,e.readonlyFn=t}return e.readonlyFn}var Ct=class{},Wn=new I("",{factory:()=>!0});var ea=new I(""),Mo=(()=>{class e{internalPendingTasks=g(xt);scheduler=g(Ct);errorHandler=g(nt);add(){let n=this.internalPendingTasks.add();return()=>{this.internalPendingTasks.has(n)&&(this.scheduler.notify(11),this.internalPendingTasks.remove(n))}}run(n){let r=this.add();n().catch(this.errorHandler).finally(r)}static \u0275prov=N({token:e,providedIn:"root",factory:()=>new e})}return e})(),ta=(()=>{class e{static \u0275prov=N({token:e,providedIn:"root",factory:()=>new ss})}return e})(),ss=class{dirtyEffectCount=0;queues=new Map;add(t){this.enqueue(t),this.schedule(t)}schedule(t){t.dirty&&this.dirtyEffectCount++}remove(t){let n=t.zone,r=this.queues.get(n);r.has(t)&&(r.delete(t),t.dirty&&this.dirtyEffectCount--)}enqueue(t){let n=t.zone;this.queues.has(n)||this.queues.set(n,new Set);let r=this.queues.get(n);r.has(t)||r.add(t)}flush(){for(;this.dirtyEffectCount>0;){let t=!1;for(let[n,r]of this.queues)n===null?t||=this.flushQueue(r):t||=n.run(()=>this.flushQueue(r));t||(this.dirtyEffectCount=0)}}flushQueue(t){let n=!1;for(let r of t)r.dirty&&(this.dirtyEffectCount--,n=!0,r.run());return n}},as=class{[U];constructor(t){this[U]=t}destroy(){this[U].destroy()}};function rr(e){return{toString:e}.toString()}function _g(e){return typeof e=="function"}function rd(e,t,n,r){t!==null?t.applyValueToInputSignal(t,r):e[n]=r}var jo=class{previousValue;currentValue;firstChange;constructor(t,n,r){this.previousValue=t,this.currentValue=n,this.firstChange=r}isFirstChange(){return this.firstChange}},or=(()=>{let e=()=>od;return e.ngInherit=!0,e})();function od(e){return e.type.prototype.ngOnChanges&&(e.setInput=Mg),Sg}function Sg(){let e=sd(this),t=e?.current;if(t){let n=e.previous;if(n===bt)e.previous=t;else for(let r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}}function Mg(e,t,n,r,o){let i=this.declaredInputs[r],s=sd(e)||Ng(e,{previous:bt,current:null}),a=s.current||(s.current={}),c=s.previous,u=c[i];a[i]=new jo(u&&u.currentValue,n,c===bt),rd(e,t,o,n)}var id="__ngSimpleChanges__";function sd(e){return e[id]||null}function Ng(e,t){return e[id]=t}var _l=[];var R=function(e,t=null,n){for(let r=0;r<_l.length;r++){let o=_l[r];o(e,t,n)}},A=(function(e){return e[e.TemplateCreateStart=0]="TemplateCreateStart",e[e.TemplateCreateEnd=1]="TemplateCreateEnd",e[e.TemplateUpdateStart=2]="TemplateUpdateStart",e[e.TemplateUpdateEnd=3]="TemplateUpdateEnd",e[e.LifecycleHookStart=4]="LifecycleHookStart",e[e.LifecycleHookEnd=5]="LifecycleHookEnd",e[e.OutputStart=6]="OutputStart",e[e.OutputEnd=7]="OutputEnd",e[e.BootstrapApplicationStart=8]="BootstrapApplicationStart",e[e.BootstrapApplicationEnd=9]="BootstrapApplicationEnd",e[e.BootstrapComponentStart=10]="BootstrapComponentStart",e[e.BootstrapComponentEnd=11]="BootstrapComponentEnd",e[e.ChangeDetectionStart=12]="ChangeDetectionStart",e[e.ChangeDetectionEnd=13]="ChangeDetectionEnd",e[e.ChangeDetectionSyncStart=14]="ChangeDetectionSyncStart",e[e.ChangeDetectionSyncEnd=15]="ChangeDetectionSyncEnd",e[e.AfterRenderHooksStart=16]="AfterRenderHooksStart",e[e.AfterRenderHooksEnd=17]="AfterRenderHooksEnd",e[e.ComponentStart=18]="ComponentStart",e[e.ComponentEnd=19]="ComponentEnd",e[e.DeferBlockStateStart=20]="DeferBlockStateStart",e[e.DeferBlockStateEnd=21]="DeferBlockStateEnd",e[e.DynamicComponentStart=22]="DynamicComponentStart",e[e.DynamicComponentEnd=23]="DynamicComponentEnd",e[e.HostBindingsUpdateStart=24]="HostBindingsUpdateStart",e[e.HostBindingsUpdateEnd=25]="HostBindingsUpdateEnd",e})(A||{});function Ag(e,t,n){let{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=t.type.prototype;if(r){let s=od(t);(n.preOrderHooks??=[]).push(e,s),(n.preOrderCheckHooks??=[]).push(e,s)}o&&(n.preOrderHooks??=[]).push(0-e,o),i&&((n.preOrderHooks??=[]).push(e,i),(n.preOrderCheckHooks??=[]).push(e,i))}function xg(e,t){for(let n=t.directiveStart,r=t.directiveEnd;n=r)break}else t[c]<0&&(e[St]+=65536),(a>14>16&&(e[v]&3)===t&&(e[v]+=16384,Sl(a,i)):Sl(a,i)}var on=-1,Yn=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(t,n,r,o){this.factory=t,this.name=o,this.canSeeViewProviders=n,this.injectImpl=r}};function Og(e){return(e.flags&8)!==0}function Fg(e){return(e.flags&16)!==0}function kg(e,t,n){let r=0;for(;rt){s=i-1;break}}}for(;i>16}function Bo(e,t){let n=Pg(e),r=t;for(;n>0;)r=r[_t],n--;return r}var ua=!0;function Ho(e){let t=ua;return ua=e,t}var jg=256,ld=jg-1,dd=5,Vg=0,Ae={};function Bg(e,t,n){let r;typeof n=="string"?r=n.charCodeAt(0)||0:n.hasOwnProperty(wt)&&(r=n[wt]),r==null&&(r=n[wt]=Vg++);let o=r&ld,i=1<>dd)]|=i}function fd(e,t){let n=pd(e,t);if(n!==-1)return n;let r=t[y];r.firstCreatePass&&(e.injectorIndex=t.length,ra(r.data,e),ra(t,null),ra(r.blueprint,null));let o=Wa(e,t),i=e.injectorIndex;if(ud(o)){let s=Vo(o),a=Bo(o,t),c=a[y].data;for(let u=0;u<8;u++)t[i+u]=a[s+u]|c[s+u]}return t[i+8]=o,i}function ra(e,t){e.push(0,0,0,0,0,0,0,0,t)}function pd(e,t){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||t[e.injectorIndex+8]===null?-1:e.injectorIndex}function Wa(e,t){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let n=0,r=null,o=t;for(;o!==null;){if(r=vd(o),r===null)return on;if(n++,o=o[_t],r.injectorIndex!==-1)return r.injectorIndex|n<<16}return on}function Hg(e,t,n){Bg(e,t,n)}function $g(e,t){if(t==="class")return e.classes;if(t==="style")return e.styles;let n=e.attrs;if(n){let r=n.length,o=0;for(;o>20,d=r?a:a+l,p=o?a+l:u;for(let f=d;f=c&&h.type===n)return f}if(o){let f=s[c];if(f&&Nt(f)&&f.type===n)return c}return null}function $o(e,t,n,r,o){let i=e[n],s=t.data;if(i instanceof Yn){let a=i;if(a.resolving)throw ms("");let c=Ho(a.canSeeViewProviders);a.resolving=!0;let u=s[n].type||s[n],l,d=a.injectImpl?Q(a.injectImpl):null,p=Zs(e,r,0);try{i=e[n]=a.factory(void 0,o,s,e,r),t.firstCreatePass&&n>=r.directiveStart&&Ag(n,s[n],t)}finally{d!==null&&Q(d),Ho(c),a.resolving=!1,Ys()}}return i}function Gg(e){if(typeof e=="string")return e.charCodeAt(0)||0;let t=e.hasOwnProperty(wt)?e[wt]:void 0;return typeof t=="number"?t>=0?t&ld:zg:t}function Nl(e,t,n){let r=1<>dd)]&r)}function Al(e,t){return!(e&2)&&!(e&1&&t)}var Rt=class{_tNode;_lView;constructor(t,n){this._tNode=t,this._lView=n}get(t,n,r){return md(this._tNode,this._lView,t,Et(r),n)}};function zg(){return new Rt(Z(),D())}function qa(e){return rr(()=>{let t=e.prototype.constructor,n=t[Nn]||la(t),r=Object.prototype,o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){let i=o[Nn]||la(o);if(i&&i!==n)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function la(e){return cs(e)?()=>{let t=la(ne(e));return t&&t()}:qe(e)}function Wg(e,t,n,r,o){let i=e,s=t;for(;i!==null&&s!==null&&s[v]&2048&&!en(s);){let a=yd(i,s,n,r|2,Ae);if(a!==Ae)return a;let c=i.parent;if(!c){let u=s[Ts];if(u){let l=u.get(n,Ae,r&-5);if(l!==Ae)return l}c=vd(s),s=s[_t]}i=c}return o}function vd(e){let t=e[y],n=t.type;return n===2?t.declTNode:n===1?e[K]:null}function Za(e){return $g(Z(),e)}function qg(){return dn(Z(),D())}function dn(e,t){return new Be(ve(e,t))}var Be=(()=>{class e{nativeElement;constructor(n){this.nativeElement=n}static __NG_ELEMENT_ID__=qg}return e})();function Zg(e){return e instanceof Be?e.nativeElement:e}function Yg(){return this._results[Symbol.iterator]()}var Uo=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 W}constructor(t=!1){this._emitDistinctChangesOnly=t}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,n){return this._results.reduce(t,n)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,n){this.dirty=!1;let r=Vu(t);(this._changesDetected=!ju(this._results,r,n))&&(this._results=r,this.length=r.length,this.last=r[this.length-1],this.first=r[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(t){this._onDirty=t}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=Yg};function Dd(e){return(e.flags&128)===128}var Ya=(function(e){return e[e.OnPush=0]="OnPush",e[e.Eager=1]="Eager",e[e.Default=1]="Default",e})(Ya||{}),Ed=new Map,Qg=0;function Kg(){return Qg++}function Jg(e){Ed.set(e[Le],e)}function da(e){Ed.delete(e[Le])}var xl="__ngContext__";function sn(e,t){Pe(t)?(e[xl]=t[Le],Jg(t)):e[xl]=t}function Id(e){return wd(e[Xt])}function Cd(e){return wd(e[ue])}function wd(e){for(;e!==null&&!ye(e);)e=e[ue];return e}var fa;function Xg(e){fa=e}function bd(){if(fa!==void 0)return fa;if(typeof document<"u")return document;throw new b(210,!1)}var em=new I("",{factory:()=>tm}),tm="ng";var Td=new I(""),nm=new I("",{providedIn:"platform",factory:()=>"unknown"});var rm=new I("",{factory:()=>g(Ne).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null}),oi={breakpoints:[16,32,48,64,96,128,256,384,640,750,828,1080,1200,1920,2048,3840],placeholderResolution:30,disableImageSizeWarning:!1,disableImageLazyLoadWarning:!1},ii=new I("",{factory:()=>oi});var _d="r";var Sd="di";var Md=!1,Nd=new I("",{factory:()=>Md});var om=(e,t,n,r)=>{};function im(e,t,n,r){om(e,t,n,r)}function si(e){return(e.flags&32)===32}var sm=()=>null;function Ad(e,t,n=!1){return sm(e,t,n)}function xd(e,t){let n=e.contentQueries;if(n!==null){let r=m(null);try{for(let o=0;oe,createScript:e=>e,createScriptURL:e=>e})}catch{}return No}function ai(e){return am()?.createHTML(e)||e}var Ao;function Od(){if(Ao===void 0&&(Ao=null,Yt.trustedTypes))try{Ao=Yt.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Ao}function Rl(e){return Od()?.createHTML(e)||e}function Ol(e){return Od()?.createScriptURL(e)||e}var Ve=class{changingThisBreaksApplicationSecurity;constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${so})`}},ha=class extends Ve{getTypeName(){return"HTML"}},ga=class extends Ve{getTypeName(){return"Style"}},ma=class extends Ve{getTypeName(){return"Script"}},ya=class extends Ve{getTypeName(){return"URL"}},va=class extends Ve{getTypeName(){return"ResourceURL"}};function ot(e){return e instanceof Ve?e.changingThisBreaksApplicationSecurity:e}function ci(e,t){let n=Fd(e);if(n!=null&&n!==t){if(n==="ResourceURL"&&t==="URL")return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${so})`)}return n===t}function Fd(e){return e instanceof Ve&&e.getTypeName()||null}function cm(e){return new ha(e)}function um(e){return new ga(e)}function lm(e){return new ma(e)}function dm(e){return new ya(e)}function fm(e){return new va(e)}function pm(e){let t=new Ea(e);return hm()?new Da(t):t}var Da=class{inertDocumentHelper;constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{let n=new window.DOMParser().parseFromString(ai(t),"text/html").body;return n===null?this.inertDocumentHelper.getInertBodyElement(t):(n.firstChild?.remove(),n)}catch{return null}}},Ea=class{defaultDoc;inertDocument;constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){let n=this.inertDocument.createElement("template");return n.innerHTML=ai(t),n}};function hm(){try{return!!new window.DOMParser().parseFromString(ai(""),"text/html")}catch{return!1}}var gm=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Qa(e){return e=String(e),e.match(gm)?e:"unsafe:"+e}function He(e){let t={};for(let n of e.split(","))t[n]=!0;return t}function ir(...e){let t={};for(let n of e)for(let r in n)n.hasOwnProperty(r)&&(t[r]=!0);return t}var kd=He("area,br,col,hr,img,wbr"),Ld=He("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pd=He("rp,rt"),mm=ir(Pd,Ld),ym=ir(Ld,He("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),vm=ir(Pd,He("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Fl=ir(kd,ym,vm,mm),jd=He("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Dm=He("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Em=He("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"),Im=ir(jd,Dm,Em),Cm=He("script,style,template");var Ia=class{sanitizedSomething=!1;buf=[];sanitizeChildren(t){let n=t.firstChild,r=!0,o=[];for(;n;){if(n.nodeType===Node.ELEMENT_NODE?r=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,r&&n.firstChild){o.push(n),n=Tm(n);continue}for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);let i=bm(n);if(i){n=i;break}n=o.pop()}}return this.buf.join("")}startElement(t){let n=kl(t).toLowerCase();if(!Fl.hasOwnProperty(n))return this.sanitizedSomething=!0,!Cm.hasOwnProperty(n);this.buf.push("<"),this.buf.push(n);let r=t.attributes;for(let o=0;o"),!0}endElement(t){let n=kl(t).toLowerCase();Fl.hasOwnProperty(n)&&!kd.hasOwnProperty(n)&&(this.buf.push(""))}chars(t){this.buf.push(Ll(t))}};function wm(e,t){return(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function bm(e){let t=e.nextSibling;if(t&&e!==t.previousSibling)throw Vd(t);return t}function Tm(e){let t=e.firstChild;if(t&&wm(e,t))throw Vd(t);return t}function kl(e){let t=e.nodeName;return typeof t=="string"?t:"FORM"}function Vd(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}var _m=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Sm=/([^\#-~ |!])/g;function Ll(e){return e.replace(/&/g,"&").replace(_m,function(t){let n=t.charCodeAt(0),r=t.charCodeAt(1);return"&#"+((n-55296)*1024+(r-56320)+65536)+";"}).replace(Sm,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}var xo;function Bd(e,t){let n=null;try{xo=xo||pm(e);let r=t?String(t):"";n=xo.getInertBodyElement(r);let o=5,i=r;do{if(o===0)throw new Error("Failed to sanitize html because the input is unstable");o--,r=i,i=n.innerHTML,n=xo.getInertBodyElement(r)}while(r!==i);let a=new Ia().sanitizeChildren(Pl(n)||n);return ai(a)}finally{if(n){let r=Pl(n)||n;for(;r.firstChild;)r.firstChild.remove()}}}function Pl(e){return"content"in e&&Mm(e)?e.content:null}function Mm(e){return e.nodeType===Node.ELEMENT_NODE&&e.nodeName==="TEMPLATE"}function Nm(e,t){return e.createText(t)}function Am(e,t,n){e.setValue(t,n)}function Hd(e,t,n){return e.createElement(t,n)}function Go(e,t,n,r,o){e.insertBefore(t,n,r,o)}function $d(e,t,n){e.appendChild(t,n)}function jl(e,t,n,r,o){r!==null?Go(e,t,n,r,o):$d(e,t,n)}function Ud(e,t,n,r){e.removeChild(null,t,n,r)}function xm(e,t,n){e.setAttribute(t,"style",n)}function Rm(e,t,n){n===""?e.removeAttribute(t,"class"):e.setAttribute(t,"class",n)}function Gd(e,t,n){let{mergedAttrs:r,classes:o,styles:i}=n;r!==null&&kg(e,t,r),o!==null&&Rm(e,t,o),i!==null&&xm(e,t,i)}var sr=(function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e})(sr||{});function zd(e){let t=Ka();return t?Rl(t.sanitize(sr.HTML,e)||""):ci(e,"HTML")?Rl(ot(e)):Bd(bd(),_e(e))}function Wd(e){let t=Ka();return t?t.sanitize(sr.URL,e)||"":ci(e,"URL")?ot(e):Qa(_e(e))}function qd(e){let t=Ka();if(t)return Ol(t.sanitize(sr.RESOURCE_URL,e)||"");if(ci(e,"ResourceURL"))return Ol(ot(e));throw new b(904,!1)}var Om=new Set(["embed","frame","iframe","media","script"]),Fm=new Set(["base","link","script"]);function km(e,t){return t==="src"&&Om.has(e)||t==="href"&&Fm.has(e)||t==="xlink:href"&&e==="script"?qd:Wd}function Lm(e,t,n){return km(t,n)(e)}function Ka(){let e=D();return e&&e[me].sanitizer}function Pm(e){return e.ownerDocument}function Zd(e){return e instanceof Function?e():e}function jm(e,t,n){let r=e.length;for(;;){let o=e.indexOf(t,n);if(o===-1)return o;if(o===0||e.charCodeAt(o-1)<=32){let i=t.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}n=o+1}}var Yd="ng-template";function Vm(e,t,n,r){let o=0;if(r){for(;o-1){let i;for(;++oi?d="":d=o[l+1].toLowerCase(),r&2&&u!==d){if(Ee(r))return!1;s=!0}}}}return Ee(r)||s}function Ee(e){return(e&1)===0}function $m(e,t,n,r){if(t===null)return-1;let o=0;if(r||!n){let i=!1;for(;o-1)for(n++;n0?'="'+a+'"':"")+"]"}else r&8?o+="."+s:r&4&&(o+=" "+s);else o!==""&&!Ee(s)&&(t+=Vl(i,o),o=""),r=s,i=i||!Ee(r);n++}return o!==""&&(t+=Vl(i,o)),t}function Zm(e){return e.map(qm).join(",")}function Ym(e){let t=[],n=[],r=1,o=2;for(;r=0;i--){let s=n[i],a=s.parentNode;s===t?(n.splice(i,1),ba.add(s),s.dispatchEvent(new CustomEvent("animationend",{detail:{cancel:!0}}))):(o&&s===o||a&&r&&a!==r)&&(n.splice(i,1),s.dispatchEvent(new CustomEvent("animationend",{detail:{cancel:!0}})),s.parentNode?.removeChild(s))}}function ny(e,t){let n=wa.get(e);n?n.includes(t)||n.push(t):wa.set(e,[t])}var Qn=new Set,rc=(function(e){return e[e.CHANGE_DETECTION=0]="CHANGE_DETECTION",e[e.AFTER_NEXT_RENDER=1]="AFTER_NEXT_RENDER",e})(rc||{}),li=new I(""),Bl=new Set;function it(e){Bl.has(e)||(Bl.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}var ef=(()=>{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=N({token:e,providedIn:"root",factory:()=>new e})}return e})();var tf=new I("",{factory:()=>({queue:new Set,isScheduled:!1,scheduler:null,injector:g(ae)})});function nf(e,t,n){let r=e.get(tf);if(Array.isArray(t))for(let o of t)r.queue.add(o),n?.detachedLeaveAnimationFns?.push(o);else r.queue.add(t),n?.detachedLeaveAnimationFns?.push(t);r.scheduler&&r.scheduler(e)}function ry(e,t){let n=e.get(tf);if(t.detachedLeaveAnimationFns){for(let r of t.detachedLeaveAnimationFns)n.queue.delete(r);t.detachedLeaveAnimationFns=void 0}}function oy(e,t){for(let[n,r]of t)nf(e,r.animateFns)}function Hl(e,t,n,r){let o=e?.[Je]?.enter;t!==null&&o&&o.has(n.index)&&oy(r,o)}function rn(e,t,n,r,o,i,s,a){if(o!=null){let c,u=!1;ye(o)?c=o:Pe(o)&&(u=!0,o=o[ge]);let l=le(o);e===0&&r!==null?(Hl(a,r,i,n),s==null?$d(t,r,l):Go(t,r,l,s||null,!0)):e===1&&r!==null?(Hl(a,r,i,n),Go(t,r,l,s||null,!0),ty(i,l)):e===2?(a?.[Je]?.leave?.has(i.index)&&ny(i,l),$l(a,i,n,d=>{if(ba.has(l)){ba.delete(l);return}Ud(t,l,u,d)})):e===3&&$l(a,i,n,()=>{t.destroyNode(l)}),c!=null&&gy(t,e,n,c,i,r,s)}}function iy(e,t){rf(e,t),t[ge]=null,t[K]=null}function sy(e,t,n,r,o,i){r[ge]=o,r[K]=t,fi(e,r,n,1,o,i)}function rf(e,t){t[me].changeDetectionScheduler?.notify(9),fi(e,t,t[F],2,null,null)}function ay(e){let t=e[Xt];if(!t)return oa(e[y],e);for(;t;){let n=null;if(Pe(t))n=t[Xt];else{let r=t[j];r&&(n=r)}if(!n){for(;t&&!t[ue]&&t!==e;)Pe(t)&&oa(t[y],t),t=t[G];t===null&&(t=e),Pe(t)&&oa(t[y],t),n=t&&t[ue]}t=n}}function oc(e,t){let n=e[Mt],r=n.indexOf(t);n.splice(r,1)}function di(e,t){if(At(t))return;let n=t[F];n.destroyNode&&fi(e,t,n,3,null,null),ay(t)}function oa(e,t){if(At(t))return;let n=m(null);try{t[v]&=-129,t[v]|=256,t[ie]&&Tn(t[ie]),ly(e,t),uy(e,t),t[y].type===1&&t[F].destroy();let r=t[Ke];if(r!==null&&ye(t[G])){r!==t[G]&&oc(r,t);let o=t[Se];o!==null&&o.detachView(e)}da(t)}finally{m(n)}}function $l(e,t,n,r){let o=e?.[Je];if(o==null||o.leave==null||!o.leave.has(t.index))return r(!1);e&&Qn.add(e[Le]),nf(n,()=>{if(o.leave&&o.leave.has(t.index)){let s=o.leave.get(t.index),a=[];if(s){for(let c=0;c{e[Je].running=void 0,Qn.delete(e[Le]),t(!0)});return}t(!1)}function uy(e,t){let n=e.cleanup,r=t[Jt];if(n!==null)for(let s=0;s=0?r[a]():r[-a].unsubscribe(),s+=2}else{let a=r[n[s+1]];n[s].call(a)}r!==null&&(t[Jt]=null);let o=t[Oe];if(o!==null){t[Oe]=null;for(let s=0;sB&&Xd(e,t,B,!1);let a=s?A.TemplateUpdateStart:A.TemplateCreateStart;R(a,o,n),n(r,o)}finally{tt(i);let a=s?A.TemplateUpdateEnd:A.TemplateCreateEnd;R(a,o,n)}}function lf(e,t,n){Cy(e,t,n),(n.flags&64)===64&&wy(e,t,n)}function ac(e,t,n=ve){let r=t.localNames;if(r!==null){let o=t.index+1;for(let i=0;inull;function Ey(e){return e==="class"?"className":e==="for"?"htmlFor":e==="formaction"?"formAction":e==="innerHtml"?"innerHTML":e==="readonly"?"readOnly":e==="tabindex"?"tabIndex":e}function df(e,t,n,r,o,i){let s=t[y];if(cc(e,s,t,n,r)){je(e)&&Iy(t,e.index);return}e.type&3&&(n=Ey(n)),ff(e,t,n,r,o,i)}function ff(e,t,n,r,o,i){if(e.type&3){let s=ve(e,t);r=i!=null?i(r,e.value||"",n):r,o.setProperty(s,n,r)}else e.type&12}function Iy(e,t){let n=de(t,e);n[v]&16||(n[v]|=64)}function Cy(e,t,n){let r=n.directiveStart,o=n.directiveEnd;je(n)&&Jm(t,n,e.data[r+n.componentOffset]),e.firstCreatePass||fd(n,t);let i=n.initialInputs;for(let s=r;s{$n(e.lView)},consumerOnSignalRead(){this.lView[ie]=this}});function Py(e){let t=e[ie]??Object.create(jy);return t.lView=e,t}var jy=H(_({},mt),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let t=Ze(e.lView);for(;t&&!vf(t[y]);)t=Ze(t);t&&Rs(t)},consumerOnSignalRead(){this.lView[ie]=this}});function vf(e){return e.type!==2}function Df(e){if(e[Vn]===null)return;let t=!0;for(;t;){let n=!1;for(let r of e[Vn])r.dirty&&(n=!0,r.zone===null||Zone.current===r.zone?r.run():r.zone.run(()=>r.run()));t=n&&!!(e[v]&8192)}}var Vy=100;function Ef(e,t=0){let r=e[me].rendererFactory,o=!1;o||r.begin?.();try{By(e,t)}finally{o||r.end?.()}}function By(e,t){let n=Us();try{Gs(!0),_a(e,t);let r=0;for(;Hn(e);){if(r===Vy)throw new b(103,!1);r++,_a(e,1)}}finally{Gs(n)}}function Hy(e,t,n,r){if(At(t))return;let o=t[v],i=!1,s=!1;bo(t);let a=!0,c=null,u=null;i||(vf(e)?(u=Oy(t),c=vt(u)):Yr()===null?(a=!1,u=Py(t),c=vt(u)):t[ie]&&(Tn(t[ie]),t[ie]=null));try{xs(t),cl(e.bindingStartIndex),n!==null&&uf(e,t,n,2,r);let l=(o&3)===3;if(!i)if(l){let f=e.preOrderCheckHooks;f!==null&&Oo(t,f,null)}else{let f=e.preOrderHooks;f!==null&&Fo(t,f,0,null),na(t,0)}if(s||$y(t),Df(t),If(t,0),e.contentQueries!==null&&xd(e,t),!i)if(l){let f=e.contentCheckHooks;f!==null&&Oo(t,f)}else{let f=e.contentHooks;f!==null&&Fo(t,f,1),na(t,1)}Gy(e,t);let d=e.components;d!==null&&wf(t,d,0);let p=e.viewQuery;if(p!==null&&pa(2,p,r),!i)if(l){let f=e.viewCheckHooks;f!==null&&Oo(t,f)}else{let f=e.viewHooks;f!==null&&Fo(t,f,2),na(t,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),t[mo]){for(let f of t[mo])f();t[mo]=null}i||(mf(t),t[v]&=-73)}catch(l){throw i||$n(t),l}finally{u!==null&&(Gt(u,c),a&&ky(u)),To()}}function If(e,t){for(let n=Id(e);n!==null;n=Cd(n))for(let r=j;r0&&(e[n-1][ue]=r[ue]);let i=Ln(e,j+t);iy(r[y],r);let s=i[Se];s!==null&&s.detachView(i[y]),r[G]=null,r[ue]=null,r[v]&=-129}return r}function zy(e,t,n,r){let o=j+r,i=n.length;r>0&&(n[o-1][ue]=t),r-1&&(Jn(t,r),Ln(n,r))}this._attachedToViewContainer=!1}di(this._lView[y],this._lView)}onDestroy(t){Os(this._lView,t)}markForCheck(){lc(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[v]&=-129}reattach(){Io(this._lView),this._lView[v]|=128}detectChanges(){this._lView[v]|=1024,Ef(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new b(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let t=en(this._lView),n=this._lView[Ke];n!==null&&!t&&oc(n,this._lView),rf(this._lView[y],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new b(902,!1);this._appRef=t;let n=en(this._lView),r=this._lView[Ke];r!==null&&!n&&Sf(r,this._lView),Io(this._lView)}};var Ft=(()=>{class e{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=Wy;constructor(n,r,o){this._declarationLView=n,this._declarationTContainer=r,this.elementRef=o}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,r){return this.createEmbeddedViewImpl(n,r)}createEmbeddedViewImpl(n,r,o){let i=ar(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:r,dehydratedView:o});return new rt(i)}}return e})();function Wy(){return dc(Z(),D())}function dc(e,t){return e.type&4?new Ft(t,e,dn(e,t)):null}function ur(e,t,n,r,o){let i=e.data[t];if(i===null)i=qy(e,t,n,r,o),ul()&&(i.flags|=32);else if(i.type&64){i.type=n,i.value=r,i.attrs=o;let s=al();i.injectorIndex=s===null?-1:s.injectorIndex}return tn(i,!0),i}function qy(e,t,n,r,o){let i=Bs(),s=Hs(),a=s?i:i&&i.parent,c=e.data[t]=Yy(e,a,n,t,r,o);return Zy(e,c,i,s),c}function Zy(e,t,n,r){e.firstChild===null&&(e.firstChild=t),n!==null&&(r?n.child==null&&t.parent!==null&&(n.child=t):n.next===null&&(n.next=t,t.prev=n))}function Yy(e,t,n,r,o,i){let s=t?t.injectorIndex:-1,a=0;return Ps()&&(a|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,controlDirectiveIndex:-1,customControlIndex:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:i,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:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}function Qy(e){let t=e[_s]??[],r=e[G][F],o=[];for(let i of t)i.data[Sd]!==void 0?o.push(i):Ky(i,r);e[_s]=o}function Ky(e,t){let n=0,r=e.firstChild;if(r){let o=e.data[_d];for(;nnull,Xy=()=>null;function Wo(e,t){return Jy(e,t)}function Mf(e,t,n){return Xy(e,t,n)}var Nf=class{},pi=class{},Sa=class{resolveComponentFactory(t){throw new b(917,!1)}},lr=class{static NULL=new Sa},Xn=class{},dr=(()=>{class e{destroyNode=null;static __NG_ELEMENT_ID__=()=>ev()}return e})();function ev(){let e=D(),t=Z(),n=de(t.index,e);return(Pe(n)?n:e)[F]}var Af=(()=>{class e{static \u0275prov=N({token:e,providedIn:"root",factory:()=>null})}return e})();var Lo={},Ma=class{injector;parentInjector;constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,r){let o=this.injector.get(t,Lo,r);return o!==Lo||n===Lo?o:this.parentInjector.get(t,n,r)}};function qo(e,t,n){let r=n?e.styles:null,o=n?e.classes:null,i=0;if(t!==null)for(let s=0;s0&&(n.directiveToIndex=new Map);for(let p=0;p0;){let n=e[--t];if(typeof n=="number"&&n<0)return n}return 0}function uv(e,t,n){if(n){if(t.exportAs)for(let r=0;rr(le(w[e.index])):e.index;Lf(h,t,n,i,a,f,!1)}}return u}function hv(e){return e.startsWith("animation")||e.startsWith("transition")}function gv(e,t,n,r){let o=e.cleanup;if(o!=null)for(let i=0;ic?a[c]:null}typeof s=="string"&&(i+=2)}return null}function Lf(e,t,n,r,o,i,s){let a=t.firstCreatePass?ks(t):null,c=Fs(n),u=c.length;c.push(o,i),a&&a.push(r,e,u,(u+1)*(s?-1:1))}function Zl(e,t,n,r,o,i){let s=t[n],a=t[y],u=a.data[n].outputs[r],d=s[u].subscribe(i);Lf(e.index,a,t,o,i,d,!0)}var Na=Symbol("BINDING");function Pf(e){return e.debugInfo?.className||e.type.name||null}var Zo=class extends lr{ngModule;constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){let n=Qe(t);return new cn(n,this.ngModule)}};function mv(e){return Object.keys(e).map(t=>{let[n,r,o]=e[t],i={propName:n,templateName:t,isSignal:(r&ui.SignalBased)!==0};return o&&(i.transform=o),i})}function yv(e){return Object.keys(e).map(t=>({propName:e[t],templateName:t}))}function vv(e,t,n){let r=t instanceof ae?t:t?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new Ma(n,r):n}function Dv(e){let t=e.get(Xn,null);if(t===null)throw new b(407,!1);let n=e.get(Af,null),r=e.get(Ct,null),o=e.get(li,null,{optional:!0});return{rendererFactory:t,sanitizer:n,changeDetectionScheduler:r,ngReflect:!1,tracingService:o}}function Ev(e,t){let n=jf(e);return Hd(t,n,n==="svg"?Ms:n==="math"?Yu:null)}function jf(e){return(e.selectors[0][0]||"div").toLowerCase()}var cn=class extends pi{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=mv(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=yv(this.componentDef.outputs),this.cachedOutputs}constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=Zm(t.selectors),this.ngContentSelectors=t.ngContentSelectors??[],this.isBoundToModule=!!n}create(t,n,r,o,i,s){R(A.DynamicComponentStart);let a=m(null);try{let c=this.componentDef,u=vv(c,o||this.ngModule,t),l=Dv(u),d=l.tracingService;return d&&d.componentCreate?d.componentCreate(Pf(c),()=>this.createComponentRef(l,u,n,r,i,s)):this.createComponentRef(l,u,n,r,i,s)}finally{m(a)}}createComponentRef(t,n,r,o,i,s){let a=this.componentDef,c=Iv(o,a,s,i),u=t.rendererFactory.createRenderer(null,a),l=o?yy(u,o,a.encapsulation,n):Ev(a,u),d=s?.some(Yl)||i?.some(h=>typeof h!="function"&&h.bindings.some(Yl)),p=ec(null,c,null,512|Kd(a),null,null,t,u,n,null,Ad(l,n,!0));p[B]=l,bo(p);let f=null;try{let h=Rf(B,p,2,"#host",()=>c.directiveRegistry,!0,0);Gd(u,l,h),sn(l,p),lf(c,p,h),Rd(c,h,p),Of(c,h),r!==void 0&&wv(h,this.ngContentSelectors,r),f=de(h.index,p),p[V]=f[V],uc(c,p,null)}catch(h){throw f!==null&&da(f),da(p),h}finally{R(A.DynamicComponentEnd),To()}return new Yo(this.componentType,p,!!d)}};function Iv(e,t,n,r){let o=e?["ng-version","21.2.4"]:Ym(t.selectors[0]),i=null,s=null,a=0;if(n)for(let l of n)a+=l[Na].requiredVars,l.create&&(l.targetIdx=0,(i??=[]).push(l)),l.update&&(l.targetIdx=0,(s??=[]).push(l));if(r)for(let l=0;l{if(n&1&&e)for(let r of e)r.create();if(n&2&&t)for(let r of t)r.update()}}function Yl(e){let t=e[Na].kind;return t==="input"||t==="twoWay"}var Yo=class extends Nf{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(t,n,r){super(),this._rootLView=n,this._hasInputBindings=r,this._tNode=Do(n[y],B),this.location=dn(this._tNode,n),this.instance=de(this._tNode.index,n)[V],this.hostView=this.changeDetectorRef=new rt(n,void 0),this.componentType=t}setInput(t,n){this._hasInputBindings;let r=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(t)&&Object.is(this.previousInputValues.get(t),n))return;let o=this._rootLView,i=cc(r,o[y],o,t,n);this.previousInputValues.set(t,n);let s=de(r.index,o);lc(s,1)}get injector(){return new Rt(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}};function wv(e,t,n){let r=e.projection=[];for(let o=0;o{class e{static __NG_ELEMENT_ID__=bv}return e})();function bv(){let e=Z();return Vf(e,D())}var Aa=class e extends fn{_lContainer;_hostTNode;_hostLView;constructor(t,n,r){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=r}get element(){return dn(this._hostTNode,this._hostLView)}get injector(){return new Rt(this._hostTNode,this._hostLView)}get parentInjector(){let t=Wa(this._hostTNode,this._hostLView);if(ud(t)){let n=Bo(t,this._hostLView),r=Vo(t),o=n[y].data[r+8];return new Rt(o,n)}else return new Rt(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){let n=Ql(this._lContainer);return n!==null&&n[t]||null}get length(){return this._lContainer.length-j}createEmbeddedView(t,n,r){let o,i;typeof r=="number"?o=r:r!=null&&(o=r.index,i=r.injector);let s=Wo(this._lContainer,t.ssrId),a=t.createEmbeddedViewImpl(n||{},i,s);return this.insertImpl(a,o,an(this._hostTNode,s)),a}createComponent(t,n,r,o,i,s,a){let c=t&&!_g(t),u;if(c)u=n;else{let L=n||{};u=L.index,r=L.injector,o=L.projectableNodes,i=L.environmentInjector||L.ngModuleRef,s=L.directives,a=L.bindings}let l=c?t:new cn(Qe(t)),d=r||this.parentInjector;if(!i&&l.ngModule==null){let P=(c?d:this.parentInjector).get(ae,null);P&&(i=P)}let p=Qe(l.componentType??{}),f=Wo(this._lContainer,p?.id??null),h=f?.firstChild??null,w=l.create(d,o,h,i,s,a);return this.insertImpl(w.hostView,u,an(this._hostTNode,f)),w}insert(t,n){return this.insertImpl(t,n,!0)}insertImpl(t,n,r){let o=t._lView;if(Ju(o)){let a=this.indexOf(t);if(a!==-1)this.detach(a);else{let c=o[G],u=new e(c,c[K],c[G]);u.detach(u.indexOf(t))}}let i=this._adjustIndex(n),s=this._lContainer;return cr(s,o,i,r),t.attachToViewContainerRef(),vs(ia(s),i,t),t}move(t,n){return this.insert(t,n)}indexOf(t){let n=Ql(this._lContainer);return n!==null?n.indexOf(t):-1}remove(t){let n=this._adjustIndex(t,-1),r=Jn(this._lContainer,n);r&&(Ln(ia(this._lContainer),n),di(r[y],r))}detach(t){let n=this._adjustIndex(t,-1),r=Jn(this._lContainer,n);return r&&Ln(ia(this._lContainer),n)!=null?new rt(r):null}_adjustIndex(t,n=0){return t??this.length+n}};function Ql(e){return e[Bn]}function ia(e){return e[Bn]||(e[Bn]=[])}function Vf(e,t){let n,r=t[e.index];return ye(r)?n=r:(n=bf(r,t,null,e),t[e.index]=n,tc(t,n)),_v(n,t,e,r),new Aa(n,e,t)}function Tv(e,t){let n=e[F],r=n.createComment(""),o=ve(t,e),i=n.parentNode(o);return Go(n,i,r,n.nextSibling(o),!1),r}var _v=Nv,Sv=()=>!1;function Mv(e,t,n){return Sv(e,t,n)}function Nv(e,t,n,r){if(e[Xe])return;let o;n.type&8?o=le(r):o=Tv(t,n),e[Xe]=o}var xa=class e{queryList;matches=null;constructor(t){this.queryList=t}clone(){return new e(this.queryList)}setDirty(){this.queryList.setDirty()}},Ra=class e{queries;constructor(t=[]){this.queries=t}createEmbeddedView(t){let n=t.queries;if(n!==null){let r=t.contentQueries!==null?t.contentQueries[0]:n.length,o=[];for(let i=0;i0)r.push(s[a/2]);else{let u=i[a+1],l=t[-c];for(let d=j;dt.trim())}function jv(e,t,n){e.queries===null&&(e.queries=new Fa),e.queries.track(new ka(t,n))}function Vv(e,t){let n=e.contentQueries||(e.contentQueries=[]),r=n.length?n[n.length-1]:-1;t!==r&&n.push(e.queries.length-1,t)}function fc(e,t){return e.queries.getByIndex(t)}function Bv(e,t){let n=e[y],r=fc(n,t);return r.crossesNgTemplate?La(n,e,t,[]):Bf(n,e,r,t)}var un=class{},Hf=class{};var Qo=class extends un{ngModuleType;_parent;_bootstrapComponents=[];_r3Injector;instance;destroyCbs=[];componentFactoryResolver=new Zo(this);constructor(t,n,r,o=!0){super(),this.ngModuleType=t,this._parent=n;let i=hs(t);this._bootstrapComponents=Zd(i.bootstrap),this._r3Injector=Qs(t,n,[{provide:un,useValue:this},{provide:lr,useValue:this.componentFactoryResolver},...r],On(t),new Set(["environment"])),o&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}get injector(){return this._r3Injector}destroy(){let t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}},Ko=class extends Hf{moduleType;constructor(t){super(),this.moduleType=t}create(t){return new Qo(this.moduleType,t,[])}};var er=class extends un{injector;componentFactoryResolver=new Zo(this);instance=null;constructor(t){super();let n=new It([...t.providers,{provide:un,useValue:this},{provide:lr,useValue:this.componentFactoryResolver}],t.parent||Pn(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}};function $f(e,t,n=null){return new er({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}var Hv=(()=>{class e{_injector;cachedInjectors=new Map;constructor(n){this._injector=n}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){let r=Is(!1,n.type),o=r.length>0?$f([r],this._injector,""):null;this.cachedInjectors.set(n,o)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(let n of this.cachedInjectors.values())n!==null&&n.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=N({token:e,providedIn:"environment",factory:()=>new e(O(ae))})}return e})();function Uf(e){return rr(()=>{let t=Gf(e),n=H(_({},t),{decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Ya.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:t.standalone?o=>o.get(Hv).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Ot.Emulated,styles:e.styles||re,_:null,schemas:e.schemas||null,tView:null,id:""});t.standalone&&it("NgStandalone"),zf(n);let r=e.dependencies;return n.directiveDefs=Kl(r,$v),n.pipeDefs=Kl(r,Fu),n.id=zv(n),n})}function $v(e){return Qe(e)||gs(e)}function hi(e){return rr(()=>({type:e.type,bootstrap:e.bootstrap||re,declarations:e.declarations||re,imports:e.imports||re,exports:e.exports||re,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Uv(e,t){if(e==null)return bt;let n={};for(let r in e)if(e.hasOwnProperty(r)){let o=e[r],i,s,a,c;Array.isArray(o)?(a=o[0],i=o[1],s=o[2]??i,c=o[3]||null):(i=o,s=o,a=ui.None,c=null),n[i]=[r,a,c],t[i]=s}return n}function Gv(e){if(e==null)return bt;let t={};for(let n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}function fr(e){return rr(()=>{let t=Gf(e);return zf(t),t})}function gi(e){return{type:e.type,name:e.name,factory:null,pure:e.pure!==!1,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function Gf(e){let t={};return{type:e.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputConfig:e.inputs||bt,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||re,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,controlDef:null,inputs:Uv(e.inputs,t),outputs:Gv(e.outputs),debugInfo:null}}function zf(e){e.features?.forEach(t=>t(e))}function Kl(e,t){return e?()=>{let n=typeof e=="function"?e():e,r=[];for(let o of n){let i=t(o);i!==null&&r.push(i)}return r}:null}function zv(e){let t=0,n=typeof e.consts=="function"?"":e.consts,r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,n,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(let i of r.join("|"))t=Math.imul(31,t)+i.charCodeAt(0)<<0;return t+=2147483648,"c"+t}function Wv(e,t,n,r,o,i,s,a){if(n.firstCreatePass){e.mergedAttrs=ri(e.mergedAttrs,e.attrs);let l=e.tView=Xa(2,e,o,i,s,n.directiveRegistry,n.pipeRegistry,null,n.schemas,n.consts,null);n.queries!==null&&(n.queries.template(n,e),l.queries=n.queries.embeddedTView(e))}a&&(e.flags|=a),tn(e,!1);let c=qv(n,t,e,r);_o()&&ic(n,t,c,e),sn(c,t);let u=bf(c,t,c,e);t[r+B]=u,tc(t,u),Mv(u,e,t)}function tr(e,t,n,r,o,i,s,a,c,u,l){let d=n+B,p;if(t.firstCreatePass){if(p=ur(t,d,4,s||null,a||null),u!=null){let f=Me(t.consts,u);p.localNames=[];for(let h=0;h{class e{log(n){console.log(n)}warn(n){console.warn(n)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=N({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function pc(e){return typeof e=="function"&&e[U]!==void 0}function hc(e){return pc(e)&&typeof e.set=="function"}var Wf=new I("");function gc(e){return!!e&&typeof e.then=="function"}function qf(e){return!!e&&typeof e.subscribe=="function"}var mc=new I("");var yc=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r});appInits=g(mc,{optional:!0})??[];injector=g(ce);constructor(){}runInitializers(){if(this.initialized)return;let n=[];for(let o of this.appInits){let i=jn(this.injector,o);if(gc(i))n.push(i);else if(qf(i)){let s=new Promise((a,c)=>{i.subscribe({complete:a,error:c})});n.push(s)}}let r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(o=>{this.reject(o)}),n.length===0&&r(),this.initialized=!0}static \u0275fac=function(r){return new(r||e)};static \u0275prov=N({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Zf=new I("");function Yf(){Gi(()=>{let e="";throw new b(600,e)})}function Qf(e){return e.isBoundToModule}var Qv=10;var mi=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=g(nt);afterRenderManager=g(ef);zonelessEnabled=g(Wn);rootEffectScheduler=g(ta);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new W;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=g(xt);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(te(n=>!n))}constructor(){g(li,{optional:!0})}whenStable(){let n;return new Promise(r=>{n=this.isStable.subscribe({next:o=>{o&&r()}})}).finally(()=>{n.unsubscribe()})}_injector=g(ae);_rendererFactory=null;get injector(){return this._injector}bootstrap(n,r){return this.bootstrapImpl(n,r)}bootstrapImpl(n,r,o=ce.NULL){return this._injector.get(Fe).run(()=>{R(A.BootstrapComponentStart);let s=n instanceof pi;if(!this._injector.get(yc).done){let h="";throw new b(405,h)}let c;s?c=n:c=this._injector.get(lr).resolveComponentFactory(n),this.componentTypes.push(c.componentType);let u=Qf(c)?void 0:this._injector.get(un),l=r||c.selector,d=c.create(o,[],l,u),p=d.location.nativeElement,f=d.injector.get(Wf,null);return f?.registerApplication(p),d.onDestroy(()=>{this.detachView(d.hostView),Zn(this.components,d),f?.unregisterApplication(p)}),this._loadComponent(d),R(A.BootstrapComponentEnd,d),d})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){R(A.ChangeDetectionStart),this.tracingSnapshot!==null?this.tracingSnapshot.run(rc.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw R(A.ChangeDetectionEnd),new b(101,!1);let n=m(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,m(n),this.afterTick.next(),R(A.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(Xn,null,{optional:!0}));let n=0;for(;this.dirtyFlags!==0&&n++Hn(n))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(n){let r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){let r=n;Zn(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView);try{this.tick()}catch(o){this.internalErrorHandler(o)}this.components.push(n),this._injector.get(Zf,[]).forEach(o=>o(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Zn(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new b(406,!1);let n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(r){return new(r||e)};static \u0275prov=N({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Zn(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function Kf(e,t,n,r){let o=D(),i=et();if(se(o,i,t)){let s=$(),a=Gn();_y(a,o,e,t,n,r)}return Kf}var Pa=class{destroy(t){}updateValue(t,n){}swap(t,n){let r=Math.min(t,n),o=Math.max(t,n),i=this.detach(o);if(o-r>1){let s=this.detach(r);this.attach(r,i),this.attach(o,s)}else this.attach(r,i)}move(t,n){this.attach(n,this.detach(t))}};function sa(e,t,n,r,o){return e===n&&Object.is(t,r)?1:Object.is(o(e,t),o(n,r))?-1:0}function Kv(e,t,n,r){let o,i,s=0,a=e.length-1,c=void 0;if(Array.isArray(t)){m(r);let u=t.length-1;for(m(null);s<=a&&s<=u;){let l=e.at(s),d=t[s],p=sa(s,l,s,d,n);if(p!==0){p<0&&e.updateValue(s,d),s++;continue}let f=e.at(a),h=t[u],w=sa(a,f,u,h,n);if(w!==0){w<0&&e.updateValue(a,h),a--,u--;continue}let L=n(s,l),P=n(a,f),we=n(s,d);if(Object.is(we,P)){let Ti=n(u,h);Object.is(Ti,L)?(e.swap(s,a),e.updateValue(a,h),u--,a--):e.move(a,s),e.updateValue(s,d),s++;continue}if(o??=new Jo,i??=Xl(e,s,a,n),ja(e,o,s,we))e.updateValue(s,d),s++,a++;else if(i.has(we))o.set(L,e.detach(s)),a--;else{let Ti=e.create(s,t[s]);e.attach(s,Ti),s++,a++}}for(;s<=u;)Jl(e,o,n,s,t[s]),s++}else if(t!=null){m(r);let u=t[Symbol.iterator]();m(null);let l=u.next();for(;!l.done&&s<=a;){let d=e.at(s),p=l.value,f=sa(s,d,s,p,n);if(f!==0)f<0&&e.updateValue(s,p),s++,l=u.next();else{o??=new Jo,i??=Xl(e,s,a,n);let h=n(s,p);if(ja(e,o,s,h))e.updateValue(s,p),s++,a++,l=u.next();else if(!i.has(h))e.attach(s,e.create(s,p)),s++,a++,l=u.next();else{let w=n(s,d);o.set(w,e.detach(s)),a--}}}for(;!l.done;)Jl(e,o,n,e.length,l.value),l=u.next()}for(;s<=a;)e.destroy(e.detach(a--));o?.forEach(u=>{e.destroy(u)})}function ja(e,t,n,r){return t!==void 0&&t.has(r)?(e.attach(n,t.get(r)),t.delete(r),!0):!1}function Jl(e,t,n,r,o){if(ja(e,t,r,n(r,o)))e.updateValue(r,o);else{let i=e.create(r,o);e.attach(r,i)}}function Xl(e,t,n,r){let o=new Set;for(let i=t;i<=n;i++)o.add(r(i,e.at(i)));return o}var Jo=class{kvMap=new Map;_vMap=void 0;has(t){return this.kvMap.has(t)}delete(t){if(!this.has(t))return!1;let n=this.kvMap.get(t);return this._vMap!==void 0&&this._vMap.has(n)?(this.kvMap.set(t,this._vMap.get(n)),this._vMap.delete(n)):this.kvMap.delete(t),!0}get(t){return this.kvMap.get(t)}set(t,n){if(this.kvMap.has(t)){let r=this.kvMap.get(t);this._vMap===void 0&&(this._vMap=new Map);let o=this._vMap;for(;o.has(r);)r=o.get(r);o.set(r,n)}else this.kvMap.set(t,n)}forEach(t){for(let[n,r]of this.kvMap)if(t(r,n),this._vMap!==void 0){let o=this._vMap;for(;o.has(r);)r=o.get(r),t(r,n)}}};function Jv(e,t,n,r,o,i,s,a){it("NgControlFlow");let c=D(),u=$(),l=Me(u.consts,i);return tr(c,u,e,t,n,r,o,l,256,s,a),vc}function vc(e,t,n,r,o,i,s,a){it("NgControlFlow");let c=D(),u=$(),l=Me(u.consts,i);return tr(c,u,e,t,n,r,o,l,512,s,a),vc}function Xv(e,t){it("NgControlFlow");let n=D(),r=et(),o=n[r]!==Y?n[r]:-1,i=o!==-1?Xo(n,B+o):void 0,s=0;if(se(n,r,e)){let a=m(null);try{if(i!==void 0&&_f(i,s),e!==-1){let c=B+e,u=Xo(n,c),l=$a(n[y],c),d=Mf(u,l,n),p=ar(n,l,t,{dehydratedView:d});cr(u,p,s,an(l,d))}}finally{m(a)}}else if(i!==void 0){let a=Tf(i,s);a!==void 0&&(a[V]=t)}}var Va=class{lContainer;$implicit;$index;constructor(t,n,r){this.lContainer=t,this.$implicit=n,this.$index=r}get $count(){return this.lContainer.length-j}};function eD(e){return e}function tD(e,t){return t}var Ba=class{hasEmptyBlock;trackByFn;liveCollection;constructor(t,n,r){this.hasEmptyBlock=t,this.trackByFn=n,this.liveCollection=r}};function nD(e,t,n,r,o,i,s,a,c,u,l,d,p){it("NgControlFlow");let f=D(),h=$(),w=c!==void 0,L=D(),P=a?s.bind(L[J][V]):s,we=new Ba(w,P);L[B+e]=we,tr(f,h,e+1,t,n,r,o,Me(h.consts,i),256),w&&tr(f,h,e+2,c,u,l,d,Me(h.consts,p),512)}var Ha=class extends Pa{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(t,n,r){super(),this.lContainer=t,this.hostLView=n,this.templateTNode=r}get length(){return this.lContainer.length-j}at(t){return this.getLView(t)[V].$implicit}attach(t,n){let r=n[Tt];this.needsIndexUpdate||=t!==this.length,cr(this.lContainer,n,t,an(this.templateTNode,r)),oD(this.lContainer,t)}detach(t){return this.needsIndexUpdate||=t!==this.length-1,iD(this.lContainer,t),sD(this.lContainer,t)}create(t,n){let r=Wo(this.lContainer,this.templateTNode.tView.ssrId);return ar(this.hostLView,this.templateTNode,new Va(this.lContainer,n,t),{dehydratedView:r})}destroy(t){di(t[y],t)}updateValue(t,n){this.getLView(t)[V].$implicit=n}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let t=0;t0){let i=r[ke];ry(i,o),Qn.delete(r[Le]),o.detachedLeaveAnimationFns=void 0}}function iD(e,t){if(e.length<=j)return;let n=j+t,r=e[n],o=r?r[Je]:void 0;o&&o.leave&&o.leave.size>0&&(o.detachedLeaveAnimationFns=[])}function sD(e,t){return Jn(e,t)}function aD(e,t){return Tf(e,t)}function $a(e,t){return Do(e,t)}function Jf(e,t,n){let r=D(),o=et();if(se(r,o,t)){let i=$(),s=Gn();df(s,r,e,t,r[F],n)}return Jf}function Ua(e,t,n,r,o){cc(t,e,n,o?"class":"style",r)}function ei(e,t,n,r){let o=D(),i=o[y],s=e+B,a=i.firstCreatePass?Rf(s,o,2,t,Ty,ol(),n,r):i.data[s];if(je(a)){let c=o[me].tracingService;if(c&&c.componentCreate){let u=i.data[a.directiveStart+a.componentOffset];return c.componentCreate(Pf(u),()=>(ed(e,t,o,a,r),ei))}}return ed(e,t,o,a,r),ei}function ed(e,t,n,r,o){if(pf(r,n,e,t,ep),vo(r)){let i=n[y];lf(i,n,r),Rd(i,r,n)}o!=null&&ac(n,r)}function Dc(){let e=$(),t=Z(),n=hf(t);return e.firstCreatePass&&Of(e,n),js(n)&&Vs(),Ls(),n.classesWithoutHost!=null&&Og(n)&&Ua(e,n,D(),n.classesWithoutHost,!0),n.stylesWithoutHost!=null&&Fg(n)&&Ua(e,n,D(),n.stylesWithoutHost,!1),Dc}function Xf(e,t,n,r){return ei(e,t,n,r),Dc(),Xf}function Ec(e,t,n,r){let o=D(),i=o[y],s=e+B,a=i.firstCreatePass?dv(s,i,2,t,n,r):i.data[s];return pf(a,o,e,t,ep),r!=null&&ac(o,a),Ec}function Ic(){let e=Z(),t=hf(e);return js(t)&&Vs(),Ls(),Ic}function Cc(e,t,n,r){return Ec(e,t,n,r),Ic(),Cc}var ep=(e,t,n,r,o)=>(So(!0),Hd(t[F],r,Dl()));function cD(){return D()}function wc(e,t,n){let r=D(),o=et();if(se(r,o,t)){let i=$(),s=Gn();ff(s,r,e,t,r[F],n)}return wc}var pr="en-US";var uD=pr;function tp(e){typeof e=="string"&&(uD=e.toLowerCase().replace(/_/g,"-"))}function np(e,t,n){let r=D(),o=$(),i=Z();return op(o,r,r[F],i,e,t,n),np}function rp(e,t,n){let r=D(),o=$(),i=Z();return(i.type&3||n)&&kf(i,o,r,n,r[F],e,t,Po(i,r,t)),rp}function op(e,t,n,r,o,i,s){let a=!0,c=null;if((r.type&3||s)&&(c??=Po(r,t,i),kf(r,e,t,s,n,o,i,c)&&(a=!1)),a){let u=r.outputs?.[o],l=r.hostDirectiveOutputs?.[o];if(l&&l.length)for(let d=0;d>17&32767}function yD(e){return(e&2)==2}function vD(e,t){return e&131071|t<<17}function Ga(e){return e|2}function ln(e){return(e&131068)>>2}function aa(e,t){return e&-131069|t<<2}function DD(e){return(e&1)===1}function za(e){return e|1}function ED(e,t,n,r,o,i){let s=i?t.classBindings:t.styleBindings,a=kt(s),c=ln(s);e[r]=n;let u=!1,l;if(Array.isArray(n)){let d=n;l=d[1],(l===null||Qt(d,l)>0)&&(u=!0)}else l=n;if(o)if(c!==0){let p=kt(e[a+1]);e[r+1]=Ro(p,a),p!==0&&(e[p+1]=aa(e[p+1],r)),e[a+1]=vD(e[a+1],r)}else e[r+1]=Ro(a,0),a!==0&&(e[a+1]=aa(e[a+1],r)),a=r;else e[r+1]=Ro(c,0),a===0?a=r:e[c+1]=aa(e[c+1],r),c=r;u&&(e[r+1]=Ga(e[r+1])),td(e,l,r,!0),td(e,l,r,!1),ID(t,l,e,r,i),s=Ro(a,c),i?t.classBindings=s:t.styleBindings=s}function ID(e,t,n,r,o){let i=o?e.residualClasses:e.residualStyles;i!=null&&typeof t=="string"&&Qt(i,t)>=0&&(n[r+1]=za(n[r+1]))}function td(e,t,n,r){let o=e[n+1],i=t===null,s=r?kt(o):ln(o),a=!1;for(;s!==0&&(a===!1||i);){let c=e[s],u=e[s+1];CD(c,t)&&(a=!0,e[s+1]=r?za(u):Ga(u)),s=r?kt(u):ln(u)}a&&(e[n+1]=r?Ga(o):za(o))}function CD(e,t){return e===null||t==null||(Array.isArray(e)?e[1]:e)===t?!0:Array.isArray(e)&&typeof t=="string"?Qt(e,t)>=0:!1}var Ie={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function wD(e){return e.substring(Ie.key,Ie.keyEnd)}function bD(e){return TD(e),sp(e,ap(e,0,Ie.textEnd))}function sp(e,t){let n=Ie.textEnd;return n===t?-1:(t=Ie.keyEnd=_D(e,Ie.key=t,n),ap(e,t,n))}function TD(e){Ie.key=0,Ie.keyEnd=0,Ie.value=0,Ie.valueEnd=0,Ie.textEnd=e.length}function ap(e,t,n){for(;t32;)t++;return t}function yi(e,t,n){return ND(e,t,n,!1),yi}function SD(e){AD(LD,MD,e,!0)}function MD(e,t){for(let n=bD(t);n>=0;n=sp(t,n))ho(e,wD(t),!0)}function ND(e,t,n,r){let o=D(),i=$(),s=Un(2);if(i.firstUpdatePass&&up(i,e,s,r),t!==Y&&se(o,s,t)){let a=i.data[De()];lp(i,a,o,o[F],e,o[s+1]=jD(t,n),r,s)}}function AD(e,t,n,r){let o=$(),i=Un(2);o.firstUpdatePass&&up(o,null,i,r);let s=D();if(n!==Y&&se(s,i,n)){let a=o.data[De()];if(dp(a,r)&&!cp(o,i)){let c=r?a.classesWithoutHost:a.stylesWithoutHost;c!==null&&(n=ao(c,n||"")),Ua(o,a,s,n,r)}else PD(o,a,s,s[F],s[i+1],s[i+1]=kD(e,t,n),r,i)}}function cp(e,t){return t>=e.expandoStartIndex}function up(e,t,n,r){let o=e.data;if(o[n+1]===null){let i=o[De()],s=cp(e,n);dp(i,r)&&t===null&&!s&&(t=!1),t=xD(o,i,t,r),ED(o,i,t,n,s,r)}}function xD(e,t,n,r){let o=fl(e),i=r?t.residualClasses:t.residualStyles;if(o===null)(r?t.classBindings:t.styleBindings)===0&&(n=ca(null,e,t,n,r),n=nr(n,t.attrs,r),i=null);else{let s=t.directiveStylingLast;if(s===-1||e[s]!==o)if(n=ca(o,e,t,n,r),i===null){let c=RD(e,t,r);c!==void 0&&Array.isArray(c)&&(c=ca(null,e,t,c[1],r),c=nr(c,t.attrs,r),OD(e,t,r,c))}else i=FD(e,t,r)}return i!==void 0&&(r?t.residualClasses=i:t.residualStyles=i),n}function RD(e,t,n){let r=n?t.classBindings:t.styleBindings;if(ln(r)!==0)return e[kt(r)]}function OD(e,t,n,r){let o=n?t.classBindings:t.styleBindings;e[kt(o)]=r}function FD(e,t,n){let r,o=t.directiveEnd;for(let i=1+t.directiveStylingLast;i0;){let c=e[o],u=Array.isArray(c),l=u?c[1]:c,d=l===null,p=n[o+1];p===Y&&(p=d?re:void 0);let f=d?go(p,r):l===r?p:void 0;if(u&&!ti(f)&&(f=go(c,r)),ti(f)&&(a=f,s))return a;let h=e[o+1];o=s?kt(h):ln(h)}if(t!==null){let c=i?t.residualClasses:t.residualStyles;c!=null&&(a=go(c,r))}return a}function ti(e){return e!==void 0}function jD(e,t){return e==null||e===""||(typeof t=="string"?e=e+t:typeof e=="object"&&(e=On(ot(e)))),e}function dp(e,t){return(e.flags&(t?8:16))!==0}function VD(e,t=""){let n=D(),r=$(),o=e+B,i=r.firstCreatePass?ur(r,o,1,t,null):r.data[o],s=BD(r,n,i,t);n[o]=s,_o()&&ic(r,n,s,i),tn(i,!1)}var BD=(e,t,n,r)=>(So(!0),Nm(t[F],r));function HD(e,t,n,r=""){return se(e,et(),n)?t+_e(n)+r:Y}function $D(e,t,n,r,o,i=""){let s=Ws(),a=Ff(e,s,n,o);return Un(2),a?t+_e(n)+r+_e(o)+i:Y}function UD(e,t,n,r,o,i,s,a=""){let c=Ws(),u=pv(e,c,n,o,s);return Un(3),u?t+_e(n)+r+_e(o)+i+_e(s)+a:Y}function fp(e){return bc("",e),fp}function bc(e,t,n){let r=D(),o=HD(r,e,t,n);return o!==Y&&Tc(r,De(),o),bc}function pp(e,t,n,r,o){let i=D(),s=$D(i,e,t,n,r,o);return s!==Y&&Tc(i,De(),s),pp}function hp(e,t,n,r,o,i,s){let a=D(),c=UD(a,e,t,n,r,o,i,s);return c!==Y&&Tc(a,De(),c),hp}function Tc(e,t,n){let r=Ns(t,e);Am(e[F],r,n)}function gp(e,t,n){hc(t)&&(t=t());let r=D(),o=et();if(se(r,o,t)){let i=$(),s=Gn();df(s,r,e,t,r[F],n)}return gp}function GD(e,t){let n=hc(e);return n&&e.set(t),n}function mp(e,t){let n=D(),r=$(),o=Z();return op(r,n,n[F],o,e,t),mp}function zD(e,t,n){return yp(D(),zs(),e,t,n)}function WD(e,t){let n=e[t];return n===Y?void 0:n}function yp(e,t,n,r,o,i){let s=t+n;return se(e,s,o)?fv(e,s+1,i?r.call(i,o):r(o)):WD(e,s+1)}function qD(e,t){let n=$(),r,o=e+B;n.firstCreatePass?(r=ZD(t,n.pipeRegistry),n.data[o]=r,r.onDestroy&&(n.destroyHooks??=[]).push(o,r.onDestroy)):r=n.data[o];let i=r.factory||(r.factory=qe(r.type,!0)),s,a=Q($e);try{let c=Ho(!1),u=i();return Ho(c),As(n,D(),o,u),u}finally{Q(a)}}function ZD(e,t){if(t)for(let n=t.length-1;n>=0;n--){let r=t[n];if(e===r.name)return r}}function YD(e,t,n){let r=e+B,o=D(),i=Qu(o,r);return QD(o,r)?yp(o,zs(),t,i.transform,n,i):i.transform(n)}function QD(e,t){return e[y].data[t].pure}var ni=class{ngModuleFactory;componentFactories;constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}},KD=(()=>{class e{compileModuleSync(n){return new Ko(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){let r=this.compileModuleSync(n),o=hs(n),i=Zd(o.declarations).reduce((s,a)=>{let c=Qe(a);return c&&s.push(new cn(c)),s},[]);return new ni(r,i)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}static \u0275fac=function(r){return new(r||e)};static \u0275prov=N({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var vp=(()=>{class e{applicationErrorHandler=g(nt);appRef=g(mi);taskService=g(xt);ngZone=g(Fe);zonelessEnabled=g(Wn);tracing=g(li,{optional:!0});zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new z;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(xn):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(g(ea,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{let n=this.taskService.add();if(!this.runningTick&&(this.cleanup(),!this.zonelessEnabled||this.appRef.includeAllTestViews)){this.taskService.remove(n);return}this.switchToMicrotaskScheduler(),this.taskService.remove(n)})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}switchToMicrotaskScheduler(){this.ngZone.runOutsideAngular(()=>{let n=this.taskService.add();this.useMicrotaskScheduler=!0,queueMicrotask(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(n)})})}notify(n){if(!this.zonelessEnabled&&n===5)return;switch(n){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 r=this.useMicrotaskScheduler?wl:Ks;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>r(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>r(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(xn+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 n=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(r){this.applicationErrorHandler(r)}finally{this.taskService.remove(n),this.cleanup()}}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let n=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(n)}}static \u0275fac=function(r){return new(r||e)};static \u0275prov=N({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Dp(){return[{provide:Ct,useExisting:vp},{provide:Fe,useClass:Rn},{provide:Wn,useValue:!0}]}function JD(){return typeof $localize<"u"&&$localize.locale||pr}var _c=new I("",{factory:()=>g(_c,{optional:!0,skipSelf:!0})||JD()});var vi=class{destroyed=!1;listeners=null;errorHandler=g(Ye,{optional:!0});destroyRef=g(X);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(t){if(this.destroyed)throw new b(953,!1);return(this.listeners??=[]).push(t),{unsubscribe:()=>{let n=this.listeners?.indexOf(t);n!==void 0&&n!==-1&&this.listeners?.splice(n,1)}}}emit(t){if(this.destroyed){console.warn(Zt(953,!1));return}if(this.listeners===null)return;let n=m(null);try{for(let r of this.listeners)try{r(t)}catch(o){this.errorHandler?.handleError(o)}}finally{m(n)}}};function Cp(e){return Nu(e)}function Di(e,t){return Kr(e,t?.equal)}var XD=e=>e;function eE(e,t){if(typeof e=="function"){let n=qi(e,XD,t?.equal);return Ep(n,t?.debugName)}else{let n=qi(e.source,e.computation,e.equal);return Ep(n,e.debugName)}}function Ep(e,t){let n=e[U],r=e;return r.set=o=>Su(n,o),r.update=o=>Mu(n,o),r.asReadonly=zn.bind(e),r}var Ii=Symbol("InputSignalNode#UNSET"),Sp=H(_({},Xr),{transformFn:void 0,applyValueToInputSignal(e,t){We(e,t)}});function Mp(e,t){let n=Object.create(Sp);n.value=e,n.transformFn=t?.transform;function r(){if(ze(n),n.value===Ii){let o=null;throw new b(-950,o)}return n.value}return r[U]=n,r}var wp=class{attributeName;constructor(t){this.attributeName=t}__NG_ELEMENT_ID__=()=>Za(this.attributeName);toString(){return`HostAttributeToken ${this.attributeName}`}};function bp(e,t){return Mp(e,t)}function aE(e){return Mp(Ii,e)}var mF=(bp.required=aE,bp);function Np(e,t){let n=Object.create(Sp),r=new vi;n.value=e;function o(){return ze(n),Tp(n.value),n.value}return o[U]=n,o.asReadonly=zn.bind(o),o.set=i=>{n.equal(n.value,i)||(We(n,i),r.emit(i))},o.update=i=>{Tp(n.value),o.set(i(n.value))},o.subscribe=r.subscribe.bind(r),o.destroyRef=r.destroyRef,o}function Tp(e){if(e===Ii)throw new b(952,!1)}function _p(e,t){return Np(e,t)}function cE(e){return Np(Ii,e)}var yF=(_p.required=cE,_p);var Sc=new I(""),uE=new I("");function hr(e){return!e.moduleRef}function lE(e){let t=hr(e)?e.r3Injector:e.moduleRef.injector,n=t.get(Fe);return n.run(()=>{hr(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=t.get(nt),o;if(n.runOutsideAngular(()=>{o=n.onError.subscribe({next:r})}),hr(e)){let i=()=>t.destroy(),s=e.platformInjector.get(Sc);s.add(i),t.onDestroy(()=>{o.unsubscribe(),s.delete(i)})}else{let i=()=>e.moduleRef.destroy(),s=e.platformInjector.get(Sc);s.add(i),e.moduleRef.onDestroy(()=>{Zn(e.allPlatformModules,e.moduleRef),o.unsubscribe(),s.delete(i)})}return fE(r,n,()=>{let i=t.get(xt),s=i.add(),a=t.get(yc);return a.runInitializers(),a.donePromise.then(()=>{let c=t.get(_c,pr);if(tp(c||pr),!t.get(uE,!0))return hr(e)?t.get(mi):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(hr(e)){let l=t.get(mi);return e.rootComponent!==void 0&&l.bootstrap(e.rootComponent),l}else return dE?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>{i.remove(s)})})})}var dE;function fE(e,t,n){try{let r=n();return gc(r)?r.catch(o=>{throw t.runOutsideAngular(()=>e(o)),o}):r}catch(r){throw t.runOutsideAngular(()=>e(r)),r}}var Ei=null;function pE(e=[],t){return ce.create({name:t,providers:[{provide:ws,useValue:"platform"},{provide:Sc,useValue:new Set([()=>Ei=null])},...e]})}function hE(e=[]){if(Ei)return Ei;let t=pE(e);return Ei=t,Yf(),gE(t),t}function gE(e){let t=e.get(Td,null);jn(e,()=>{t?.forEach(n=>n())})}function vF(){return!1}var mE=1e4;var DF=mE-1e3;var pn=(()=>{class e{static __NG_ELEMENT_ID__=yE}return e})();function yE(e){return vE(Z(),D(),(e&16)===16)}function vE(e,t,n){if(je(e)&&!n){let r=de(e.index,t);return new rt(r,r)}else if(e.type&175){let r=t[J];return new rt(r,t)}return null}function EF(e){let{rootComponent:t,appProviders:n,platformProviders:r,platformRef:o}=e;R(A.BootstrapApplicationStart);try{let i=o?.injector??hE(r),s=[Dp(),Tl,...n||[]],a=new er({providers:s,parent:i,debugName:"",runEnvironmentInitializers:!1});return lE({r3Injector:a.injector,platformInjector:i,rootComponent:t})}catch(i){return Promise.reject(i)}finally{R(A.BootstrapApplicationEnd)}}function gr(e){return typeof e=="boolean"?e:e!=null&&e!=="false"}function Mc(e,t=NaN){return!isNaN(parseFloat(e))&&!isNaN(Number(e))?Number(e):t}var Ap=null;function Ci(){return Ap}function DE(e){Ap??=e}var Nc=class{},hn=(()=>{class e{historyGo(n){throw new Error("")}static \u0275fac=function(r){return new(r||e)};static \u0275prov=N({token:e,factory:()=>g(xp),providedIn:"platform"})}return e})();var xp=(()=>{class e extends hn{_location;_history;_doc=g(Ne);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Ci().getBaseHref(this._doc)}onPopState(n){let r=Ci().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",n,!1),()=>r.removeEventListener("popstate",n)}onHashChange(n){let r=Ci().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",n,!1),()=>r.removeEventListener("hashchange",n)}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(n){this._location.pathname=n}pushState(n,r,o){this._history.pushState(n,r,o)}replaceState(n,r,o){this._history.replaceState(n,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}static \u0275fac=function(r){return new(r||e)};static \u0275prov=N({token:e,factory:()=>new e,providedIn:"platform"})}return e})();function wi(e,t){return e?t?e.endsWith("/")?t.startsWith("/")?e+t.slice(1):e+t:t.startsWith("/")?e+t:`${e}/${t}`:e:t}function Rp(e){let t=e.search(/#|\?|$/);return e[t-1]==="/"?e.slice(0,t-1)+e.slice(t):e}function Ce(e){return e&&e[0]!=="?"?`?${e}`:e}var gn=(()=>{class e{historyGo(n){throw new Error("")}static \u0275fac=function(r){return new(r||e)};static \u0275prov=N({token:e,factory:()=>g(EE),providedIn:"root"})}return e})(),Ac=new I(""),EE=(()=>{class e extends gn{_platformLocation;_baseHref;_removeListenerFns=[];constructor(n,r){super(),this._platformLocation=n,this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??g(Ne).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return wi(this._baseHref,n)}path(n=!1){let r=this._platformLocation.pathname+Ce(this._platformLocation.search),o=this._platformLocation.hash;return o&&n?`${r}${o}`:r}pushState(n,r,o,i){let s=this.prepareExternalUrl(o+Ce(i));this._platformLocation.pushState(n,r,s)}replaceState(n,r,o,i){let s=this.prepareExternalUrl(o+Ce(i));this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}static \u0275fac=function(r){return new(r||e)(O(hn),O(Ac,8))};static \u0275prov=N({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Fp=(()=>{class e{_subject=new W;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(n){this._locationStrategy=n;let r=this._locationStrategy.getBaseHref();this._basePath=wE(Rp(Op(r))),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(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,r=""){return this.path()==this.normalize(n+Ce(r))}normalize(n){return e.stripTrailingSlash(CE(this._basePath,Op(n)))}prepareExternalUrl(n){return n&&n[0]!=="/"&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,r="",o=null){this._locationStrategy.pushState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Ce(r)),o)}replaceState(n,r="",o=null){this._locationStrategy.replaceState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Ce(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription??=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)}),()=>{let r=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(r,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",r){this._urlChangeListeners.forEach(o=>o(n,r))}subscribe(n,r,o){return this._subject.subscribe({next:n,error:r??void 0,complete:o??void 0})}static normalizeQueryParams=Ce;static joinWithSlash=wi;static stripTrailingSlash=Rp;static \u0275fac=function(r){return new(r||e)(O(gn))};static \u0275prov=N({token:e,factory:()=>IE(),providedIn:"root"})}return e})();function IE(){return new Fp(O(gn))}function CE(e,t){if(!e||!t.startsWith(e))return t;let n=t.substring(e.length);return n===""||["/",";","?","#"].includes(n[0])?n:t}function Op(e){return e.replace(/\/index.html$/,"")}function wE(e){if(new RegExp("^(https?:)?//").test(e)){let[,n]=e.split(/\/\/[^\/]+/);return n}return e}var bE=(()=>{class e extends gn{_platformLocation;_baseHref="";_removeListenerFns=[];constructor(n,r){super(),this._platformLocation=n,r!=null&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let r=this._platformLocation.hash??"#";return r.length>0?r.substring(1):r}prepareExternalUrl(n){let r=wi(this._baseHref,n);return r.length>0?"#"+r:r}pushState(n,r,o,i){let s=this.prepareExternalUrl(o+Ce(i))||this._platformLocation.pathname;this._platformLocation.pushState(n,r,s)}replaceState(n,r,o,i){let s=this.prepareExternalUrl(o+Ce(i))||this._platformLocation.pathname;this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}static \u0275fac=function(r){return new(r||e)(O(hn),O(Ac,8))};static \u0275prov=N({token:e,factory:e.\u0275fac})}return e})();function TE(e,t){t=encodeURIComponent(t);for(let n of e.split(";")){let r=n.indexOf("="),[o,i]=r==-1?[n,""]:[n.slice(0,r),n.slice(r+1)];if(o.trim()===t)return decodeURIComponent(i)}return null}var xc=class{};var rL="browser";var Lp=e=>e.src,SE=new I("",{factory:()=>Lp});var kp=/^((\s*\d+w\s*(,|$)){1,})$/;var ME=[1,2],NE=640;var AE=1920,xE=1080;var oL=(()=>{class e{imageLoader=g(SE);config=RE(g(ii));renderer=g(dr);imgElement=g(Be).nativeElement;injector=g(ce);destroyRef=g(X);lcpObserver;_renderedSrc=null;ngSrc;ngSrcset;sizes;width;height;decoding;loading;priority=!1;loaderParams;disableOptimizedSrcset=!1;fill=!1;placeholder;placeholderConfig;src;srcset;constructor(){}ngOnInit(){it("NgOptimizedImage"),this.placeholder&&this.removePlaceholderOnLoad(this.imgElement),this.setHostAttributes()}setHostAttributes(){this.fill?this.sizes||="100vw":(this.setHostAttribute("width",this.width.toString()),this.setHostAttribute("height",this.height.toString())),this.setHostAttribute("loading",this.getLoadingBehavior()),this.setHostAttribute("fetchpriority",this.getFetchPriority()),this.setHostAttribute("decoding",this.getDecoding()),this.setHostAttribute("ng-img","true");let n=this.updateSrcAndSrcset();this.sizes?this.getLoadingBehavior()==="lazy"?this.setHostAttribute("sizes","auto, "+this.sizes):this.setHostAttribute("sizes",this.sizes):this.ngSrcset&&kp.test(this.ngSrcset)&&this.getLoadingBehavior()==="lazy"&&this.setHostAttribute("sizes","auto, 100vw")}ngOnChanges(n){if(n.ngSrc&&!n.ngSrc.isFirstChange()){let r=this._renderedSrc;this.updateSrcAndSrcset(!0)}}getAspectRatio(){return this.width&&this.height&&this.height!==0?this.width/this.height:null}callImageLoader(n){let r=n;this.loaderParams&&(r.loaderParams=this.loaderParams);let o=this.getAspectRatio();return o!==null&&r.width&&(r.height=Math.round(r.width/o)),this.imageLoader(r)}getLoadingBehavior(){return!this.priority&&this.loading!==void 0?this.loading:this.priority?"eager":"lazy"}getFetchPriority(){return this.priority?"high":"auto"}getDecoding(){return this.priority?"sync":this.decoding??"auto"}getRewrittenSrc(){if(!this._renderedSrc){let n={src:this.ngSrc};this._renderedSrc=this.callImageLoader(n)}return this._renderedSrc}getRewrittenSrcset(){let n=kp.test(this.ngSrcset);return this.ngSrcset.split(",").filter(o=>o!=="").map(o=>{o=o.trim();let i=n?parseFloat(o):parseFloat(o)*this.width;return`${this.callImageLoader({src:this.ngSrc,width:i})} ${o}`}).join(", ")}getAutomaticSrcset(){return this.sizes?this.getResponsiveSrcset():this.getFixedSrcset()}getResponsiveSrcset(){let{breakpoints:n}=this.config,r=n;return this.sizes?.trim()==="100vw"&&(r=n.filter(i=>i>=NE)),r.map(i=>`${this.callImageLoader({src:this.ngSrc,width:i})} ${i}w`).join(", ")}updateSrcAndSrcset(n=!1){n&&(this._renderedSrc=null);let r=this.getRewrittenSrc();this.setHostAttribute("src",r);let o;return this.ngSrcset?o=this.getRewrittenSrcset():this.shouldGenerateAutomaticSrcset()&&(o=this.getAutomaticSrcset()),o&&this.setHostAttribute("srcset",o),o}getFixedSrcset(){return ME.map(r=>`${this.callImageLoader({src:this.ngSrc,width:this.width*r})} ${r}x`).join(", ")}shouldGenerateAutomaticSrcset(){let n=!1;return this.sizes||(n=this.width>AE||this.height>xE),!this.disableOptimizedSrcset&&!this.srcset&&this.imageLoader!==Lp&&!n}generatePlaceholder(n){let{placeholderResolution:r}=this.config;return n===!0?`url(${this.callImageLoader({src:this.ngSrc,width:r,isPlaceholder:!0})})`:typeof n=="string"?`url(${n})`:null}shouldBlurPlaceholder(n){return!n||!n.hasOwnProperty("blur")?!0:!!n.blur}removePlaceholderOnLoad(n){let r=()=>{let s=this.injector.get(pn);o(),i(),this.placeholder=!1,s.markForCheck()},o=this.renderer.listen(n,"load",r),i=this.renderer.listen(n,"error",r);this.destroyRef.onDestroy(()=>{o(),i()}),OE(n,r)}setHostAttribute(n,r){this.renderer.setAttribute(this.imgElement,n,r)}static \u0275fac=function(r){return new(r||e)};static \u0275dir=fr({type:e,selectors:[["img","ngSrc",""]],hostVars:18,hostBindings:function(r,o){r&2&&yi("position",o.fill?"absolute":null)("width",o.fill?"100%":null)("height",o.fill?"100%":null)("inset",o.fill?"0":null)("background-size",o.placeholder?"cover":null)("background-position",o.placeholder?"50% 50%":null)("background-repeat",o.placeholder?"no-repeat":null)("background-image",o.placeholder?o.generatePlaceholder(o.placeholder):null)("filter",o.placeholder&&o.shouldBlurPlaceholder(o.placeholderConfig)?"blur(15px)":null)},inputs:{ngSrc:[2,"ngSrc","ngSrc",FE],ngSrcset:"ngSrcset",sizes:"sizes",width:[2,"width","width",Mc],height:[2,"height","height",Mc],decoding:"decoding",loading:"loading",priority:[2,"priority","priority",gr],loaderParams:"loaderParams",disableOptimizedSrcset:[2,"disableOptimizedSrcset","disableOptimizedSrcset",gr],fill:[2,"fill","fill",gr],placeholder:[2,"placeholder","placeholder",kE],placeholderConfig:"placeholderConfig",src:"src",srcset:"srcset"},features:[or]})}return e})();function RE(e){let t={};return e.breakpoints&&(t.breakpoints=e.breakpoints.sort((n,r)=>n-r)),Object.assign({},oi,e,t)}function OE(e,t){e.complete&&e.naturalWidth&&t()}function FE(e){return typeof e=="string"?e:ot(e)}function kE(e){return typeof e=="string"&&e!=="true"&&e!=="false"&&e!==""?e:gr(e)}function Pp(e){e||(e=g(X));let t=new T(n=>{if(e.destroyed){n.next();return}return e.onDestroy(n.next.bind(n))});return n=>n.pipe(Vi(t))}function LE(e,t){let r=!t?.manualCleanup?t?.injector?.get(X)??g(X):null,o=PE(t?.equal),i;t?.requireSync?i=nn({kind:0},{equal:o}):i=nn({kind:1,value:t?.initialValue},{equal:o});let s,a=e.subscribe({next:c=>i.set({kind:1,value:c}),error:c=>{i.set({kind:2,error:c}),s?.()},complete:()=>{s?.()}});if(t?.requireSync&&i().kind===0)throw new b(601,!1);return s=r?.onDestroy(a.unsubscribe.bind(a)),Di(()=>{let c=i();switch(c.kind){case 1:return c.value;case 2:throw c.error;case 0:throw new b(601,!1)}},{equal:t?.equal})}function PE(e=Object.is){return(t,n)=>t.kind===1&&n.kind===1&&e(t.value,n.value)}function jp(e){return typeof e=="function"}function Lt(e){return typeof e=="string"}function yr(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function bi(e){return e==null}function Rc(e){return!bi(e)}function Oc(e){return e?Array.isArray(e)||Lt(e)?e.length:yr(e)?Object.keys(e).length:0:0}function Vp(e){return Oc(e)===0}function Fc(e){return e.replace(/(?:^\w|[A-Z]|\b\w)/g,(t,n)=>n==0?t.toLowerCase():t.toUpperCase()).replace(/\s+|_|-|\//g,"")}var Pc=class{translations;constructor(t){this.translations=t}getTranslation(t){return Cn(this.translations.get(t)||{})}},Hp=new I(""),yn=new I("",{providedIn:"root",factory:()=>mn}),mn={defaultLang:"en",reRenderOnLangChange:!1,prodMode:!1,failedRetries:2,fallbackLang:[],availableLangs:[],missingHandler:{logMissingKey:!0,useFallbackTranslation:!1,allowEmpty:!1},flatten:{aot:!1},interpolation:["{{","}}"],scopes:{keepCasing:!1,autoPrefixKeys:!0}};function jE(e={}){return H(_(_({},mn),e),{missingHandler:_(_({},mn.missingHandler),e.missingHandler),flatten:_(_({},mn.flatten),e.flatten),scopes:_(_({},mn.scopes),e.scopes)})}function kc(e,t){return e&&(Object.prototype.hasOwnProperty.call(e,t)?e[t]:t.split(".").reduce((n,r)=>n?.[r],e))}function VE(e,t,n){e=_({},e);let r=t.split("."),o=r.length-1;return r.reduce((i,s,a)=>(a===o?i[s]=n:i[s]=Array.isArray(i[s])?i[s].slice():_({},i[s]),i&&i[s]),e),e}var $p=new I(""),BE=(()=>{class e{config=g(yn,{optional:!0})??mn;get interpolationMatcher(){return HE(this.config)}transpile({value:n,params:r={},translation:o,key:i}){if(Lt(n)){let s,a=n;for(;(s=this.interpolationMatcher.exec(a))!==null;){let[c,u]=s;a=a.replace(c,()=>{let l=u.trim(),d=kc(r,l);return Rc(d)?d:Rc(o[l])?this.transpile({params:r,translation:o,key:i,value:o[l]}):""})}return a}else r&&(yr(n)?n=this.handleObject({value:n,params:r,translation:o,key:i}):Array.isArray(n)&&(n=this.handleArray({value:n,params:r,translation:o,key:i})));return n}handleObject({value:n,params:r={},translation:o,key:i}){let s=n;return Object.keys(r).forEach(a=>{let c=this.transpile({value:kc(s,a),params:kc(r,a),translation:o,key:i});s=VE(s,a,c)}),s}handleArray(o){var i=o,{value:n}=i,r=Gc(i,["value"]);return n.map(s=>this.transpile(_({value:s},r)))}static \u0275fac=function(r){return new(r||e)};static \u0275prov=N({token:e,factory:e.\u0275fac})}return e})();function HE(e){let[t,n]=e.interpolation;return new RegExp(`${t}([^${t}${n}]*?)${n}`,"g")}var Up=new I(""),$E=(()=>{class e{handle(n,r){if(r.missingHandler.logMissingKey&&!r.prodMode){let o=`Missing translation for '${n}'`;console.warn(`%c ${o}`,"font-size: 12px; color: red")}return n}static \u0275fac=function(r){return new(r||e)};static \u0275prov=N({token:e,factory:e.\u0275fac})}return e})(),Gp=new I(""),UE=(()=>{class e{preSaveTranslation(n){return n}preSaveTranslationKey(n,r){return r}static \u0275fac=function(r){return new(r||e)};static \u0275prov=N({token:e,factory:e.\u0275fac})}return e})(),zp=new I(""),GE=(()=>{class e{userConfig;constructor(n){this.userConfig=n}getNextLangs(){let n=this.userConfig.fallbackLang;if(!n)throw new Error("When using the default fallback, a fallback language must be provided in the config!");return Array.isArray(n)?n:[n]}static \u0275fac=function(r){return new(r||e)(O(yn))};static \u0275prov=N({token:e,factory:e.\u0275fac})}return e})();function Wp(e){let{path:t,inlineLoader:n,mainLoader:r,data:o}=e;if(n){let i=n[t];if(jp(i)===!1)throw`You're using an inline loader but didn't provide a loader for ${t}`;return n[t]().then(s=>s.default?s.default:s)}return r.getTranslation(t,o)}function zE({mainLoader:e,path:t,data:n,fallbackPath:r,inlineLoader:o}){return(r?[t,r]:[t]).map(s=>{let a=Wp({path:s,mainLoader:e,inlineLoader:o,data:n});return pe(a).pipe(te(c=>({translation:c,lang:s})))})}function Bp(e){let t={};function n(r,o){if(r===null)t[o]=null;else if(yr(r))for(let[i,s]of Object.entries(r))n(s,o?`${o}.${i}`:i);else t[o]=r}return n(e,""),t}function WE(e){let t={};for(let[n,r]of Object.entries(e)){let o=n.split("."),i=t;o.forEach((s,a)=>{a===o.length-1?i[s]=r:(i[s]??={},i=i[s])})}return t}function vr(e){if(!e)return"";let t=e.split("/");return t.pop(),t.join("/")}function st(e){return e?e.split("/").pop():""}function qE(e,t){return Object.keys(e).reduce((n,r)=>(n[`${t}/${r}`]=e[r],n),{})}function qp(e){return typeof e?.scope=="string"}function ZE(e){return e?.loader&&yr(e.loader)}function Zp(e,t){return ZE(e)?qE(e.loader,t):void 0}function Lc(e){return{scope:vr(e)||null,langName:st(e)}}var YE;var QE=(()=>{class e{loader;parser;missingHandler;interceptor;fallbackStrategy;langChanges$;translations=new Map;cache=new Map;firstFallbackLang;defaultLang="";availableLangs=[];isResolvedMissingOnce=!1;lang;failedLangs=new Set;events=new W;events$=this.events.asObservable();config;destroyRef=g(X);constructor(n,r,o,i,s,a){this.loader=n,this.parser=r,this.missingHandler=o,this.interceptor=i,this.fallbackStrategy=a,this.loader||(this.loader=new Pc(this.translations)),YE=this,this.config=JSON.parse(JSON.stringify(s)),this.setAvailableLangs(this.config.availableLangs||[]),this.setFallbackLangForMissingTranslation(this.config),this.setDefaultLang(this.config.defaultLang),this.lang=new ft(this.getDefaultLang()),this.langChanges$=this.lang.asObservable(),this.events$.subscribe(c=>{c.type==="translationLoadSuccess"&&c.wasFailure&&this.setActiveLang(c.payload.langName)}),this.destroyRef.onDestroy(()=>{this.lang.complete(),this.events.complete(),this.cache.clear()})}getDefaultLang(){return this.defaultLang}setDefaultLang(n){this.defaultLang=n}getActiveLang(){return this.lang.getValue()}setActiveLang(n){return this.parser.onLangChanged?.(n),this.lang.next(n),this.events.next({type:"langChanged",payload:Lc(n)}),this}setAvailableLangs(n){this.availableLangs=n}getAvailableLangs(){return this.availableLangs}load(n,r={}){let o=this.cache.get(n);if(o)return o;let i,s=this._isLangScoped(n),a;s&&(a=vr(n));let c={path:n,mainLoader:this.loader,inlineLoader:r.inlineLoader,data:s?{scope:a}:void 0};if(this.useFallbackTranslation(n)){let l=s?`${a}/${this.firstFallbackLang}`:this.firstFallbackLang,d=zE(H(_({},c),{fallbackPath:l}));i=Wr(d)}else{let l=Wp(c);i=pe(l)}let u=i.pipe(Li(this.config.failedRetries),qr(l=>{if(Array.isArray(l)){l.forEach(d=>{this.handleSuccess(d.lang,d.translation),d.lang!==n&&this.cache.set(d.lang,Cn({}))});return}this.handleSuccess(n,l)}),bn(l=>(this.config.prodMode||console.error(`Error while trying to load "${n}"`,l),this.handleFailure(n,r))),ji(1),Pp(this.destroyRef));return this.cache.set(n,u),u}translate(n,r={},o=this.getActiveLang()){if(!n)return n;let{scope:i,resolveLang:s}=this.resolveLangAndScope(o);if(Array.isArray(n))return n.map(u=>this.translate(this.config.scopes.autoPrefixKeys&&i?`${i}.${u}`:u,r,s));n=this.config.scopes.autoPrefixKeys&&i?`${i}.${n}`:n;let a=this.getTranslation(s),c=a[n];return c?this.parser.transpile({value:c,params:r,translation:a,key:n}):this._handleMissingKey(n,c,r)}selectTranslate(n,r,o,i=!1){let s,a=(u,l)=>this.load(u,l).pipe(te(()=>i?this.translateObject(n,r,u):this.translate(n,r,u)));if(bi(o))return this.langChanges$.pipe(dt(u=>a(u)));if(o=Array.isArray(o)?o[0]:o,qp(o)){let u=o;o=u.scope,s=Zp(u,u.scope)}if(o=o,this.isLang(o)||this.isScopeWithLang(o))return a(o);let c=o;return this.langChanges$.pipe(dt(u=>a(`${c}/${u}`,{inlineLoader:s})))}isScopeWithLang(n){return this.isLang(st(n))}translateObject(n,r={},o=this.getActiveLang()){if(Lt(n)||Array.isArray(n)){let{resolveLang:s,scope:a}=this.resolveLangAndScope(o);if(Array.isArray(n))return n.map(l=>this.translateObject(this.config.scopes.autoPrefixKeys&&a?`${a}.${l}`:l,r,s));let c=this.getTranslation(s);n=this.config.scopes.autoPrefixKeys&&a?`${a}.${n}`:n;let u=WE(this.getObjectByKey(c,n));return Vp(u)?this.translate(n,r,o):this.parser.transpile({value:u,params:r,translation:c,key:n})}let i=[];for(let[s,a]of this.getEntries(n))i.push(this.translateObject(s,a,o));return i}selectTranslateObject(n,r,o){if(Lt(n)||Array.isArray(n))return this.selectTranslate(n,r,o,!0);let[[i,s],...a]=this.getEntries(n);return this.selectTranslateObject(i,s,o).pipe(te(c=>{let u=[c];for(let[l,d]of a)u.push(this.translateObject(l,d,o));return u}))}getTranslation(n){if(n){if(this.isLang(n))return this.translations.get(n)||{};{let{scope:r,resolveLang:o}=this.resolveLangAndScope(n),i=this.translations.get(o)||{};return this.getObjectByKey(i,r)}}return this.translations}selectTranslation(n){let r=this.langChanges$;if(n){let o=st(n)!==n;this.isLang(n)||o?r=Cn(n):r=this.langChanges$.pipe(te(i=>`${n}/${i}`))}return r.pipe(dt(o=>this.load(o).pipe(te(()=>this.getTranslation(o)))))}setTranslation(n,r=this.getActiveLang(),o={}){let s=_(_({},{merge:!0,emitChange:!0}),o),a=vr(r),c=n;if(a){let f=this.getMappedScope(a);c=Bp({[f]:n})}let u=a?st(r):r,l=_(_({},s.merge&&this.getTranslation(u)),c),d=this.config.flatten.aot?l:Bp(l),p=this.interceptor.preSaveTranslation(d,u);this.translations.set(u,p),s.emitChange&&this.setActiveLang(this.getActiveLang())}setTranslationKey(n,r,o={}){let i=o.lang||this.getActiveLang(),s=this.interceptor.preSaveTranslationKey(n,r,i),a={[n]:s};this.setTranslation(a,i,H(_({},o),{merge:!0}))}setFallbackLangForMissingTranslation({fallbackLang:n}){let r=Array.isArray(n)?n[0]:n;n&&this.useFallbackTranslation(r)&&(this.firstFallbackLang=r)}_handleMissingKey(n,r,o){if(this.config.missingHandler.allowEmpty&&r==="")return"";if(!this.isResolvedMissingOnce&&this.useFallbackTranslation()){this.isResolvedMissingOnce=!0;let i=this.translate(n,o,this.firstFallbackLang);return this.isResolvedMissingOnce=!1,i}return this.missingHandler.handle(n,this.getMissingHandlerData(),o)}_isLangScoped(n){return this.getAvailableLangsIds().indexOf(n)===-1}isLang(n){return this.getAvailableLangsIds().indexOf(n)!==-1}_loadDependencies(n,r){let o=st(n);return this._isLangScoped(n)&&!this.isLoadedTranslation(o)?Oi([this.load(o),this.load(n,{inlineLoader:r})]):this.load(n,{inlineLoader:r})}_completeScopeWithLang(n){return this._isLangScoped(n)&&!this.isLang(st(n))?`${n}/${this.getActiveLang()}`:n}_setScopeAlias(n,r){this.config.scopeMapping||(this.config.scopeMapping={}),this.config.scopeMapping[n]=r}isLoadedTranslation(n){return Oc(this.getTranslation(n))}getAvailableLangsIds(){let n=this.getAvailableLangs()[0];return Lt(n)?this.getAvailableLangs():this.getAvailableLangs().map(r=>r.id)}getMissingHandlerData(){return H(_({},this.config),{activeLang:this.getActiveLang(),availableLangs:this.availableLangs,defaultLang:this.defaultLang})}useFallbackTranslation(n){return this.config.missingHandler.useFallbackTranslation&&n!==this.firstFallbackLang}handleSuccess(n,r){this.setTranslation(r,n,{emitChange:!1}),this.events.next({wasFailure:!!this.failedLangs.size,type:"translationLoadSuccess",payload:Lc(n)}),this.failedLangs.forEach(o=>this.cache.delete(o)),this.failedLangs.clear()}handleFailure(n,r){bi(r.failedCounter)&&(r.failedCounter=0,r.fallbackLangs||(r.fallbackLangs=this.fallbackStrategy.getNextLangs(n)));let o=n.split("/"),s=r.fallbackLangs[r.failedCounter];if(this.failedLangs.add(n),this.cache.has(s))return this.handleSuccess(s,this.getTranslation(s)),pt;let a=s===o[o.length-1];if(!s||a){let u="Unable to load translation and all the fallback languages";throw o.length>1&&(u+=", did you misspelled the scope name?"),new Error(u)}let c=s;return o.length>1&&(o[o.length-1]=s,c=o.join("/")),r.failedCounter++,this.events.next({type:"translationLoadFailure",payload:Lc(n)}),this.load(c,r)}getMappedScope(n){let{scopeMapping:r={},scopes:o={keepCasing:!1}}=this.config;return r[n]||(o.keepCasing?n:Fc(n))}resolveLangAndScope(n){let r=n,o;if(this._isLangScoped(n)){let i=st(n),s=this.isLang(i);r=s?i:this.getActiveLang(),o=this.getMappedScope(s?vr(n):n)}return{scope:o,resolveLang:r}}getObjectByKey(n,r){let o={},i=`${r}.`;for(let s in n)s.startsWith(i)&&(o[s.replace(i,"")]=n[s]);return o}getEntries(n){return n instanceof Map?n.entries():Object.entries(n)}static \u0275fac=function(r){return new(r||e)(O(Hp,8),O($p),O(Up),O(Gp),O(yn),O(zp))};static \u0275prov=N({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var KE=new I("");var JE=new I("");function jc(e,t,n="|"){if(Lt(e)){let r=e.split(n),o=r.pop();return o===t?[!0,r.toString()]:[!1,o]}return[!1,""]}function XE(e,t){let[n]=jc(t,"static");return n?!1:!!e.config.reRenderOnLangChange}function eI(e){return e?t=>t:$t(1)}var Vc=class{initialized=!1;resolve({inline:t,provider:n,active:r}){let o=r;if(this.initialized)return o=r,o;if(n){let[,i]=jc(n,"static");o=i}if(t){let[,i]=jc(t,"static");o=i}return this.initialized=!0,o}resolveLangBasedOnScope(t){return vr(t)?st(t):t}resolveLangPath(t,n){return n?`${n}/${t}`:t}},Bc=class{service;constructor(t){this.service=t}resolve(t){let{inline:n,provider:r}=t;if(n)return n;if(r){if(qp(r)){let{scope:o,alias:i=this.service.config.scopes.keepCasing?o:Fc(o)}=r;return this.service._setScopeAlias(o,i),o}return r}}};var OL=(()=>{class e{service;providerScope;providerLang;cdr;subscription=null;lastValue="";lastKey;path;langResolver=new Vc;scopeResolver;constructor(n,r,o,i){this.service=n,this.providerScope=r,this.providerLang=o,this.cdr=i,this.scopeResolver=new Bc(this.service)}transform(n,r,o){if(!n)return n;let i=r?`${n}${JSON.stringify(r)}`:n;if(i===this.lastKey)return this.lastValue;this.lastKey=i,this.subscription?.unsubscribe();let s=XE(this.service,this.providerLang||o);return this.subscription=this.service.langChanges$.pipe(dt(a=>{let c=this.langResolver.resolve({inline:o,provider:this.providerLang,active:a});return Array.isArray(this.providerScope)?Wr(this.providerScope.map(u=>this.resolveScope(c,u))):this.resolveScope(c,this.providerScope)}),eI(s)).subscribe(()=>this.updateValue(n,r)),this.lastValue}ngOnDestroy(){this.subscription?.unsubscribe(),this.subscription=null}updateValue(n,r){let o=this.langResolver.resolveLangBasedOnScope(this.path);this.lastValue=this.service.translate(n,r,o),this.cdr.markForCheck()}resolveScope(n,r){let o=this.scopeResolver.resolve({inline:void 0,provider:r});this.path=this.langResolver.resolveLangPath(n,o);let i=Zp(r,o);return this.service._loadDependencies(this.path,i)}static \u0275fac=function(r){return new(r||e)($e(QE,16),$e(JE,24),$e(KE,24),$e(pn,16))};static \u0275pipe=gi({name:"transloco",type:e,pure:!1})}return e})();var FL=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=hi({type:e});static \u0275inj=Fn({})}return e})();function kL(e){let t=[rI(BE),iI($E),sI(UE),oI(GE)];return e.config&&t.push(tI(e.config)),e.loader&&t.push(nI(e.loader)),t}function tI(e){return he([{provide:yn,useValue:jE(e)}])}function nI(e){return he([{provide:Hp,useClass:e}])}function rI(e){return he([{provide:$p,useClass:e,deps:[yn]}])}function oI(e){return he([{provide:zp,useClass:e,deps:[yn]}])}function iI(e){return he([{provide:Up,useClass:e}])}function sI(e){return he([{provide:Gp,useClass:e}])}export{_ as a,H as b,z as c,th as d,T as e,W as f,ft as g,pt as h,pe as i,Cn as j,ph as k,hh as l,wn as m,te as n,Oi as o,ht as p,Fi as q,zr as r,wh as s,ki as t,bn as u,bh as v,$t as w,_h as x,Sh as y,Mh as z,Nh as A,dt as B,Vi as C,qr as D,b as E,Zt as F,N as G,$h as H,I,O as J,g as K,he as L,ws as M,ae as N,jn as O,il as P,sl as Q,yl as R,vl as S,ce as T,Ne as U,X as V,xt as W,Re as X,Fe as Y,Ye as Z,nt as _,vg as $,nn as aa,Mo as ba,or as ca,qa as da,Za as ea,Be as fa,Xg as ga,em as ha,Td as ia,nm as ja,rm as ka,Ot as la,ot as ma,ci as na,cm as oa,um as pa,lm as qa,dm as ra,fm as sa,Qa as ta,Bd as ua,sr as va,zd as wa,Wd as xa,Lm as ya,Pm as za,Xm as Aa,zo as Ba,Qn as Ca,li as Da,Xn as Ea,dr as Fa,$e as Ga,fn as Ha,Hf as Ia,$f as Ja,Uf as Ka,fr as La,Yv as Ma,gc as Na,Zf as Oa,mi as Pa,Kf as Qa,Jv as Ra,Xv as Sa,eD as Ta,tD as Ua,nD as Va,rD as Wa,Jf as Xa,ei as Ya,Dc as Za,Xf as _a,Ec as $a,Ic as ab,Cc as bb,cD as cb,wc as db,np as eb,rp as fb,lD as gb,fD as hb,pD as ib,ip as jb,gD as kb,mD as lb,yi as mb,SD as nb,VD as ob,fp as pb,bc as qb,pp as rb,hp as sb,gp as tb,GD as ub,mp as vb,zD as wb,qD as xb,YD as yb,KD as zb,Cp as Ab,Di as Bb,eE as Cb,wp as Db,mF as Eb,yF as Fb,vF as Gb,pn as Hb,EF as Ib,gr as Jb,Ci as Kb,DE as Lb,Nc as Mb,hn as Nb,gn as Ob,Fp as Pb,bE as Qb,TE as Rb,xc as Sb,rL as Tb,SE as Ub,oL as Vb,LE as Wb,QE as Xb,OL as Yb,FL as Zb,kL as _b}; diff --git a/chunk-OZIJIHBJ.js b/chunk-OZIJIHBJ.js new file mode 100644 index 0000000..44a17fc --- /dev/null +++ b/chunk-OZIJIHBJ.js @@ -0,0 +1 @@ +import{$a as c,Ka as i,R as o,ab as t,bb as a,ob as m}from"./chunk-LE4JLOLG.js";var s=class n{static \u0275fac=function(e){return new(e||n)};static \u0275cmp=i({type:n,selectors:[["app-icon-github"]],decls:4,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","currentColor","d","M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"]],template:function(e,l){e&1&&(o(),c(0,"svg",0)(1,"title"),m(2,"GitHub"),t(),a(3,"path",1),t())},encapsulation:2,changeDetection:0})};export{s as a}; diff --git a/chunk-PT33XIFN.js b/chunk-PT33XIFN.js new file mode 100644 index 0000000..6819eaa --- /dev/null +++ b/chunk-PT33XIFN.js @@ -0,0 +1 @@ +import{a as W}from"./chunk-YVSMUC5H.js";import{a as Q}from"./chunk-OZIJIHBJ.js";import{$a as l,Aa as d,Bb as K,Eb as b,Ka as i,Qa as U,R as s,Vb as w,Xa as Z,Ya as n,Yb as y,Za as r,Zb as x,_a as c,ab as p,bb as f,db as J,hb as S,ib as I,nb as E,ob as o,pb as v,qb as M,xa as R,xb as u,yb as g}from"./chunk-LE4JLOLG.js";var P=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-call-for-speakers"]],decls:15,vars:9,consts:[["id","call-for-speakers",1,"px-4"],[1,"mx-auto","flex","max-w-5xl","flex-col","items-center","gap-10","md:flex-row"],[1,"w-full","md:w-1/2"],["ngSrc","/images/homepage/CallForSpeaker.jpeg","alt","Call for Speakers","width","1440","height","1440",1,"w-full","rounded-(--radius)","object-cover","shadow-lg"],[1,"flex","w-full","flex-col","items-center","gap-4","text-center","md:w-1/2","md:items-start","md:text-left"],[1,"py-16"],[1,"mb-8"],["id","call-for-speakers-link","href","https://forms.gle/P2xw1ycCs8VNCGbr5","target","_blank","rel","noopener","role","button","aria-label","Proponi un talk",1,"inline-flex","cursor-pointer","items-center","justify-center","gap-2","rounded-(--radius)","border-2","border-(--color-primary)","bg-(--color-primary)","px-6","py-2","text-base","font-semibold","text-white","no-underline","transition-colors","hover:border-(--color-primary-hover)","hover:bg-(--color-primary-hover)","hover:text-white"]],template:function(e,m){e&1&&(n(0,"section",0)(1,"div",1)(2,"div",2),c(3,"img",3),r(),n(4,"div",4)(5,"div",5)(6,"h2"),o(7),u(8,"transloco"),r(),n(9,"p",6),o(10),u(11,"transloco"),r(),n(12,"a",7),o(13),u(14,"transloco"),r()()()()()),e&2&&(d(7),v(g(8,3,"callForSpeakers.title")),d(3),v(g(11,5,"callForSpeakers.description")),d(3),M(" ",g(14,7,"callForSpeakers.cta")," "))},dependencies:[w,x,y],encapsulation:2,changeDetection:0})};var $=["*"],ee={primary:"border-(--color-primary) bg-(--color-primary) text-white hover:border-(--color-primary-hover) hover:bg-(--color-primary-hover) hover:text-white",secondary:"border-secondary bg-secondary text-white hover:border-secondary-hover hover:bg-secondary-hover hover:text-white",telegram:"border-[#2aabee] bg-[#2aabee] text-white hover:border-[#1d96d4] hover:bg-[#1d96d4] hover:text-white","primary-outline":"border-[#f50000] bg-transparent text-[#f50000] hover:border-[#f50000] hover:bg-[#f50000]/10 hover:text-[#f50000]","white-outline":"border-white bg-transparent text-white hover:border-white hover:bg-white/10"},D=class t{id=b.required();href=b.required();ariaLabel=b.required();variant=b("primary");rel=b("noopener");variantClass=K(()=>ee[this.variant()]);static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-contact-button"]],inputs:{id:[1,"id"],href:[1,"href"],ariaLabel:[1,"ariaLabel"],variant:[1,"variant"],rel:[1,"rel"]},ngContentSelectors:$,decls:2,vars:6,consts:[["target","_blank","role","button",1,"inline-flex","w-40","cursor-pointer","items-center","justify-center","gap-2","rounded-(--radius)","border-2","px-4","py-2","text-base","font-semibold","no-underline","transition-colors","[&_svg]:shrink-0",3,"id","rel","href"]],template:function(e,m){e&1&&(S(),l(0,"a",0),I(1),p()),e&2&&(E(m.variantClass()),J("id",m.id())("rel",m.rel())("href",m.href(),R),U("aria-label",m.ariaLabel()))},encapsulation:2,changeDetection:0})};var te=["*"],k=class t{title=b.required();gap=b("gap-2");static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-contact-group"]],hostAttrs:[1,"flex","flex-col","items-center"],hostVars:2,hostBindings:function(e,m){e&2&&E(m.gap())},inputs:{title:[1,"title"],gap:[1,"gap"]},ngContentSelectors:te,decls:3,vars:1,consts:[[1,"mb-2","text-[0.85rem]","tracking-[0.08em]","text-(--muted)","uppercase"]],template:function(e,m){e&1&&(S(),l(0,"h3",0),o(1),p(),I(2)),e&2&&(d(),v(m.title()))},encapsulation:2,changeDetection:0})};var T=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-icon-facebook"]],decls:4,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","currentColor","d","M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"]],template:function(e,m){e&1&&(s(),l(0,"svg",0)(1,"title"),o(2,"Facebook"),p(),f(3,"path",1),p())},encapsulation:2,changeDetection:0})};var F=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-icon-instagram"]],decls:4,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","currentColor","d","M12 2.163c3.206 0 3.58.012 4.844.07 1.2.058 2.04.25 2.5.42.6.24 1.04.54 1.5 1.04.46.46.76.9 1.04 1.5.17.46.36 1.3.42 2.5.058 1.264.07 1.638.07 4.844s-.012 3.58-.07 4.844c-.058 1.2-.25 2.04-.42 2.5-.24.6-.54 1.04-1.04 1.5-.46.46-.9.76-1.5 1.04-.46.17-1.3.36-2.5.42-1.264.058-1.638.07-4.844.07s-3.58-.012-4.844-.07c-1.2-.058-2.04-.25-2.5-.42-.6-.24-1.04-.54-1.5-1.04-.46-.46-.76-.9-1.04-1.5-.17-.46-.36-1.3-.42-2.5C2.175 12.743 2.163 12.368 2.163 9.163S2.175 5.58 2.233 4.316c.058-1.2.25-2.04.42-2.5.24-.6.54-1.04 1.04-1.5.46-.46.9-.76 1.5-1.04.46-.17 1.3-.36 2.5-.42C8.418 2.175 8.793 2.163 12 2.163zm0 5.837a6.163 6.163 0 1 0 0 12.326 6.163 6.163 0 0 0 0-12.326zm0 10.326a4.163 4.163 0 1 1 0-8.326 4.163 4.163 0 0 1 0 8.326zm6.5-10.326a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z"]],template:function(e,m){e&1&&(s(),l(0,"svg",0)(1,"title"),o(2,"Instagram"),p(),f(3,"path",1),p())},encapsulation:2,changeDetection:0})};var B=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-icon-mastodon"]],decls:4,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","currentColor","d","M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"]],template:function(e,m){e&1&&(s(),l(0,"svg",0)(1,"title"),o(2,"Mastodon"),p(),f(3,"path",1),p())},encapsulation:2,changeDetection:0})};var G=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-icon-telegram"]],decls:4,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","currentColor","d","M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"]],template:function(e,m){e&1&&(s(),l(0,"svg",0)(1,"title"),o(2,"Telegram"),p(),f(3,"path",1),p())},encapsulation:2,changeDetection:0})};var V=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-icon-youtube"]],decls:4,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","currentColor","d","M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"]],template:function(e,m){e&1&&(s(),l(0,"svg",0)(1,"title"),o(2,"YouTube"),p(),f(3,"path",1),p())},encapsulation:2,changeDetection:0})};var z=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-contact"]],decls:35,vars:12,consts:[["id","contact",1,"bg-(--surface)","px-4","py-16","text-center"],[1,"mt-8","flex","flex-wrap","justify-center","gap-8"],[3,"title"],["id","telegram","rel","me noopener","href","https://t.me/pythoncatania","ariaLabel","Telegram","variant","telegram"],["id","github","rel","me noopener","href","https://github.com/PythonCatania","ariaLabel","GitHub"],[1,"mt-8","flex","flex-col","items-center","gap-3"],[1,"text-[0.85rem]","tracking-[0.08em]","text-(--color-muted)","uppercase"],[1,"flex","flex-wrap","justify-center","gap-3"],["id","facebook","rel","me noopener","href","https://www.facebook.com/PythonCatania","ariaLabel","Facebook","variant","secondary"],["id","linkedin","rel","me noopener","href","https://www.linkedin.com/groups/9895708/","ariaLabel","LinkedIn","variant","secondary"],["id","youtube","rel","me noopener","href","https://www.youtube.com/@pythoncatania","ariaLabel","YouTube","variant","secondary"],["id","instagram","rel","me noopener","href","https://www.instagram.com/pythoncatania/","ariaLabel","Instagram","variant","secondary"],["id","mastodon","rel","me noopener","href","https://social.python.it/@pycatania","ariaLabel","Mastodon","variant","secondary"]],template:function(e,m){e&1&&(n(0,"section",0)(1,"h2"),o(2),u(3,"transloco"),r(),n(4,"div",1)(5,"app-contact-group",2),u(6,"transloco"),n(7,"app-contact-button",3),c(8,"app-icon-telegram"),o(9,"Telegram "),r()(),n(10,"app-contact-group",2),u(11,"transloco"),n(12,"app-contact-button",4),c(13,"app-icon-github"),o(14,"GitHub "),r()()(),n(15,"div",5)(16,"h3",6),o(17),u(18,"transloco"),r(),n(19,"div",7)(20,"app-contact-button",8),c(21,"app-icon-facebook"),o(22,"Facebook "),r(),n(23,"app-contact-button",9),c(24,"app-icon-linkedin"),o(25,"LinkedIn "),r(),n(26,"app-contact-button",10),c(27,"app-icon-youtube"),o(28,"YouTube "),r(),n(29,"app-contact-button",11),c(30,"app-icon-instagram"),o(31,"Instagram "),r(),n(32,"app-contact-button",12),c(33,"app-icon-mastodon"),o(34,"Mastodon "),r()()()()),e&2&&(d(2),v(g(3,4,"contact.title")),d(3),Z("title",g(6,6,"contact.groups.chat")),d(5),Z("title",g(11,8,"contact.groups.code")),d(7),M(" ",g(18,10,"contact.groups.social")," "))},dependencies:[x,D,k,T,Q,F,W,B,G,V,y],encapsulation:2,changeDetection:0})};var L=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-icon-meetup"]],decls:4,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","currentColor","d","M15.11 2.1c.13 0 .26.02.38.04.34.04.67.17.94.39.36.28.57.5.9.82.5.47.87.19 1.12.04.44-.25.78-.46 2.06-.43 1.33.02 2.85.5 3.17 2.75.35 2.51-4.11 8.97-3.8 11.97.22 2.11 3.8.63 4.1 2.55.39 2.5-4.47 1.58-5.58 1.03a4.26 4.26 0 0 1-2.34-4.72c.33-1.44 3.55-7.32 3.67-8.22.12-.92-.37-1-.68-1.02-.4-.02-.7.17-1.1.76-.35.53-4.35 8.55-4.7 9.2-.62 1.17-1.4 1.45-2.18 1.41-1.15-.06-1.67-.67-1.5-1.77.09-.65 2.63-6.38 2.76-7.27.08-.56-.03-1.15-.58-1.43-.55-.28-1.2.15-1.39.48-.26.45-3.86 9.84-4.25 10.54-.66 1.2-1.36 1.59-2.4 1.64-2.49.11-4.33-1.93-3.52-4.43.37-1.11 2.76-9.56 3.97-11.71.81-1.45 3.07-2.55 4.64-1.87.8.35 1.93.92 2.26 1.06.77.34 1.59-.58 1.91-.86.33-.28.63-.58 1.03-.75a3 3 0 0 1 1.11-.2Z"]],template:function(e,m){e&1&&(s(),l(0,"svg",0)(1,"title"),o(2,"Meetup"),p(),f(3,"path",1),p())},encapsulation:2,changeDetection:0})};var j=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-meetup"]],decls:16,vars:9,consts:[["id","next-meetup",1,"bg-(--surface)","px-4"],[1,"mx-auto","flex","max-w-5xl","flex-col","items-center","gap-10","md:flex-row-reverse"],[1,"w-full","md:w-1/2"],["ngSrc","/images/homepage/DefaultNextMeetup.jpg","alt","Next Meetup","width","1440","height","1440",1,"w-full","rounded-(--radius)","object-cover","shadow-lg"],[1,"flex","w-full","flex-col","items-center","gap-4","text-center","md:w-1/2","md:items-start","md:text-left"],[1,"py-16"],[1,"mb-6"],["id","meetup-link","rel","me noopener","target","_blank","href","https://www.meetup.com/python-catania/","role","button","aria-label","Meetup",1,"inline-flex","cursor-pointer","items-center","justify-center","gap-2","rounded-(--radius)","border-2","border-(--color-primary)","bg-(--color-primary)","px-4","py-2","text-base","font-semibold","text-white","no-underline","transition-colors","hover:border-(--color-primary-hover)","hover:bg-(--color-primary-hover)","hover:text-white","[&_svg]:shrink-0"]],template:function(e,m){e&1&&(n(0,"section",0)(1,"div",1)(2,"div",2),c(3,"img",3),r(),n(4,"div",4)(5,"div",5)(6,"h2"),o(7),u(8,"transloco"),r(),n(9,"p",6),o(10),u(11,"transloco"),r(),n(12,"a",7),c(13,"app-icon-meetup"),o(14),u(15,"transloco"),r()()()()()),e&2&&(d(7),v(g(8,3,"nextMeetup.title")),d(3),v(g(11,5,"nextMeetup.description")),d(4),v(g(15,7,"nextMeetup.join")))},dependencies:[w,L,x,y],encapsulation:2,changeDetection:0})};var A=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-py-catania"]],decls:14,vars:6,consts:[["id","pycatania",1,"px-4"],[1,"mx-auto","flex","max-w-5xl","flex-col","items-center","gap-10","md:flex-row"],[1,"w-full","md:w-1/2"],["ngSrc","/images/homepage/PyCatania-intro.jpg","alt","Python Catania intro","width","1440","height","1440","priority","",1,"w-full","rounded-(--radius)","object-cover","shadow-lg"],[1,"flex","w-full","flex-col","items-center","gap-4","text-center","md:w-1/2","md:items-start","md:text-left"],[1,"flex","flex-col","items-center","py-16","md:items-start"],["ngSrc","/images/pythoncatania.svg","alt","Python Catania logo","height","96","width","96"]],template:function(e,m){e&1&&(n(0,"section",0)(1,"div",1)(2,"div",2),c(3,"img",3),r(),n(4,"div",4)(5,"div",5),c(6,"img",6),n(7,"hgroup")(8,"h1"),o(9),u(10,"transloco"),r(),n(11,"p"),o(12),u(13,"transloco"),r()()()()()()),e&2&&(d(9),v(g(10,2,"hero.title")),d(3),v(g(13,4,"hero.tagline")))},dependencies:[w,x,y],encapsulation:2,changeDetection:0})};var H=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-icon-gdg"]],decls:5,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","none","stroke","currentColor","stroke-width","1","d","M15.37 17.62c.32 0 .63-.1.95-.26l6.74-3.9-4.69-1.74L14.42 14a1.94 1.94 0 0 0-.68 2.63c.37.69 1 1 1.63 1zM5.8 12.21l3.9-2.27c.89-.52 1.2-1.68.68-2.63a1.94 1.94 0 0 0-2.64-.68L1 10.53Z"],["fill","currentColor","d","M22.11 13.95c.69 0 1.32-.36 1.63-.94.53-.9.22-2.11-.68-2.64l-6.74-3.9c-.9-.52-2.1-.2-2.63.69-.53.9-.22 2.1.68 2.63l6.74 3.9c.32.16.69.26 1 .26zM8.68 17.8c.69 0 1.32-.37 1.63-.95.53-.9.22-2.1-.68-2.63l-6.74-3.9c-.9-.53-2.1-.21-2.63.69-.53.89-.22 2.1.68 2.63l6.74 3.9c.37.2.69.26 1 .26z"]],template:function(e,m){e&1&&(s(),l(0,"svg",0)(1,"title"),o(2,"Google Developer Group Catania"),p(),f(3,"path",1)(4,"path",2),p())},encapsulation:2,changeDetection:0})};var _=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-icon-psf"]],decls:4,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","currentColor","d","M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z"]],template:function(e,m){e&1&&(s(),l(0,"svg",0)(1,"title"),o(2,"Python Software Foundation"),p(),f(3,"path",1),p())},encapsulation:2,changeDetection:0})};var Y=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-icon-pycon-italia"]],decls:5,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","currentColor","d","M9 5.1a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"],["fill","none","stroke","currentColor","stroke-width","1","d","M6.7 12v4l-1.8 1.8V12h3.7v4l-1.8 1.8V12m10.8 11.7c.7-.9.7-2.7 0-3.4a7.3 7.3 0 0 1 0-9.3c2.2-2.3 2-7-.2-9.3m-5.8 22V12H.3A11.7 11.7 0 0 1 17.4 1.7a12 12 0 0 1 6.2 10.5v11.5z"]],template:function(e,m){e&1&&(s(),l(0,"svg",0)(1,"title"),o(2,"PyCon Italia"),p(),f(3,"path",1)(4,"path",2),p())},encapsulation:2,changeDetection:0})};var q=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-icon-python-italia"]],decls:4,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","currentColor","d","M13.96 0a6.45 6.45 0 0 0-6.44 6.44v3.6c.06 1.08 1.66 1.08 1.72 0v-3.6c0-2.6 2.12-4.72 4.72-4.72a5.43 5.43 0 1 1 0 10.86H8.38a5.5 5.5 0 0 0-5.5 5.5v2.64a3.18 3.18 0 1 0 6.36 0V16.8c.07-1.22-1.79-1.22-1.72 0v3.92a1.46 1.46 0 1 1-2.91 0v-2.65a3.78 3.78 0 0 1 3.77-3.77h5.58a7.15 7.15 0 1 0 0-14.3Z"]],template:function(e,m){e&1&&(s(),l(0,"svg",0)(1,"title"),o(2,"Python Italia"),p(),f(3,"path",1),p())},encapsulation:2,changeDetection:0})};var O=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-supporters"]],decls:32,vars:3,consts:[["id","supporters",1,"px-4","py-16","text-center"],[1,"mt-10","flex","list-none","flex-wrap","justify-center","gap-10","p-0"],[1,"flex","flex-col","items-center","gap-4"],[1,"flex","h-24","w-24","items-center","justify-center","rounded-(--radius)","border","border-(--border)","bg-(--surface)","text-7xl"],["id","python-software-foundation","href","https://www.python.org/","ariaLabel","Python Software Foundation","variant","primary-outline"],["title","Python Software Foundation"],["id","python-italia","href","https://www.python.it/","ariaLabel","Python Italia","variant","primary-outline"],["id","pycon-italia","href","https://www.pycon.it/","ariaLabel","PyCon Italia","variant","white-outline"],["id","google-developer-group-catania","href","https://gdg.community.dev/gdg-catania/","ariaLabel","Google Developer Group Catania","variant","white-outline"],["title","Google Developer Group"]],template:function(e,m){e&1&&(n(0,"section",0)(1,"h2"),o(2),u(3,"transloco"),r(),n(4,"ul",1)(5,"li",2)(6,"div",3),c(7,"app-icon-psf"),r(),n(8,"app-contact-button",4),c(9,"app-icon-psf"),n(10,"abbr",5),o(11,"PSF"),r()()(),n(12,"li",2)(13,"div",3),c(14,"app-icon-python-italia"),r(),n(15,"app-contact-button",6),c(16,"app-icon-python-italia"),o(17,"Python\xA0Italia "),r()(),n(18,"li",2)(19,"div",3),c(20,"app-icon-pycon-italia"),r(),n(21,"app-contact-button",7),c(22,"app-icon-pycon-italia"),o(23,"PyCon\xA0Italia "),r()(),n(24,"li",2)(25,"div",3),c(26,"app-icon-gdg"),r(),n(27,"app-contact-button",8),c(28,"app-icon-gdg"),n(29,"abbr",9),o(30,"GDG"),r(),o(31,"\xA0Catania "),r()()()()),e&2&&(d(2),v(g(3,1,"supporters.title")))},dependencies:[x,D,H,_,Y,q,y],encapsulation:2,changeDetection:0})};var X=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-home"]],decls:5,vars:0,template:function(e,m){e&1&&c(0,"app-py-catania")(1,"app-meetup")(2,"app-call-for-speakers")(3,"app-contact")(4,"app-supporters")},dependencies:[A,j,P,z,O],encapsulation:2,changeDetection:0})};export{X as HomeComponent}; diff --git a/chunk-VKJGUBC2.js b/chunk-VKJGUBC2.js new file mode 100644 index 0000000..24030dc --- /dev/null +++ b/chunk-VKJGUBC2.js @@ -0,0 +1 @@ +import{a as S}from"./chunk-YVSMUC5H.js";import{a as _}from"./chunk-OZIJIHBJ.js";import{Aa as n,Ka as f,Ra as g,Sa as u,Va as x,Vb as v,Wa as h,Xa as l,Ya as i,Yb as C,Za as o,Zb as k,_a as p,gb as b,ob as r,pb as m,xa as s,xb as c,yb as d}from"./chunk-LE4JLOLG.js";var T=(t,a)=>a.name;function I(t,a){if(t&1&&(i(0,"a",10),p(1,"app-icon-github"),r(2,"GitHub "),o()),t&2){let e=b().$implicit;l("href",e.github,s)}}function E(t,a){if(t&1&&(i(0,"a",11),p(1,"app-icon-linkedin"),r(2,"LinkedIn "),o()),t&2){let e=b().$implicit;l("href",e.linkedin,s)}}function M(t,a){if(t&1&&(i(0,"li",5),p(1,"img",6),i(2,"div")(3,"p",7),r(4),o(),i(5,"p",8),r(6),c(7,"transloco"),o(),i(8,"div",9),g(9,I,3,1,"a",10),g(10,E,3,1,"a",11),o()()()),t&2){let e=a.$implicit;n(),l("ngSrc",e.image)("alt",e.name),n(3),m(e.name),n(2),m(d(7,6,"about.role")),n(3),u(e.github?9:-1),n(),u(e.linkedin?10:-1)}}var w=class t{members=[{name:"Salvatore Rapisarda",image:"/images/about/SalvoRapisarda.jpeg",github:"https://github.com/salvorapi",linkedin:"https://www.linkedin.com/in/salvorapi/"},{name:"Matteo Jacopo Schembri",image:"/images/about/MatteoJacopoSchembri.jpeg",github:"https://github.com/teosche",linkedin:"https://www.linkedin.com/in/teosche/"},{name:"Stefano Borzi",image:"/images/about/StefanoBorzi.jpeg",github:"https://github.com/Helias",linkedin:"https://www.linkedin.com/in/stefanoborzi/"},{name:"Claudio Faro",image:"/images/about/ClaudioFaro.jpeg",github:"https://github.com/kaesarct",linkedin:"https://www.linkedin.com/in/claudio-faro-70128649/"}];static \u0275fac=function(e){return new(e||t)};static \u0275cmp=f({type:t,selectors:[["app-team"]],decls:11,vars:6,consts:[[1,"px-4","py-16"],[1,"mx-auto","max-w-4xl"],[1,"mb-4","text-center","text-3xl","font-bold"],[1,"mb-10","text-center","text-(--color-muted)"],[1,"grid","list-none","grid-cols-1","gap-8","p-0","sm:grid-cols-2"],[1,"flex","flex-col","items-center","gap-4","rounded-(--radius)","border","border-(--border)","bg-(--surface)","p-8","text-center"],["width","160","height","160",1,"h-40","w-40","rounded-full","object-cover",3,"ngSrc","alt"],[1,"text-lg","font-semibold"],[1,"mt-1","text-(--color-muted)"],[1,"mt-3","flex","flex-col","items-center","gap-3","sm:flex-row","sm:justify-center"],["target","_blank","rel","noopener","aria-label","GitHub",1,"flex","items-center","gap-2","text-lg","font-semibold","text-(--color-primary)","no-underline","hover:underline",3,"href"],["target","_blank","rel","noopener","aria-label","LinkedIn",1,"flex","items-center","gap-2","text-lg","font-semibold","text-(--color-secondary)","no-underline","hover:underline",3,"href"]],template:function(e,y){e&1&&(i(0,"section",0)(1,"div",1)(2,"h1",2),r(3),c(4,"transloco"),o(),i(5,"p",3),r(6),c(7,"transloco"),o(),i(8,"ul",4),x(9,M,11,8,"li",5,T),o()()()),e&2&&(n(3),m(d(4,2,"about.title")),n(3),m(d(7,4,"about.description")),n(3),h(y.members))},dependencies:[k,v,_,S,C],encapsulation:2,changeDetection:0})};export{w as TeamComponent}; diff --git a/chunk-W5FJDTYA.js b/chunk-W5FJDTYA.js new file mode 100644 index 0000000..9ce4624 --- /dev/null +++ b/chunk-W5FJDTYA.js @@ -0,0 +1,59 @@ +import{b as ae,c as oe,j as he}from"./chunk-42IV6YNC.js";import{B as te,K as P,Ka as se,Xb as ce,a as b,aa as re,b as z,bb as le,db as ie,wa as ne}from"./chunk-LE4JLOLG.js";function N(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var T=N();function xe(n){T=n}var $={exec:()=>null};function p(n,e=""){let r=typeof n=="string"?n:n.source,s={replace:(t,i)=>{let l=typeof i=="string"?i:i.source;return l=l.replace(x.caret,"$1"),r=r.replace(t,l),s},getRegex:()=>new RegExp(r,e)};return s}var Ie=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}#`),htmlBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}>`)},Le=/^(?:[ \t]*(?:\n|$))+/,Be=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Ee=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,I=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,qe=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,j=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,be=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,me=p(be).replace(/bull/g,j).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Me=p(be).replace(/bull/g,j).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),G=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,De=/^[^\n]+/,U=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Ze=p(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",U).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Oe=p(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,j).getRegex(),M="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",X=/|$))/,He=p("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",X).replace("tag",M).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),we=p(G).replace("hr",I).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M).getRegex(),Qe=p(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",we).getRegex(),W={blockquote:Qe,code:Be,def:Ze,fences:Ee,heading:qe,hr:I,html:He,lheading:me,list:Oe,newline:Le,paragraph:we,table:$,text:De},pe=p("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",I).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M).getRegex(),Ne=z(b({},W),{lheading:Me,table:pe,paragraph:p(G).replace("hr",I).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",pe).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M).getRegex()}),je=z(b({},W),{html:p(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",X).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:$,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:p(G).replace("hr",I).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",me).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()}),Ge=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Ue=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,ye=/^( {2,}|\\)\n(?!\s*$)/,Xe=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Ie?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Te=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,et=p(Te,"u").replace(/punct/g,D).getRegex(),tt=p(Te,"u").replace(/punct/g,$e).getRegex(),ze="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",rt=p(ze,"gu").replace(/notPunctSpace/g,Se).replace(/punctSpace/g,F).replace(/punct/g,D).getRegex(),nt=p(ze,"gu").replace(/notPunctSpace/g,Je).replace(/punctSpace/g,Fe).replace(/punct/g,$e).getRegex(),st=p("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Se).replace(/punctSpace/g,F).replace(/punct/g,D).getRegex(),lt=p(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Re).getRegex(),it="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",at=p(it,"gu").replace(/notPunctSpace/g,Ve).replace(/punctSpace/g,Ke).replace(/punct/g,Re).getRegex(),ot=p(/\\(punct)/,"gu").replace(/punct/g,D).getRegex(),ct=p(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ht=p(X).replace("(?:-->|$)","-->").getRegex(),pt=p("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",ht).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),B=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,ut=p(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",B).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ae=p(/^!?\[(label)\]\[(ref)\]/).replace("label",B).replace("ref",U).getRegex(),Pe=p(/^!?\[(ref)\](?:\[\])?/).replace("ref",U).getRegex(),gt=p("reflink|nolink(?!\\()","g").replace("reflink",Ae).replace("nolink",Pe).getRegex(),ue=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,J={_backpedal:$,anyPunctuation:ot,autolink:ct,blockSkip:Ye,br:ye,code:Ue,del:$,delLDelim:$,delRDelim:$,emStrongLDelim:et,emStrongRDelimAst:rt,emStrongRDelimUnd:st,escape:Ge,link:ut,nolink:Pe,punctuation:We,reflink:Ae,reflinkSearch:gt,tag:pt,text:Xe,url:$},kt=z(b({},J),{link:p(/^!?\[(label)\]\((.*?)\)/).replace("label",B).getRegex(),reflink:p(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",B).getRegex()}),O=z(b({},J),{emStrongRDelimAst:nt,emStrongLDelim:tt,delLDelim:lt,delRDelim:at,url:p(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",ue).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:p(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},ge=n=>ft[n];function y(n,e){if(e){if(x.escapeTest.test(n))return n.replace(x.escapeReplace,ge)}else if(x.escapeTestNoEncode.test(n))return n.replace(x.escapeReplaceNoEncode,ge);return n}function ke(n){try{n=encodeURI(n).replace(x.percentDecode,"%")}catch{return null}return n}function de(n,e){let r=n.replace(x.findPipe,(i,l,o)=>{let a=!1,h=l;for(;--h>=0&&o[h]==="\\";)a=!a;return a?"|":" |"}),s=r.split(x.splitPipe),t=0;if(s[0].trim()||s.shift(),s.length>0&&!s.at(-1)?.trim()&&s.pop(),e)if(s.length>e)s.splice(e);else for(;s.length0?-2:-1}function bt(n,e=0){let r=e,s="";for(let t of n)if(t===" "){let i=4-r%4;s+=" ".repeat(i),r+=i}else s+=t,r++;return s}function fe(n,e,r,s,t){let i=e.href,l=e.title||null,o=n[1].replace(t.other.outputLinkReplace,"$1");s.state.inLink=!0;let a={type:n[0].charAt(0)==="!"?"image":"link",raw:r,href:i,title:l,text:o,tokens:s.inlineTokens(o)};return s.state.inLink=!1,a}function mt(n,e,r){let s=n.match(r.other.indentCodeCompensation);if(s===null)return e;let t=s[1];return e.split(` +`).map(i=>{let l=i.match(r.other.beginningSpace);if(l===null)return i;let[o]=l;return o.length>=t.length?i.slice(t.length):i}).join(` +`)}var E=class{options;rules;lexer;constructor(n){this.options=n||T}space(n){let e=this.rules.block.newline.exec(n);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(n){let e=this.rules.block.code.exec(n);if(e){let r=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?r:C(r,` +`)}}}fences(n){let e=this.rules.block.fences.exec(n);if(e){let r=e[0],s=mt(r,e[3]||"",this.rules);return{type:"code",raw:r,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:s}}}heading(n){let e=this.rules.block.heading.exec(n);if(e){let r=e[2].trim();if(this.rules.other.endingHash.test(r)){let s=C(r,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(r=s.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(n){let e=this.rules.block.hr.exec(n);if(e)return{type:"hr",raw:C(e[0],` +`)}}blockquote(n){let e=this.rules.block.blockquote.exec(n);if(e){let r=C(e[0],` +`).split(` +`),s="",t="",i=[];for(;r.length>0;){let l=!1,o=[],a;for(a=0;a1,t={type:"list",raw:"",ordered:s,start:s?+r.slice(0,-1):"",loose:!1,items:[]};r=s?`\\d{1,9}\\${r.slice(-1)}`:`\\${r}`,this.options.pedantic&&(r=s?r:"[*+-]");let i=this.rules.other.listItemRegex(r),l=!1;for(;n;){let a=!1,h="",c="";if(!(e=i.exec(n))||this.rules.block.hr.test(n))break;h=e[0],n=n.substring(h.length);let g=bt(e[2].split(` +`,1)[0],e[1].length),u=n.split(` +`,1)[0],f=!g.trim(),d=0;if(this.options.pedantic?(d=2,c=g.trimStart()):f?d=e[1].length+1:(d=g.search(this.rules.other.nonSpaceChar),d=d>4?1:d,c=g.slice(d),d+=e[1].length),f&&this.rules.other.blankLine.test(u)&&(h+=u+` +`,n=n.substring(u.length+1),a=!0),!a){let S=this.rules.other.nextBulletRegex(d),V=this.rules.other.hrRegex(d),Y=this.rules.other.fencesBeginRegex(d),ee=this.rules.other.headingBeginRegex(d),Ce=this.rules.other.htmlBeginRegex(d),ve=this.rules.other.blockquoteBeginRegex(d);for(;n;){let Z=n.split(` +`,1)[0],A;if(u=Z,this.options.pedantic?(u=u.replace(this.rules.other.listReplaceNesting," "),A=u):A=u.replace(this.rules.other.tabCharGlobal," "),Y.test(u)||ee.test(u)||Ce.test(u)||ve.test(u)||S.test(u)||V.test(u))break;if(A.search(this.rules.other.nonSpaceChar)>=d||!u.trim())c+=` +`+A.slice(d);else{if(f||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||Y.test(g)||ee.test(g)||V.test(g))break;c+=` +`+u}f=!u.trim(),h+=Z+` +`,n=n.substring(Z.length+1),g=A.slice(d)}}t.loose||(l?t.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(l=!0)),t.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}),t.raw+=h}let o=t.items.at(-1);if(o)o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd();else return;t.raw=t.raw.trimEnd();for(let a of t.items){if(this.lexer.state.top=!1,a.tokens=this.lexer.blockTokens(a.text,[]),a.task){if(a.text=a.text.replace(this.rules.other.listReplaceTask,""),a.tokens[0]?.type==="text"||a.tokens[0]?.type==="paragraph"){a.tokens[0].raw=a.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),a.tokens[0].text=a.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let c=this.lexer.inlineQueue.length-1;c>=0;c--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)){this.lexer.inlineQueue[c].src=this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask,"");break}}let h=this.rules.other.listTaskCheckbox.exec(a.raw);if(h){let c={type:"checkbox",raw:h[0]+" ",checked:h[0]!=="[ ]"};a.checked=c.checked,t.loose?a.tokens[0]&&["paragraph","text"].includes(a.tokens[0].type)&&"tokens"in a.tokens[0]&&a.tokens[0].tokens?(a.tokens[0].raw=c.raw+a.tokens[0].raw,a.tokens[0].text=c.raw+a.tokens[0].text,a.tokens[0].tokens.unshift(c)):a.tokens.unshift({type:"paragraph",raw:c.raw,text:c.raw,tokens:[c]}):a.tokens.unshift(c)}}if(!t.loose){let h=a.tokens.filter(g=>g.type==="space"),c=h.length>0&&h.some(g=>this.rules.other.anyLine.test(g.raw));t.loose=c}}if(t.loose)for(let a of t.items){a.loose=!0;for(let h of a.tokens)h.type==="text"&&(h.type="paragraph")}return t}}html(n){let e=this.rules.block.html.exec(n);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(n){let e=this.rules.block.def.exec(n);if(e){let r=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),s=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",t=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:r,raw:e[0],href:s,title:t}}}table(n){let e=this.rules.block.table.exec(n);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let r=de(e[1]),s=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),t=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(` +`):[],i={type:"table",raw:e[0],header:[],align:[],rows:[]};if(r.length===s.length){for(let l of s)this.rules.other.tableAlignRight.test(l)?i.align.push("right"):this.rules.other.tableAlignCenter.test(l)?i.align.push("center"):this.rules.other.tableAlignLeft.test(l)?i.align.push("left"):i.align.push(null);for(let l=0;l({text:o,tokens:this.lexer.inline(o),header:!1,align:i.align[a]})));return i}}lheading(n){let e=this.rules.block.lheading.exec(n);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(n){let e=this.rules.block.paragraph.exec(n);if(e){let r=e[1].charAt(e[1].length-1)===` +`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(n){let e=this.rules.block.text.exec(n);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(n){let e=this.rules.inline.escape.exec(n);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(n){let e=this.rules.inline.tag.exec(n);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(n){let e=this.rules.inline.link.exec(n);if(e){let r=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let i=C(r.slice(0,-1),"\\");if((r.length-i.length)%2===0)return}else{let i=xt(e[2],"()");if(i===-2)return;if(i>-1){let l=(e[0].indexOf("!")===0?5:4)+e[1].length+i;e[2]=e[2].substring(0,i),e[0]=e[0].substring(0,l).trim(),e[3]=""}}let s=e[2],t="";if(this.options.pedantic){let i=this.rules.other.pedanticHrefTitle.exec(s);i&&(s=i[1],t=i[3])}else t=e[3]?e[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?s=s.slice(1):s=s.slice(1,-1)),fe(e,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:t&&t.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(n,e){let r;if((r=this.rules.inline.reflink.exec(n))||(r=this.rules.inline.nolink.exec(n))){let s=(r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," "),t=e[s.toLowerCase()];if(!t){let i=r[0].charAt(0);return{type:"text",raw:i,text:i}}return fe(r,t,r[0],this.lexer,this.rules)}}emStrong(n,e,r=""){let s=this.rules.inline.emStrongLDelim.exec(n);if(!(!s||s[3]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(s[1]||s[2])||!r||this.rules.inline.punctuation.exec(r))){let t=[...s[0]].length-1,i,l,o=t,a=0,h=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*n.length+t);(s=h.exec(e))!=null;){if(i=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!i)continue;if(l=[...i].length,s[3]||s[4]){o+=l;continue}else if((s[5]||s[6])&&t%3&&!((t+l)%3)){a+=l;continue}if(o-=l,o>0)continue;l=Math.min(l,l+o+a);let c=[...s[0]][0].length,g=n.slice(0,t+s.index+c+l);if(Math.min(t,l)%2){let f=g.slice(1,-1);return{type:"em",raw:g,text:f,tokens:this.lexer.inlineTokens(f)}}let u=g.slice(2,-2);return{type:"strong",raw:g,text:u,tokens:this.lexer.inlineTokens(u)}}}}codespan(n){let e=this.rules.inline.code.exec(n);if(e){let r=e[2].replace(this.rules.other.newLineCharGlobal," "),s=this.rules.other.nonSpaceChar.test(r),t=this.rules.other.startingSpaceChar.test(r)&&this.rules.other.endingSpaceChar.test(r);return s&&t&&(r=r.substring(1,r.length-1)),{type:"codespan",raw:e[0],text:r}}}br(n){let e=this.rules.inline.br.exec(n);if(e)return{type:"br",raw:e[0]}}del(n,e,r=""){let s=this.rules.inline.delLDelim.exec(n);if(s&&(!s[1]||!r||this.rules.inline.punctuation.exec(r))){let t=[...s[0]].length-1,i,l,o=t,a=this.rules.inline.delRDelim;for(a.lastIndex=0,e=e.slice(-1*n.length+t);(s=a.exec(e))!=null;){if(i=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!i||(l=[...i].length,l!==t))continue;if(s[3]||s[4]){o+=l;continue}if(o-=l,o>0)continue;l=Math.min(l,l+o);let h=[...s[0]][0].length,c=n.slice(0,t+s.index+h+l),g=c.slice(t,-t);return{type:"del",raw:c,text:g,tokens:this.lexer.inlineTokens(g)}}}}autolink(n){let e=this.rules.inline.autolink.exec(n);if(e){let r,s;return e[2]==="@"?(r=e[1],s="mailto:"+r):(r=e[1],s=r),{type:"link",raw:e[0],text:r,href:s,tokens:[{type:"text",raw:r,text:r}]}}}url(n){let e;if(e=this.rules.inline.url.exec(n)){let r,s;if(e[2]==="@")r=e[0],s="mailto:"+r;else{let t;do t=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(t!==e[0]);r=e[0],e[1]==="www."?s="http://"+e[0]:s=e[0]}return{type:"link",raw:e[0],text:r,href:s,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(n){let e=this.rules.inline.text.exec(n);if(e){let r=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:r}}}},m=class H{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||T,this.options.tokenizer=this.options.tokenizer||new E,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:x,block:L.normal,inline:_.normal};this.options.pedantic?(r.block=L.pedantic,r.inline=_.pedantic):this.options.gfm&&(r.block=L.gfm,this.options.breaks?r.inline=_.breaks:r.inline=_.gfm),this.tokenizer.rules=r}static get rules(){return{block:L,inline:_}}static lex(e,r){return new H(r).lex(e)}static lexInline(e,r){return new H(r).inlineTokens(e)}lex(e){e=e.replace(x.carriageReturn,` +`),this.blockTokens(e,this.tokens);for(let r=0;r(t=l.call({lexer:this},e,r))?(e=e.substring(t.raw.length),r.push(t),!0):!1))continue;if(t=this.tokenizer.space(e)){e=e.substring(t.raw.length);let l=r.at(-1);t.raw.length===1&&l!==void 0?l.raw+=` +`:r.push(t);continue}if(t=this.tokenizer.code(e)){e=e.substring(t.raw.length);let l=r.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=(l.raw.endsWith(` +`)?"":` +`)+t.raw,l.text+=` +`+t.text,this.inlineQueue.at(-1).src=l.text):r.push(t);continue}if(t=this.tokenizer.fences(e)){e=e.substring(t.raw.length),r.push(t);continue}if(t=this.tokenizer.heading(e)){e=e.substring(t.raw.length),r.push(t);continue}if(t=this.tokenizer.hr(e)){e=e.substring(t.raw.length),r.push(t);continue}if(t=this.tokenizer.blockquote(e)){e=e.substring(t.raw.length),r.push(t);continue}if(t=this.tokenizer.list(e)){e=e.substring(t.raw.length),r.push(t);continue}if(t=this.tokenizer.html(e)){e=e.substring(t.raw.length),r.push(t);continue}if(t=this.tokenizer.def(e)){e=e.substring(t.raw.length);let l=r.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=(l.raw.endsWith(` +`)?"":` +`)+t.raw,l.text+=` +`+t.raw,this.inlineQueue.at(-1).src=l.text):this.tokens.links[t.tag]||(this.tokens.links[t.tag]={href:t.href,title:t.title},r.push(t));continue}if(t=this.tokenizer.table(e)){e=e.substring(t.raw.length),r.push(t);continue}if(t=this.tokenizer.lheading(e)){e=e.substring(t.raw.length),r.push(t);continue}let i=e;if(this.options.extensions?.startBlock){let l=1/0,o=e.slice(1),a;this.options.extensions.startBlock.forEach(h=>{a=h.call({lexer:this},o),typeof a=="number"&&a>=0&&(l=Math.min(l,a))}),l<1/0&&l>=0&&(i=e.substring(0,l+1))}if(this.state.top&&(t=this.tokenizer.paragraph(i))){let l=r.at(-1);s&&l?.type==="paragraph"?(l.raw+=(l.raw.endsWith(` +`)?"":` +`)+t.raw,l.text+=` +`+t.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):r.push(t),s=i.length!==e.length,e=e.substring(t.raw.length);continue}if(t=this.tokenizer.text(e)){e=e.substring(t.raw.length);let l=r.at(-1);l?.type==="text"?(l.raw+=(l.raw.endsWith(` +`)?"":` +`)+t.raw,l.text+=` +`+t.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):r.push(t);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let s=e,t=null;if(this.tokens.links){let a=Object.keys(this.tokens.links);if(a.length>0)for(;(t=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)a.includes(t[0].slice(t[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,t.index)+"["+"a".repeat(t[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(t=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,t.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(t=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)i=t[2]?t[2].length:0,s=s.slice(0,t.index+i)+"["+"a".repeat(t[0].length-i-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);s=this.options.hooks?.emStrongMask?.call({lexer:this},s)??s;let l=!1,o="";for(;e;){l||(o=""),l=!1;let a;if(this.options.extensions?.inline?.some(c=>(a=c.call({lexer:this},e,r))?(e=e.substring(a.raw.length),r.push(a),!0):!1))continue;if(a=this.tokenizer.escape(e)){e=e.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.tag(e)){e=e.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.link(e)){e=e.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(a.raw.length);let c=r.at(-1);a.type==="text"&&c?.type==="text"?(c.raw+=a.raw,c.text+=a.text):r.push(a);continue}if(a=this.tokenizer.emStrong(e,s,o)){e=e.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.codespan(e)){e=e.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.br(e)){e=e.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.del(e,s,o)){e=e.substring(a.raw.length),r.push(a);continue}if(a=this.tokenizer.autolink(e)){e=e.substring(a.raw.length),r.push(a);continue}if(!this.state.inLink&&(a=this.tokenizer.url(e))){e=e.substring(a.raw.length),r.push(a);continue}let h=e;if(this.options.extensions?.startInline){let c=1/0,g=e.slice(1),u;this.options.extensions.startInline.forEach(f=>{u=f.call({lexer:this},g),typeof u=="number"&&u>=0&&(c=Math.min(c,u))}),c<1/0&&c>=0&&(h=e.substring(0,c+1))}if(a=this.tokenizer.inlineText(h)){e=e.substring(a.raw.length),a.raw.slice(-1)!=="_"&&(o=a.raw.slice(-1)),l=!0;let c=r.at(-1);c?.type==="text"?(c.raw+=a.raw,c.text+=a.text):r.push(a);continue}if(e){let c="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return r}},q=class{options;parser;constructor(n){this.options=n||T}space(n){return""}code({text:n,lang:e,escaped:r}){let s=(e||"").match(x.notSpaceStart)?.[0],t=n.replace(x.endingNewline,"")+` +`;return s?'
'+(r?t:y(t,!0))+`
+`:"
"+(r?t:y(t,!0))+`
+`}blockquote({tokens:n}){return`
+${this.parser.parse(n)}
+`}html({text:n}){return n}def(n){return""}heading({tokens:n,depth:e}){return`${this.parser.parseInline(n)} +`}hr(n){return`
+`}list(n){let e=n.ordered,r=n.start,s="";for(let l=0;l +`+s+" +`}listitem(n){return`
  • ${this.parser.parse(n.tokens)}
  • +`}checkbox({checked:n}){return" '}paragraph({tokens:n}){return`

    ${this.parser.parseInline(n)}

    +`}table(n){let e="",r="";for(let t=0;t${s}`),` + +`+e+` +`+s+`
    +`}tablerow({text:n}){return` +${n} +`}tablecell(n){let e=this.parser.parseInline(n.tokens),r=n.header?"th":"td";return(n.align?`<${r} align="${n.align}">`:`<${r}>`)+e+` +`}strong({tokens:n}){return`${this.parser.parseInline(n)}`}em({tokens:n}){return`${this.parser.parseInline(n)}`}codespan({text:n}){return`${y(n,!0)}`}br(n){return"
    "}del({tokens:n}){return`${this.parser.parseInline(n)}`}link({href:n,title:e,tokens:r}){let s=this.parser.parseInline(r),t=ke(n);if(t===null)return s;n=t;let i='
    ",i}image({href:n,title:e,text:r,tokens:s}){s&&(r=this.parser.parseInline(s,this.parser.textRenderer));let t=ke(n);if(t===null)return y(r);n=t;let i=`${y(r)}{let l=t[i].flat(1/0);r=r.concat(this.walkTokens(l,e))}):t.tokens&&(r=r.concat(this.walkTokens(t.tokens,e)))}}return r}use(...n){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(r=>{let s=b({},r);if(s.async=this.defaults.async||s.async||!1,r.extensions&&(r.extensions.forEach(t=>{if(!t.name)throw new Error("extension name required");if("renderer"in t){let i=e.renderers[t.name];i?e.renderers[t.name]=function(...l){let o=t.renderer.apply(this,l);return o===!1&&(o=i.apply(this,l)),o}:e.renderers[t.name]=t.renderer}if("tokenizer"in t){if(!t.level||t.level!=="block"&&t.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let i=e[t.level];i?i.unshift(t.tokenizer):e[t.level]=[t.tokenizer],t.start&&(t.level==="block"?e.startBlock?e.startBlock.push(t.start):e.startBlock=[t.start]:t.level==="inline"&&(e.startInline?e.startInline.push(t.start):e.startInline=[t.start]))}"childTokens"in t&&t.childTokens&&(e.childTokens[t.name]=t.childTokens)}),s.extensions=e),r.renderer){let t=this.defaults.renderer||new q(this.defaults);for(let i in r.renderer){if(!(i in t))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;let l=i,o=r.renderer[l],a=t[l];t[l]=(...h)=>{let c=o.apply(t,h);return c===!1&&(c=a.apply(t,h)),c||""}}s.renderer=t}if(r.tokenizer){let t=this.defaults.tokenizer||new E(this.defaults);for(let i in r.tokenizer){if(!(i in t))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;let l=i,o=r.tokenizer[l],a=t[l];t[l]=(...h)=>{let c=o.apply(t,h);return c===!1&&(c=a.apply(t,h)),c}}s.tokenizer=t}if(r.hooks){let t=this.defaults.hooks||new v;for(let i in r.hooks){if(!(i in t))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;let l=i,o=r.hooks[l],a=t[l];v.passThroughHooks.has(i)?t[l]=h=>{if(this.defaults.async&&v.passThroughHooksRespectAsync.has(i))return(async()=>{let g=await o.call(t,h);return a.call(t,g)})();let c=o.call(t,h);return a.call(t,c)}:t[l]=(...h)=>{if(this.defaults.async)return(async()=>{let g=await o.apply(t,h);return g===!1&&(g=await a.apply(t,h)),g})();let c=o.apply(t,h);return c===!1&&(c=a.apply(t,h)),c}}s.hooks=t}if(r.walkTokens){let t=this.defaults.walkTokens,i=r.walkTokens;s.walkTokens=function(l){let o=[];return o.push(i.call(this,l)),t&&(o=o.concat(t.call(this,l))),o}}this.defaults=b(b({},this.defaults),s)}),this}setOptions(n){return this.defaults=b(b({},this.defaults),n),this}lexer(n,e){return m.lex(n,e??this.defaults)}parser(n,e){return w.parse(n,e??this.defaults)}parseMarkdown(n){return(e,r)=>{let s=b({},r),t=b(b({},this.defaults),s),i=this.onError(!!t.silent,!!t.async);if(this.defaults.async===!0&&s.async===!1)return i(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return i(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(t.hooks&&(t.hooks.options=t,t.hooks.block=n),t.async)return(async()=>{let l=t.hooks?await t.hooks.preprocess(e):e,o=await(t.hooks?await t.hooks.provideLexer():n?m.lex:m.lexInline)(l,t),a=t.hooks?await t.hooks.processAllTokens(o):o;t.walkTokens&&await Promise.all(this.walkTokens(a,t.walkTokens));let h=await(t.hooks?await t.hooks.provideParser():n?w.parse:w.parseInline)(a,t);return t.hooks?await t.hooks.postprocess(h):h})().catch(i);try{t.hooks&&(e=t.hooks.preprocess(e));let l=(t.hooks?t.hooks.provideLexer():n?m.lex:m.lexInline)(e,t);t.hooks&&(l=t.hooks.processAllTokens(l)),t.walkTokens&&this.walkTokens(l,t.walkTokens);let o=(t.hooks?t.hooks.provideParser():n?w.parse:w.parseInline)(l,t);return t.hooks&&(o=t.hooks.postprocess(o)),o}catch(l){return i(l)}}}onError(n,e){return r=>{if(r.message+=` +Please report this to https://github.com/markedjs/marked.`,n){let s="

    An error occurred:

    "+y(r.message+"",!0)+"
    ";return e?Promise.resolve(s):s}if(e)return Promise.reject(r);throw r}}},R=new wt;function k(n,e){return R.parse(n,e)}k.options=k.setOptions=function(n){return R.setOptions(n),k.defaults=R.defaults,xe(k.defaults),k};k.getDefaults=N;k.defaults=T;k.use=function(...n){return R.use(...n),k.defaults=R.defaults,xe(k.defaults),k};k.walkTokens=function(n,e){return R.walkTokens(n,e)};k.parseInline=R.parseInline;k.Parser=w;k.parser=w.parse;k.Renderer=q;k.TextRenderer=K;k.Lexer=m;k.lexer=m.lex;k.Tokenizer=E;k.Hooks=v;k.parse=k;var yt=k.options,St=k.setOptions,$t=k.use,Rt=k.walkTokens,Tt=k.parseInline;var zt=w.parse,At=m.lex;var _e=class n{http=P(ae);sanitizer=P(oe);translocoService=P(ce);baseUrl=P(he);content=re("");constructor(){this.translocoService.langChanges$.pipe(te(e=>this.http.get(`${this.baseUrl}/coc.${e}.md`,{responseType:"text"}))).subscribe(e=>{let r=k.parse(e);this.content.set(this.sanitizer.bypassSecurityTrustHtml(r))})}static \u0275fac=function(r){return new(r||n)};static \u0275cmp=se({type:n,selectors:[["app-coc"]],decls:1,vars:1,consts:[[1,"coc-content","mx-auto","max-w-3xl","px-4","pb-12",3,"innerHTML"]],template:function(r,s){r&1&&le(0,"article",0),r&2&&ie("innerHTML",s.content(),ne)},styles:[".coc-content[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{list-style:disc;padding-left:1.5rem;margin-bottom:1rem}.coc-content[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:.25rem}.coc-content[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{border-color:var(--border);margin:2rem 0}.coc-content[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:700}"],changeDetection:0})};export{_e as CocComponent}; diff --git a/chunk-YVSMUC5H.js b/chunk-YVSMUC5H.js new file mode 100644 index 0000000..99c0160 --- /dev/null +++ b/chunk-YVSMUC5H.js @@ -0,0 +1 @@ +import{$a as c,Ka as i,R as o,ab as n,bb as a,ob as m}from"./chunk-LE4JLOLG.js";var s=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=i({type:t,selectors:[["app-icon-linkedin"]],decls:4,vars:0,consts:[["aria-hidden","true","focusable","false","role","img","xmlns","http://www.w3.org/2000/svg","height","1.33em","viewBox","0 0 24 24"],["fill","currentColor","d","M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"]],template:function(e,d){e&1&&(o(),c(0,"svg",0)(1,"title"),m(2,"LinkedIn"),n(),a(3,"path",1),n())},encapsulation:2,changeDetection:0})};export{s as a}; diff --git a/public/coc.en.md b/coc.en.md similarity index 100% rename from public/coc.en.md rename to coc.en.md diff --git a/public/coc.it.md b/coc.it.md similarity index 100% rename from public/coc.it.md rename to coc.it.md diff --git a/public/data/blog-posts.json b/data/blog-posts.json similarity index 100% rename from public/data/blog-posts.json rename to data/blog-posts.json diff --git a/public/data/events.json b/data/events.json similarity index 100% rename from public/data/events.json rename to data/events.json diff --git a/public/favicon.ico b/favicon.ico similarity index 100% rename from public/favicon.ico rename to favicon.ico diff --git a/public/i18n/en.json b/i18n/en.json similarity index 100% rename from public/i18n/en.json rename to i18n/en.json diff --git a/public/i18n/it.json b/i18n/it.json similarity index 100% rename from public/i18n/it.json rename to i18n/it.json diff --git a/public/images/about/ClaudioFaro.jpeg b/images/about/ClaudioFaro.jpeg similarity index 100% rename from public/images/about/ClaudioFaro.jpeg rename to images/about/ClaudioFaro.jpeg diff --git a/public/images/about/MatteoJacopoSchembri.jpeg b/images/about/MatteoJacopoSchembri.jpeg similarity index 100% rename from public/images/about/MatteoJacopoSchembri.jpeg rename to images/about/MatteoJacopoSchembri.jpeg diff --git a/public/images/about/SalvoRapisarda.jpeg b/images/about/SalvoRapisarda.jpeg similarity index 100% rename from public/images/about/SalvoRapisarda.jpeg rename to images/about/SalvoRapisarda.jpeg diff --git a/public/images/about/StefanoBorzi.jpeg b/images/about/StefanoBorzi.jpeg similarity index 100% rename from public/images/about/StefanoBorzi.jpeg rename to images/about/StefanoBorzi.jpeg diff --git a/public/images/apple-touch-icon.png b/images/apple-touch-icon.png similarity index 100% rename from public/images/apple-touch-icon.png rename to images/apple-touch-icon.png diff --git a/public/images/events-speakers/AndreaModica.jpg b/images/events-speakers/AndreaModica.jpg similarity index 100% rename from public/images/events-speakers/AndreaModica.jpg rename to images/events-speakers/AndreaModica.jpg diff --git a/public/images/events-speakers/CristinaRaciti.jpg b/images/events-speakers/CristinaRaciti.jpg similarity index 100% rename from public/images/events-speakers/CristinaRaciti.jpg rename to images/events-speakers/CristinaRaciti.jpg diff --git a/public/images/events-speakers/DarioCamonita.jpeg b/images/events-speakers/DarioCamonita.jpeg similarity index 100% rename from public/images/events-speakers/DarioCamonita.jpeg rename to images/events-speakers/DarioCamonita.jpeg diff --git "a/public/images/events-speakers/DavidePant\303\262.jpeg" "b/images/events-speakers/DavidePant\303\262.jpeg" similarity index 100% rename from "public/images/events-speakers/DavidePant\303\262.jpeg" rename to "images/events-speakers/DavidePant\303\262.jpeg" diff --git a/public/images/events-speakers/EnzoCamuto.jpeg b/images/events-speakers/EnzoCamuto.jpeg similarity index 100% rename from public/images/events-speakers/EnzoCamuto.jpeg rename to images/events-speakers/EnzoCamuto.jpeg diff --git a/public/images/events-speakers/Flavia.jpg b/images/events-speakers/Flavia.jpg similarity index 100% rename from public/images/events-speakers/Flavia.jpg rename to images/events-speakers/Flavia.jpg diff --git a/public/images/events-speakers/GiovanniCampo.jpeg b/images/events-speakers/GiovanniCampo.jpeg similarity index 100% rename from public/images/events-speakers/GiovanniCampo.jpeg rename to images/events-speakers/GiovanniCampo.jpeg diff --git a/public/images/events-speakers/Luca Marturana.jpeg b/images/events-speakers/Luca Marturana.jpeg similarity index 100% rename from public/images/events-speakers/Luca Marturana.jpeg rename to images/events-speakers/Luca Marturana.jpeg diff --git a/public/images/events-speakers/PaoloLoBello.jpg b/images/events-speakers/PaoloLoBello.jpg similarity index 100% rename from public/images/events-speakers/PaoloLoBello.jpg rename to images/events-speakers/PaoloLoBello.jpg diff --git a/public/images/events-speakers/PietroPeterlongo.jpeg b/images/events-speakers/PietroPeterlongo.jpeg similarity index 100% rename from public/images/events-speakers/PietroPeterlongo.jpeg rename to images/events-speakers/PietroPeterlongo.jpeg diff --git a/public/images/events-speakers/RaffaeleBarone.jpeg b/images/events-speakers/RaffaeleBarone.jpeg similarity index 100% rename from public/images/events-speakers/RaffaeleBarone.jpeg rename to images/events-speakers/RaffaeleBarone.jpeg diff --git a/public/images/events-speakers/SalvatoreSanfilippo.jpeg b/images/events-speakers/SalvatoreSanfilippo.jpeg similarity index 100% rename from public/images/events-speakers/SalvatoreSanfilippo.jpeg rename to images/events-speakers/SalvatoreSanfilippo.jpeg diff --git a/public/images/events/09-12-2025-oh-oh-oh/event-312066711.jpg b/images/events/09-12-2025-oh-oh-oh/event-312066711.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/event-312066711.jpg rename to images/events/09-12-2025-oh-oh-oh/event-312066711.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-31.jpg b/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-31.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-31.jpg rename to images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-31.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-33.jpg b/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-33.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-33.jpg rename to images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-33.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-39.jpg b/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-39.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-39.jpg rename to images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-39.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-40.jpg b/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-40.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-40.jpg rename to images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-40.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-42.jpg b/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-42.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-42.jpg rename to images/events/09-12-2025-oh-oh-oh/photo_2026-03-17_21-39-42.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550413697857_75742876461.jpg b/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550413697857_75742876461.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550413697857_75742876461.jpg rename to images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550413697857_75742876461.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550422086028_75742876461.jpg b/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550422086028_75742876461.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550422086028_75742876461.jpg rename to images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550422086028_75742876461.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550556253496_75742876461.jpg b/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550556253496_75742876461.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550556253496_75742876461.jpg rename to images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564338_3786150550556253496_75742876461.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550514324623_75742876461.jpg b/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550514324623_75742876461.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550514324623_75742876461.jpg rename to images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550514324623_75742876461.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550573049610_75742876461.jpg b/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550573049610_75742876461.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550573049610_75742876461.jpg rename to images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550573049610_75742876461.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550631795772_75742876461.jpg b/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550631795772_75742876461.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550631795772_75742876461.jpg rename to images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550631795772_75742876461.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550648536342_75742876461.jpg b/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550648536342_75742876461.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550648536342_75742876461.jpg rename to images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550648536342_75742876461.jpg diff --git a/public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550816328124_75742876461.jpg b/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550816328124_75742876461.jpg similarity index 100% rename from public/images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550816328124_75742876461.jpg rename to images/events/09-12-2025-oh-oh-oh/pythoncatania_1765564339_3786150550816328124_75742876461.jpg diff --git a/public/images/events/14-07-2026/event-315327982.jpg b/images/events/14-07-2026/event-315327982.jpg similarity index 100% rename from public/images/events/14-07-2026/event-315327982.jpg rename to images/events/14-07-2026/event-315327982.jpg diff --git a/public/images/events/14-07-2026/photo_2026-07-16_10-01-37.jpg b/images/events/14-07-2026/photo_2026-07-16_10-01-37.jpg similarity index 100% rename from public/images/events/14-07-2026/photo_2026-07-16_10-01-37.jpg rename to images/events/14-07-2026/photo_2026-07-16_10-01-37.jpg diff --git a/public/images/events/14-07-2026/photo_2026-07-16_10-01-39.jpg b/images/events/14-07-2026/photo_2026-07-16_10-01-39.jpg similarity index 100% rename from public/images/events/14-07-2026/photo_2026-07-16_10-01-39.jpg rename to images/events/14-07-2026/photo_2026-07-16_10-01-39.jpg diff --git a/public/images/events/14-07-2026/photo_2026-07-16_10-01-40.jpg b/images/events/14-07-2026/photo_2026-07-16_10-01-40.jpg similarity index 100% rename from public/images/events/14-07-2026/photo_2026-07-16_10-01-40.jpg rename to images/events/14-07-2026/photo_2026-07-16_10-01-40.jpg diff --git a/public/images/events/14-07-2026/photo_2026-07-16_10-01-42.jpg b/images/events/14-07-2026/photo_2026-07-16_10-01-42.jpg similarity index 100% rename from public/images/events/14-07-2026/photo_2026-07-16_10-01-42.jpg rename to images/events/14-07-2026/photo_2026-07-16_10-01-42.jpg diff --git a/public/images/events/14-07-2026/photo_2026-07-16_10-01-43.jpg b/images/events/14-07-2026/photo_2026-07-16_10-01-43.jpg similarity index 100% rename from public/images/events/14-07-2026/photo_2026-07-16_10-01-43.jpg rename to images/events/14-07-2026/photo_2026-07-16_10-01-43.jpg diff --git a/public/images/events/14-07-2026/photo_2026-07-16_10-01-45-2.jpg b/images/events/14-07-2026/photo_2026-07-16_10-01-45-2.jpg similarity index 100% rename from public/images/events/14-07-2026/photo_2026-07-16_10-01-45-2.jpg rename to images/events/14-07-2026/photo_2026-07-16_10-01-45-2.jpg diff --git a/public/images/events/14-07-2026/photo_2026-07-16_10-01-45.jpg b/images/events/14-07-2026/photo_2026-07-16_10-01-45.jpg similarity index 100% rename from public/images/events/14-07-2026/photo_2026-07-16_10-01-45.jpg rename to images/events/14-07-2026/photo_2026-07-16_10-01-45.jpg diff --git a/public/images/events/16-05-2025/event-307712208.jpg b/images/events/16-05-2025/event-307712208.jpg similarity index 100% rename from public/images/events/16-05-2025/event-307712208.jpg rename to images/events/16-05-2025/event-307712208.jpg diff --git a/public/images/events/16-05-2025/pythoncatania_1752438412_3676042301466513150_75742876461.jpg b/images/events/16-05-2025/pythoncatania_1752438412_3676042301466513150_75742876461.jpg similarity index 100% rename from public/images/events/16-05-2025/pythoncatania_1752438412_3676042301466513150_75742876461.jpg rename to images/events/16-05-2025/pythoncatania_1752438412_3676042301466513150_75742876461.jpg diff --git a/public/images/events/16-05-2025/pythoncatania_1752438412_3676042301474905789_75742876461.jpg b/images/events/16-05-2025/pythoncatania_1752438412_3676042301474905789_75742876461.jpg similarity index 100% rename from public/images/events/16-05-2025/pythoncatania_1752438412_3676042301474905789_75742876461.jpg rename to images/events/16-05-2025/pythoncatania_1752438412_3676042301474905789_75742876461.jpg diff --git a/public/images/events/16-05-2025/pythoncatania_1752438412_3676042301474943381_75742876461.jpg b/images/events/16-05-2025/pythoncatania_1752438412_3676042301474943381_75742876461.jpg similarity index 100% rename from public/images/events/16-05-2025/pythoncatania_1752438412_3676042301474943381_75742876461.jpg rename to images/events/16-05-2025/pythoncatania_1752438412_3676042301474943381_75742876461.jpg diff --git a/public/images/events/16-05-2025/pythoncatania_1752438412_3676042301483356487_75742876461.jpg b/images/events/16-05-2025/pythoncatania_1752438412_3676042301483356487_75742876461.jpg similarity index 100% rename from public/images/events/16-05-2025/pythoncatania_1752438412_3676042301483356487_75742876461.jpg rename to images/events/16-05-2025/pythoncatania_1752438412_3676042301483356487_75742876461.jpg diff --git a/public/images/events/16-05-2025/pythoncatania_1752438412_3676042301634380568_75742876461.jpg b/images/events/16-05-2025/pythoncatania_1752438412_3676042301634380568_75742876461.jpg similarity index 100% rename from public/images/events/16-05-2025/pythoncatania_1752438412_3676042301634380568_75742876461.jpg rename to images/events/16-05-2025/pythoncatania_1752438412_3676042301634380568_75742876461.jpg diff --git a/public/images/events/17-07-2025/event-308969846.jpg b/images/events/17-07-2025/event-308969846.jpg similarity index 100% rename from public/images/events/17-07-2025/event-308969846.jpg rename to images/events/17-07-2025/event-308969846.jpg diff --git a/public/images/events/17-07-2025/pythoncatania_1753022774_3680944282235267964_75742876461.jpg b/images/events/17-07-2025/pythoncatania_1753022774_3680944282235267964_75742876461.jpg similarity index 100% rename from public/images/events/17-07-2025/pythoncatania_1753022774_3680944282235267964_75742876461.jpg rename to images/events/17-07-2025/pythoncatania_1753022774_3680944282235267964_75742876461.jpg diff --git a/public/images/events/17-07-2025/pythoncatania_1753022774_3680944282243594666_75742876461.jpg b/images/events/17-07-2025/pythoncatania_1753022774_3680944282243594666_75742876461.jpg similarity index 100% rename from public/images/events/17-07-2025/pythoncatania_1753022774_3680944282243594666_75742876461.jpg rename to images/events/17-07-2025/pythoncatania_1753022774_3680944282243594666_75742876461.jpg diff --git a/public/images/events/17-07-2025/pythoncatania_1753022774_3680944282243681070_75742876461.jpg b/images/events/17-07-2025/pythoncatania_1753022774_3680944282243681070_75742876461.jpg similarity index 100% rename from public/images/events/17-07-2025/pythoncatania_1753022774_3680944282243681070_75742876461.jpg rename to images/events/17-07-2025/pythoncatania_1753022774_3680944282243681070_75742876461.jpg diff --git a/public/images/events/17-07-2025/pythoncatania_1753022774_3680944282251832210_75742876461.jpg b/images/events/17-07-2025/pythoncatania_1753022774_3680944282251832210_75742876461.jpg similarity index 100% rename from public/images/events/17-07-2025/pythoncatania_1753022774_3680944282251832210_75742876461.jpg rename to images/events/17-07-2025/pythoncatania_1753022774_3680944282251832210_75742876461.jpg diff --git a/public/images/events/17-07-2025/pythoncatania_1753022774_3680944282251945845_75742876461.jpg b/images/events/17-07-2025/pythoncatania_1753022774_3680944282251945845_75742876461.jpg similarity index 100% rename from public/images/events/17-07-2025/pythoncatania_1753022774_3680944282251945845_75742876461.jpg rename to images/events/17-07-2025/pythoncatania_1753022774_3680944282251945845_75742876461.jpg diff --git a/public/images/events/17-07-2025/pythoncatania_1753022774_3680944282528806857_75742876461.jpg b/images/events/17-07-2025/pythoncatania_1753022774_3680944282528806857_75742876461.jpg similarity index 100% rename from public/images/events/17-07-2025/pythoncatania_1753022774_3680944282528806857_75742876461.jpg rename to images/events/17-07-2025/pythoncatania_1753022774_3680944282528806857_75742876461.jpg diff --git a/public/images/events/22-02-2025/event-306025381.jpg b/images/events/22-02-2025/event-306025381.jpg similarity index 100% rename from public/images/events/22-02-2025/event-306025381.jpg rename to images/events/22-02-2025/event-306025381.jpg diff --git a/public/images/events/22-02-2025/photo_2026-03-18_00-42-38.jpg b/images/events/22-02-2025/photo_2026-03-18_00-42-38.jpg similarity index 100% rename from public/images/events/22-02-2025/photo_2026-03-18_00-42-38.jpg rename to images/events/22-02-2025/photo_2026-03-18_00-42-38.jpg diff --git a/public/images/events/22-02-2025/photo_2026-03-18_00-42-39.jpg b/images/events/22-02-2025/photo_2026-03-18_00-42-39.jpg similarity index 100% rename from public/images/events/22-02-2025/photo_2026-03-18_00-42-39.jpg rename to images/events/22-02-2025/photo_2026-03-18_00-42-39.jpg diff --git a/public/images/events/22-02-2025/photo_2026-03-18_00-42-41.jpg b/images/events/22-02-2025/photo_2026-03-18_00-42-41.jpg similarity index 100% rename from public/images/events/22-02-2025/photo_2026-03-18_00-42-41.jpg rename to images/events/22-02-2025/photo_2026-03-18_00-42-41.jpg diff --git a/public/images/events/22-02-2025/photo_2026-03-18_00-42-42.jpg b/images/events/22-02-2025/photo_2026-03-18_00-42-42.jpg similarity index 100% rename from public/images/events/22-02-2025/photo_2026-03-18_00-42-42.jpg rename to images/events/22-02-2025/photo_2026-03-18_00-42-42.jpg diff --git a/public/images/events/23-04-2026/event-314071729.jpg b/images/events/23-04-2026/event-314071729.jpg similarity index 100% rename from public/images/events/23-04-2026/event-314071729.jpg rename to images/events/23-04-2026/event-314071729.jpg diff --git a/public/images/events/23-04-2026/locandina4.png b/images/events/23-04-2026/locandina4.png similarity index 100% rename from public/images/events/23-04-2026/locandina4.png rename to images/events/23-04-2026/locandina4.png diff --git a/public/images/events/23-04-2026/photo_1_2026-04-28_11-20-53.jpg b/images/events/23-04-2026/photo_1_2026-04-28_11-20-53.jpg similarity index 100% rename from public/images/events/23-04-2026/photo_1_2026-04-28_11-20-53.jpg rename to images/events/23-04-2026/photo_1_2026-04-28_11-20-53.jpg diff --git a/public/images/events/23-04-2026/photo_2_2026-04-28_11-20-53.jpg b/images/events/23-04-2026/photo_2_2026-04-28_11-20-53.jpg similarity index 100% rename from public/images/events/23-04-2026/photo_2_2026-04-28_11-20-53.jpg rename to images/events/23-04-2026/photo_2_2026-04-28_11-20-53.jpg diff --git a/public/images/events/23-04-2026/photo_3_2026-04-28_11-20-53.jpg b/images/events/23-04-2026/photo_3_2026-04-28_11-20-53.jpg similarity index 100% rename from public/images/events/23-04-2026/photo_3_2026-04-28_11-20-53.jpg rename to images/events/23-04-2026/photo_3_2026-04-28_11-20-53.jpg diff --git a/public/images/events/23-04-2026/photo_4_2026-04-28_11-20-53.jpg b/images/events/23-04-2026/photo_4_2026-04-28_11-20-53.jpg similarity index 100% rename from public/images/events/23-04-2026/photo_4_2026-04-28_11-20-53.jpg rename to images/events/23-04-2026/photo_4_2026-04-28_11-20-53.jpg diff --git a/public/images/events/23-04-2026/photo_5_2026-04-28_11-20-53.jpg b/images/events/23-04-2026/photo_5_2026-04-28_11-20-53.jpg similarity index 100% rename from public/images/events/23-04-2026/photo_5_2026-04-28_11-20-53.jpg rename to images/events/23-04-2026/photo_5_2026-04-28_11-20-53.jpg diff --git a/public/images/events/23-04-2026/photo_6_2026-04-28_11-20-53.jpg b/images/events/23-04-2026/photo_6_2026-04-28_11-20-53.jpg similarity index 100% rename from public/images/events/23-04-2026/photo_6_2026-04-28_11-20-53.jpg rename to images/events/23-04-2026/photo_6_2026-04-28_11-20-53.jpg diff --git a/public/images/events/23-04-2026/photo_7_2026-04-28_11-20-53.jpg b/images/events/23-04-2026/photo_7_2026-04-28_11-20-53.jpg similarity index 100% rename from public/images/events/23-04-2026/photo_7_2026-04-28_11-20-53.jpg rename to images/events/23-04-2026/photo_7_2026-04-28_11-20-53.jpg diff --git a/public/images/events/23-04-2026/photo_8_2026-04-28_11-20-53.jpg b/images/events/23-04-2026/photo_8_2026-04-28_11-20-53.jpg similarity index 100% rename from public/images/events/23-04-2026/photo_8_2026-04-28_11-20-53.jpg rename to images/events/23-04-2026/photo_8_2026-04-28_11-20-53.jpg diff --git a/public/images/events/27-02-2026/event-313050179.jpg b/images/events/27-02-2026/event-313050179.jpg similarity index 100% rename from public/images/events/27-02-2026/event-313050179.jpg rename to images/events/27-02-2026/event-313050179.jpg diff --git a/public/images/events/27-02-2026/pythoncatania_1772226964_3842039993544377513_75742876461.jpg b/images/events/27-02-2026/pythoncatania_1772226964_3842039993544377513_75742876461.jpg similarity index 100% rename from public/images/events/27-02-2026/pythoncatania_1772226964_3842039993544377513_75742876461.jpg rename to images/events/27-02-2026/pythoncatania_1772226964_3842039993544377513_75742876461.jpg diff --git a/public/images/events/27-02-2026/pythoncatania_1772226964_3842040011428888437_75742876461.jpg b/images/events/27-02-2026/pythoncatania_1772226964_3842040011428888437_75742876461.jpg similarity index 100% rename from public/images/events/27-02-2026/pythoncatania_1772226964_3842040011428888437_75742876461.jpg rename to images/events/27-02-2026/pythoncatania_1772226964_3842040011428888437_75742876461.jpg diff --git a/public/images/events/27-02-2026/pythoncatania_1772226964_3842040034615010639_75742876461.jpg b/images/events/27-02-2026/pythoncatania_1772226964_3842040034615010639_75742876461.jpg similarity index 100% rename from public/images/events/27-02-2026/pythoncatania_1772226964_3842040034615010639_75742876461.jpg rename to images/events/27-02-2026/pythoncatania_1772226964_3842040034615010639_75742876461.jpg diff --git a/public/images/events/27-02-2026/pythoncatania_1772226964_3842040048900787860_75742876461.jpg b/images/events/27-02-2026/pythoncatania_1772226964_3842040048900787860_75742876461.jpg similarity index 100% rename from public/images/events/27-02-2026/pythoncatania_1772226964_3842040048900787860_75742876461.jpg rename to images/events/27-02-2026/pythoncatania_1772226964_3842040048900787860_75742876461.jpg diff --git a/public/images/events/27-02-2026/pythoncatania_1772226964_3842040063907989033_75742876461.jpg b/images/events/27-02-2026/pythoncatania_1772226964_3842040063907989033_75742876461.jpg similarity index 100% rename from public/images/events/27-02-2026/pythoncatania_1772226964_3842040063907989033_75742876461.jpg rename to images/events/27-02-2026/pythoncatania_1772226964_3842040063907989033_75742876461.jpg diff --git a/public/images/events/27-02-2026/pythoncatania_1772226964_3842040072019834333_75742876461.jpg b/images/events/27-02-2026/pythoncatania_1772226964_3842040072019834333_75742876461.jpg similarity index 100% rename from public/images/events/27-02-2026/pythoncatania_1772226964_3842040072019834333_75742876461.jpg rename to images/events/27-02-2026/pythoncatania_1772226964_3842040072019834333_75742876461.jpg diff --git a/public/images/events/27-02-2026/pythoncatania_1772226964_3842040087203193701_75742876461.jpg b/images/events/27-02-2026/pythoncatania_1772226964_3842040087203193701_75742876461.jpg similarity index 100% rename from public/images/events/27-02-2026/pythoncatania_1772226964_3842040087203193701_75742876461.jpg rename to images/events/27-02-2026/pythoncatania_1772226964_3842040087203193701_75742876461.jpg diff --git a/public/images/events/27-02-2026/pythoncatania_1772226964_3842040108225022343_75742876461.jpg b/images/events/27-02-2026/pythoncatania_1772226964_3842040108225022343_75742876461.jpg similarity index 100% rename from public/images/events/27-02-2026/pythoncatania_1772226964_3842040108225022343_75742876461.jpg rename to images/events/27-02-2026/pythoncatania_1772226964_3842040108225022343_75742876461.jpg diff --git a/public/images/events/27-02-2026/pythoncatania_1772226964_3842040161970873239_75742876461.jpg b/images/events/27-02-2026/pythoncatania_1772226964_3842040161970873239_75742876461.jpg similarity index 100% rename from public/images/events/27-02-2026/pythoncatania_1772226964_3842040161970873239_75742876461.jpg rename to images/events/27-02-2026/pythoncatania_1772226964_3842040161970873239_75742876461.jpg diff --git a/public/images/events/27-02-2026/pythoncatania_1772226965_3842040136737911444_75742876461.jpg b/images/events/27-02-2026/pythoncatania_1772226965_3842040136737911444_75742876461.jpg similarity index 100% rename from public/images/events/27-02-2026/pythoncatania_1772226965_3842040136737911444_75742876461.jpg rename to images/events/27-02-2026/pythoncatania_1772226965_3842040136737911444_75742876461.jpg diff --git a/public/images/events/event-298457913.jpg b/images/events/event-298457913.jpg similarity index 100% rename from public/images/events/event-298457913.jpg rename to images/events/event-298457913.jpg diff --git a/public/images/events/event-301402271.jpg b/images/events/event-301402271.jpg similarity index 100% rename from public/images/events/event-301402271.jpg rename to images/events/event-301402271.jpg diff --git a/public/images/events/event-302671524.jpg b/images/events/event-302671524.jpg similarity index 100% rename from public/images/events/event-302671524.jpg rename to images/events/event-302671524.jpg diff --git a/public/images/events/event-304691223.jpg b/images/events/event-304691223.jpg similarity index 100% rename from public/images/events/event-304691223.jpg rename to images/events/event-304691223.jpg diff --git a/public/images/events/pythobrata-10-2025/event-311306942.jpg b/images/events/pythobrata-10-2025/event-311306942.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/event-311306942.jpg rename to images/events/pythobrata-10-2025/event-311306942.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658557953148_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658557953148_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658557953148_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658557953148_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658566345274_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658566345274_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658566345274_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658566345274_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658566353362_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658566353362_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658566353362_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693658566353362_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659262578794_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659262578794_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659262578794_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659262578794_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659321310716_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659321310716_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659321310716_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659321310716_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659598133531_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659598133531_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659598133531_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659598133531_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659925265909_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659925265909_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659925265909_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761933594_3755693659925265909_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091051574605_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091051574605_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091051574605_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091051574605_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091059978114_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091059978114_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091059978114_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091059978114_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091093574271_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091093574271_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091093574271_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091093574271_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091840120634_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091840120634_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091840120634_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091840120634_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091882106763_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091882106763_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091882106763_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700091882106763_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092200832806_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092200832806_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092200832806_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092200832806_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092444118821_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092444118821_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092444118821_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092444118821_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092620271165_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092620271165_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092620271165_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934361_3755700092620271165_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460531405228_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460531405228_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460531405228_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460531405228_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460548138363_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460548138363_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460548138363_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460548138363_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460556510092_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460556510092_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460556510092_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460556510092_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460824944668_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460824944668_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460824944668_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702460824944668_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702461152106706_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702461152106706_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702461152106706_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702461152106706_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702461336665710_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702461336665710_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702461336665710_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702461336665710_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702462007763459_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702462007763459_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702462007763459_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934643_3755702462007763459_75742876461.jpg diff --git a/public/images/events/pythobrata-10-2025/pythoncatania_1761934644_3755702461412151225_75742876461.jpg b/images/events/pythobrata-10-2025/pythoncatania_1761934644_3755702461412151225_75742876461.jpg similarity index 100% rename from public/images/events/pythobrata-10-2025/pythoncatania_1761934644_3755702461412151225_75742876461.jpg rename to images/events/pythobrata-10-2025/pythoncatania_1761934644_3755702461412151225_75742876461.jpg diff --git a/public/images/homepage/CallForSpeaker.jpeg b/images/homepage/CallForSpeaker.jpeg similarity index 100% rename from public/images/homepage/CallForSpeaker.jpeg rename to images/homepage/CallForSpeaker.jpeg diff --git a/public/images/homepage/DefaultNextMeetup.jpg b/images/homepage/DefaultNextMeetup.jpg similarity index 100% rename from public/images/homepage/DefaultNextMeetup.jpg rename to images/homepage/DefaultNextMeetup.jpg diff --git a/public/images/homepage/NextMeetup.jpg b/images/homepage/NextMeetup.jpg similarity index 100% rename from public/images/homepage/NextMeetup.jpg rename to images/homepage/NextMeetup.jpg diff --git a/public/images/homepage/PyCatania-intro.jpg b/images/homepage/PyCatania-intro.jpg similarity index 100% rename from public/images/homepage/PyCatania-intro.jpg rename to images/homepage/PyCatania-intro.jpg diff --git a/public/images/pythoncatania-square.png b/images/pythoncatania-square.png similarity index 100% rename from public/images/pythoncatania-square.png rename to images/pythoncatania-square.png diff --git a/public/images/pythoncatania-wide.png b/images/pythoncatania-wide.png similarity index 100% rename from public/images/pythoncatania-wide.png rename to images/pythoncatania-wide.png diff --git a/public/images/pythoncatania.svg b/images/pythoncatania.svg similarity index 100% rename from public/images/pythoncatania.svg rename to images/pythoncatania.svg diff --git a/public/images/youtube/1HksMsb9Xho.jpg b/images/youtube/1HksMsb9Xho.jpg similarity index 100% rename from public/images/youtube/1HksMsb9Xho.jpg rename to images/youtube/1HksMsb9Xho.jpg diff --git a/public/images/youtube/AavetGgMq40.jpg b/images/youtube/AavetGgMq40.jpg similarity index 100% rename from public/images/youtube/AavetGgMq40.jpg rename to images/youtube/AavetGgMq40.jpg diff --git a/public/images/youtube/Kkd2cmjGub0.jpg b/images/youtube/Kkd2cmjGub0.jpg similarity index 100% rename from public/images/youtube/Kkd2cmjGub0.jpg rename to images/youtube/Kkd2cmjGub0.jpg diff --git a/public/images/youtube/c8URuoByeRY.jpg b/images/youtube/c8URuoByeRY.jpg similarity index 100% rename from public/images/youtube/c8URuoByeRY.jpg rename to images/youtube/c8URuoByeRY.jpg diff --git a/public/images/youtube/m0lCULOKqTc.jpg b/images/youtube/m0lCULOKqTc.jpg similarity index 100% rename from public/images/youtube/m0lCULOKqTc.jpg rename to images/youtube/m0lCULOKqTc.jpg diff --git a/public/images/youtube/yD2zhMWeJBM.jpg b/images/youtube/yD2zhMWeJBM.jpg similarity index 100% rename from public/images/youtube/yD2zhMWeJBM.jpg rename to images/youtube/yD2zhMWeJBM.jpg diff --git a/public/images/youtube/ymCyuHgP6h4.jpg b/images/youtube/ymCyuHgP6h4.jpg similarity index 100% rename from public/images/youtube/ymCyuHgP6h4.jpg rename to images/youtube/ymCyuHgP6h4.jpg diff --git a/index.html b/index.html new file mode 100644 index 0000000..0fe0fea --- /dev/null +++ b/index.html @@ -0,0 +1,51 @@ + + + + Python Catania 🐘 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/llms.txt b/llms.txt similarity index 100% rename from public/llms.txt rename to llms.txt diff --git a/main-JVTT2XWL.js b/main-JVTT2XWL.js new file mode 100644 index 0000000..c745bff --- /dev/null +++ b/main-JVTT2XWL.js @@ -0,0 +1 @@ +import{a as F,e as P,f as N,g as k,h as V,i as R,k as j}from"./chunk-42IV6YNC.js";import{Aa as r,K as x,Ka as _,P as T,Q as w,Qa as L,R as I,Ra as g,S as B,Sa as b,Vb as A,Xb as z,Ya as n,Yb as C,Za as i,Zb as y,_a as f,aa as M,cb as H,eb as p,gb as h,ob as o,pb as u,qb as v,xb as s,yb as d}from"./chunk-LE4JLOLG.js";function q(l,m){if(l&1){let a=H();n(0,"li",20)(1,"a",34),p("click",function(c){T(a);let t=h(2);return w(t.closeDropdown(c))}),o(2),s(3,"transloco"),i()()}l&2&&(r(2),u(d(3,1,"nav.blog")))}function J(l,m){if(l&1&&(n(0,"li",11)(1,"details",29)(2,"summary",30),o(3),s(4,"transloco"),I(),n(5,"svg",31),f(6,"path",32),i()(),B(),n(7,"ul",33),g(8,q,4,3,"li",20),i()()()),l&2){let a=h();r(3),v(" ",d(4,2,"nav.community")," "),r(5),b(a.debugService.isEnabled?8:-1)}}function K(l,m){if(l&1){let a=H();n(0,"li",20)(1,"a",35),p("click",function(c){T(a);let t=h();return w(t.closeDropdown(c))}),o(2),s(3,"transloco"),i()()}l&2&&(r(2),u(d(3,1,"nav.blog")))}var D=class l{translocoService=x(z);router=x(N);debugService=x(R);activeLang=M(this.translocoService.getActiveLang());toggleLanguage(){let m=this.activeLang()==="it"?"en":"it";this.translocoService.setActiveLang(m),this.activeLang.set(m)}closeDropdown(m){let a=m.target.closest("details");a&&(a.open=!1)}scrollTo(m,a){m.preventDefault();let e=document.getElementById(a);e?e.scrollIntoView({behavior:"smooth"}):this.router.navigate(["/"])}static \u0275fac=function(a){return new(a||l)};static \u0275cmp=_({type:l,selectors:[["app-header"]],decls:70,vars:42,consts:[[1,"sticky","top-0","z-100","border-b","border-(--border)","bg-[color-mix(in_srgb,var(--bg)_85%,transparent)]","backdrop-blur-md"],[1,"flex","min-h-(--nav-height)","items-center","justify-between","px-4"],[1,"hidden","list-none","items-center","gap-1","p-0","sm:flex"],[1,"flex","list-none","items-center"],["href","#pycatania","aria-label","Python Catania home",1,"flex","items-center","px-3","py-[0.4rem]","text-inherit","no-underline",3,"click"],["ngSrc","/images/pythoncatania.svg","alt","Python Catania","height","36","width","36","priority","",1,"block"],["href","#pycatania",1,"rounded-(--radius)","px-3","py-[0.4rem]","text-inherit","no-underline","transition-colors","duration-150","hover:bg-(--surface)",3,"click"],["href","#call-for-speakers",1,"rounded-(--radius)","px-3","py-[0.4rem]","text-inherit","no-underline","transition-colors","duration-150","hover:bg-(--surface)",3,"click"],["href","#contact",1,"rounded-(--radius)","px-3","py-[0.4rem]","text-inherit","no-underline","transition-colors","duration-150","hover:bg-(--surface)",3,"click"],["routerLink","/events","routerLinkActive","text-(--color-primary)",1,"block","rounded-[calc(var(--radius)-2px)]","px-3","py-2","text-inherit","no-underline","hover:bg-(--surface)",3,"click"],["routerLink","/chi-siamo","routerLinkActive","text-(--color-primary)",1,"block","rounded-[calc(var(--radius)-2px)]","px-3","py-2","text-inherit","no-underline","hover:bg-(--surface)",3,"click"],[1,"relative","flex","list-none","items-center"],[1,"hidden","items-center","sm:flex"],[1,"cursor-pointer","rounded-(--radius)","border","border-(--border)","bg-transparent","px-3","py-[0.4rem]","text-inherit","transition-colors","hover:bg-(--surface)",3,"click"],[1,"flex","w-full","list-none","items-center","justify-between","p-0","sm:hidden"],[1,"flex","list-none","items-center","gap-2"],[1,"cursor-pointer","rounded-(--radius)","border","border-(--border)","bg-transparent","px-2","py-1","text-inherit","transition-colors","hover:bg-(--surface)",3,"click"],[1,"relative"],["aria-label","Menu",1,"cursor-pointer","list-none","px-2","py-1","text-[1.4rem]","[&::-webkit-details-marker]:hidden"],[1,"absolute","top-[calc(100%+0.25rem)]","right-0","z-10","m-0","min-w-44","list-none","rounded-(--radius)","border","border-(--border)","bg-(--bg)","p-1","shadow-[0_4px_16px_rgba(0,0,0,0.15)]"],[1,"block"],["href","#pycatania",1,"block","rounded-[calc(var(--radius)-2px)]","px-3","py-2","text-inherit","no-underline","hover:bg-(--surface)",3,"click"],["href","#next-meetup",1,"block","rounded-[calc(var(--radius)-2px)]","px-3","py-2","text-inherit","no-underline","hover:bg-(--surface)",3,"click"],["href","#call-for-speakers",1,"block","rounded-[calc(var(--radius)-2px)]","px-3","py-2","text-inherit","no-underline","hover:bg-(--surface)",3,"click"],["href","#contact",1,"block","rounded-[calc(var(--radius)-2px)]","px-3","py-2","text-inherit","no-underline","hover:bg-(--surface)",3,"click"],[1,"mt-1","block","border-t","border-(--border)","pt-1"],[1,"px-3","py-1","text-xs","tracking-wide","text-(--color-muted)","uppercase"],["routerLink","/chi-siamo",1,"block","rounded-[calc(var(--radius)-2px)]","px-3","py-2","text-inherit","no-underline","hover:bg-(--surface)",3,"click"],["routerLink","/events",1,"block","rounded-[calc(var(--radius)-2px)]","px-3","py-2","text-inherit","no-underline","hover:bg-(--surface)",3,"click"],[1,"group"],[1,"flex","cursor-pointer","list-none","items-center","gap-1","rounded-(--radius)","px-3","py-[0.4rem]","text-inherit","transition-colors","duration-150","hover:bg-(--surface)","[&::-webkit-details-marker]:hidden"],["viewBox","0 0 10 6","fill","none","stroke","currentColor","stroke-width","1.5","aria-hidden","true",1,"h-3","w-3","transition-transform","group-open:rotate-180"],["d","M1 1l4 4 4-4"],[1,"absolute","top-[calc(100%+0.25rem)]","left-0","z-10","m-0","min-w-40","list-none","rounded-(--radius)","border","border-(--border)","bg-(--bg)","p-1","shadow-[0_4px_16px_rgba(0,0,0,0.15)]"],["routerLink","/blog","routerLinkActive","text-(--color-primary)",1,"block","rounded-[calc(var(--radius)-2px)]","px-3","py-2","text-inherit","no-underline","hover:bg-(--surface)",3,"click"],["routerLink","/blog",1,"block","rounded-[calc(var(--radius)-2px)]","px-3","py-2","text-inherit","no-underline","hover:bg-(--surface)",3,"click"]],template:function(a,e){a&1&&(n(0,"header",0)(1,"nav",1)(2,"ul",2)(3,"li",3)(4,"a",4),p("click",function(t){return e.scrollTo(t,"pycatania")}),f(5,"img",5),i()(),n(6,"li",3)(7,"a",6),p("click",function(t){return e.scrollTo(t,"pycatania")}),o(8),s(9,"transloco"),i()(),n(10,"li",3)(11,"a",7),p("click",function(t){return e.scrollTo(t,"call-for-speakers")}),o(12),s(13,"transloco"),i()(),n(14,"li",3)(15,"a",8),p("click",function(t){return e.scrollTo(t,"contact")}),o(16),s(17,"transloco"),i()(),n(18,"li",3)(19,"a",9),p("click",function(t){return e.closeDropdown(t)}),o(20),s(21,"transloco"),i()(),n(22,"li",3)(23,"a",10),p("click",function(t){return e.closeDropdown(t)}),o(24),s(25,"transloco"),i()(),g(26,J,9,4,"li",11),i(),n(27,"div",12)(28,"button",13),p("click",function(){return e.toggleLanguage()}),o(29),i()(),n(30,"ul",14)(31,"li",3)(32,"a",4),p("click",function(t){return e.scrollTo(t,"pycatania")}),f(33,"img",5),i()(),n(34,"li",15)(35,"button",16),p("click",function(){return e.toggleLanguage()}),o(36),i(),n(37,"details",17)(38,"summary",18),o(39," \u2630 "),i(),n(40,"ul",19)(41,"li",20)(42,"a",21),p("click",function(t){return e.scrollTo(t,"pycatania")}),o(43),s(44,"transloco"),i()(),n(45,"li",20)(46,"a",22),p("click",function(t){return e.scrollTo(t,"next-meetup")}),o(47),s(48,"transloco"),i()(),n(49,"li",20)(50,"a",23),p("click",function(t){return e.scrollTo(t,"call-for-speakers")}),o(51),s(52,"transloco"),i()(),n(53,"li",20)(54,"a",24),p("click",function(t){return e.scrollTo(t,"contact")}),o(55),s(56,"transloco"),i()(),n(57,"li",25)(58,"p",26),o(59),s(60,"transloco"),i()(),n(61,"li",20)(62,"a",27),p("click",function(t){return e.closeDropdown(t)}),o(63),s(64,"transloco"),i()(),g(65,K,4,3,"li",20),n(66,"li",20)(67,"a",28),p("click",function(t){return e.closeDropdown(t)}),o(68),s(69,"transloco"),i()()()()()()()()),a&2&&(r(8),u(d(9,18,"nav.home")),r(4),u(d(13,20,"nav.callForSpeakers")),r(4),u(d(17,22,"nav.contacts")),r(4),u(d(21,24,"nav.events")),r(4),u(d(25,26,"nav.about")),r(2),b(e.debugService.isEnabled?26:-1),r(2),L("aria-label",e.activeLang()==="it"?"Switch to English":"Passa all'italiano"),r(),v(" ",e.activeLang()==="it"?"\u{1F1EC}\u{1F1E7}":"\u{1F1EE}\u{1F1F9}"," "),r(6),L("aria-label",e.activeLang()==="it"?"Switch to English":"Passa all'italiano"),r(),v(" ",e.activeLang()==="it"?"\u{1F1EC}\u{1F1E7}":"\u{1F1EE}\u{1F1F9}"," "),r(7),u(d(44,28,"nav.home")),r(4),u(d(48,30,"nav.nextMeetup")),r(4),u(d(52,32,"nav.callForSpeakers")),r(4),u(d(56,34,"nav.contacts")),r(4),v(" ",d(60,36,"nav.community")," "),r(4),u(d(64,38,"nav.about")),r(2),b(e.debugService.isEnabled?65:-1),r(3),u(d(69,40,"nav.events")))},dependencies:[A,k,V,y,C],encapsulation:2,changeDetection:0})};var S=class l{currentYear=new Date().getFullYear();static \u0275fac=function(a){return new(a||l)};static \u0275cmp=_({type:l,selectors:[["app-footer"]],decls:10,vars:4,consts:[[1,"border-t","border-(--border)","px-4","py-6","text-center"],["title","Copyright"],["href","https://stefanoborzi.dev","target","_blank","rel","noopener noreferrer",1,"text-inherit","underline","hover:no-underline"],["routerLink","/coc",1,"text-inherit","underline","hover:no-underline"]],template:function(a,e){a&1&&(n(0,"footer",0)(1,"abbr",1),o(2,"\xA9"),i(),o(3),n(4,"a",2),o(5," StefanoBorzi "),i(),o(6," \u2013 "),n(7,"a",3),o(8),s(9,"transloco"),i()()),a&2&&(r(3),v(" ",e.currentYear," Python\xA0Catania - Powered by "),r(5),v(" ",d(9,2,"footer.coc")," "))},dependencies:[k,y,C],encapsulation:2,changeDetection:0})};var E=class l{static \u0275fac=function(a){return new(a||l)};static \u0275cmp=_({type:l,selectors:[["app-root"]],decls:4,vars:0,template:function(a,e){a&1&&(f(0,"app-header"),n(1,"main"),f(2,"router-outlet"),i(),f(3,"app-footer"))},dependencies:[P,D,S],encapsulation:2,changeDetection:0})};F(E,j).catch(l=>console.error(l)); diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index e737923..0000000 --- a/package-lock.json +++ /dev/null @@ -1,9480 +0,0 @@ -{ - "name": "pythoncatania21", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "pythoncatania21", - "version": "0.0.0", - "dependencies": { - "@angular/common": "^21.2.0", - "@angular/compiler": "^21.2.0", - "@angular/core": "^21.2.0", - "@angular/forms": "^21.2.0", - "@angular/platform-browser": "^21.2.0", - "@angular/router": "^21.2.0", - "@jsverse/transloco": "8.2.1", - "marked": "17.0.4", - "rxjs": "~7.8.0", - "tslib": "^2.3.0" - }, - "devDependencies": { - "@angular/build": "^21.2.2", - "@angular/cli": "^21.2.2", - "@angular/compiler-cli": "^21.2.0", - "@tailwindcss/postcss": "4.2.1", - "jsdom": "^28.0.0", - "prettier": "^3.8.1", - "prettier-plugin-sort-json": "^4.1.1", - "prettier-plugin-tailwindcss": "^0.7.2", - "tailwindcss": "4.2.1", - "typescript": "~5.9.2", - "vitest": "^4.0.8" - } - }, - "node_modules/@acemir/cssom": { - "version": "0.9.31", - "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.31.tgz", - "integrity": "sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==", - "dev": true, - "license": "MIT" - }, - "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/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.2.tgz", - "integrity": "sha512-CDvFtXwyBtMRkTQnm+LfBNLL0yLV8ZGskrM1T6VkcGwXGFDott1FxUdj96ViodYsYL5fbJr0MNA6TlLcanV3kQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "21.2.2", - "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.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.2.tgz", - "integrity": "sha512-xUeKGe4BDQpkz0E6fnAPIJXE0y0nqtap0KhJIBhvN7xi3NenIzTmoi6T9Yv5OOBUdLZbOm4SOel8MhdXiIBpAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.18.0", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", - "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.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.2.tgz", - "integrity": "sha512-CCeyQxGUq+oyGnHd7PfcYIVbj9pRnqjQq0rAojoAqs1BJdtInx9weLBCLy+AjM3NHePeZrnwm+wEVr8apED8kg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "21.2.2", - "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.2", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.2.tgz", - "integrity": "sha512-Vq2eIneNxzhHm1MwEmRqEJDwHU9ODfSRDaMWwtysGMhpoMQmLdfTqkQDmkC2qVUr8mV8Z1i5I+oe5ZJaMr/PlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2102.2", - "@babel/core": "7.29.0", - "@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.27.3", - "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.3", - "piscina": "5.1.4", - "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.22.0", - "vite": "7.3.1", - "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.2", - "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/cli": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.2.tgz", - "integrity": "sha512-eZo8/qX+ZIpIWc0CN+cCX13Lbgi/031wAp8DRVhDDO6SMVtcr/ObOQ2S16+pQdOMXxiG3vby6IhzJuz9WACzMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/architect": "0.2102.2", - "@angular-devkit/core": "21.2.2", - "@angular-devkit/schematics": "21.2.2", - "@inquirer/prompts": "7.10.1", - "@listr2/prompt-adapter-inquirer": "3.0.5", - "@modelcontextprotocol/sdk": "1.26.0", - "@schematics/angular": "21.2.2", - "@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.3.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.4", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.4.tgz", - "integrity": "sha512-NrP6qOuUpo3fqq14UJ1b2bIRtWsfvxh1qLqOyFV4gfBrHhXd0XffU1LUlUw1qp4w1uBSgPJ0/N5bSPUWrAguVg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/core": "21.2.4", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/compiler": { - "version": "21.2.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.4.tgz", - "integrity": "sha512-9+ulVK3idIo/Tu4X2ic7/V0+Uj7pqrOAbOuIirYe6Ymm3AjexuFRiGBbfcH0VJhQ5cf8TvIJ1fuh+MI4JiRIxA==", - "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.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.4.tgz", - "integrity": "sha512-vGjd7DZo/Ox50pQCm5EycmBu91JclimPtZoyNXu/2hSxz3oAkzwiHCwlHwk2g58eheSSp+lYtYRLmHAqSVZLjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "7.29.0", - "@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.4", - "typescript": ">=5.9 <6.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@angular/core": { - "version": "21.2.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.4.tgz", - "integrity": "sha512-2+gd67ZuXHpGOqeb2o7XZPueEWEP81eJza2tSHkT5QMV8lnYllDEmaNnkPxnIjSLGP1O3PmiXxo4z8ibHkLZwg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/compiler": "21.2.4", - "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.4", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.4.tgz", - "integrity": "sha512-1fOhctA9ADEBYjI3nPQUR5dHsK2+UWAjup37Ksldk/k0w8UpD5YsN7JVNvsDMZRFMucKYcGykPblU7pABtsqnQ==", - "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.4", - "@angular/core": "21.2.4", - "@angular/platform-browser": "21.2.4", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/platform-browser": { - "version": "21.2.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.4.tgz", - "integrity": "sha512-1A9e/cQVu+3BkRCktLcO3RZGuw8NOTHw1frUUrpAz+iMyvIT4sDRFbL+U1g8qmOCZqRNC1Pi1HZfZ1kl6kvrcQ==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/animations": "21.2.4", - "@angular/common": "21.2.4", - "@angular/core": "21.2.4" - }, - "peerDependenciesMeta": { - "@angular/animations": { - "optional": true - } - } - }, - "node_modules/@angular/router": { - "version": "21.2.4", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.4.tgz", - "integrity": "sha512-OjWze4XT8i2MThcBXMv7ru1k6/5L6QYZbcXuseqimFCHm2avEJ+mXPovY066fMBZJhqbXdjB82OhHAWkIHjglQ==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/common": "21.2.4", - "@angular/core": "21.2.4", - "@angular/platform-browser": "21.2.4", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@asamuzakjp/css-color": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.0.1.tgz", - "integrity": "sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@csstools/css-calc": "^3.1.1", - "@csstools/css-color-parser": "^4.0.2", - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0", - "lru-cache": "^11.2.6" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { - "version": "11.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@asamuzakjp/dom-selector": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.8.1.tgz", - "integrity": "sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/nwsapi": "^2.3.9", - "bidi-js": "^1.0.3", - "css-tree": "^3.1.0", - "is-potential-custom-element-name": "^1.0.1", - "lru-cache": "^11.2.6" - } - }, - "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": { - "version": "11.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@asamuzakjp/nwsapi": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", - "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@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.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@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.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "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.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "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.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bramus/specificity": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", - "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-tree": "^3.0.0" - }, - "bin": { - "specificity": "bin/cli.js" - } - }, - "node_modules/@csstools/color-helpers": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", - "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=20.19.0" - } - }, - "node_modules/@csstools/css-calc": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.1.1.tgz", - "integrity": "sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0" - } - }, - "node_modules/@csstools/css-color-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.0.2.tgz", - "integrity": "sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/color-helpers": "^6.0.2", - "@csstools/css-calc": "^3.1.1" - }, - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0" - } - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", - "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^4.0.0" - } - }, - "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.1.tgz", - "integrity": "sha512-BvqN0AMWNAnLk9G8jnUT77D+mUbY/H2b3uDTvg2isJkHaOufUE2R3AOwxWo7VBQKT1lOdwdvorddo2B/lk64+w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "peerDependencies": { - "css-tree": "^3.2.1" - }, - "peerDependenciesMeta": { - "css-tree": { - "optional": true - } - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", - "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - } - }, - "node_modules/@emnapi/core": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.0.tgz", - "integrity": "sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz", - "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz", - "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@exodus/bytes": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz", - "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@noble/hashes": "^1.8.0 || ^2.0.0" - }, - "peerDependenciesMeta": { - "@noble/hashes": { - "optional": true - } - } - }, - "node_modules/@gar/promise-retry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.2.tgz", - "integrity": "sha512-Lm/ZLhDZcBECta3TmCQSngiQykFdfw+QtI1/GYMsZd4l3nG+P8WLB16XuS7WaBGLQ+9E+cOcWQsth9cayuGt8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "retry": "^0.13.1" - }, - "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.11", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.11.tgz", - "integrity": "sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==", - "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.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "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/@jsverse/transloco": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/@jsverse/transloco/-/transloco-8.2.1.tgz", - "integrity": "sha512-uuapT1vNi/P9wqklO2VY/sIj8HPVQJ1h+IJFhPbiQvk1FP/vgn2LLwGz/iIcet2bAMJVKKxO8FXytdrwRXXyvg==", - "license": "MIT", - "dependencies": { - "@jsverse/transloco-utils": "^8.2.1", - "@jsverse/utils": "1.0.0-beta.5", - "tslib": "^2.2.0" - }, - "peerDependencies": { - "@angular/core": ">=16.0.0", - "rxjs": ">=6.0.0" - } - }, - "node_modules/@jsverse/transloco-utils": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/@jsverse/transloco-utils/-/transloco-utils-8.2.1.tgz", - "integrity": "sha512-sAKJQuGgAYRYwndM8X1xVbwOrjENBxKxOwhXE7gFnS8fWUEwBGMswp3wbAOS5jZlLDhyaReesU16ToXLegBCjg==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.1.3", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@jsverse/utils": { - "version": "1.0.0-beta.5", - "resolved": "https://registry.npmjs.org/@jsverse/utils/-/utils-1.0.0-beta.5.tgz", - "integrity": "sha512-z7IdlV6BdSeF3Veii8Yyk64KuyTjNIQnFaW5PAhmDx0wN29lB2BFp8WO6+tJPLPjtlz2yKeNrjkp1XqnMPaeHA==", - "license": "MIT" - }, - "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.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", - "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", - "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", - "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", - "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", - "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", - "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "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.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", - "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - } - }, - "node_modules/@npmcli/agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.0.tgz", - "integrity": "sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==", - "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.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", - "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.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", - "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", - "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.3" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.6", - "@parcel/watcher-darwin-arm64": "2.5.6", - "@parcel/watcher-darwin-x64": "2.5.6", - "@parcel/watcher-freebsd-x64": "2.5.6", - "@parcel/watcher-linux-arm-glibc": "2.5.6", - "@parcel/watcher-linux-arm-musl": "2.5.6", - "@parcel/watcher-linux-arm64-glibc": "2.5.6", - "@parcel/watcher-linux-arm64-musl": "2.5.6", - "@parcel/watcher-linux-x64-glibc": "2.5.6", - "@parcel/watcher-linux-x64-musl": "2.5.6", - "@parcel/watcher-win32-arm64": "2.5.6", - "@parcel/watcher-win32-ia32": "2.5.6", - "@parcel/watcher-win32-x64": "2.5.6" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", - "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", - "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", - "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", - "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", - "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", - "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", - "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", - "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", - "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", - "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", - "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", - "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-ia32": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", - "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", - "cpu": [ - "ia32" - ], - "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.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", - "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", - "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/@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.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@schematics/angular": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.2.tgz", - "integrity": "sha512-Ywa6HDtX7TRBQZTVMMnxX3Mk7yVnG8KtSFaXWrkx779+q8tqYdBwNwAqbNd4Zatr1GccKaz9xcptHJta5+DTxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "21.2.2", - "@angular-devkit/schematics": "21.2.2", - "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.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.1.0.tgz", - "integrity": "sha512-o5cw1QYhNQ9IroioJxpzexmPjfCe7gzafd2RY3qnMpxr4ZEja+Jad/U8sgFpaue6bOaF+z7RVkyKVV44FN+N8A==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz", - "integrity": "sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/sign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.0.tgz", - "integrity": "sha512-Vx1RmLxLGnSUqx/o5/VsCjkuN5L7y+vxEEwawvc7u+6WtX2W4GNa7b9HEjmcRWohw/d6BpATXmvOwc78m+Swdg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", - "@sigstore/protobuf-specs": "^0.5.0", - "make-fetch-happen": "^15.0.3", - "proc-log": "^6.1.0", - "promise-retry": "^2.0.1" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@sigstore/tuf": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.1.tgz", - "integrity": "sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw==", - "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.0", - "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.0.tgz", - "integrity": "sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", - "@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/@tailwindcss/node": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", - "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "enhanced-resolve": "^5.19.0", - "jiti": "^2.6.1", - "lightningcss": "1.31.1", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.2.1" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz", - "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 20" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.2.1", - "@tailwindcss/oxide-darwin-arm64": "4.2.1", - "@tailwindcss/oxide-darwin-x64": "4.2.1", - "@tailwindcss/oxide-freebsd-x64": "4.2.1", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", - "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", - "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", - "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", - "@tailwindcss/oxide-linux-x64-musl": "4.2.1", - "@tailwindcss/oxide-wasm32-wasi": "4.2.1", - "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", - "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", - "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", - "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", - "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", - "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", - "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", - "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", - "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", - "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", - "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", - "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.8.1", - "@emnapi/runtime": "^1.8.1", - "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.1.1", - "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", - "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", - "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/postcss": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.1.tgz", - "integrity": "sha512-OEwGIBnXnj7zJeonOh6ZG9woofIjGrd2BORfvE5p9USYKDCZoQmfqLcfNiRWoJlRWLdNPn2IgVZuWAOM4iTYMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.2.1", - "@tailwindcss/oxide": "4.2.1", - "postcss": "^8.5.6", - "tailwindcss": "4.2.1" - } - }, - "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.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/chai": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/deep-eql": "*", - "assertion-error": "^2.0.1" - } - }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "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/@vitest/expect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.0.tgz", - "integrity": "sha512-EIxG7k4wlWweuCLG9Y5InKFwpMEOyrMb6ZJ1ihYu02LVj/bzUwn2VMU+13PinsjRW75XnITeFrQBMH5+dLvCDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@standard-schema/spec": "^1.1.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.0", - "@vitest/utils": "4.1.0", - "chai": "^6.2.2", - "tinyrainbow": "^3.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/mocker": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.0.tgz", - "integrity": "sha512-evxREh+Hork43+Y4IOhTo+h5lGmVRyjqI739Rz4RlUPqwrkFFDF6EMvOOYjTx4E8Tl6gyCLRL8Mu7Ry12a13Tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "4.1.0", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, - "node_modules/@vitest/pretty-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.0.tgz", - "integrity": "sha512-3RZLZlh88Ib0J7NQTRATfc/3ZPOnSUn2uDBUoGNn5T36+bALixmzphN26OUD3LRXWkJu4H0s5vvUeqBiw+kS0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^3.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.0.tgz", - "integrity": "sha512-Duvx2OzQ7d6OjchL+trw+aSrb9idh7pnNfxrklo14p3zmNL4qPCDeIJAK+eBKYjkIwG96Bc6vYuxhqDXQOWpoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/utils": "4.1.0", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/snapshot": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.0.tgz", - "integrity": "sha512-0Vy9euT1kgsnj1CHttwi9i9o+4rRLEaPRSOJ5gyv579GJkNpgJK+B4HSv/rAWixx2wdAFci1X4CEPjiu2bXIMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.1.0", - "@vitest/utils": "4.1.0", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.0.tgz", - "integrity": "sha512-pz77k+PgNpyMDv2FV6qmk5ZVau6c3R8HC8v342T2xlFxQKTrSeYw9waIJG8KgV9fFwAtTu4ceRzMivPTH6wSxw==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.0.tgz", - "integrity": "sha512-XfPXT6a8TZY3dcGY8EdwsBulFCIw+BeeX0RZn2x/BtiY/75YGh8FeWGG8QISN/WhaqSrE2OrlDgtF8q5uhOTmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.1.0", - "convert-source-map": "^2.0.0", - "tinyrainbow": "^3.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils/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/@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/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "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.10.8", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.8.tgz", - "integrity": "sha512-PCLz/LXGBsNTErbtB6i5u4eLpHeMfi93aUv5duMmj6caNu6IphS4q6UevDnL36sZQv9lrP11dbPKGMaXPwMKfQ==", - "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/bidi-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", - "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "require-from-string": "^2.0.2" - } - }, - "node_modules/body-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", - "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.3", - "http-errors": "^2.0.0", - "iconv-lite": "^0.7.0", - "on-finished": "^2.4.1", - "qs": "^6.14.1", - "raw-body": "^3.0.1", - "type-is": "^2.0.1" - }, - "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.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", - "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.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.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.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz", - "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==", - "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", - "unique-filename": "^5.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "11.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", - "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/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001779", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001779.tgz", - "integrity": "sha512-U5og2PN7V4DMgF50YPNtnZJGWVLFjjsN3zb6uMT5VGYIewieDj1upwfuVNXf4Kor+89c3iCRJnSzMD5LmTvsfA==", - "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/chai": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", - "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "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.1.1", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", - "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", - "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.0.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", - "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", - "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/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "license": "MIT", - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "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-tree": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", - "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.27.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "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/cssstyle": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-6.2.0.tgz", - "integrity": "sha512-Fm5NvhYathRnXNVndkUsCCuR63DCLVVwGOOwQw782coXFi5HhkXdu289l59HlXZBawsyNccXfWRYvLzcDCdDig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/css-color": "^5.0.1", - "@csstools/css-syntax-patches-for-csstree": "^1.0.28", - "css-tree": "^3.1.0", - "lru-cache": "^11.2.6" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/cssstyle/node_modules/lru-cache": { - "version": "11.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/data-urls": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", - "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^16.0.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "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/decimal.js": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", - "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", - "dev": true, - "license": "MIT" - }, - "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", - "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.313", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.313.tgz", - "integrity": "sha512-QBMrTWEf00GXZmJyx2lbYD45jpI3TUFnNIzJ5BBc8piGUDwMPa1GV6HJWTZVvY/eiN3fSopl7NRbgGp9sZ9LTA==", - "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/enhanced-resolve": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", - "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.3.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "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/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true, - "license": "MIT" - }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "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-module-lexer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", - "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" - } - }, - "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/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "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.0.6", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", - "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/expect-type": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", - "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.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.3.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.3.1.tgz", - "integrity": "sha512-D1dKN+cmyPWuvB+G2SREQDzPY1agpBIcTa9sJxOPMCNeH3gwzhqJRDWCXW3gg0y//+LQ/8j52JbMROWyrKdMdw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ip-address": "10.1.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.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", - "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.5.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", - "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", - "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.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hono": { - "version": "4.12.8", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.8.tgz", - "integrity": "sha512-VJCEvtrezO1IAR+kqEYnxUOoStaQPGrCmX3j4wDTNOcD1uRPFpGlwQUIW8niPuvHXaTUxeOUl5MMDGrl+tmO9A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16.9.0" - } - }, - "node_modules/hosted-git-info": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz", - "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==", - "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.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", - "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@exodus/bytes": "^1.6.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "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.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", - "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.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", - "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", - "dev": true, - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "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.1.0", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", - "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", - "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-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "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-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true, - "license": "MIT" - }, - "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/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/jose": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.1.tgz", - "integrity": "sha512-jUaKr1yrbfaImV7R2TN/b3IcZzsw38/chqMpo2XJ7i2F8AfM/lA4G1goC3JVEwg0H7UldTmSt3P68nt31W7/mw==", - "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==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-28.1.0.tgz", - "integrity": "sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@acemir/cssom": "^0.9.31", - "@asamuzakjp/dom-selector": "^6.8.1", - "@bramus/specificity": "^2.4.2", - "@exodus/bytes": "^1.11.0", - "cssstyle": "^6.0.1", - "data-urls": "^7.0.0", - "decimal.js": "^10.6.0", - "html-encoding-sniffer": "^6.0.0", - "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.6", - "is-potential-custom-element-name": "^1.0.1", - "parse5": "^8.0.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^6.0.0", - "undici": "^7.21.0", - "w3c-xmlserializer": "^5.0.0", - "webidl-conversions": "^8.0.1", - "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^16.0.0", - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "canvas": "^3.0.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "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/lightningcss": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", - "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.31.1", - "lightningcss-darwin-arm64": "1.31.1", - "lightningcss-darwin-x64": "1.31.1", - "lightningcss-freebsd-x64": "1.31.1", - "lightningcss-linux-arm-gnueabihf": "1.31.1", - "lightningcss-linux-arm64-gnu": "1.31.1", - "lightningcss-linux-arm64-musl": "1.31.1", - "lightningcss-linux-x64-gnu": "1.31.1", - "lightningcss-linux-x64-musl": "1.31.1", - "lightningcss-win32-arm64-msvc": "1.31.1", - "lightningcss-win32-x64-msvc": "1.31.1" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", - "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", - "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", - "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", - "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", - "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", - "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", - "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", - "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", - "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", - "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", - "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "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.4", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.4.tgz", - "integrity": "sha512-vM2sG+wbVeVGYcCm16mM3d5fuem9oC28n436HjsGO3LcxoTI8LNVa4rwZDn3f76+cWyT4GGJDxjTYU1I2nr6zw==", - "dev": true, - "license": "ISC", - "dependencies": { - "@gar/promise-retry": "^1.0.0", - "@npmcli/agent": "^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/marked": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/marked/-/marked-17.0.4.tgz", - "integrity": "sha512-NOmVMM+KAokHMvjWmC5N/ZOvgmSWuqJB8FoYI019j4ogb/PeRMKoKIjReZ2w3376kkA8dSJIP8uD993Kxc0iRQ==", - "license": "MIT", - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 20" - } - }, - "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/mdn-data": { - "version": "2.27.1", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", - "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "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.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.2" - }, - "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.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "license": "ISC", - "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.11.9", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.9.tgz", - "integrity": "sha512-FkoAAyyA6HM8wL882EcEyFZ9s7hVADSwG9xrVx3dxxNQAtgADTrJoEWivID82Iv1zWDsv/OtbrrcZAzGzOMdNw==", - "dev": true, - "license": "MIT", - "optional": true, - "optionalDependencies": { - "msgpackr-extract": "^3.0.2" - } - }, - "node_modules/msgpackr-extract": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", - "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", - "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.3", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" - } - }, - "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.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "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.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.2.0.tgz", - "integrity": "sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^15.0.0", - "nopt": "^9.0.0", - "proc-log": "^6.0.0", - "semver": "^7.3.5", - "tar": "^7.5.4", - "tinyglobby": "^0.2.12", - "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/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.36", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", - "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", - "dev": true, - "license": "MIT" - }, - "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/obug": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", - "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", - "dev": true, - "funding": [ - "https://github.com/sponsors/sxzz", - "https://opencollective.com/debug" - ], - "license": "MIT" - }, - "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.4", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", - "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pacote": { - "version": "21.3.1", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.3.1.tgz", - "integrity": "sha512-O0EDXi85LF4AzdjG74GUwEArhdvawi/YOHcsW6IijKNj7wm8IvEWNF5GnfuxNpQ/ZpO3L37+v8hqdVh8GgWYhg==", - "dev": true, - "license": "ISC", - "dependencies": { - "@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", - "promise-retry": "^2.0.1", - "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/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-json/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" - }, - "node_modules/parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", - "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", - "dev": true, - "license": "MIT", - "dependencies": { - "entities": "^6.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": "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/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.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, - "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.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/piscina": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.4.tgz", - "integrity": "sha512-7uU4ZnKeQq22t9AsmHGD2w4OYQGonwFnTypDypaWi7Qr2EvQIFVtG8J5D/3bE7W123Wdc9+v4CZDu5hJXVCtBg==", - "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.8", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", - "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", - "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.11", - "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/prettier": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-plugin-sort-json": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-sort-json/-/prettier-plugin-sort-json-4.2.0.tgz", - "integrity": "sha512-jK1w3/7otTvHtv1eoLji2U9mEoOGeyl7QQQ/afLnjht1YtRLSUUk8o0rIIC/HUVXhoGPCFe4SVZbRGYjjUVgvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "prettier": "^3.0.0" - } - }, - "node_modules/prettier-plugin-tailwindcss": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.7.2.tgz", - "integrity": "sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20.19" - }, - "peerDependencies": { - "@ianvs/prettier-plugin-sort-imports": "*", - "@prettier/plugin-hermes": "*", - "@prettier/plugin-oxc": "*", - "@prettier/plugin-pug": "*", - "@shopify/prettier-plugin-liquid": "*", - "@trivago/prettier-plugin-sort-imports": "*", - "@zackad/prettier-plugin-twig": "*", - "prettier": "^3.0", - "prettier-plugin-astro": "*", - "prettier-plugin-css-order": "*", - "prettier-plugin-jsdoc": "*", - "prettier-plugin-marko": "*", - "prettier-plugin-multiline-arrays": "*", - "prettier-plugin-organize-attributes": "*", - "prettier-plugin-organize-imports": "*", - "prettier-plugin-sort-imports": "*", - "prettier-plugin-svelte": "*" - }, - "peerDependenciesMeta": { - "@ianvs/prettier-plugin-sort-imports": { - "optional": true - }, - "@prettier/plugin-hermes": { - "optional": true - }, - "@prettier/plugin-oxc": { - "optional": true - }, - "@prettier/plugin-pug": { - "optional": true - }, - "@shopify/prettier-plugin-liquid": { - "optional": true - }, - "@trivago/prettier-plugin-sort-imports": { - "optional": true - }, - "@zackad/prettier-plugin-twig": { - "optional": true - }, - "prettier-plugin-astro": { - "optional": true - }, - "prettier-plugin-css-order": { - "optional": true - }, - "prettier-plugin-jsdoc": { - "optional": true - }, - "prettier-plugin-marko": { - "optional": true - }, - "prettier-plugin-multiline-arrays": { - "optional": true - }, - "prettier-plugin-organize-attributes": { - "optional": true - }, - "prettier-plugin-organize-imports": { - "optional": true - }, - "prettier-plugin-sort-imports": { - "optional": true - }, - "prettier-plugin-svelte": { - "optional": true - } - } - }, - "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/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/promise-retry/node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "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/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", - "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "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.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "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/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "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/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "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.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", - "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/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "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.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "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/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true, - "license": "ISC" - }, - "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.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-4.1.0.tgz", - "integrity": "sha512-/fUgUhYghuLzVT/gaJoeVehLCgZiUxPCPMcyVNY0lIf/cTCz58K/WTI7PefDarXxp9nUKpEwg1yyz3eSBMTtgA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", - "@sigstore/protobuf-specs": "^0.5.0", - "@sigstore/sign": "^4.1.0", - "@sigstore/tuf": "^4.0.1", - "@sigstore/verify": "^3.1.0" - }, - "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.7", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", - "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ip-address": "^10.0.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/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, - "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/std-env": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.0.0.tgz", - "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/stdin-discarder": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.1.tgz", - "integrity": "sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", - "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", - "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/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true, - "license": "MIT" - }, - "node_modules/tailwindcss": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", - "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/tar": { - "version": "7.5.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz", - "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==", - "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/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.4.tgz", - "integrity": "sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==", - "dev": true, - "license": "MIT", - "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/tinyrainbow": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", - "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tldts": { - "version": "7.0.25", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.25.tgz", - "integrity": "sha512-keinCnPbwXEUG3ilrWQZU+CqcTTzHq9m2HhoUP2l7Xmi8l1LuijAXLpAJ5zRW+ifKTNscs4NdCkfkDCBYm352w==", - "dev": true, - "license": "MIT", - "dependencies": { - "tldts-core": "^7.0.25" - }, - "bin": { - "tldts": "bin/cli.js" - } - }, - "node_modules/tldts-core": { - "version": "7.0.25", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.25.tgz", - "integrity": "sha512-ZjCZK0rppSBu7rjHYDYsEaMOIbbT+nWF57hKkv4IUmZWBNrBWBOjIElc0mKRgLM8bm7x/BBlof6t2gi/Oq/Asw==", - "dev": true, - "license": "MIT" - }, - "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/tough-cookie": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", - "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tldts": "^7.0.5" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/tr46": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", - "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=20" - } - }, - "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.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "dev": true, - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "devOptional": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici": { - "version": "7.22.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.22.0.tgz", - "integrity": "sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20.18.1" - } - }, - "node_modules/unique-filename": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz", - "integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==", - "dev": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/unique-slug": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz", - "integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "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.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "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.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", - "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.27.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/vitest": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.0.tgz", - "integrity": "sha512-YbDrMF9jM2Lqc++2530UourxZHmkKLxrs4+mYhEwqWS97WJ7wOYEkcr+QfRgJ3PW9wz3odRijLZjHEaRLTNbqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "4.1.0", - "@vitest/mocker": "4.1.0", - "@vitest/pretty-format": "4.1.0", - "@vitest/runner": "4.1.0", - "@vitest/snapshot": "4.1.0", - "@vitest/spy": "4.1.0", - "@vitest/utils": "4.1.0", - "es-module-lexer": "^2.0.0", - "expect-type": "^1.3.0", - "magic-string": "^0.30.21", - "obug": "^2.1.1", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "std-env": "^4.0.0-rc.1", - "tinybench": "^2.9.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@opentelemetry/api": "^1.9.0", - "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.0", - "@vitest/browser-preview": "4.1.0", - "@vitest/browser-webdriverio": "4.1.0", - "@vitest/ui": "4.1.0", - "happy-dom": "*", - "jsdom": "*", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@opentelemetry/api": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser-playwright": { - "optional": true - }, - "@vitest/browser-preview": { - "optional": true - }, - "@vitest/browser-webdriverio": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - }, - "vite": { - "optional": false - } - } - }, - "node_modules/w3c-xmlserializer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", - "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "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/webidl-conversions": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", - "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=20" - } - }, - "node_modules/whatwg-mimetype": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", - "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20" - } - }, - "node_modules/whatwg-url": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", - "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@exodus/bytes": "^1.11.0", - "tr46": "^6.0.0", - "webidl-conversions": "^8.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "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/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "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/xml-name-validator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", - "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true, - "license": "MIT" - }, - "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.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", - "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", - "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.1", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", - "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", - "dev": true, - "license": "ISC", - "peerDependencies": { - "zod": "^3.25 || ^4" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 3256261..0000000 --- a/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "pythoncatania21", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "watch": "ng build --watch --configuration development", - "test": "ng test" - }, - "private": true, - "packageManager": "npm@10.9.4", - "dependencies": { - "@angular/common": "^21.2.0", - "@angular/compiler": "^21.2.0", - "@angular/core": "^21.2.0", - "@angular/forms": "^21.2.0", - "@angular/platform-browser": "^21.2.0", - "@angular/router": "^21.2.0", - "@jsverse/transloco": "8.2.1", - "marked": "17.0.4", - "rxjs": "~7.8.0", - "tslib": "^2.3.0" - }, - "devDependencies": { - "@angular/build": "^21.2.2", - "@angular/cli": "^21.2.2", - "@angular/compiler-cli": "^21.2.0", - "@tailwindcss/postcss": "4.2.1", - "jsdom": "^28.0.0", - "prettier": "^3.8.1", - "prettier-plugin-sort-json": "^4.1.1", - "prettier-plugin-tailwindcss": "^0.7.2", - "tailwindcss": "4.2.1", - "typescript": "~5.9.2", - "vitest": "^4.0.8" - } -} diff --git a/postcss.config.json b/postcss.config.json deleted file mode 100644 index e092dc7..0000000 --- a/postcss.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "plugins": { - "@tailwindcss/postcss": {} - } -} diff --git a/postcss.config.mjs b/postcss.config.mjs deleted file mode 100644 index a34a3d5..0000000 --- a/postcss.config.mjs +++ /dev/null @@ -1,5 +0,0 @@ -export default { - plugins: { - '@tailwindcss/postcss': {}, - }, -}; diff --git a/src/app/app.component.html b/src/app/app.component.html deleted file mode 100644 index 02799a5..0000000 --- a/src/app/app.component.html +++ /dev/null @@ -1,5 +0,0 @@ - -
    - -
    - diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts deleted file mode 100644 index c74cfe2..0000000 --- a/src/app/app.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { provideRouter } from '@angular/router'; -import { AppComponent } from './app.component'; -import { TranslocoTestingModule } from '@jsverse/transloco'; - -describe('AppComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - TranslocoTestingModule.forRoot({ - langs: { it: {}, en: {} }, - translocoConfig: { defaultLang: 'it' }, - }), - ], - providers: [provideRouter([])], - }).compileComponents(); - }); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); -}); diff --git a/src/app/app.component.ts b/src/app/app.component.ts deleted file mode 100644 index 730cd82..0000000 --- a/src/app/app.component.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { RouterOutlet } from '@angular/router'; -import { HeaderComponent } from './components/header/header.component'; -import { FooterComponent } from './components/footer/footer.component'; - -@Component({ - selector: 'app-root', - imports: [RouterOutlet, HeaderComponent, FooterComponent], - templateUrl: './app.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class AppComponent {} diff --git a/src/app/app.config.ts b/src/app/app.config.ts deleted file mode 100644 index 5e3d15a..0000000 --- a/src/app/app.config.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { DOCUMENT } from '@angular/common'; -import { IMAGE_LOADER, ImageLoaderConfig } from '@angular/common'; -import { provideHttpClient } from '@angular/common/http'; -import { ApplicationConfig, InjectionToken, provideBrowserGlobalErrorListeners, isDevMode } from '@angular/core'; -import { provideRouter, withHashLocation } from '@angular/router'; -import { provideTransloco } from '@jsverse/transloco'; -import { routes } from './app.routes'; -import { TranslocoHttpLoader } from './services/transloco-loader.service'; - -export const BASE_URL = new InjectionToken('BASE_URL'); - -function normalizeBase(document: Document): string { - const base = document.querySelector('base')?.getAttribute('href') ?? '/'; - return base.endsWith('/') ? base.slice(0, -1) : base; -} - -export const appConfig: ApplicationConfig = { - providers: [ - provideBrowserGlobalErrorListeners(), - provideHttpClient(), - provideRouter(routes, withHashLocation()), - provideTransloco({ - config: { - availableLangs: ['it', 'en'], - defaultLang: 'it', - reRenderOnLangChange: true, - prodMode: !isDevMode(), - }, - loader: TranslocoHttpLoader, - }), - { - provide: BASE_URL, - useFactory: normalizeBase, - deps: [DOCUMENT], - }, - { - provide: IMAGE_LOADER, - useFactory: - (baseUrl: string) => - (config: ImageLoaderConfig): string => - baseUrl + config.src, - deps: [BASE_URL], - }, - ], -}; diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts deleted file mode 100644 index 6fa4639..0000000 --- a/src/app/app.routes.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { inject } from '@angular/core'; -import { CanMatchFn, Routes } from '@angular/router'; -import { DebugService } from './services/debug.service'; - -const debugGuard: CanMatchFn = () => inject(DebugService).isEnabled; - -export const routes: Routes = [ - { - path: '', - loadComponent: () => import('./pages/home/home.component').then((module) => module.HomeComponent), - }, - { - path: 'blog', - canMatch: [debugGuard], - loadComponent: () => import('./pages/blog/blog.component').then((module) => module.BlogComponent), - }, - { - path: 'events', - loadComponent: () => import('./pages/events/events.component').then((module) => module.EventsComponent), - }, - { - path: 'events/:id', - loadComponent: () => - import('./pages/events/event-detail/event-detail.component').then( - (module) => module.EventDetailComponent, - ), - }, - { - path: 'blog/:id', - canMatch: [debugGuard], - loadComponent: () => - import('./pages/blog/blog-detail/blog-detail.component').then( - (module) => module.BlogDetailComponent, - ), - }, - { - path: 'chi-siamo', - loadComponent: () => import('./pages/team/team.component').then((module) => module.TeamComponent), - }, - { - path: 'coc', - loadComponent: () => import('./pages/coc/coc.component').then((module) => module.CocComponent), - }, - { - path: '**', - redirectTo: '', - }, -]; diff --git a/src/app/components/call-for-speakers/call-for-speakers.component.html b/src/app/components/call-for-speakers/call-for-speakers.component.html deleted file mode 100644 index e69157e..0000000 --- a/src/app/components/call-for-speakers/call-for-speakers.component.html +++ /dev/null @@ -1,30 +0,0 @@ -
    - -
    diff --git a/src/app/components/call-for-speakers/call-for-speakers.component.spec.ts b/src/app/components/call-for-speakers/call-for-speakers.component.spec.ts deleted file mode 100644 index 95542c8..0000000 --- a/src/app/components/call-for-speakers/call-for-speakers.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { TranslocoTestingModule } from '@jsverse/transloco'; -import { CallForSpeakersComponent } from './call-for-speakers.component'; - -describe('CallForSpeakersComponent', () => { - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [ - TranslocoTestingModule.forRoot({ - langs: { - it: { callForSpeakers: { title: 'Call for Speaker', description: '...', cta: 'Proponi un talk' } }, - en: { callForSpeakers: { title: 'Call for Speakers', description: '...', cta: 'Propose a talk' } }, - }, - translocoConfig: { defaultLang: 'it' }, - }), - ], - }); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(CallForSpeakersComponent); - expect(fixture.componentInstance).toBeTruthy(); - }); -}); diff --git a/src/app/components/call-for-speakers/call-for-speakers.component.ts b/src/app/components/call-for-speakers/call-for-speakers.component.ts deleted file mode 100644 index 73662ac..0000000 --- a/src/app/components/call-for-speakers/call-for-speakers.component.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { NgOptimizedImage } from '@angular/common'; -import { TranslocoModule } from '@jsverse/transloco'; - -@Component({ - selector: 'app-call-for-speakers', - imports: [NgOptimizedImage, TranslocoModule], - templateUrl: './call-for-speakers.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class CallForSpeakersComponent {} diff --git a/src/app/components/contact/contact-button/contact-button.component.spec.ts b/src/app/components/contact/contact-button/contact-button.component.spec.ts deleted file mode 100644 index 74ec101..0000000 --- a/src/app/components/contact/contact-button/contact-button.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { ContactButtonComponent } from './contact-button.component'; - -describe('ContactButtonComponent', () => { - let component: ContactButtonComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ContactButtonComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(ContactButtonComponent); - fixture.componentRef.setInput('id', 'test'); - fixture.componentRef.setInput('href', 'https://example.com'); - fixture.componentRef.setInput('ariaLabel', 'Test'); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/contact/contact-button/contact-button.component.ts b/src/app/components/contact/contact-button/contact-button.component.ts deleted file mode 100644 index 72f18da..0000000 --- a/src/app/components/contact/contact-button/contact-button.component.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core'; - -const VARIANT_CLASSES = { - primary: - 'border-(--color-primary) bg-(--color-primary) text-white hover:border-(--color-primary-hover) hover:bg-(--color-primary-hover) hover:text-white', - secondary: - 'border-secondary bg-secondary text-white hover:border-secondary-hover hover:bg-secondary-hover hover:text-white', - telegram: 'border-[#2aabee] bg-[#2aabee] text-white hover:border-[#1d96d4] hover:bg-[#1d96d4] hover:text-white', - 'primary-outline': - 'border-[#f50000] bg-transparent text-[#f50000] hover:border-[#f50000] hover:bg-[#f50000]/10 hover:text-[#f50000]', - 'white-outline': 'border-white bg-transparent text-white hover:border-white hover:bg-white/10', -} as const; - -type ButtonVariant = keyof typeof VARIANT_CLASSES; - -@Component({ - selector: 'app-contact-button', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - - - `, -}) -export class ContactButtonComponent { - readonly id = input.required(); - readonly href = input.required(); - readonly ariaLabel = input.required(); - readonly variant = input('primary'); - readonly rel = input('noopener'); - - protected readonly variantClass = computed(() => VARIANT_CLASSES[this.variant()]); -} diff --git a/src/app/components/contact/contact-group/contact-group.component.spec.ts b/src/app/components/contact/contact-group/contact-group.component.spec.ts deleted file mode 100644 index 53ff173..0000000 --- a/src/app/components/contact/contact-group/contact-group.component.spec.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { ContactGroupComponent } from './contact-group.component'; - -describe('ContactGroupComponent', () => { - let component: ContactGroupComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ContactGroupComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(ContactGroupComponent); - fixture.componentRef.setInput('title', 'Test'); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/contact/contact-group/contact-group.component.ts b/src/app/components/contact/contact-group/contact-group.component.ts deleted file mode 100644 index 5330df6..0000000 --- a/src/app/components/contact/contact-group/contact-group.component.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ChangeDetectionStrategy, Component, input } from '@angular/core'; - -@Component({ - selector: 'app-contact-group', - changeDetection: ChangeDetectionStrategy.OnPush, - host: { class: 'flex flex-col items-center', '[class]': 'gap()' }, - template: ` -

    {{ title() }}

    - - `, -}) -export class ContactGroupComponent { - title = input.required(); - gap = input('gap-2'); -} diff --git a/src/app/components/contact/contact.component.html b/src/app/components/contact/contact.component.html deleted file mode 100644 index 425a4b1..0000000 --- a/src/app/components/contact/contact.component.html +++ /dev/null @@ -1,78 +0,0 @@ -
    -

    {{ 'contact.title' | transloco }}

    - - -
    - - - Telegram - - - - - - GitHub - - -
    - - -
    -

    - {{ 'contact.groups.social' | transloco }} -

    -
    - - Facebook - - - LinkedIn - - - YouTube - - - Instagram - - - Mastodon - -
    -
    -
    diff --git a/src/app/components/contact/contact.component.spec.ts b/src/app/components/contact/contact.component.spec.ts deleted file mode 100644 index 32f655a..0000000 --- a/src/app/components/contact/contact.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { ContactComponent } from './contact.component'; - -describe('ContactComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ContactComponent], - }).compileComponents(); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(ContactComponent); - const component = fixture.componentInstance; - expect(component).toBeTruthy(); - }); - - it('should render all contact groups', async () => { - const fixture = TestBed.createComponent(ContactComponent); - await fixture.whenStable(); - const compiled = fixture.nativeElement as HTMLElement; - const groups = compiled.querySelectorAll('.contact-group'); - expect(groups.length).toBe(6); - }); -}); diff --git a/src/app/components/contact/contact.component.ts b/src/app/components/contact/contact.component.ts deleted file mode 100644 index c52f7ae..0000000 --- a/src/app/components/contact/contact.component.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { TranslocoModule } from '@jsverse/transloco'; -import { ContactButtonComponent } from './contact-button/contact-button.component'; -import { ContactGroupComponent } from './contact-group/contact-group.component'; -import { IconFacebookComponent } from '../shared/icons/icon-facebook/icon-facebook.component'; -import { IconGithubComponent } from '../shared/icons/icon-github/icon-github.component'; -import { IconInstagramComponent } from '../shared/icons/icon-instagram/icon-instagram.component'; -import { IconLinkedinComponent } from '../shared/icons/icon-linkedin/icon-linkedin.component'; -import { IconMastodonComponent } from '../shared/icons/icon-mastodon/icon-mastodon.component'; -import { IconTelegramComponent } from '../shared/icons/icon-telegram/icon-telegram.component'; -import { IconYoutubeComponent } from '../shared/icons/icon-youtube/icon-youtube.component'; - -@Component({ - selector: 'app-contact', - imports: [ - TranslocoModule, - ContactButtonComponent, - ContactGroupComponent, - IconFacebookComponent, - IconGithubComponent, - IconInstagramComponent, - IconLinkedinComponent, - IconMastodonComponent, - IconTelegramComponent, - IconYoutubeComponent, - ], - templateUrl: './contact.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class ContactComponent {} diff --git a/src/app/components/footer/footer.component.html b/src/app/components/footer/footer.component.html deleted file mode 100644 index d863d9c..0000000 --- a/src/app/components/footer/footer.component.html +++ /dev/null @@ -1,16 +0,0 @@ - diff --git a/src/app/components/footer/footer.component.spec.ts b/src/app/components/footer/footer.component.spec.ts deleted file mode 100644 index be77d0c..0000000 --- a/src/app/components/footer/footer.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { FooterComponent } from './footer.component'; - -describe('FooterComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [FooterComponent], - }).compileComponents(); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(FooterComponent); - const component = fixture.componentInstance; - expect(component).toBeTruthy(); - }); - - it('should display the copyright year', async () => { - const fixture = TestBed.createComponent(FooterComponent); - await fixture.whenStable(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('footer')?.textContent).toContain(String(new Date().getFullYear())); - }); -}); diff --git a/src/app/components/footer/footer.component.ts b/src/app/components/footer/footer.component.ts deleted file mode 100644 index e87685e..0000000 --- a/src/app/components/footer/footer.component.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { RouterLink } from '@angular/router'; -import { TranslocoModule } from '@jsverse/transloco'; - -@Component({ - selector: 'app-footer', - imports: [RouterLink, TranslocoModule], - templateUrl: './footer.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class FooterComponent { - protected readonly currentYear = new Date().getFullYear(); -} diff --git a/src/app/components/header/header.component.html b/src/app/components/header/header.component.html deleted file mode 100644 index e42c556..0000000 --- a/src/app/components/header/header.component.html +++ /dev/null @@ -1,216 +0,0 @@ -
    - -
    diff --git a/src/app/components/header/header.component.spec.ts b/src/app/components/header/header.component.spec.ts deleted file mode 100644 index e00ef66..0000000 --- a/src/app/components/header/header.component.spec.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { provideRouter } from '@angular/router'; -import { HeaderComponent } from './header.component'; -import { TranslocoTestingModule } from '@jsverse/transloco'; - -describe('HeaderComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - TranslocoTestingModule.forRoot({ - langs: { - it: { nav: { home: 'PyCatania', nextMeetup: 'Prossimo Meetup', contacts: 'Contatti', supporters: 'Sostenitori', community: 'Community', blog: 'Blog', events: 'Eventi', about: 'Chi siamo' } }, - en: { nav: { home: 'PyCatania', nextMeetup: 'Next Meetup', contacts: 'Contacts', supporters: 'Supporters', community: 'Community', blog: 'Blog', events: 'Events', about: 'About us' } }, - }, - translocoConfig: { defaultLang: 'it' }, - }), - ], - providers: [provideRouter([])], - }).compileComponents(); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(HeaderComponent); - const component = fixture.componentInstance; - expect(component).toBeTruthy(); - }); - - it('should default to italian language', () => { - const fixture = TestBed.createComponent(HeaderComponent); - const component = fixture.componentInstance; - expect(component['activeLang']()).toBe('it'); - }); - - it('should toggle language on button click', () => { - const fixture = TestBed.createComponent(HeaderComponent); - const component = fixture.componentInstance; - component['toggleLanguage'](); - expect(component['activeLang']()).toBe('en'); - }); -}); diff --git a/src/app/components/header/header.component.ts b/src/app/components/header/header.component.ts deleted file mode 100644 index 34bf0bd..0000000 --- a/src/app/components/header/header.component.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core'; -import { NgOptimizedImage } from '@angular/common'; -import { Router, RouterLink, RouterLinkActive } from '@angular/router'; -import { TranslocoModule, TranslocoService } from '@jsverse/transloco'; -import { DebugService } from '../../services/debug.service'; - -@Component({ - selector: 'app-header', - imports: [NgOptimizedImage, RouterLink, RouterLinkActive, TranslocoModule], - templateUrl: './header.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class HeaderComponent { - private readonly translocoService = inject(TranslocoService); - private readonly router = inject(Router); - protected readonly debugService = inject(DebugService); - protected readonly activeLang = signal(this.translocoService.getActiveLang()); - - protected toggleLanguage(): void { - const next = this.activeLang() === 'it' ? 'en' : 'it'; - this.translocoService.setActiveLang(next); - this.activeLang.set(next); - } - - protected closeDropdown(event: Event): void { - let element = (event.target as HTMLElement).closest('details'); - if (element) { - element.open = false; - } - } - - protected scrollTo(event: Event, sectionId: string): void { - event.preventDefault(); - const element = document.getElementById(sectionId); - if (element) { - element.scrollIntoView({ behavior: 'smooth' }); - } else { - this.router.navigate(['/']); - } - } -} diff --git a/src/app/components/meetup/meetup.component.html b/src/app/components/meetup/meetup.component.html deleted file mode 100644 index d8c7f0c..0000000 --- a/src/app/components/meetup/meetup.component.html +++ /dev/null @@ -1,30 +0,0 @@ -
    -
    -
    - Next Meetup -
    -
    -
    -

    {{ 'nextMeetup.title' | transloco }}

    -

    {{ 'nextMeetup.description' | transloco }}

    - - {{ 'nextMeetup.join' | transloco }} -
    -
    -
    -
    diff --git a/src/app/components/meetup/meetup.component.spec.ts b/src/app/components/meetup/meetup.component.spec.ts deleted file mode 100644 index b14ac8f..0000000 --- a/src/app/components/meetup/meetup.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { MeetupComponent } from './meetup.component'; - -describe('MeetupComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [MeetupComponent], - }).compileComponents(); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(MeetupComponent); - const component = fixture.componentInstance; - expect(component).toBeTruthy(); - }); - - it('should contain a link to the Meetup group', async () => { - const fixture = TestBed.createComponent(MeetupComponent); - await fixture.whenStable(); - const compiled = fixture.nativeElement as HTMLElement; - const link = compiled.querySelector('#meetup-link'); - expect(link?.href).toContain('meetup.com/python-catania'); - }); -}); diff --git a/src/app/components/meetup/meetup.component.ts b/src/app/components/meetup/meetup.component.ts deleted file mode 100644 index cf0c942..0000000 --- a/src/app/components/meetup/meetup.component.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { NgOptimizedImage } from '@angular/common'; -import { TranslocoModule } from '@jsverse/transloco'; -import { IconMeetupComponent } from '../shared/icons/icon-meetup/icon-meetup.component'; - -@Component({ - selector: 'app-meetup', - imports: [NgOptimizedImage, IconMeetupComponent, TranslocoModule], - templateUrl: './meetup.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class MeetupComponent {} diff --git a/src/app/components/py-catania/py-catania.component.html b/src/app/components/py-catania/py-catania.component.html deleted file mode 100644 index e92e4fe..0000000 --- a/src/app/components/py-catania/py-catania.component.html +++ /dev/null @@ -1,23 +0,0 @@ -
    -
    -
    - Python Catania intro -
    -
    -
    - Python Catania logo -
    -

    {{ 'hero.title' | transloco }}

    -

    {{ 'hero.tagline' | transloco }}

    -
    -
    -
    -
    -
    diff --git a/src/app/components/py-catania/py-catania.component.spec.ts b/src/app/components/py-catania/py-catania.component.spec.ts deleted file mode 100644 index 3b8ee07..0000000 --- a/src/app/components/py-catania/py-catania.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { PyCataniaComponent } from './py-catania.component'; - -describe('PyCataniaComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [PyCataniaComponent], - }).compileComponents(); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(PyCataniaComponent); - const component = fixture.componentInstance; - expect(component).toBeTruthy(); - }); - - it('should render the community heading', async () => { - const fixture = TestBed.createComponent(PyCataniaComponent); - await fixture.whenStable(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('h1')?.textContent).toContain('Python Catania'); - }); -}); diff --git a/src/app/components/py-catania/py-catania.component.ts b/src/app/components/py-catania/py-catania.component.ts deleted file mode 100644 index 9c05c9b..0000000 --- a/src/app/components/py-catania/py-catania.component.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { NgOptimizedImage } from '@angular/common'; -import { TranslocoModule } from '@jsverse/transloco'; - -@Component({ - selector: 'app-py-catania', - imports: [NgOptimizedImage, TranslocoModule], - templateUrl: './py-catania.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class PyCataniaComponent {} diff --git a/src/app/components/shared/icons/icon-facebook/icon-facebook.component.spec.ts b/src/app/components/shared/icons/icon-facebook/icon-facebook.component.spec.ts deleted file mode 100644 index 9dad8b7..0000000 --- a/src/app/components/shared/icons/icon-facebook/icon-facebook.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconFacebookComponent } from './icon-facebook.component'; - -describe('IconFacebookComponent', () => { - let component: IconFacebookComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconFacebookComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconFacebookComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-facebook/icon-facebook.component.ts b/src/app/components/shared/icons/icon-facebook/icon-facebook.component.ts deleted file mode 100644 index e21cf36..0000000 --- a/src/app/components/shared/icons/icon-facebook/icon-facebook.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-facebook', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconFacebookComponent {} diff --git a/src/app/components/shared/icons/icon-gdg/icon-gdg.component.spec.ts b/src/app/components/shared/icons/icon-gdg/icon-gdg.component.spec.ts deleted file mode 100644 index 3ac2cf7..0000000 --- a/src/app/components/shared/icons/icon-gdg/icon-gdg.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconGdgComponent } from './icon-gdg.component'; - -describe('IconGdgComponent', () => { - let component: IconGdgComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconGdgComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconGdgComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-gdg/icon-gdg.component.ts b/src/app/components/shared/icons/icon-gdg/icon-gdg.component.ts deleted file mode 100644 index 7f292b3..0000000 --- a/src/app/components/shared/icons/icon-gdg/icon-gdg.component.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-gdg', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconGdgComponent {} diff --git a/src/app/components/shared/icons/icon-github/icon-github.component.spec.ts b/src/app/components/shared/icons/icon-github/icon-github.component.spec.ts deleted file mode 100644 index cdaef71..0000000 --- a/src/app/components/shared/icons/icon-github/icon-github.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconGithubComponent } from './icon-github.component'; - -describe('IconGithubComponent', () => { - let component: IconGithubComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconGithubComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconGithubComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-github/icon-github.component.ts b/src/app/components/shared/icons/icon-github/icon-github.component.ts deleted file mode 100644 index 31f2ea2..0000000 --- a/src/app/components/shared/icons/icon-github/icon-github.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-github', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconGithubComponent {} diff --git a/src/app/components/shared/icons/icon-instagram/icon-instagram.component.spec.ts b/src/app/components/shared/icons/icon-instagram/icon-instagram.component.spec.ts deleted file mode 100644 index fb47d0a..0000000 --- a/src/app/components/shared/icons/icon-instagram/icon-instagram.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconInstagramComponent } from './icon-instagram.component'; - -describe('IconInstagramComponent', () => { - let component: IconInstagramComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconInstagramComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconInstagramComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-instagram/icon-instagram.component.ts b/src/app/components/shared/icons/icon-instagram/icon-instagram.component.ts deleted file mode 100644 index aca32fa..0000000 --- a/src/app/components/shared/icons/icon-instagram/icon-instagram.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-instagram', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconInstagramComponent {} diff --git a/src/app/components/shared/icons/icon-linkedin/icon-linkedin.component.spec.ts b/src/app/components/shared/icons/icon-linkedin/icon-linkedin.component.spec.ts deleted file mode 100644 index 309ca05..0000000 --- a/src/app/components/shared/icons/icon-linkedin/icon-linkedin.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconLinkedinComponent } from './icon-linkedin.component'; - -describe('IconLinkedinComponent', () => { - let component: IconLinkedinComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconLinkedinComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconLinkedinComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-linkedin/icon-linkedin.component.ts b/src/app/components/shared/icons/icon-linkedin/icon-linkedin.component.ts deleted file mode 100644 index 8733189..0000000 --- a/src/app/components/shared/icons/icon-linkedin/icon-linkedin.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-linkedin', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconLinkedinComponent {} diff --git a/src/app/components/shared/icons/icon-mastodon/icon-mastodon.component.spec.ts b/src/app/components/shared/icons/icon-mastodon/icon-mastodon.component.spec.ts deleted file mode 100644 index a886e13..0000000 --- a/src/app/components/shared/icons/icon-mastodon/icon-mastodon.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconMastodonComponent } from './icon-mastodon.component'; - -describe('IconMastodonComponent', () => { - let component: IconMastodonComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconMastodonComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconMastodonComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-mastodon/icon-mastodon.component.ts b/src/app/components/shared/icons/icon-mastodon/icon-mastodon.component.ts deleted file mode 100644 index cf7af5a..0000000 --- a/src/app/components/shared/icons/icon-mastodon/icon-mastodon.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-mastodon', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconMastodonComponent {} diff --git a/src/app/components/shared/icons/icon-meetup/icon-meetup.component.spec.ts b/src/app/components/shared/icons/icon-meetup/icon-meetup.component.spec.ts deleted file mode 100644 index 45edd8a..0000000 --- a/src/app/components/shared/icons/icon-meetup/icon-meetup.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconMeetupComponent } from './icon-meetup.component'; - -describe('IconMeetupComponent', () => { - let component: IconMeetupComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconMeetupComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconMeetupComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-meetup/icon-meetup.component.ts b/src/app/components/shared/icons/icon-meetup/icon-meetup.component.ts deleted file mode 100644 index 051d41f..0000000 --- a/src/app/components/shared/icons/icon-meetup/icon-meetup.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-meetup', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconMeetupComponent {} diff --git a/src/app/components/shared/icons/icon-psf/icon-psf.component.spec.ts b/src/app/components/shared/icons/icon-psf/icon-psf.component.spec.ts deleted file mode 100644 index 7262ce4..0000000 --- a/src/app/components/shared/icons/icon-psf/icon-psf.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconPsfComponent } from './icon-psf.component'; - -describe('IconPsfComponent', () => { - let component: IconPsfComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconPsfComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconPsfComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-psf/icon-psf.component.ts b/src/app/components/shared/icons/icon-psf/icon-psf.component.ts deleted file mode 100644 index a365dab..0000000 --- a/src/app/components/shared/icons/icon-psf/icon-psf.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-psf', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconPsfComponent {} diff --git a/src/app/components/shared/icons/icon-pycon-italia/icon-pycon-italia.component.spec.ts b/src/app/components/shared/icons/icon-pycon-italia/icon-pycon-italia.component.spec.ts deleted file mode 100644 index 9280aae..0000000 --- a/src/app/components/shared/icons/icon-pycon-italia/icon-pycon-italia.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconPyconItaliaComponent } from './icon-pycon-italia.component'; - -describe('IconPyconItaliaComponent', () => { - let component: IconPyconItaliaComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconPyconItaliaComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconPyconItaliaComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-pycon-italia/icon-pycon-italia.component.ts b/src/app/components/shared/icons/icon-pycon-italia/icon-pycon-italia.component.ts deleted file mode 100644 index 8596de5..0000000 --- a/src/app/components/shared/icons/icon-pycon-italia/icon-pycon-italia.component.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-pycon-italia', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconPyconItaliaComponent {} diff --git a/src/app/components/shared/icons/icon-python-italia/icon-python-italia.component.spec.ts b/src/app/components/shared/icons/icon-python-italia/icon-python-italia.component.spec.ts deleted file mode 100644 index 2a7aafc..0000000 --- a/src/app/components/shared/icons/icon-python-italia/icon-python-italia.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconPythonItaliaComponent } from './icon-python-italia.component'; - -describe('IconPythonItaliaComponent', () => { - let component: IconPythonItaliaComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconPythonItaliaComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconPythonItaliaComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-python-italia/icon-python-italia.component.ts b/src/app/components/shared/icons/icon-python-italia/icon-python-italia.component.ts deleted file mode 100644 index eb8140b..0000000 --- a/src/app/components/shared/icons/icon-python-italia/icon-python-italia.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-python-italia', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconPythonItaliaComponent {} diff --git a/src/app/components/shared/icons/icon-telegram/icon-telegram.component.spec.ts b/src/app/components/shared/icons/icon-telegram/icon-telegram.component.spec.ts deleted file mode 100644 index 8237c75..0000000 --- a/src/app/components/shared/icons/icon-telegram/icon-telegram.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconTelegramComponent } from './icon-telegram.component'; - -describe('IconTelegramComponent', () => { - let component: IconTelegramComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconTelegramComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconTelegramComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-telegram/icon-telegram.component.ts b/src/app/components/shared/icons/icon-telegram/icon-telegram.component.ts deleted file mode 100644 index 272c278..0000000 --- a/src/app/components/shared/icons/icon-telegram/icon-telegram.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-telegram', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconTelegramComponent {} diff --git a/src/app/components/shared/icons/icon-youtube/icon-youtube.component.spec.ts b/src/app/components/shared/icons/icon-youtube/icon-youtube.component.spec.ts deleted file mode 100644 index a5ad4af..0000000 --- a/src/app/components/shared/icons/icon-youtube/icon-youtube.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconYoutubeComponent } from './icon-youtube.component'; - -describe('IconYoutubeComponent', () => { - let component: IconYoutubeComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [IconYoutubeComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(IconYoutubeComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/icons/icon-youtube/icon-youtube.component.ts b/src/app/components/shared/icons/icon-youtube/icon-youtube.component.ts deleted file mode 100644 index 23e529f..0000000 --- a/src/app/components/shared/icons/icon-youtube/icon-youtube.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'app-icon-youtube', - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - `, -}) -export class IconYoutubeComponent {} diff --git a/src/app/components/shared/lightbox/lightbox.component.html b/src/app/components/shared/lightbox/lightbox.component.html deleted file mode 100644 index 41b9de5..0000000 --- a/src/app/components/shared/lightbox/lightbox.component.html +++ /dev/null @@ -1,55 +0,0 @@ -@if (index() !== null) { - -} diff --git a/src/app/components/shared/lightbox/lightbox.component.spec.ts b/src/app/components/shared/lightbox/lightbox.component.spec.ts deleted file mode 100644 index 8e3fa77..0000000 --- a/src/app/components/shared/lightbox/lightbox.component.spec.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { LightboxComponent } from './lightbox.component'; - -describe('LightboxComponent', () => { - let component: LightboxComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [LightboxComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(LightboxComponent); - component = fixture.componentInstance; - fixture.componentRef.setInput('images', ['/img1.jpg', '/img2.jpg']); - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/shared/lightbox/lightbox.component.ts b/src/app/components/shared/lightbox/lightbox.component.ts deleted file mode 100644 index f4e4415..0000000 --- a/src/app/components/shared/lightbox/lightbox.component.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { ChangeDetectionStrategy, Component, HostListener, input, model } from '@angular/core'; - -@Component({ - selector: 'app-lightbox', - templateUrl: './lightbox.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class LightboxComponent { - readonly images = input.required(); - readonly baseUrl = input(''); - readonly index = model(null); - - protected close(): void { - this.index.set(null); - } - - protected prev(): void { - const current = this.index(); - if (current === null) return; - this.index.set((current - 1 + this.images().length) % this.images().length); - } - - protected next(): void { - const current = this.index(); - if (current === null) return; - this.index.set((current + 1) % this.images().length); - } - - @HostListener('document:keydown', ['$event']) - onKeyDown(event: KeyboardEvent): void { - if (this.index() === null) return; - if (event.key === 'Escape') this.close(); - if (event.key === 'ArrowLeft') this.prev(); - if (event.key === 'ArrowRight') this.next(); - } -} diff --git a/src/app/components/supporters/supporters.component.html b/src/app/components/supporters/supporters.component.html deleted file mode 100644 index 9211086..0000000 --- a/src/app/components/supporters/supporters.component.html +++ /dev/null @@ -1,69 +0,0 @@ -
    -

    {{ 'supporters.title' | transloco }}

    - -
      -
    • -
      - -
      - - PSF - -
    • - -
    • -
      - -
      - - Python Italia - -
    • - -
    • -
      - -
      - - PyCon Italia - -
    • - -
    • -
      - -
      - - GDG Catania - -
    • -
    -
    diff --git a/src/app/components/supporters/supporters.component.spec.ts b/src/app/components/supporters/supporters.component.spec.ts deleted file mode 100644 index 6e4b0ec..0000000 --- a/src/app/components/supporters/supporters.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { TranslocoTestingModule } from '@jsverse/transloco'; -import { SupportersComponent } from './supporters.component'; - -describe('SupportersComponent', () => { - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [ - TranslocoTestingModule.forRoot({ - langs: { - it: { supporters: { title: 'Sostenitori', groups: { networks: 'Reti', mediaPartners: 'Media Partner', communityPartners: 'Community Partner' } } }, - en: { supporters: { title: 'Supporters', groups: { networks: 'Networks', mediaPartners: 'Media Partners', communityPartners: 'Community Partners' } } }, - }, - translocoConfig: { defaultLang: 'it' }, - }), - ], - }); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(SupportersComponent); - expect(fixture.componentInstance).toBeTruthy(); - }); -}); diff --git a/src/app/components/supporters/supporters.component.ts b/src/app/components/supporters/supporters.component.ts deleted file mode 100644 index 4593eb2..0000000 --- a/src/app/components/supporters/supporters.component.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { TranslocoModule } from '@jsverse/transloco'; -import { ContactButtonComponent } from '../contact/contact-button/contact-button.component'; -import { IconGdgComponent } from '../shared/icons/icon-gdg/icon-gdg.component'; -import { IconPsfComponent } from '../shared/icons/icon-psf/icon-psf.component'; -import { IconPyconItaliaComponent } from '../shared/icons/icon-pycon-italia/icon-pycon-italia.component'; -import { IconPythonItaliaComponent } from '../shared/icons/icon-python-italia/icon-python-italia.component'; - -@Component({ - selector: 'app-supporters', - imports: [ - TranslocoModule, - ContactButtonComponent, - IconGdgComponent, - IconPsfComponent, - IconPyconItaliaComponent, - IconPythonItaliaComponent, - ], - templateUrl: './supporters.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class SupportersComponent {} diff --git a/src/app/pages/blog/blog-detail/blog-detail.component.html b/src/app/pages/blog/blog-detail/blog-detail.component.html deleted file mode 100644 index 85e49c5..0000000 --- a/src/app/pages/blog/blog-detail/blog-detail.component.html +++ /dev/null @@ -1,38 +0,0 @@ -
    -
    - ← {{ 'blog.backToBlog' | transloco }} - - @if (post()) { - - @if (post()!.coverImage) { - - } - - -

    - {{ activeLang() === 'en' ? post()!.titleEn : post()!.title }} -

    -

    - 📅 {{ post()!.date }}  ·  ✍️ {{ post()!.author }} -

    - - -
    - @for (paragraph of (activeLang() === 'en' ? post()!.fullContentEn : post()!.fullContent).split('\n\n'); track $index) { -

    {{ paragraph }}

    - } -
    - } @else { -

    {{ 'blog.noContent' | transloco }}

    - } -
    -
    diff --git a/src/app/pages/blog/blog-detail/blog-detail.component.spec.ts b/src/app/pages/blog/blog-detail/blog-detail.component.spec.ts deleted file mode 100644 index ab8c233..0000000 --- a/src/app/pages/blog/blog-detail/blog-detail.component.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { provideHttpClient } from '@angular/common/http'; -import { provideHttpClientTesting } from '@angular/common/http/testing'; -import { ActivatedRoute } from '@angular/router'; -import { TranslocoTestingModule } from '@jsverse/transloco'; -import { BlogDetailComponent } from './blog-detail.component'; -import { BASE_URL } from '../../../app.config'; - -describe('BlogDetailComponent', () => { - let component: BlogDetailComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - BlogDetailComponent, - TranslocoTestingModule.forRoot({ langs: { en: {}, it: {} }, translocoConfig: { availableLangs: ['en', 'it'], defaultLang: 'it' } }), - ], - providers: [ - provideHttpClient(), - provideHttpClientTesting(), - { provide: BASE_URL, useValue: '' }, - { provide: ActivatedRoute, useValue: { snapshot: { paramMap: { get: () => '1' } } } }, - ], - }).compileComponents(); - - fixture = TestBed.createComponent(BlogDetailComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/pages/blog/blog-detail/blog-detail.component.ts b/src/app/pages/blog/blog-detail/blog-detail.component.ts deleted file mode 100644 index ea382b2..0000000 --- a/src/app/pages/blog/blog-detail/blog-detail.component.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core'; -import { ActivatedRoute, RouterLink } from '@angular/router'; -import { HttpClient } from '@angular/common/http'; -import { toSignal } from '@angular/core/rxjs-interop'; -import { TranslocoModule, TranslocoService } from '@jsverse/transloco'; -import { BASE_URL } from '../../../app.config'; - -interface BlogPost { - readonly id: number; - readonly title: string; - readonly titleEn: string; - readonly date: string; - readonly author: string; - readonly coverImage?: string; - readonly content: string; - readonly contentEn: string; - readonly fullContent: string; - readonly fullContentEn: string; -} - -@Component({ - selector: 'app-blog-detail', - imports: [TranslocoModule, RouterLink], - templateUrl: './blog-detail.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class BlogDetailComponent { - private readonly http = inject(HttpClient); - private readonly route = inject(ActivatedRoute); - private readonly translocoService = inject(TranslocoService); - protected readonly baseUrl = inject(BASE_URL); - - protected readonly post = signal(null); - protected readonly activeLang = toSignal(this.translocoService.langChanges$, { - initialValue: this.translocoService.getActiveLang(), - }); - - constructor() { - const id = Number(this.route.snapshot.paramMap.get('id')); - this.http.get(`${this.baseUrl}/data/blog-posts.json`).subscribe((posts) => { - const found = posts.find((post) => post.id === id) ?? null; - this.post.set(found); - }); - } - - protected formatContent(content: string): string { - return content.replace(/\n/g, '
    '); - } -} diff --git a/src/app/pages/blog/blog.component.html b/src/app/pages/blog/blog.component.html deleted file mode 100644 index 1b14e05..0000000 --- a/src/app/pages/blog/blog.component.html +++ /dev/null @@ -1,22 +0,0 @@ -
    -
    -

    {{ 'blog.title' | transloco }}

    - @if (posts().length === 0) { -

    {{ 'blog.noContent' | transloco }}

    - } -
      - @for (post of posts(); track post.id) { -
    • -

      {{ post.date }} · {{ post.author }}

      -

      {{ activeLang() === 'en' ? post.titleEn : post.title }}

      -

      {{ activeLang() === 'en' ? post.contentEn : post.content }}

      - {{ 'blog.readMore' | transloco }} → -
    • - } -
    -
    -
    diff --git a/src/app/pages/blog/blog.component.spec.ts b/src/app/pages/blog/blog.component.spec.ts deleted file mode 100644 index 2050904..0000000 --- a/src/app/pages/blog/blog.component.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { provideHttpClient } from '@angular/common/http'; -import { HttpTestingController, provideHttpClientTesting } from '@angular/common/http/testing'; -import { BlogComponent } from './blog.component'; -import { TranslocoTestingModule } from '@jsverse/transloco'; - -describe('BlogComponent', () => { - let httpMock: HttpTestingController; - - beforeEach(() => { - TestBed.configureTestingModule({ - providers: [ - provideHttpClient(), - provideHttpClientTesting(), - ], - imports: [ - TranslocoTestingModule.forRoot({ - langs: { it: { blog: { title: 'Blog', noContent: 'Nessun articolo.', readMore: 'Leggi di più' } }, en: {} }, - translocoConfig: { defaultLang: 'it' }, - }), - ], - }); - httpMock = TestBed.inject(HttpTestingController); - }); - - afterEach(() => { - httpMock.verify(); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(BlogComponent); - httpMock.expectOne('/data/blog-posts.json').flush([]); - expect(fixture.componentInstance).toBeTruthy(); - }); -}); diff --git a/src/app/pages/blog/blog.component.ts b/src/app/pages/blog/blog.component.ts deleted file mode 100644 index 3721aec..0000000 --- a/src/app/pages/blog/blog.component.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core'; -import { toSignal } from '@angular/core/rxjs-interop'; -import { HttpClient } from '@angular/common/http'; -import { RouterLink } from '@angular/router'; -import { TranslocoModule, TranslocoService } from '@jsverse/transloco'; -import { BASE_URL } from '../../app.config'; - -interface BlogPost { - readonly id: number; - readonly title: string; - readonly titleEn: string; - readonly date: string; - readonly author: string; - readonly content: string; - readonly contentEn: string; - readonly url: string; -} - -@Component({ - selector: 'app-blog', - imports: [TranslocoModule, RouterLink], - templateUrl: './blog.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class BlogComponent { - private readonly http = inject(HttpClient); - private readonly translocoService = inject(TranslocoService); - private readonly baseUrl = inject(BASE_URL); - protected readonly posts = signal([]); - protected readonly activeLang = toSignal(this.translocoService.langChanges$, { - initialValue: this.translocoService.getActiveLang(), - }); - - constructor() { - this.http.get(`${this.baseUrl}/data/blog-posts.json`).subscribe((data) => { - this.posts.set(data); - }); - } -} diff --git a/src/app/pages/coc/coc.component.html b/src/app/pages/coc/coc.component.html deleted file mode 100644 index 2657532..0000000 --- a/src/app/pages/coc/coc.component.html +++ /dev/null @@ -1 +0,0 @@ -
    diff --git a/src/app/pages/coc/coc.component.scss b/src/app/pages/coc/coc.component.scss deleted file mode 100644 index 7ebc15c..0000000 --- a/src/app/pages/coc/coc.component.scss +++ /dev/null @@ -1,20 +0,0 @@ -.coc-content { - ul { - list-style: disc; - padding-left: 1.5rem; - margin-bottom: 1rem; - } - - li { - margin-bottom: 0.25rem; - } - - hr { - border-color: var(--border); - margin: 2rem 0; - } - - strong { - font-weight: 700; - } -} diff --git a/src/app/pages/coc/coc.component.spec.ts b/src/app/pages/coc/coc.component.spec.ts deleted file mode 100644 index 2c713a5..0000000 --- a/src/app/pages/coc/coc.component.spec.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { provideHttpClient } from '@angular/common/http'; -import { provideHttpClientTesting } from '@angular/common/http/testing'; -import { provideTransloco } from '@jsverse/transloco'; -import { TranslocoHttpLoader } from '../../services/transloco-loader.service'; -import { BASE_URL } from '../../app.config'; -import { CocComponent } from './coc.component'; - -describe('CocComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [CocComponent], - providers: [ - provideHttpClient(), - provideHttpClientTesting(), - provideTransloco({ - config: { availableLangs: ['it', 'en'], defaultLang: 'it' }, - loader: TranslocoHttpLoader, - }), - { provide: BASE_URL, useValue: '' }, - ], - }).compileComponents(); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(CocComponent); - expect(fixture.componentInstance).toBeTruthy(); - }); -}); diff --git a/src/app/pages/coc/coc.component.ts b/src/app/pages/coc/coc.component.ts deleted file mode 100644 index 2337f10..0000000 --- a/src/app/pages/coc/coc.component.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core'; -import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; -import { HttpClient } from '@angular/common/http'; -import { switchMap } from 'rxjs'; -import { marked } from 'marked'; -import { TranslocoService } from '@jsverse/transloco'; -import { BASE_URL } from '../../app.config'; - -@Component({ - selector: 'app-coc', - templateUrl: './coc.component.html', - styleUrl: './coc.component.scss', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class CocComponent { - private readonly http = inject(HttpClient); - private readonly sanitizer = inject(DomSanitizer); - private readonly translocoService = inject(TranslocoService); - private readonly baseUrl = inject(BASE_URL); - - protected readonly content = signal(''); - - constructor() { - this.translocoService.langChanges$ - .pipe(switchMap((lang) => this.http.get(`${this.baseUrl}/coc.${lang}.md`, { responseType: 'text' }))) - .subscribe((markdown) => { - const html = marked.parse(markdown) as string; - this.content.set(this.sanitizer.bypassSecurityTrustHtml(html)); - }); - } -} diff --git a/src/app/pages/events/event-detail/event-detail.component.html b/src/app/pages/events/event-detail/event-detail.component.html deleted file mode 100644 index 9352010..0000000 --- a/src/app/pages/events/event-detail/event-detail.component.html +++ /dev/null @@ -1,244 +0,0 @@ -
    -
    - ← {{ 'events.backToEvents' | transloco }} - - @if (event()) { - - @if (event()!.image) { - - } - - -

    {{ event()!.title }}

    -

    - 📅 {{ event()!.date }}  ·  👥 {{ event()!.attendees }} - {{ 'events.attendees' | transloco }} -

    - - -

    - {{ activeLang() === 'en' ? event()!.fullDescriptionEn : event()!.fullDescription }} -

    - - - @if (event()!.speakers.length > 0) { -
    -

    {{ 'events.speakers' | transloco }}

    -
      - @for (speaker of event()!.speakers; track speaker.name) { -
    • - @if (speaker.image) { - - } @else { -
      - {{ speaker.name.charAt(0) }} -
      - } -
      -

      {{ speaker.name }}

      -

      - {{ activeLang() === 'en' ? speaker.topicEn : speaker.topic }} -

      - @if ( - speaker.slide || - speaker.project || - speaker.project2 || - speaker.paper || - speaker.demo - ) { -
      - @if (speaker.slide) { - - - Slides - - } - @if (speaker.paper) { - - - Paper - - } - @if (speaker.project) { - - - Project - - } - @if (speaker.project2) { - - - Code - - } - @if (speaker.demo) { - - - Demo - - } -
      - } -
      -
    • - } -
    -
    - } - - - @if (event()!.videos && event()!.videos!.length > 0) { -
    -

    {{ 'events.videos' | transloco }}

    -
    - @for (video of event()!.videos!; track video.id) { - -
    - -
    -
    - -
    -
    -
    -
    - {{ video.title }} -
    -
    - } -
    -
    - } - - - @if (event()!.gallery.length > 0) { -
    -

    {{ 'events.gallery' | transloco }}

    -
      - @for (image of event()!.gallery; track image; let index = $index) { -
    • - -
    • - } -
    -
    - } - - - {{ 'events.viewOnMeetup' | transloco }} → - } @else { -

    {{ 'events.noContent' | transloco }}

    - } -
    -
    - -@if (event()) { - -} diff --git a/src/app/pages/events/event-detail/event-detail.component.spec.ts b/src/app/pages/events/event-detail/event-detail.component.spec.ts deleted file mode 100644 index 8e252a5..0000000 --- a/src/app/pages/events/event-detail/event-detail.component.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { provideHttpClient } from '@angular/common/http'; -import { provideHttpClientTesting } from '@angular/common/http/testing'; -import { ActivatedRoute } from '@angular/router'; -import { TranslocoTestingModule } from '@jsverse/transloco'; -import { EventDetailComponent } from './event-detail.component'; -import { BASE_URL } from '../../../app.config'; - -describe('EventDetailComponent', () => { - let component: EventDetailComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - EventDetailComponent, - TranslocoTestingModule.forRoot({ langs: { en: {}, it: {} }, translocoConfig: { availableLangs: ['en', 'it'], defaultLang: 'it' } }), - ], - providers: [ - provideHttpClient(), - provideHttpClientTesting(), - { provide: BASE_URL, useValue: '' }, - { provide: ActivatedRoute, useValue: { snapshot: { paramMap: { get: () => '313050179' } } } }, - ], - }).compileComponents(); - - fixture = TestBed.createComponent(EventDetailComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/pages/events/event-detail/event-detail.component.ts b/src/app/pages/events/event-detail/event-detail.component.ts deleted file mode 100644 index 95c149c..0000000 --- a/src/app/pages/events/event-detail/event-detail.component.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { NgOptimizedImage } from '@angular/common'; -import { HttpClient } from '@angular/common/http'; -import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core'; -import { toSignal } from '@angular/core/rxjs-interop'; -import { ActivatedRoute, RouterLink } from '@angular/router'; -import { TranslocoModule, TranslocoService } from '@jsverse/transloco'; -import { BASE_URL } from '../../../app.config'; -import { IconGithubComponent } from '../../../components/shared/icons/icon-github/icon-github.component'; -import { LightboxComponent } from '../../../components/shared/lightbox/lightbox.component'; - -interface Speaker { - readonly name: string; - readonly image?: string; - readonly topic: string; - readonly topicEn: string; - readonly slide?: string; - readonly project?: string; - readonly project2?: string; - readonly paper?: string; - readonly demo?: string; -} - -interface MeetupEvent { - readonly id: number; - readonly title: string; - readonly date: string; - readonly image?: string; - readonly description: string; - readonly descriptionEn: string; - readonly fullDescription: string; - readonly fullDescriptionEn: string; - readonly attendees: number; - readonly url: string; - readonly videos?: { id: string; title: string }[]; - readonly gallery: string[]; - readonly speakers: Speaker[]; -} - -@Component({ - selector: 'app-event-detail', - imports: [TranslocoModule, RouterLink, NgOptimizedImage, LightboxComponent, IconGithubComponent], - templateUrl: './event-detail.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class EventDetailComponent { - private readonly http = inject(HttpClient); - private readonly route = inject(ActivatedRoute); - private readonly translocoService = inject(TranslocoService); - protected readonly baseUrl = inject(BASE_URL); - - protected readonly event = signal(null); - protected readonly lightboxIndex = signal(null); - protected readonly activeLang = toSignal(this.translocoService.langChanges$, { - initialValue: this.translocoService.getActiveLang(), - }); - - constructor() { - const id = Number(this.route.snapshot.paramMap.get('id')); - this.http.get(`${this.baseUrl}/data/events.json`).subscribe((events) => { - const found = events.find((event) => event.id === id) ?? null; - this.event.set(found); - }); - } - - protected videoThumbnail(videoId: string): string { - return `${this.baseUrl}/images/youtube/${videoId.split('?')[0]}.jpg`; - } - - protected videoWatchUrl(videoId: string): string { - const [id, params] = videoId.split('?'); - return params ? `https://www.youtube.com/watch?v=${id}&${params}` : `https://www.youtube.com/watch?v=${id}`; - } - - protected openLightbox(index: number): void { - this.lightboxIndex.set(index); - } -} diff --git a/src/app/pages/events/events.component.html b/src/app/pages/events/events.component.html deleted file mode 100644 index 0ab4faa..0000000 --- a/src/app/pages/events/events.component.html +++ /dev/null @@ -1,42 +0,0 @@ -
    -
    -

    {{ 'events.title' | transloco }}

    - @if (events().length === 0) { -

    {{ 'events.noContent' | transloco }}

    - } - -
    -
    diff --git a/src/app/pages/events/events.component.spec.ts b/src/app/pages/events/events.component.spec.ts deleted file mode 100644 index 2680d40..0000000 --- a/src/app/pages/events/events.component.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { provideHttpClient } from '@angular/common/http'; -import { HttpTestingController, provideHttpClientTesting } from '@angular/common/http/testing'; -import { EventsComponent } from './events.component'; -import { TranslocoTestingModule } from '@jsverse/transloco'; - -describe('EventsComponent', () => { - let httpMock: HttpTestingController; - - beforeEach(() => { - TestBed.configureTestingModule({ - providers: [ - provideHttpClient(), - provideHttpClientTesting(), - ], - imports: [ - TranslocoTestingModule.forRoot({ - langs: { it: { events: { title: 'Eventi', past: 'Passati', noContent: 'Nessun evento.', attendees: 'partecipanti' } }, en: {} }, - translocoConfig: { defaultLang: 'it' }, - }), - ], - }); - httpMock = TestBed.inject(HttpTestingController); - }); - - afterEach(() => { - httpMock.verify(); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(EventsComponent); - httpMock.expectOne('/data/events.json').flush([]); - expect(fixture.componentInstance).toBeTruthy(); - }); -}); diff --git a/src/app/pages/events/events.component.ts b/src/app/pages/events/events.component.ts deleted file mode 100644 index 5e08256..0000000 --- a/src/app/pages/events/events.component.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core'; -import { toSignal } from '@angular/core/rxjs-interop'; -import { HttpClient } from '@angular/common/http'; -import { RouterLink } from '@angular/router'; -import { TranslocoModule, TranslocoService } from '@jsverse/transloco'; -import { BASE_URL } from '../../app.config'; - -interface MeetupEvent { - readonly id: number; - readonly title: string; - readonly date: string; - readonly image?: string; - readonly description: string; - readonly descriptionEn: string; - readonly attendees: number; - readonly url: string; -} - -@Component({ - selector: 'app-events', - imports: [TranslocoModule, RouterLink], - templateUrl: './events.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class EventsComponent { - private readonly http = inject(HttpClient); - private readonly translocoService = inject(TranslocoService); - protected readonly baseUrl = inject(BASE_URL); - protected readonly events = signal([]); - protected readonly activeLang = toSignal(this.translocoService.langChanges$, { - initialValue: this.translocoService.getActiveLang(), - }); - - constructor() { - this.http.get(`${this.baseUrl}/data/events.json`).subscribe((data) => { - this.events.set(data); - }); - } -} diff --git a/src/app/pages/home/home.component.spec.ts b/src/app/pages/home/home.component.spec.ts deleted file mode 100644 index 820c899..0000000 --- a/src/app/pages/home/home.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { HomeComponent } from './home.component'; -import { TranslocoTestingModule } from '@jsverse/transloco'; - -describe('HomeComponent', () => { - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [ - TranslocoTestingModule.forRoot({ - langs: { it: {}, en: {} }, - translocoConfig: { defaultLang: 'it' }, - }), - ], - }); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(HomeComponent); - expect(fixture.componentInstance).toBeTruthy(); - }); -}); diff --git a/src/app/pages/home/home.component.ts b/src/app/pages/home/home.component.ts deleted file mode 100644 index daaf902..0000000 --- a/src/app/pages/home/home.component.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { CallForSpeakersComponent } from '../../components/call-for-speakers/call-for-speakers.component'; -import { ContactComponent } from '../../components/contact/contact.component'; -import { MeetupComponent } from '../../components/meetup/meetup.component'; -import { PyCataniaComponent } from '../../components/py-catania/py-catania.component'; -import { SupportersComponent } from '../../components/supporters/supporters.component'; - -@Component({ - selector: 'app-home', - imports: [PyCataniaComponent, MeetupComponent, CallForSpeakersComponent, ContactComponent, SupportersComponent], - template: ` - - - - - - `, - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class HomeComponent {} diff --git a/src/app/pages/team/team.component.html b/src/app/pages/team/team.component.html deleted file mode 100644 index 0190b3e..0000000 --- a/src/app/pages/team/team.component.html +++ /dev/null @@ -1,49 +0,0 @@ -
    -
    -

    {{ 'about.title' | transloco }}

    -

    {{ 'about.description' | transloco }}

    -
      - @for (member of members; track member.name) { -
    • - -
      -

      {{ member.name }}

      -

      {{ 'about.role' | transloco }}

      -
      - @if (member.github) { - - GitHub - - } - @if (member.linkedin) { - - LinkedIn - - } -
      -
      -
    • - } -
    -
    -
    diff --git a/src/app/pages/team/team.component.spec.ts b/src/app/pages/team/team.component.spec.ts deleted file mode 100644 index e54851e..0000000 --- a/src/app/pages/team/team.component.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { TeamComponent } from './team.component'; -import { TranslocoTestingModule } from '@jsverse/transloco'; - -describe('TeamComponent', () => { - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [ - TranslocoTestingModule.forRoot({ - langs: { it: { about: { title: 'Chi siamo', description: 'Il team' } }, en: {} }, - translocoConfig: { defaultLang: 'it' }, - }), - ], - }); - }); - - it('should create', () => { - const fixture = TestBed.createComponent(TeamComponent); - expect(fixture.componentInstance).toBeTruthy(); - }); - - it('should list 3 members', () => { - const fixture = TestBed.createComponent(TeamComponent); - expect(fixture.componentInstance['members'].length).toBe(3); - }); -}); diff --git a/src/app/pages/team/team.component.ts b/src/app/pages/team/team.component.ts deleted file mode 100644 index ccfc6e9..0000000 --- a/src/app/pages/team/team.component.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { NgOptimizedImage } from '@angular/common'; -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { TranslocoModule } from '@jsverse/transloco'; -import { IconGithubComponent } from '../../components/shared/icons/icon-github/icon-github.component'; -import { IconLinkedinComponent } from '../../components/shared/icons/icon-linkedin/icon-linkedin.component'; - -interface TeamMember { - readonly name: string; - readonly image: string; - readonly github?: string; - readonly linkedin?: string; -} - -@Component({ - selector: 'app-team', - imports: [TranslocoModule, NgOptimizedImage, IconGithubComponent, IconLinkedinComponent], - templateUrl: './team.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class TeamComponent { - protected readonly members: readonly TeamMember[] = [ - { - name: 'Salvatore Rapisarda', - image: '/images/about/SalvoRapisarda.jpeg', - github: 'https://github.com/salvorapi', - linkedin: 'https://www.linkedin.com/in/salvorapi/', - }, - { - name: 'Matteo Jacopo Schembri', - image: '/images/about/MatteoJacopoSchembri.jpeg', - github: 'https://github.com/teosche', - linkedin: 'https://www.linkedin.com/in/teosche/', - }, - { - name: 'Stefano Borzi', - image: '/images/about/StefanoBorzi.jpeg', - github: 'https://github.com/Helias', - linkedin: 'https://www.linkedin.com/in/stefanoborzi/', - }, - { - name: 'Claudio Faro', - image: '/images/about/ClaudioFaro.jpeg', - github: 'https://github.com/kaesarct', - linkedin: 'https://www.linkedin.com/in/claudio-faro-70128649/', - }, - ]; -} diff --git a/src/app/services/debug.service.ts b/src/app/services/debug.service.ts deleted file mode 100644 index a0dcc63..0000000 --- a/src/app/services/debug.service.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { inject, Injectable } from '@angular/core'; -import { DOCUMENT } from '@angular/common'; - -@Injectable({ providedIn: 'root' }) -export class DebugService { - private readonly document = inject(DOCUMENT); - - readonly isEnabled: boolean = - new URLSearchParams(this.document.defaultView?.location.search ?? '').get('debug') === 'true'; -} diff --git a/src/app/services/transloco-loader.service.spec.ts b/src/app/services/transloco-loader.service.spec.ts deleted file mode 100644 index 46f7d88..0000000 --- a/src/app/services/transloco-loader.service.spec.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { provideHttpClient } from '@angular/common/http'; -import { TranslocoHttpLoader } from './transloco-loader.service'; - -describe('TranslocoHttpLoader', () => { - beforeEach(() => { - TestBed.configureTestingModule({ - providers: [provideHttpClient()], - }); - }); - - it('should be created', () => { - const loader = TestBed.inject(TranslocoHttpLoader); - expect(loader).toBeTruthy(); - }); -}); diff --git a/src/app/services/transloco-loader.service.ts b/src/app/services/transloco-loader.service.ts deleted file mode 100644 index 6b86027..0000000 --- a/src/app/services/transloco-loader.service.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { inject, Injectable } from '@angular/core'; -import { Translation, TranslocoLoader } from '@jsverse/transloco'; -import { HttpClient } from '@angular/common/http'; -import { BASE_URL } from '../app.config'; - -@Injectable({ providedIn: 'root' }) -export class TranslocoHttpLoader implements TranslocoLoader { - private readonly http = inject(HttpClient); - private readonly baseUrl = inject(BASE_URL); - - getTranslation(lang: string) { - return this.http.get(`${this.baseUrl}/i18n/${lang}.json`); - } -} diff --git a/src/index.html b/src/index.html deleted file mode 100644 index 2bdc7c6..0000000 --- a/src/index.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - Python Catania 🐘 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main.ts b/src/main.ts deleted file mode 100644 index 17447a5..0000000 --- a/src/main.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { bootstrapApplication } from '@angular/platform-browser'; -import { appConfig } from './app/app.config'; -import { AppComponent } from './app/app.component'; - -bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)); diff --git a/src/tailwind.css b/src/tailwind.css deleted file mode 100644 index 3d928d1..0000000 --- a/src/tailwind.css +++ /dev/null @@ -1,89 +0,0 @@ -@import 'tailwindcss'; -@source './**/*.{html,ts}'; - -@theme { - --color-primary: #f50000; - --color-primary-hover: #bd3c13; - --color-secondary: #0070bc; - --color-secondary-hover: #005a96; -} - -@layer base { - :root { - --nav-height: 4rem; - --bg: #ffffff; - --surface: #f5f5f5; - --border: #d4d4d4; - --muted: #6b7280; - --radius: 0.375rem; - } - - @media (prefers-color-scheme: dark) { - :root { - --bg: #13171f; - --surface: #1c2233; - --border: #2a3344; - --muted: #8b95a8; - } - } - - html { - scroll-padding-top: var(--nav-height); - scroll-behavior: smooth; - background-color: var(--bg); - color-scheme: light dark; - } - - body { - background-color: var(--bg); - color: light-dark(#1a1a1a, #e5e7eb); - font-family: system-ui, sans-serif; - line-height: 1.6; - min-height: 100dvh; - } - - h1, - h2, - h3, - h4, - h5, - h6 { - font-weight: 700; - line-height: 1.2; - margin-bottom: 1rem; - } - - h1 { - font-size: 2rem; - } - - h2 { - font-size: 1.75rem; - } - - h3 { - font-size: 1.25rem; - } - - p { - margin-bottom: 1rem; - } - - p:last-child { - margin-bottom: 0; - } - - hgroup p { - color: var(--muted); - font-size: 1.1rem; - } - - a:not([role='button']) { - color: var(--color-primary); - text-decoration: underline; - - &:hover { - color: var(--color-primary-hover); - } - } -} diff --git a/styles-HXFUYAUD.css b/styles-HXFUYAUD.css new file mode 100644 index 0000000..7eeccca --- /dev/null +++ b/styles-HXFUYAUD.css @@ -0,0 +1 @@ +@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-3xl: 48rem;--container-4xl: 56rem;--container-5xl: 64rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--text-3xl: 1.875rem;--text-3xl--line-height: 1.2 ;--text-7xl: 4.5rem;--text-7xl--line-height: 1;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-wide: .025em;--leading-snug: 1.375;--leading-relaxed: 1.625;--blur-md: 12px;--aspect-video: 16 / 9;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono);--color-primary: #f50000;--color-primary-hover: #bd3c13;--color-secondary: #0070bc;--color-secondary-hover: #005a96}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-4{top:calc(var(--spacing) * 4)}.top-\[calc\(100\%\+0\.25rem\)\]{top:calc(100% + .25rem)}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-50{z-index:50}.z-100{z-index:100}.m-0{margin:calc(var(--spacing) * 0)}.mx-20{margin-inline:calc(var(--spacing) * 20)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-video{aspect-ratio:var(--aspect-video)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-7{height:calc(var(--spacing) * 7)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-40{height:calc(var(--spacing) * 40)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.min-h-\(--nav-height\){min-height:var(--nav-height)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-24{width:calc(var(--spacing) * 24)}.w-40{width:calc(var(--spacing) * 40)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[90vw\]{max-width:90vw}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-44{min-width:calc(var(--spacing) * 44)}.shrink-0{flex-shrink:0}.translate-x-0\.5{--tw-translate-x: calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.overflow-hidden{overflow:hidden}.rounded-\(--radius\){border-radius:var(--radius)}.rounded-\[calc\(var\(--radius\)-2px\)\]{border-radius:calc(var(--radius) - 2px)}.rounded-full{border-radius:calc(infinity * 1px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\(--border\){border-color:var(--border)}.border-\(--color-primary\){border-color:var(--color-primary)}.border-\(--color-secondary\){border-color:var(--color-secondary)}.border-\[\#2aabee\]{border-color:#2aabee}.border-\[\#f50000\]{border-color:#f50000}.border-secondary{border-color:var(--color-secondary)}.border-white{border-color:var(--color-white)}.bg-\(--bg\){background-color:var(--bg)}.bg-\(--color-primary\){background-color:var(--color-primary)}.bg-\(--color-primary\)\/10{background-color:color-mix(in srgb,#f50000 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-\(--color-primary\)\/10{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.bg-\(--color-primary\)\/15{background-color:color-mix(in srgb,#f50000 15%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-\(--color-primary\)\/15{background-color:color-mix(in oklab,var(--color-primary) 15%,transparent)}}.bg-\(--color-secondary\){background-color:var(--color-secondary)}.bg-\(--surface\){background-color:var(--surface)}.bg-\[\#2aabee\]{background-color:#2aabee}.bg-\[color-mix\(in_srgb\,var\(--bg\)_85\%\,transparent\)\]{background-color:var(--bg)}@supports (color: color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--bg\)_85\%\,transparent\)\]{background-color:color-mix(in srgb,var(--bg) 85%,transparent)}}.bg-black\/60{background-color:color-mix(in srgb,#000 60%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/85{background-color:color-mix(in srgb,#000 85%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\/85{background-color:color-mix(in oklab,var(--color-black) 85%,transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:transparent}.bg-white\/10{background-color:color-mix(in srgb,#fff 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-gradient-to-t{--tw-gradient-position: to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/70{--tw-gradient-from: color-mix(in srgb, #000 70%, transparent);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.from-black\/70{--tw-gradient-from: color-mix(in oklab, var(--color-black) 70%, transparent)}}.to-transparent{--tw-gradient-to: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-cover{background-size:cover}.bg-center{background-position:center}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-\[0\.4rem\]{padding-block:.4rem}.pt-1{padding-top:calc(var(--spacing) * 1)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading, var(--text-3xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading, var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.text-\[0\.85rem\]{font-size:.85rem}.text-\[1\.4rem\]{font-size:1.4rem}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading: var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.08em\]{--tw-tracking: .08em;letter-spacing:.08em}.tracking-wide{--tw-tracking: var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-\(--color-muted\){color:var(--color-muted)}.text-\(--color-primary\){color:var(--color-primary)}.text-\(--color-secondary\){color:var(--color-secondary)}.text-\(--muted\){color:var(--muted)}.text-\[\#f50000\]{color:#f50000}.text-inherit{color:inherit}.text-white{color:var(--color-white)}.text-white\/70{color:color-mix(in srgb,#fff 70%,transparent)}@supports (color: color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_16px_rgba\(0\,0\,0\,0\.15\)\]{--tw-shadow: 0 4px 16px var(--tw-shadow-color, rgba(0,0,0,.15));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-150{--tw-duration: .15s;transition-duration:.15s}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}@media(hover:hover){.group-hover\:bg-black\/80:is(:where(.group):hover *){background-color:color-mix(in srgb,#000 80%,transparent)}@supports (color: color-mix(in lab,red,red)){.group-hover\:bg-black\/80:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}}@media(hover:hover){.group-hover\:opacity-80:is(:where(.group):hover *){opacity:80%}}@media(hover:hover){.hover\:border-\(--color-primary-hover\):hover{border-color:var(--color-primary-hover)}}@media(hover:hover){.hover\:border-\(--color-secondary-hover\):hover{border-color:var(--color-secondary-hover)}}@media(hover:hover){.hover\:border-\[\#1d96d4\]:hover{border-color:#1d96d4}}@media(hover:hover){.hover\:border-\[\#f50000\]:hover{border-color:#f50000}}@media(hover:hover){.hover\:border-secondary-hover:hover{border-color:var(--color-secondary-hover)}}@media(hover:hover){.hover\:border-white:hover{border-color:var(--color-white)}}@media(hover:hover){.hover\:bg-\(--color-primary-hover\):hover{background-color:var(--color-primary-hover)}}@media(hover:hover){.hover\:bg-\(--color-secondary-hover\):hover{background-color:var(--color-secondary-hover)}}@media(hover:hover){.hover\:bg-\(--surface\):hover{background-color:var(--surface)}}@media(hover:hover){.hover\:bg-\[\#1d96d4\]:hover{background-color:#1d96d4}}@media(hover:hover){.hover\:bg-\[\#f50000\]\/10:hover{background-color:color-mix(in oklab,#f50000 10%,transparent)}}@media(hover:hover){.hover\:bg-secondary-hover:hover{background-color:var(--color-secondary-hover)}}@media(hover:hover){.hover\:bg-white\/10:hover{background-color:color-mix(in srgb,#fff 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}}@media(hover:hover){.hover\:bg-white\/25:hover{background-color:color-mix(in srgb,#fff 25%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-white\/25:hover{background-color:color-mix(in oklab,var(--color-white) 25%,transparent)}}}@media(hover:hover){.hover\:text-\(--color-primary\):hover{color:var(--color-primary)}}@media(hover:hover){.hover\:text-\[\#f50000\]:hover{color:#f50000}}@media(hover:hover){.hover\:text-white:hover{color:var(--color-white)}}@media(hover:hover){.hover\:no-underline:hover{text-decoration-line:none}}@media(hover:hover){.hover\:underline:hover{text-decoration-line:underline}}@media(hover:hover){.hover\:opacity-80:hover{opacity:80%}}@media(width>=40rem){.sm\:flex{display:flex}}@media(width>=40rem){.sm\:hidden{display:none}}@media(width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(width>=40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(width>=40rem){.sm\:flex-row{flex-direction:row}}@media(width>=40rem){.sm\:justify-center{justify-content:center}}@media(width>=48rem){.md\:w-1\/2{width:50%}}@media(width>=48rem){.md\:flex-row{flex-direction:row}}@media(width>=48rem){.md\:flex-row-reverse{flex-direction:row-reverse}}@media(width>=48rem){.md\:items-start{align-items:flex-start}}@media(width>=48rem){.md\:text-left{text-align:left}}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}}@layer base{:root{--nav-height: 4rem;--bg: #ffffff;--surface: #f5f5f5;--border: #d4d4d4;--muted: #6b7280;--radius: .375rem}@media(prefers-color-scheme:dark){:root{--bg: #13171f;--surface: #1c2233;--border: #2a3344;--muted: #8b95a8}}html{scroll-padding-top:var(--nav-height);scroll-behavior:smooth;background-color:var(--bg);color-scheme:light dark}body{background-color:var(--bg);color:light-dark(#1a1a1a,#e5e7eb);font-family:system-ui,sans-serif;line-height:1.6;min-height:100dvh}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:1rem}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}p{margin-bottom:1rem}p:last-child{margin-bottom:0}hgroup p{color:var(--muted);font-size:1.1rem}a:not([role=button]){color:var(--color-primary);text-decoration:underline}a:not([role=button]):hover{color:var(--color-primary-hover)}}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false;}@property --tw-gradient-from{syntax: ""; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: ""; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: ""; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false;}@property --tw-gradient-via-stops{syntax: "*"; inherits: false;}@property --tw-gradient-from-position{syntax: ""; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: ""; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: ""; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: ""; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: ""; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: ""; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial}}} diff --git a/tsconfig.app.json b/tsconfig.app.json deleted file mode 100644 index 007c640..0000000 --- a/tsconfig.app.json +++ /dev/null @@ -1,11 +0,0 @@ -/* 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. */ -{ - "compilerOptions": { - "outDir": "./out-tsc/app", - "types": [] - }, - "exclude": ["src/**/*.spec.ts"], - "extends": "./tsconfig.json", - "include": ["src/**/*.ts"] -} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index a8a1b17..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,33 +0,0 @@ -/* 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. */ -{ - "angularCompilerOptions": { - "enableI18nLegacyMessageIdFormat": false, - "strictInjectionParameters": true, - "strictInputAccessModifiers": true, - "strictTemplates": true - }, - "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" - }, - "files": [], - "references": [ - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/tsconfig.spec.json b/tsconfig.spec.json deleted file mode 100644 index 6645e24..0000000 --- a/tsconfig.spec.json +++ /dev/null @@ -1,10 +0,0 @@ -/* 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. */ -{ - "compilerOptions": { - "outDir": "./out-tsc/spec", - "types": ["vitest/globals"] - }, - "extends": "./tsconfig.json", - "include": ["src/**/*.d.ts", "src/**/*.spec.ts"] -}