From ddbfc158ac3b6cb31a631c39fa2adc6410b54ee7 Mon Sep 17 00:00:00 2001 From: Andrei Shpileuski Date: Sun, 26 Apr 2026 22:16:56 +0300 Subject: [PATCH 1/2] feat(rive-angular): split into canvas and webgl2 packages (v2.0.0) - Remove monolithic libs/rive-angular; add rive-angular-canvas, rive-angular-webgl2, and internal rive-angular-core - Wire showcase, Nx, tsconfig paths, CI, and root build/test/pack/publish scripts - Document 2.0.0 split and migration in README and root CHANGELOG; expand npm READMEs and bundle docs/rive-showcase.gif - Extend sync script to copy embedded core and keep shared renderer sources aligned --- .github/workflows/ci.yml | 4 +- .../rive-angular/CHANGELOG.md => CHANGELOG.md | 20 + README.md | 76 +- apps/showcase/src/app/app.spec.ts | 14 +- .../feedback-stars.component.ts | 5 +- apps/showcase/tsconfig.app.json | 11 +- libs/rive-angular-canvas/README.md | 65 + .../docs/rive-showcase.gif} | Bin libs/rive-angular-canvas/eslint.config.mjs | 59 + libs/rive-angular-canvas/jest.config.cts | 21 + libs/rive-angular-canvas/ng-package.json | 14 + .../package.json | 16 +- libs/rive-angular-canvas/project.json | 57 + .../src/index.ts | 10 +- .../src/lib/components/index.ts | 0 .../components/rive-canvas.component.spec.ts | 2 +- .../lib/components/rive-canvas.component.ts | 11 +- .../src/lib/models/index.ts | 8 + .../src/lib/models/rive.model.ts | 10 + libs/rive-angular-canvas/src/lib/rive-sdk.ts | 22 + .../src/lib/services/index.ts | 0 .../lib/services/rive-file.service.spec.ts | 2 +- .../src/lib/services/rive-file.service.ts | 2 +- .../src/lib/utils/index.ts | 2 + .../src/lib/utils/rive-runtime.ts | 2 +- .../src/lib/utils/runtime-config.ts | 0 .../src/rive-angular-core/index.ts | 12 + .../lib/models/data-binding.types.ts | 0 .../lib/models/rive-errors.spec.ts} | 2 +- .../lib/models/rive-errors.ts} | 8 +- .../lib/utils/color-parser.spec.ts | 0 .../lib/utils/color-parser.ts | 0 .../lib/utils/debug-config.ts | 0 .../lib/utils/element-observer.ts | 0 .../lib/utils/error-codes.ts | 0 .../rive-angular-core}/lib/utils/logger.ts | 0 .../rive-angular-core}/lib/utils/validator.ts | 21 +- .../src/rive-angular-core/test-setup.ts | 6 + .../src/test-setup.ts | 0 .../tsconfig.json | 0 .../tsconfig.lib.json | 4 +- .../tsconfig.lib.prod.json | 0 .../tsconfig.spec.json | 11 +- libs/rive-angular-core/README.md | 13 + libs/rive-angular-core/eslint.config.mjs | 38 + .../jest.config.cts | 6 +- libs/rive-angular-core/project.json | 23 + libs/rive-angular-core/src/index.ts | 12 + .../src/lib/models/data-binding.types.ts | 45 + .../src/lib/models/rive-errors.spec.ts | 48 + .../src/lib/models/rive-errors.ts | 62 + .../src/lib/utils/color-parser.spec.ts | 267 +++ .../src/lib/utils/color-parser.ts | 139 ++ .../src/lib/utils/debug-config.ts | 40 + .../src/lib/utils/element-observer.ts | 89 + .../src/lib/utils/error-codes.ts | 73 + .../rive-angular-core/src/lib/utils/logger.ts | 74 + .../src/lib/utils/validator.ts | 182 ++ libs/rive-angular-core/src/test-setup.ts | 6 + libs/rive-angular-core/tsconfig.json | 31 + libs/rive-angular-core/tsconfig.lib.json | 20 + libs/rive-angular-core/tsconfig.spec.json | 22 + libs/rive-angular-webgl2/README.md | 60 + .../docs/rive-showcase.gif | Bin 0 -> 1378324 bytes libs/rive-angular-webgl2/eslint.config.mjs | 59 + libs/rive-angular-webgl2/jest.config.cts | 21 + libs/rive-angular-webgl2/ng-package.json | 14 + libs/rive-angular-webgl2/package.json | 50 + libs/rive-angular-webgl2/project.json | 57 + libs/rive-angular-webgl2/src/index.ts | 63 + .../src/lib/components/index.ts | 1 + .../components/rive-canvas.component.spec.ts | 1638 +++++++++++++++ .../lib/components/rive-canvas.component.ts | 1849 +++++++++++++++++ .../src/lib/models/index.ts | 8 + .../src/lib/models/rive.model.ts | 10 + libs/rive-angular-webgl2/src/lib/rive-sdk.ts | 22 + .../src/lib/services/index.ts | 1 + .../lib/services/rive-file.service.spec.ts | 276 +++ .../src/lib/services/rive-file.service.ts | 279 +++ .../src/lib/utils/index.ts | 2 + .../src/lib/utils/rive-runtime.ts | 47 + .../src/lib/utils/runtime-config.ts | 75 + .../src/rive-angular-core/index.ts | 12 + .../lib/models/data-binding.types.ts | 45 + .../lib/models/rive-errors.spec.ts | 48 + .../lib/models/rive-errors.ts | 62 + .../lib/utils/color-parser.spec.ts | 267 +++ .../lib/utils/color-parser.ts | 139 ++ .../lib/utils/debug-config.ts | 40 + .../lib/utils/element-observer.ts | 89 + .../lib/utils/error-codes.ts | 73 + .../src/rive-angular-core/lib/utils/logger.ts | 74 + .../rive-angular-core/lib/utils/validator.ts | 182 ++ .../src/rive-angular-core/test-setup.ts | 6 + libs/rive-angular-webgl2/src/test-setup.ts | 6 + libs/rive-angular-webgl2/tsconfig.json | 31 + libs/rive-angular-webgl2/tsconfig.lib.json | 20 + .../tsconfig.lib.prod.json | 9 + libs/rive-angular-webgl2/tsconfig.spec.json | 22 + libs/rive-angular/README.md | 871 -------- .../docs/ng-rive-issues-analysis.md | 543 ----- libs/rive-angular/eslint.config.mjs | 48 - libs/rive-angular/ng-package.json | 7 - libs/rive-angular/project.json | 48 - libs/rive-angular/src/lib/models/index.ts | 3 - libs/rive-angular/src/lib/utils/index.ts | 7 - nx.json | 29 +- package-lock.json | 55 +- package.json | 15 +- scripts/sync-rive-angular-core-embedded.mjs | 46 + tsconfig.base.json | 20 +- 111 files changed, 7359 insertions(+), 1677 deletions(-) rename libs/rive-angular/CHANGELOG.md => CHANGELOG.md (89%) create mode 100644 libs/rive-angular-canvas/README.md rename libs/{rive-angular/docs/showcase-afi.gif => rive-angular-canvas/docs/rive-showcase.gif} (100%) create mode 100644 libs/rive-angular-canvas/eslint.config.mjs create mode 100644 libs/rive-angular-canvas/jest.config.cts create mode 100644 libs/rive-angular-canvas/ng-package.json rename libs/{rive-angular => rive-angular-canvas}/package.json (70%) create mode 100644 libs/rive-angular-canvas/project.json rename libs/{rive-angular => rive-angular-canvas}/src/index.ts (82%) rename libs/{rive-angular => rive-angular-canvas}/src/lib/components/index.ts (100%) rename libs/{rive-angular => rive-angular-canvas}/src/lib/components/rive-canvas.component.spec.ts (99%) rename libs/{rive-angular => rive-angular-canvas}/src/lib/components/rive-canvas.component.ts (99%) create mode 100644 libs/rive-angular-canvas/src/lib/models/index.ts create mode 100644 libs/rive-angular-canvas/src/lib/models/rive.model.ts create mode 100644 libs/rive-angular-canvas/src/lib/rive-sdk.ts rename libs/{rive-angular => rive-angular-canvas}/src/lib/services/index.ts (100%) rename libs/{rive-angular => rive-angular-canvas}/src/lib/services/rive-file.service.spec.ts (99%) rename libs/{rive-angular => rive-angular-canvas}/src/lib/services/rive-file.service.ts (99%) create mode 100644 libs/rive-angular-canvas/src/lib/utils/index.ts rename libs/{rive-angular => rive-angular-canvas}/src/lib/utils/rive-runtime.ts (95%) rename libs/{rive-angular => rive-angular-canvas}/src/lib/utils/runtime-config.ts (100%) create mode 100644 libs/rive-angular-canvas/src/rive-angular-core/index.ts rename libs/{rive-angular/src => rive-angular-canvas/src/rive-angular-core}/lib/models/data-binding.types.ts (100%) rename libs/{rive-angular/src/lib/models/rive.model.spec.ts => rive-angular-canvas/src/rive-angular-core/lib/models/rive-errors.spec.ts} (95%) rename libs/{rive-angular/src/lib/models/rive.model.ts => rive-angular-canvas/src/rive-angular-core/lib/models/rive-errors.ts} (87%) rename libs/{rive-angular/src => rive-angular-canvas/src/rive-angular-core}/lib/utils/color-parser.spec.ts (100%) rename libs/{rive-angular/src => rive-angular-canvas/src/rive-angular-core}/lib/utils/color-parser.ts (100%) rename libs/{rive-angular/src => rive-angular-canvas/src/rive-angular-core}/lib/utils/debug-config.ts (100%) rename libs/{rive-angular/src => rive-angular-canvas/src/rive-angular-core}/lib/utils/element-observer.ts (100%) rename libs/{rive-angular/src => rive-angular-canvas/src/rive-angular-core}/lib/utils/error-codes.ts (100%) rename libs/{rive-angular/src => rive-angular-canvas/src/rive-angular-core}/lib/utils/logger.ts (100%) rename libs/{rive-angular/src => rive-angular-canvas/src/rive-angular-core}/lib/utils/validator.ts (91%) create mode 100644 libs/rive-angular-canvas/src/rive-angular-core/test-setup.ts rename libs/{rive-angular => rive-angular-canvas}/src/test-setup.ts (100%) rename libs/{rive-angular => rive-angular-canvas}/tsconfig.json (100%) rename libs/{rive-angular => rive-angular-canvas}/tsconfig.lib.json (89%) rename libs/{rive-angular => rive-angular-canvas}/tsconfig.lib.prod.json (100%) rename libs/{rive-angular => rive-angular-canvas}/tsconfig.spec.json (67%) create mode 100644 libs/rive-angular-core/README.md create mode 100644 libs/rive-angular-core/eslint.config.mjs rename libs/{rive-angular => rive-angular-core}/jest.config.cts (85%) create mode 100644 libs/rive-angular-core/project.json create mode 100644 libs/rive-angular-core/src/index.ts create mode 100644 libs/rive-angular-core/src/lib/models/data-binding.types.ts create mode 100644 libs/rive-angular-core/src/lib/models/rive-errors.spec.ts create mode 100644 libs/rive-angular-core/src/lib/models/rive-errors.ts create mode 100644 libs/rive-angular-core/src/lib/utils/color-parser.spec.ts create mode 100644 libs/rive-angular-core/src/lib/utils/color-parser.ts create mode 100644 libs/rive-angular-core/src/lib/utils/debug-config.ts create mode 100644 libs/rive-angular-core/src/lib/utils/element-observer.ts create mode 100644 libs/rive-angular-core/src/lib/utils/error-codes.ts create mode 100644 libs/rive-angular-core/src/lib/utils/logger.ts create mode 100644 libs/rive-angular-core/src/lib/utils/validator.ts create mode 100644 libs/rive-angular-core/src/test-setup.ts create mode 100644 libs/rive-angular-core/tsconfig.json create mode 100644 libs/rive-angular-core/tsconfig.lib.json create mode 100644 libs/rive-angular-core/tsconfig.spec.json create mode 100644 libs/rive-angular-webgl2/README.md create mode 100644 libs/rive-angular-webgl2/docs/rive-showcase.gif create mode 100644 libs/rive-angular-webgl2/eslint.config.mjs create mode 100644 libs/rive-angular-webgl2/jest.config.cts create mode 100644 libs/rive-angular-webgl2/ng-package.json create mode 100644 libs/rive-angular-webgl2/package.json create mode 100644 libs/rive-angular-webgl2/project.json create mode 100644 libs/rive-angular-webgl2/src/index.ts create mode 100644 libs/rive-angular-webgl2/src/lib/components/index.ts create mode 100644 libs/rive-angular-webgl2/src/lib/components/rive-canvas.component.spec.ts create mode 100644 libs/rive-angular-webgl2/src/lib/components/rive-canvas.component.ts create mode 100644 libs/rive-angular-webgl2/src/lib/models/index.ts create mode 100644 libs/rive-angular-webgl2/src/lib/models/rive.model.ts create mode 100644 libs/rive-angular-webgl2/src/lib/rive-sdk.ts create mode 100644 libs/rive-angular-webgl2/src/lib/services/index.ts create mode 100644 libs/rive-angular-webgl2/src/lib/services/rive-file.service.spec.ts create mode 100644 libs/rive-angular-webgl2/src/lib/services/rive-file.service.ts create mode 100644 libs/rive-angular-webgl2/src/lib/utils/index.ts create mode 100644 libs/rive-angular-webgl2/src/lib/utils/rive-runtime.ts create mode 100644 libs/rive-angular-webgl2/src/lib/utils/runtime-config.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/index.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/lib/models/data-binding.types.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/lib/models/rive-errors.spec.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/lib/models/rive-errors.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/color-parser.spec.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/color-parser.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/debug-config.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/element-observer.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/error-codes.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/logger.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/validator.ts create mode 100644 libs/rive-angular-webgl2/src/rive-angular-core/test-setup.ts create mode 100644 libs/rive-angular-webgl2/src/test-setup.ts create mode 100644 libs/rive-angular-webgl2/tsconfig.json create mode 100644 libs/rive-angular-webgl2/tsconfig.lib.json create mode 100644 libs/rive-angular-webgl2/tsconfig.lib.prod.json create mode 100644 libs/rive-angular-webgl2/tsconfig.spec.json delete mode 100644 libs/rive-angular/README.md delete mode 100644 libs/rive-angular/docs/ng-rive-issues-analysis.md delete mode 100644 libs/rive-angular/eslint.config.mjs delete mode 100644 libs/rive-angular/ng-package.json delete mode 100644 libs/rive-angular/project.json delete mode 100644 libs/rive-angular/src/lib/models/index.ts delete mode 100644 libs/rive-angular/src/lib/utils/index.ts create mode 100644 scripts/sync-rive-angular-core-embedded.mjs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d2b3dbf..b868a01 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: if: matrix.node-version == '20.x' uses: codecov/codecov-action@v4 with: - files: ./coverage/libs/rive-angular/lcov.info + files: ./coverage/libs/rive-angular-canvas/lcov.info,./coverage/libs/rive-angular-webgl2/lcov.info,./coverage/libs/rive-angular-core/lcov.info flags: unittests name: codecov-umbrella fail_ci_if_error: false @@ -69,5 +69,5 @@ jobs: - name: Build library run: npm run build:lib - - name: Pack library (dry-run) + - name: Pack libraries (dry-run) run: npm run pack:lib diff --git a/libs/rive-angular/CHANGELOG.md b/CHANGELOG.md similarity index 89% rename from libs/rive-angular/CHANGELOG.md rename to CHANGELOG.md index e9348c1..a9f2a2d 100644 --- a/libs/rive-angular/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,26 @@ All notable changes to this project will be documented in this file. +## [2.0.0] - 2026-04-26 + +### Added + +- **`@grandgular/rive-angular-canvas`**: Canvas2D runtime (peer: [`@rive-app/canvas`](https://www.npmjs.com/package/@rive-app/canvas)). +- **`@grandgular/rive-angular-webgl2`**: WebGL2 / Rive Renderer runtime (peer: [`@rive-app/webgl2`](https://www.npmjs.com/package/@rive-app/webgl2)). +- **Embedded shared sources** at `src/rive-angular-core` in each published package; `npm run sync:rive-angular-core` updates them from `libs/rive-angular-core` (and aligns shared renderer code between the two packages). +- **Tests** for shared error utilities in `libs/rive-angular-core`. + +### Removed + +- **`@grandgular/rive-angular`** (meta package) — removed from the monorepo. Published packages are only **`@grandgular/rive-angular-canvas`** and **`@grandgular/rive-angular-webgl2`**. + +### Migration + +- Uninstall the old meta package: `npm uninstall @grandgular/rive-angular` (and `@grandgular/rive-angular-canvas` if you only had it as a peer). +- Install one renderer: + `npm install @grandgular/rive-angular-webgl2 @rive-app/webgl2` **or** `npm install @grandgular/rive-angular-canvas @rive-app/canvas`. +- Change imports from `'@grandgular/rive-angular'` to `'@grandgular/rive-angular-webgl2'` or `'@grandgular/rive-angular-canvas'` (API is the same; pick runtime by Rive [Canvas vs WebGL2](https://rive.app/docs/runtimes/web/canvas-vs-webgl)). + ## [1.1.0] - 2026-04-16 ### Added diff --git a/README.md b/README.md index c84c966..d8fafd1 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,40 @@ - +# Rive for Angular (Grandgular) -# @grandgular/rive-angular +Primary npm packages: [`@grandgular/rive-angular-webgl2`](https://www.npmjs.com/package/@grandgular/rive-angular-webgl2) (recommended) and [`@grandgular/rive-angular-canvas`](https://www.npmjs.com/package/@grandgular/rive-angular-canvas). The legacy package `@grandgular/rive-angular` is **not** maintained in this repo; migrate to one of the two packages (see [CHANGELOG](CHANGELOG.md)). -[![npm version](https://img.shields.io/npm/v/@grandgular/rive-angular.svg)](https://www.npmjs.com/package/@grandgular/rive-angular) -[![npm downloads](https://img.shields.io/npm/dm/@grandgular/rive-angular.svg)](https://www.npmjs.com/package/@grandgular/rive-angular) -[![Bundle Size](https://img.shields.io/bundlephobia/minzip/@grandgular/rive-angular)](https://bundlephobia.com/package/@grandgular/rive-angular) + +[![npm webgl2](https://img.shields.io/npm/v/@grandgular/rive-angular-webgl2.svg?label=webgl2)](https://www.npmjs.com/package/@grandgular/rive-angular-webgl2) +[![npm canvas](https://img.shields.io/npm/v/@grandgular/rive-angular-canvas.svg?label=canvas)](https://www.npmjs.com/package/@grandgular/rive-angular-canvas) [![Angular](https://img.shields.io/badge/Angular-18%2B-red)](https://angular.dev) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -![Rive Angular showcase preview](https://raw.githubusercontent.com/Grandgular/rive/main/libs/rive-angular/docs/showcase-afi.gif) - Modern Angular wrapper for [Rive](https://rive.app) animations with reactive state management, built with Angular signals and zoneless architecture. -**1.x** is the stable major line: the public API follows [Semantic Versioning](https://semver.org/). +The public API follows [Semantic Versioning](https://semver.org/). + +**Why `2.0.0` for new package names?** +`@grandgular/rive-angular-webgl2` and `@grandgular/rive-angular-canvas` are **separate** npm packages (each has its own version line in the registry), but we ship them as **2.0.0** to mark one **product-level major**: the old single package **`@grandgular/rive-angular` is no longer built here**, you must **pick a renderer package** and **change import paths and peer dependencies** — that is a breaking change for consumers, even where the Angular component API stays the same. Details: [CHANGELOG](CHANGELOG.md) (section **2.0.0**) and [Migration from `@grandgular/rive-angular`](#migration-from-grandgularrive-angular) below. + +## Packages (WebGL2 vs Canvas) + +Rive’s web runtimes are separate npm packages; this workspace mirrors the official [Canvas vs WebGL2](https://rive.app/docs/runtimes/web/canvas-vs-webgl) and [React](https://rive.app/docs/runtimes/react/react) model with **renderer-specific** Angular packages: + +| npm package | Rive runtime (peer) | Use case | +|-------------|---------------------|----------| +| `@grandgular/rive-angular-webgl2` | `@rive-app/webgl2` | **Recommended** — Rive Renderer, best quality/performance | +| `@grandgular/rive-angular-canvas` | `@rive-app/canvas` | Smaller bundle, simpler vector/raster work | + +Internal shared code is maintained in `libs/rive-angular-core` and **embedded** in each published package. Renderer implementation files are kept aligned between canvas and webgl2, with only the runtime adapter differing. After changing shared code or shared renderer logic, run: `npm run sync:rive-angular-core` + +### Migration from `@grandgular/rive-angular` + +The npm package `@grandgular/rive-angular` is **not** built from this repository anymore. Move to either **`@grandgular/rive-angular-webgl2`** (with `@rive-app/webgl2`) or **`@grandgular/rive-angular-canvas`** (with `@rive-app/canvas`) and change your import path; the public API (components, `RiveFileService`, `provideRiveRuntime`, etc.) is unchanged. See [CHANGELOG](CHANGELOG.md) (v2.0.0). ## What is Rive? [Rive](https://rive.app) is a real-time interactive design and animation tool. It allows designers and developers to create animations that respond to different states and user inputs. Rive animations are lightweight, interactive, and can be used in apps, games, and websites. -## Why @grandgular/rive-angular? +## Why use these packages? This library provides a **modern, Angular-native** way to integrate Rive animations into your Angular applications: @@ -37,7 +53,7 @@ This library provides a **modern, Angular-native** way to integrate Rive animati [ng-rive](https://www.npmjs.com/package/ng-rive) was the previous Angular wrapper for Rive, but it has been **unmaintained since 2021** and is incompatible with modern Angular versions: -| Feature | ng-rive | @grandgular/rive-angular | +| Feature | ng-rive | @grandgular/rive-angular-webgl2 | |---------|---------|--------------------------| | Angular version | 9-12 (legacy) | 18+ (modern) | | Architecture | Modules, Zone.js | Signals, standalone | @@ -52,7 +68,7 @@ This library provides a **modern, Angular-native** way to integrate Rive animati This library follows the design principles of the official [rive-react](https://github.com/rive-app/rive-react) library but adapts them to Angular's reactive paradigm: -| Aspect | rive-react | @grandgular/rive-angular | +| Aspect | rive-react | @grandgular/rive-angular-webgl2 | |--------|------------|--------------------------| | Component API | `` component | `` | | Reactivity | Hooks (useState, useEffect) | Signals | @@ -70,14 +86,14 @@ Both libraries provide similar features and follow the same philosophy of provid ```bash npm uninstall ng-rive -npm install @grandgular/rive-angular @rive-app/canvas +npm install @grandgular/rive-angular-webgl2 @rive-app/webgl2 ``` ### 2. Update imports -| ng-rive | @grandgular/rive-angular | +| ng-rive | @grandgular/rive-angular-webgl2 | |---------|--------------------------| -| `import { RiveModule } from 'ng-rive'` | `import { RiveCanvasComponent } from '@grandgular/rive-angular'` | +| `import { RiveModule } from 'ng-rive'` | `import { RiveCanvasComponent } from '@grandgular/rive-angular-webgl2'` | | Add `RiveModule` to `NgModule.imports` | Add `RiveCanvasComponent` to `imports` of standalone component | ### 3. Update templates @@ -91,7 +107,7 @@ npm install @grandgular/rive-angular @rive-app/canvas ``` -**@grandgular/rive-angular:** +**@grandgular/rive-angular-webgl2:** ```html @@ -114,7 +130,7 @@ npm install @grandgular/rive-angular @rive-app/canvas ``` -**@grandgular/rive-angular:** +**@grandgular/rive-angular-webgl2:** ```html { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [App, NxWelcome], + imports: [App], + providers: [provideRouter([])], }).compileComponents(); }); - it('should render title', async () => { + it('should create', () => { const fixture = TestBed.createComponent(App); - await fixture.whenStable(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('h1')?.textContent).toContain( - 'Welcome showcase', - ); + fixture.detectChanges(); + expect(fixture.componentInstance).toBeTruthy(); }); }); diff --git a/apps/showcase/src/app/feedback-stars/feedback-stars.component.ts b/apps/showcase/src/app/feedback-stars/feedback-stars.component.ts index e7060d4..01477b6 100644 --- a/apps/showcase/src/app/feedback-stars/feedback-stars.component.ts +++ b/apps/showcase/src/app/feedback-stars/feedback-stars.component.ts @@ -1,5 +1,8 @@ import { Component, signal, ChangeDetectionStrategy } from '@angular/core'; -import { RiveCanvasComponent, RiveEvent } from '@grandgular/rive-angular'; +import { + RiveCanvasComponent, + RiveEvent, +} from '@grandgular/rive-angular-webgl2'; @Component({ selector: 'app-feedback-stars', diff --git a/apps/showcase/tsconfig.app.json b/apps/showcase/tsconfig.app.json index 0e22420..7a62ee5 100644 --- a/apps/showcase/tsconfig.app.json +++ b/apps/showcase/tsconfig.app.json @@ -1,10 +1,19 @@ { "extends": "./tsconfig.json", "compilerOptions": { + "baseUrl": "../..", "outDir": "../../dist/out-tsc", "types": [], "paths": { - "@grandgular/rive-angular": ["dist/libs/rive-angular"] + "@grandgular/rive-angular-canvas": [ + "libs/rive-angular-canvas/src/index.ts" + ], + "@grandgular/rive-angular-core": [ + "libs/rive-angular-core/src/index.ts" + ], + "@grandgular/rive-angular-webgl2": [ + "libs/rive-angular-webgl2/src/index.ts" + ] } }, "include": ["src/**/*.ts"], diff --git a/libs/rive-angular-canvas/README.md b/libs/rive-angular-canvas/README.md new file mode 100644 index 0000000..cf9b021 --- /dev/null +++ b/libs/rive-angular-canvas/README.md @@ -0,0 +1,65 @@ +# @grandgular/rive-angular-canvas + +**Rive for Angular (Canvas2D)** — a modern [Angular](https://angular.dev) (18+) library for [Rive](https://rive.app) `.riv` animations: standalone [`RiveCanvasComponent`](https://github.com/Grandgular/rive#readme), [`RiveFileService`](https://github.com/Grandgular/rive#readme) for loading and caching, optional [`provideRiveRuntime()`](https://github.com/Grandgular/rive#readme) for WASM, **ViewModel / data binding**, state machines, and signal-based, zoneless-friendly updates. + +This package targets the **smaller** official runtime [`@rive-app/canvas`](https://www.npmjs.com/package/@rive-app/canvas) (HTML5 Canvas 2D). For **Rive Renderer** (WebGL2) and the default recommendation for most apps, use [`@grandgular/rive-angular-webgl2`](https://www.npmjs.com/package/@grandgular/rive-angular-webgl2) — see Rive’s [Canvas vs WebGL2](https://rive.app/docs/runtimes/web/canvas-vs-webgl) overview. + +![Rive for Angular – interactive showcase (GIF)](./docs/rive-showcase.gif) + +## Install + +```bash +npm install @grandgular/rive-angular-canvas @rive-app/canvas +``` + +`@rive-app/canvas` is a **peer dependency** (install it alongside this package). + +## Quick start + +**1. Import the component** (standalone): + +```typescript +import { RiveCanvasComponent, Fit, Alignment } from '@grandgular/rive-angular-canvas'; +``` + +**2. Register the component** in the standalone `imports` array of your feature component (or your route `loadComponent` setup). + +**3. Use the template** (shared selector and public API with the WebGL2 package): + +```html + +``` + +**4. (Optional) Configure the Rive WASM runtime** in `app.config.ts` — see the full [README](https://github.com/Grandgular/rive#readme) and [CHANGELOG](https://github.com/Grandgular/rive/blob/main/CHANGELOG.md) for `provideRiveRuntime({ wasmUrl, lazy: true })` and `provideRiveDebug()`. + +## What you get (API overview) + +- **``** — load `.riv` from `src` or `buffer`, layout, playback, state machines, ViewModel + **data binding**, lifecycle and error outputs (same component API as `@grandgular/rive-angular-webgl2`). +- **`RiveFileService`** — preload, dedupe, and cache `RiveFile` instances. +- **Types re-exported** from the Canvas peer where useful: e.g. `Rive`, `RiveFile`, `Layout`, `Fit`, `Alignment`, `LoopType`, and related types. +- **Shared helpers** (colors, errors, debug) are embedded in this package; long-form docs and migration notes: monorepo [README](https://github.com/Grandgular/rive#readme). + +## When to pick Canvas2D vs WebGL2 + +- **This package** — smaller download, simpler 2D-style pipelines; good when you accept Canvas2D trade-offs. +- **`@grandgular/rive-angular-webgl2`** — Rive’s usual recommendation for **quality and performance** and Renderer-only features — see the official [comparison](https://rive.app/docs/runtimes/web/canvas-vs-webgl). + +## Versioning and migration + +Published as **2.0.0** as a **product-line major** (split into renderer packages; legacy meta package no longer built here). See [“Why 2.0.0”](https://github.com/Grandgular/rive#readme) and the **Migration** section in the root README if you used `@grandgular/rive-angular` before. + +## More documentation + +- **Full guide, comparisons, and advanced topics:** [GitHub `README.md`](https://github.com/Grandgular/rive#readme) +- **Changelog:** [`CHANGELOG.md`](https://github.com/Grandgular/rive/blob/main/CHANGELOG.md) +- **WebGL2 / Rive Renderer package:** [`@grandgular/rive-angular-webgl2`](https://www.npmjs.com/package/@grandgular/rive-angular-webgl2) +- **Rive runtimes (official):** [Web](https://rive.app/docs/runtimes/web/web) + +## License + +[MIT](https://github.com/Grandgular/rive/blob/main/LICENSE) (see repository). diff --git a/libs/rive-angular/docs/showcase-afi.gif b/libs/rive-angular-canvas/docs/rive-showcase.gif similarity index 100% rename from libs/rive-angular/docs/showcase-afi.gif rename to libs/rive-angular-canvas/docs/rive-showcase.gif diff --git a/libs/rive-angular-canvas/eslint.config.mjs b/libs/rive-angular-canvas/eslint.config.mjs new file mode 100644 index 0000000..876883f --- /dev/null +++ b/libs/rive-angular-canvas/eslint.config.mjs @@ -0,0 +1,59 @@ +import nx from "@nx/eslint-plugin"; +import baseConfig from "../../eslint.config.mjs"; + +export default [ + ...baseConfig, + { + files: [ + "**/*.json" + ], + rules: { + "@nx/dependency-checks": [ + "error", + { + ignoredFiles: [ + "{projectRoot}/eslint.config.{js,cjs,mjs,ts,cts,mts}" + ], + "ignoredDependencies": [ + "jest-preset-angular" + ] + } + ] + }, + languageOptions: { + parser: await import("jsonc-eslint-parser") + } + }, + ...nx.configs["flat/angular"], + ...nx.configs["flat/angular-template"], + { + files: [ + "**/*.ts" + ], + rules: { + "@angular-eslint/directive-selector": [ + "error", + { + type: "attribute", + prefix: "lib", + style: "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + type: "element", + prefix: "lib", + style: "kebab-case" + } + ] + } + }, + { + files: [ + "**/*.html" + ], + // Override or add rules here + rules: {} + } +]; diff --git a/libs/rive-angular-canvas/jest.config.cts b/libs/rive-angular-canvas/jest.config.cts new file mode 100644 index 0000000..43f67ac --- /dev/null +++ b/libs/rive-angular-canvas/jest.config.cts @@ -0,0 +1,21 @@ +module.exports = { + displayName: 'rive-angular-canvas', + preset: '../../jest.preset.js', + setupFilesAfterEnv: ['/src/test-setup.ts'], + coverageDirectory: '../../coverage/libs/rive-angular-canvas', + transform: { + '^.+\\.(ts|mjs|js|html)$': [ + 'jest-preset-angular', + { + tsconfig: '/tsconfig.spec.json', + stringifyContentPathRegex: '\\.(html|svg)$', + }, + ], + }, + transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'], + snapshotSerializers: [ + 'jest-preset-angular/build/serializers/no-ng-attributes', + 'jest-preset-angular/build/serializers/ng-snapshot', + 'jest-preset-angular/build/serializers/html-comment', + ] +}; diff --git a/libs/rive-angular-canvas/ng-package.json b/libs/rive-angular-canvas/ng-package.json new file mode 100644 index 0000000..1102b5a --- /dev/null +++ b/libs/rive-angular-canvas/ng-package.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", + "dest": "../../dist/libs/rive-angular-canvas", + "assets": [ + { + "glob": "docs/**/*", + "input": ".", + "output": "." + } + ], + "lib": { + "entryFile": "src/index.ts" + } +} diff --git a/libs/rive-angular/package.json b/libs/rive-angular-canvas/package.json similarity index 70% rename from libs/rive-angular/package.json rename to libs/rive-angular-canvas/package.json index b5abd77..46eaae7 100644 --- a/libs/rive-angular/package.json +++ b/libs/rive-angular-canvas/package.json @@ -1,7 +1,7 @@ { - "name": "@grandgular/rive-angular", - "version": "1.1.1", - "description": "Modern Angular wrapper for Rive animations with reactive state management, built with signals and zoneless architecture", + "name": "@grandgular/rive-angular-canvas", + "version": "2.0.0", + "description": "Angular wrapper for Rive using the @rive-app/canvas (Canvas2D) runtime — smaller bundle, simpler graphics.", "keywords": [ "angular", "rive", @@ -18,17 +18,19 @@ "ng-rive", "zoneless", "rive-angular", - "webgl2", - "angular-animation" + "angular-animation", + "canvas2d", + "data-binding", + "viewmodel" ], "author": "Andrei Shpileuski", "license": "MIT", "repository": { "type": "git", "url": "https://github.com/Grandgular/rive.git", - "directory": "libs/rive-angular" + "directory": "libs/rive-angular-canvas" }, - "homepage": "https://github.com/Grandgular/rive/tree/main/libs/rive-angular#readme", + "homepage": "https://github.com/Grandgular/rive/tree/main/libs/rive-angular-canvas#readme", "bugs": { "url": "https://github.com/Grandgular/rive/issues" }, diff --git a/libs/rive-angular-canvas/project.json b/libs/rive-angular-canvas/project.json new file mode 100644 index 0000000..7f1cd01 --- /dev/null +++ b/libs/rive-angular-canvas/project.json @@ -0,0 +1,57 @@ +{ + "name": "rive-angular-canvas", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/rive-angular-canvas/src", + "prefix": "lib", + "projectType": "library", + "release": { + "version": { + "manifestRootsToUpdate": [ + "dist/{projectRoot}" + ], + "currentVersionResolver": "git-tag", + "fallbackCurrentVersionResolver": "disk" + } + }, + "tags": [], + "targets": { + "build": { + "executor": "@nx/angular:package", + "outputs": [ + "{workspaceRoot}/dist/{projectRoot}" + ], + "options": { + "project": "libs/rive-angular-canvas/ng-package.json", + "tsConfig": "libs/rive-angular-canvas/tsconfig.lib.json" + }, + "configurations": { + "production": { + "tsConfig": "libs/rive-angular-canvas/tsconfig.lib.prod.json" + }, + "development": {} + }, + "defaultConfiguration": "production" + }, + "nx-release-publish": { + "options": { + "packageRoot": "dist/{projectRoot}" + } + }, + "test": { + "executor": "@nx/jest:jest", + "outputs": [ + "{workspaceRoot}/coverage/{projectRoot}" + ], + "options": { + "jestConfig": "libs/rive-angular-canvas/jest.config.cts", + "tsConfig": "libs/rive-angular-canvas/tsconfig.spec.json" + } + }, + "lint": { + "executor": "@nx/eslint:lint", + "options": { + "maxWarnings": 200 + } + } + } +} diff --git a/libs/rive-angular/src/index.ts b/libs/rive-angular-canvas/src/index.ts similarity index 82% rename from libs/rive-angular/src/index.ts rename to libs/rive-angular-canvas/src/index.ts index b530508..aa7b5f4 100644 --- a/libs/rive-angular/src/index.ts +++ b/libs/rive-angular-canvas/src/index.ts @@ -1,5 +1,5 @@ /* - * Public API Surface of @Grandgular/rive-angular + * Public API Surface of @grandgular/rive-angular-canvas */ // Component @@ -36,7 +36,7 @@ export { provideRiveDebug, type RiveDebugConfig, type LogLevel, -} from './lib/utils/debug-config'; +} from './rive-angular-core'; export { provideRiveRuntime, @@ -48,9 +48,9 @@ export { parseRiveColor, riveColorToArgb, riveColorToHex, -} from './lib/utils/color-parser'; +} from './rive-angular-core'; -// Re-export commonly used types from @rive-app/canvas for convenience +// Re-export commonly used types from the canvas runtime export { Rive, RiveFile, @@ -60,4 +60,4 @@ export { type LayoutParameters, type RiveParameters, type RiveFileParameters, -} from '@rive-app/canvas'; +} from './lib/rive-sdk'; diff --git a/libs/rive-angular/src/lib/components/index.ts b/libs/rive-angular-canvas/src/lib/components/index.ts similarity index 100% rename from libs/rive-angular/src/lib/components/index.ts rename to libs/rive-angular-canvas/src/lib/components/index.ts diff --git a/libs/rive-angular/src/lib/components/rive-canvas.component.spec.ts b/libs/rive-angular-canvas/src/lib/components/rive-canvas.component.spec.ts similarity index 99% rename from libs/rive-angular/src/lib/components/rive-canvas.component.spec.ts rename to libs/rive-angular-canvas/src/lib/components/rive-canvas.component.spec.ts index 07b11ef..37c7ba3 100644 --- a/libs/rive-angular/src/lib/components/rive-canvas.component.spec.ts +++ b/libs/rive-angular-canvas/src/lib/components/rive-canvas.component.spec.ts @@ -8,7 +8,7 @@ import { EventType, LoopType, type RiveParameters, -} from '@rive-app/canvas'; +} from '../rive-sdk'; // Mock Rive jest.mock('@rive-app/canvas', () => ({ diff --git a/libs/rive-angular/src/lib/components/rive-canvas.component.ts b/libs/rive-angular-canvas/src/lib/components/rive-canvas.component.ts similarity index 99% rename from libs/rive-angular/src/lib/components/rive-canvas.component.ts rename to libs/rive-angular-canvas/src/lib/components/rive-canvas.component.ts index e59a240..bd2a55d 100644 --- a/libs/rive-angular/src/lib/components/rive-canvas.component.ts +++ b/libs/rive-angular-canvas/src/lib/components/rive-canvas.component.ts @@ -23,17 +23,16 @@ import { Alignment, StateMachineInput, type LayoutParameters, - Event as RiveEvent, + type RiveEvent, EventType, ViewModelInstance, -} from '@rive-app/canvas'; -import { RiveLoadError } from '../models'; +} from '../rive-sdk'; +import { RiveLoadError, type RiveColor } from '../models'; import type { DataBindingValue, DataBindingChangeEvent, DataBindingPropertyType, - RiveColor, -} from '../models/data-binding.types'; +} from '../models'; import { ElementObserver, RiveLogger, @@ -1420,7 +1419,7 @@ export class RiveCanvasComponent implements AfterViewInit { /** * Subscribe to changes for a specific ViewModel property. - * Uses multiple event APIs to maximize compatibility with @rive-app/canvas runtime versions. + * Uses multiple event APIs to maximize compatibility with Rive Web runtime versions. */ private subscribeToPropertyChanges( path: string, diff --git a/libs/rive-angular-canvas/src/lib/models/index.ts b/libs/rive-angular-canvas/src/lib/models/index.ts new file mode 100644 index 0000000..ad16581 --- /dev/null +++ b/libs/rive-angular-canvas/src/lib/models/index.ts @@ -0,0 +1,8 @@ +export * from './rive.model'; +export type { + DataBindingValue, + DataBindingChangeEvent, + DataBindingPropertyType, + RiveColor, +} from '../../rive-angular-core/lib/models/data-binding.types'; +export { RiveErrorCode } from '../../rive-angular-core/lib/utils/error-codes'; diff --git a/libs/rive-angular-canvas/src/lib/models/rive.model.ts b/libs/rive-angular-canvas/src/lib/models/rive.model.ts new file mode 100644 index 0000000..60095be --- /dev/null +++ b/libs/rive-angular-canvas/src/lib/models/rive.model.ts @@ -0,0 +1,10 @@ +/** + * Re-export Rive SDK types and shared error types for this renderer package. + */ +export { Fit, Alignment, EventType, LoopType } from '../rive-sdk'; +export type { RiveEvent, LoopEvent } from '../rive-sdk'; +export { + RiveLoadError, + RiveValidationError, + type RiveErrorOptions, +} from '../../rive-angular-core/lib/models/rive-errors'; diff --git a/libs/rive-angular-canvas/src/lib/rive-sdk.ts b/libs/rive-angular-canvas/src/lib/rive-sdk.ts new file mode 100644 index 0000000..e41ae2b --- /dev/null +++ b/libs/rive-angular-canvas/src/lib/rive-sdk.ts @@ -0,0 +1,22 @@ +/** + * Rive Web (Canvas) runtime — single import surface for this package. + */ +export { + Rive, + RiveFile, + Layout, + Fit, + Alignment, + StateMachineInput, + EventType, + ViewModelInstance, + RuntimeLoader, + LoopType, +} from '@rive-app/canvas'; +export type { + Event as RiveEvent, + LayoutParameters, + RiveParameters, + RiveFileParameters, + LoopEvent, +} from '@rive-app/canvas'; diff --git a/libs/rive-angular/src/lib/services/index.ts b/libs/rive-angular-canvas/src/lib/services/index.ts similarity index 100% rename from libs/rive-angular/src/lib/services/index.ts rename to libs/rive-angular-canvas/src/lib/services/index.ts diff --git a/libs/rive-angular/src/lib/services/rive-file.service.spec.ts b/libs/rive-angular-canvas/src/lib/services/rive-file.service.spec.ts similarity index 99% rename from libs/rive-angular/src/lib/services/rive-file.service.spec.ts rename to libs/rive-angular-canvas/src/lib/services/rive-file.service.spec.ts index f98a704..4090f53 100644 --- a/libs/rive-angular/src/lib/services/rive-file.service.spec.ts +++ b/libs/rive-angular-canvas/src/lib/services/rive-file.service.spec.ts @@ -1,6 +1,6 @@ import { TestBed } from '@angular/core/testing'; import { RiveFileService } from './rive-file.service'; -import { RiveFile, EventType, RuntimeLoader } from '@rive-app/canvas'; +import { RiveFile, EventType, RuntimeLoader } from '../rive-sdk'; // Mock RiveFile jest.mock('@rive-app/canvas', () => ({ diff --git a/libs/rive-angular/src/lib/services/rive-file.service.ts b/libs/rive-angular-canvas/src/lib/services/rive-file.service.ts similarity index 99% rename from libs/rive-angular/src/lib/services/rive-file.service.ts rename to libs/rive-angular-canvas/src/lib/services/rive-file.service.ts index 582f64f..77f7f23 100644 --- a/libs/rive-angular/src/lib/services/rive-file.service.ts +++ b/libs/rive-angular-canvas/src/lib/services/rive-file.service.ts @@ -1,5 +1,5 @@ import { Injectable, signal, Signal, inject } from '@angular/core'; -import { RiveFile, EventType } from '@rive-app/canvas'; +import { RiveFile, EventType } from '../rive-sdk'; import { RIVE_DEBUG_CONFIG, RIVE_RUNTIME_CONFIG } from '../utils'; import { RiveLogger } from '../utils'; import { ensureRiveRuntimeReady } from '../utils/rive-runtime'; diff --git a/libs/rive-angular-canvas/src/lib/utils/index.ts b/libs/rive-angular-canvas/src/lib/utils/index.ts new file mode 100644 index 0000000..9fbbff4 --- /dev/null +++ b/libs/rive-angular-canvas/src/lib/utils/index.ts @@ -0,0 +1,2 @@ +export * from '../../rive-angular-core'; +export * from './runtime-config'; diff --git a/libs/rive-angular/src/lib/utils/rive-runtime.ts b/libs/rive-angular-canvas/src/lib/utils/rive-runtime.ts similarity index 95% rename from libs/rive-angular/src/lib/utils/rive-runtime.ts rename to libs/rive-angular-canvas/src/lib/utils/rive-runtime.ts index a442cdf..79e0d24 100644 --- a/libs/rive-angular/src/lib/utils/rive-runtime.ts +++ b/libs/rive-angular-canvas/src/lib/utils/rive-runtime.ts @@ -1,4 +1,4 @@ -import { RuntimeLoader } from '@rive-app/canvas'; +import { RuntimeLoader } from '../rive-sdk'; import type { RiveRuntimeResolvedConfig } from './runtime-config'; let runtimeInitPromise: Promise | null = null; diff --git a/libs/rive-angular/src/lib/utils/runtime-config.ts b/libs/rive-angular-canvas/src/lib/utils/runtime-config.ts similarity index 100% rename from libs/rive-angular/src/lib/utils/runtime-config.ts rename to libs/rive-angular-canvas/src/lib/utils/runtime-config.ts diff --git a/libs/rive-angular-canvas/src/rive-angular-core/index.ts b/libs/rive-angular-canvas/src/rive-angular-core/index.ts new file mode 100644 index 0000000..fafbe57 --- /dev/null +++ b/libs/rive-angular-canvas/src/rive-angular-core/index.ts @@ -0,0 +1,12 @@ +/** + * @grandgular/rive-angular-core — internal shared code for Rive Angular renderer packages. + * Not part of the public API; use `@grandgular/rive-angular-canvas` or `@grandgular/rive-angular-webgl2`. + */ +export * from './lib/utils/element-observer'; +export * from './lib/utils/error-codes'; +export * from './lib/utils/debug-config'; +export * from './lib/utils/logger'; +export * from './lib/utils/validator'; +export * from './lib/utils/color-parser'; +export * from './lib/models/rive-errors'; +export * from './lib/models/data-binding.types'; diff --git a/libs/rive-angular/src/lib/models/data-binding.types.ts b/libs/rive-angular-canvas/src/rive-angular-core/lib/models/data-binding.types.ts similarity index 100% rename from libs/rive-angular/src/lib/models/data-binding.types.ts rename to libs/rive-angular-canvas/src/rive-angular-core/lib/models/data-binding.types.ts diff --git a/libs/rive-angular/src/lib/models/rive.model.spec.ts b/libs/rive-angular-canvas/src/rive-angular-core/lib/models/rive-errors.spec.ts similarity index 95% rename from libs/rive-angular/src/lib/models/rive.model.spec.ts rename to libs/rive-angular-canvas/src/rive-angular-core/lib/models/rive-errors.spec.ts index 4d6bc9f..b4e2a2b 100644 --- a/libs/rive-angular/src/lib/models/rive.model.spec.ts +++ b/libs/rive-angular-canvas/src/rive-angular-core/lib/models/rive-errors.spec.ts @@ -1,4 +1,4 @@ -import { RiveLoadError, RiveValidationError } from './rive.model'; +import { RiveLoadError, RiveValidationError } from './rive-errors'; import { RiveErrorCode } from '../utils/error-codes'; describe('RiveLoadError', () => { diff --git a/libs/rive-angular/src/lib/models/rive.model.ts b/libs/rive-angular-canvas/src/rive-angular-core/lib/models/rive-errors.ts similarity index 87% rename from libs/rive-angular/src/lib/models/rive.model.ts rename to libs/rive-angular-canvas/src/rive-angular-core/lib/models/rive-errors.ts index f093ed4..3c6de8d 100644 --- a/libs/rive-angular/src/lib/models/rive.model.ts +++ b/libs/rive-angular-canvas/src/rive-angular-core/lib/models/rive-errors.ts @@ -1,10 +1,4 @@ -import { RiveErrorCode } from '../utils'; - -/** - * Re-export Rive SDK types for consumer convenience - */ -export { Fit, Alignment, EventType, LoopType } from '@rive-app/canvas'; -export type { Event as RiveEvent, LoopEvent } from '@rive-app/canvas'; +import { RiveErrorCode } from '../utils/error-codes'; /** * Options for constructing a RiveLoadError with detailed context. diff --git a/libs/rive-angular/src/lib/utils/color-parser.spec.ts b/libs/rive-angular-canvas/src/rive-angular-core/lib/utils/color-parser.spec.ts similarity index 100% rename from libs/rive-angular/src/lib/utils/color-parser.spec.ts rename to libs/rive-angular-canvas/src/rive-angular-core/lib/utils/color-parser.spec.ts diff --git a/libs/rive-angular/src/lib/utils/color-parser.ts b/libs/rive-angular-canvas/src/rive-angular-core/lib/utils/color-parser.ts similarity index 100% rename from libs/rive-angular/src/lib/utils/color-parser.ts rename to libs/rive-angular-canvas/src/rive-angular-core/lib/utils/color-parser.ts diff --git a/libs/rive-angular/src/lib/utils/debug-config.ts b/libs/rive-angular-canvas/src/rive-angular-core/lib/utils/debug-config.ts similarity index 100% rename from libs/rive-angular/src/lib/utils/debug-config.ts rename to libs/rive-angular-canvas/src/rive-angular-core/lib/utils/debug-config.ts diff --git a/libs/rive-angular/src/lib/utils/element-observer.ts b/libs/rive-angular-canvas/src/rive-angular-core/lib/utils/element-observer.ts similarity index 100% rename from libs/rive-angular/src/lib/utils/element-observer.ts rename to libs/rive-angular-canvas/src/rive-angular-core/lib/utils/element-observer.ts diff --git a/libs/rive-angular/src/lib/utils/error-codes.ts b/libs/rive-angular-canvas/src/rive-angular-core/lib/utils/error-codes.ts similarity index 100% rename from libs/rive-angular/src/lib/utils/error-codes.ts rename to libs/rive-angular-canvas/src/rive-angular-core/lib/utils/error-codes.ts diff --git a/libs/rive-angular/src/lib/utils/logger.ts b/libs/rive-angular-canvas/src/rive-angular-core/lib/utils/logger.ts similarity index 100% rename from libs/rive-angular/src/lib/utils/logger.ts rename to libs/rive-angular-canvas/src/rive-angular-core/lib/utils/logger.ts diff --git a/libs/rive-angular/src/lib/utils/validator.ts b/libs/rive-angular-canvas/src/rive-angular-core/lib/utils/validator.ts similarity index 91% rename from libs/rive-angular/src/lib/utils/validator.ts rename to libs/rive-angular-canvas/src/rive-angular-core/lib/utils/validator.ts index a58b4cc..0882401 100644 --- a/libs/rive-angular/src/lib/utils/validator.ts +++ b/libs/rive-angular-canvas/src/rive-angular-core/lib/utils/validator.ts @@ -1,14 +1,17 @@ -import { Rive } from '@rive-app/canvas'; -import { RiveValidationError } from '../models/rive.model'; +import { RiveValidationError } from '../models/rive-errors'; import { RiveErrorCode, formatErrorMessage } from './error-codes'; import { RiveLogger } from './logger'; +/** Minimal Rive instance shape used for validation; works for canvas and webgl2 runtimes. */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type RiveLike = any; + /** * Validates requested artboard name against available artboards. * Returns error if not found. */ export function validateArtboard( - rive: Rive, + rive: RiveLike, requestedName?: string, ): RiveValidationError | null { if (!requestedName) return null; @@ -42,7 +45,7 @@ export function validateArtboard( * Returns first error found. */ export function validateAnimations( - rive: Rive, + rive: RiveLike, requestedNames?: string | string[], ): RiveValidationError | null { if (!requestedNames) return null; @@ -78,7 +81,7 @@ export function validateAnimations( * Returns first error found. */ export function validateStateMachines( - rive: Rive, + rive: RiveLike, requestedNames?: string | string[], ): RiveValidationError | null { if (!requestedNames) return null; @@ -113,7 +116,7 @@ export function validateStateMachines( * Validates if an input exists within a specific state machine. */ export function validateInput( - rive: Rive, + rive: RiveLike, stateMachineName: string, inputName: string, ): RiveValidationError | null { @@ -121,9 +124,9 @@ export function validateInput( const inputs = rive.stateMachineInputs(stateMachineName); if (!inputs) return null; // Should not happen if SM exists - const found = inputs.find((i) => i.name === inputName); + const found = inputs.find((i: { name: string }) => i.name === inputName); if (!found) { - const available = inputs.map((i) => i.name); + const available = inputs.map((i: { name: string }) => i.name); return new RiveValidationError( formatErrorMessage(RiveErrorCode.InputNotFound, { name: inputName, @@ -148,7 +151,7 @@ export function validateInput( * Logs warnings and returns array of errors. */ export function validateConfiguration( - rive: Rive, + rive: RiveLike, config: { artboard?: string; animations?: string | string[]; diff --git a/libs/rive-angular-canvas/src/rive-angular-core/test-setup.ts b/libs/rive-angular-canvas/src/rive-angular-core/test-setup.ts new file mode 100644 index 0000000..ca20f51 --- /dev/null +++ b/libs/rive-angular-canvas/src/rive-angular-core/test-setup.ts @@ -0,0 +1,6 @@ +import { setupZonelessTestEnv } from 'jest-preset-angular/setup-env/zoneless'; + +setupZonelessTestEnv({ + errorOnUnknownElements: true, + errorOnUnknownProperties: true +}); diff --git a/libs/rive-angular/src/test-setup.ts b/libs/rive-angular-canvas/src/test-setup.ts similarity index 100% rename from libs/rive-angular/src/test-setup.ts rename to libs/rive-angular-canvas/src/test-setup.ts diff --git a/libs/rive-angular/tsconfig.json b/libs/rive-angular-canvas/tsconfig.json similarity index 100% rename from libs/rive-angular/tsconfig.json rename to libs/rive-angular-canvas/tsconfig.json diff --git a/libs/rive-angular/tsconfig.lib.json b/libs/rive-angular-canvas/tsconfig.lib.json similarity index 89% rename from libs/rive-angular/tsconfig.lib.json rename to libs/rive-angular-canvas/tsconfig.lib.json index 23ab0d8..5bfe57f 100644 --- a/libs/rive-angular/tsconfig.lib.json +++ b/libs/rive-angular-canvas/tsconfig.lib.json @@ -7,7 +7,9 @@ "inlineSources": true, "types": [] }, - "include": ["src/**/*.ts"], + "include": [ + "src/**/*.ts" + ], "exclude": [ "src/**/*.spec.ts", "src/**/*.test.ts", diff --git a/libs/rive-angular/tsconfig.lib.prod.json b/libs/rive-angular-canvas/tsconfig.lib.prod.json similarity index 100% rename from libs/rive-angular/tsconfig.lib.prod.json rename to libs/rive-angular-canvas/tsconfig.lib.prod.json diff --git a/libs/rive-angular/tsconfig.spec.json b/libs/rive-angular-canvas/tsconfig.spec.json similarity index 67% rename from libs/rive-angular/tsconfig.spec.json rename to libs/rive-angular-canvas/tsconfig.spec.json index 86e080c..0fae7d0 100644 --- a/libs/rive-angular/tsconfig.spec.json +++ b/libs/rive-angular-canvas/tsconfig.spec.json @@ -4,10 +4,15 @@ "outDir": "../../dist/out-tsc", "module": "commonjs", "target": "es2016", - "types": ["jest", "node"], - "moduleResolution": "node16" + "types": [ + "jest", + "node" + ], + "moduleResolution": "node10" }, - "files": ["src/test-setup.ts"], + "files": [ + "src/test-setup.ts" + ], "include": [ "jest.config.ts", "src/**/*.test.ts", diff --git a/libs/rive-angular-core/README.md b/libs/rive-angular-core/README.md new file mode 100644 index 0000000..40322a8 --- /dev/null +++ b/libs/rive-angular-core/README.md @@ -0,0 +1,13 @@ +# rive-angular-core (internal) + +Shared, runtime-agnostic code for `@grandgular/rive-angular-canvas` and `@grandgular/rive-angular-webgl2`. + +This library is **not published** to npm. Sources are **copied** into each renderer package at `src/rive-angular-core` so ng-packagr can compile a single package tree. + +After editing files here, run from the repo root: + +```bash +npm run sync:rive-angular-core +``` + +Unit tests for shared pieces (e.g. `RiveLoadError`) live under this project. diff --git a/libs/rive-angular-core/eslint.config.mjs b/libs/rive-angular-core/eslint.config.mjs new file mode 100644 index 0000000..4f7b0f8 --- /dev/null +++ b/libs/rive-angular-core/eslint.config.mjs @@ -0,0 +1,38 @@ +import nx from "@nx/eslint-plugin"; +import baseConfig from "../../eslint.config.mjs"; + +export default [ + ...baseConfig, + ...nx.configs["flat/angular"], + ...nx.configs["flat/angular-template"], + { + files: [ + "**/*.ts" + ], + rules: { + "@angular-eslint/directive-selector": [ + "error", + { + type: "attribute", + prefix: "lib", + style: "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + type: "element", + prefix: "lib", + style: "kebab-case" + } + ] + } + }, + { + files: [ + "**/*.html" + ], + // Override or add rules here + rules: {} + } +]; diff --git a/libs/rive-angular/jest.config.cts b/libs/rive-angular-core/jest.config.cts similarity index 85% rename from libs/rive-angular/jest.config.cts rename to libs/rive-angular-core/jest.config.cts index 9413479..7e41421 100644 --- a/libs/rive-angular/jest.config.cts +++ b/libs/rive-angular-core/jest.config.cts @@ -1,8 +1,8 @@ module.exports = { - displayName: 'rive-angular', + displayName: 'rive-angular-core', preset: '../../jest.preset.js', setupFilesAfterEnv: ['/src/test-setup.ts'], - coverageDirectory: '../../coverage/libs/rive-angular', + coverageDirectory: '../../coverage/libs/rive-angular-core', transform: { '^.+\\.(ts|mjs|js|html)$': [ 'jest-preset-angular', @@ -17,5 +17,5 @@ module.exports = { 'jest-preset-angular/build/serializers/no-ng-attributes', 'jest-preset-angular/build/serializers/ng-snapshot', 'jest-preset-angular/build/serializers/html-comment', - ], + ] }; diff --git a/libs/rive-angular-core/project.json b/libs/rive-angular-core/project.json new file mode 100644 index 0000000..8ae8e5b --- /dev/null +++ b/libs/rive-angular-core/project.json @@ -0,0 +1,23 @@ +{ + "name": "rive-angular-core", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/rive-angular-core/src", + "prefix": "lib", + "projectType": "library", + "tags": [], + "targets": { + "test": { + "executor": "@nx/jest:jest", + "outputs": [ + "{workspaceRoot}/coverage/{projectRoot}" + ], + "options": { + "jestConfig": "libs/rive-angular-core/jest.config.cts", + "tsConfig": "libs/rive-angular-core/tsconfig.spec.json" + } + }, + "lint": { + "executor": "@nx/eslint:lint" + } + } +} diff --git a/libs/rive-angular-core/src/index.ts b/libs/rive-angular-core/src/index.ts new file mode 100644 index 0000000..fafbe57 --- /dev/null +++ b/libs/rive-angular-core/src/index.ts @@ -0,0 +1,12 @@ +/** + * @grandgular/rive-angular-core — internal shared code for Rive Angular renderer packages. + * Not part of the public API; use `@grandgular/rive-angular-canvas` or `@grandgular/rive-angular-webgl2`. + */ +export * from './lib/utils/element-observer'; +export * from './lib/utils/error-codes'; +export * from './lib/utils/debug-config'; +export * from './lib/utils/logger'; +export * from './lib/utils/validator'; +export * from './lib/utils/color-parser'; +export * from './lib/models/rive-errors'; +export * from './lib/models/data-binding.types'; diff --git a/libs/rive-angular-core/src/lib/models/data-binding.types.ts b/libs/rive-angular-core/src/lib/models/data-binding.types.ts new file mode 100644 index 0000000..431fbf4 --- /dev/null +++ b/libs/rive-angular-core/src/lib/models/data-binding.types.ts @@ -0,0 +1,45 @@ +/** + * Represents a color value in RGBA format for Rive animations. + * All components are in the range 0-255. + */ +export interface RiveColor { + /** Red component (0-255) */ + r: number; + /** Green component (0-255) */ + g: number; + /** Blue component (0-255) */ + b: number; + /** Alpha component (0-255), defaults to 255 (fully opaque) */ + a: number; +} + +/** + * Union type representing all possible data binding values. + * Used in the dataBindings input to support multiple property types. + */ +export type DataBindingValue = number | string | boolean | RiveColor; + +/** + * Enum representing the type of a ViewModel property. + * Used for type detection and validation. + */ +export type DataBindingPropertyType = + | 'number' + | 'string' + | 'boolean' + | 'color' + | 'enum' + | 'trigger'; + +/** + * Event emitted when a ViewModel property changes from within the animation. + * This enables two-way data binding between the animation and Angular application. + */ +export interface DataBindingChangeEvent { + /** Path to the property in the ViewModel */ + path: string; + /** New value of the property */ + value: DataBindingValue; + /** Type of the property that changed */ + propertyType: DataBindingPropertyType; +} diff --git a/libs/rive-angular-core/src/lib/models/rive-errors.spec.ts b/libs/rive-angular-core/src/lib/models/rive-errors.spec.ts new file mode 100644 index 0000000..b4e2a2b --- /dev/null +++ b/libs/rive-angular-core/src/lib/models/rive-errors.spec.ts @@ -0,0 +1,48 @@ +import { RiveLoadError, RiveValidationError } from './rive-errors'; +import { RiveErrorCode } from '../utils/error-codes'; + +describe('RiveLoadError', () => { + it('should support legacy constructor (backward compatibility)', () => { + const originalError = new Error('Original cause'); + const error = new RiveLoadError('Legacy message', originalError); + + expect(error.message).toBe('Legacy message'); + expect(error.originalError).toBe(originalError); + expect(error.code).toBeUndefined(); + expect(error.name).toBe('RiveLoadError'); + }); + + it('should support new options constructor', () => { + const cause = new Error('Cause'); + const error = new RiveLoadError({ + message: 'New message', + code: RiveErrorCode.FileNotFound, + suggestion: 'Check path', + docsUrl: 'http://docs', + cause, + }); + + expect(error.message).toBe('New message'); + expect(error.code).toBe(RiveErrorCode.FileNotFound); + expect(error.suggestion).toBe('Check path'); + expect(error.docsUrl).toBe('http://docs'); + expect(error.originalError).toBe(cause); + }); +}); + +describe('RiveValidationError', () => { + it('should construct correctly', () => { + const error = new RiveValidationError( + 'Validation failed', + RiveErrorCode.ArtboardNotFound, + ['Option1', 'Option2'], + 'Try Option1', + ); + + expect(error.message).toBe('Validation failed'); + expect(error.code).toBe(RiveErrorCode.ArtboardNotFound); + expect(error.availableOptions).toEqual(['Option1', 'Option2']); + expect(error.suggestion).toBe('Try Option1'); + expect(error.name).toBe('RiveValidationError'); + }); +}); diff --git a/libs/rive-angular-core/src/lib/models/rive-errors.ts b/libs/rive-angular-core/src/lib/models/rive-errors.ts new file mode 100644 index 0000000..3c6de8d --- /dev/null +++ b/libs/rive-angular-core/src/lib/models/rive-errors.ts @@ -0,0 +1,62 @@ +import { RiveErrorCode } from '../utils/error-codes'; + +/** + * Options for constructing a RiveLoadError with detailed context. + */ +export interface RiveErrorOptions { + message: string; + code?: RiveErrorCode; + suggestion?: string; + docsUrl?: string; + cause?: unknown; +} + +/** + * Error thrown when Rive animation fails to load. + * Supports legacy constructor for backward compatibility. + */ +export class RiveLoadError extends Error { + public readonly code?: RiveErrorCode; + public readonly suggestion?: string; + public readonly docsUrl?: string; + public readonly originalError?: Error; + + constructor( + messageOrOptions: string | RiveErrorOptions, + originalError?: unknown, + ) { + if (typeof messageOrOptions === 'string') { + // Legacy constructor: new RiveLoadError(message, originalError) + super(messageOrOptions); + this.originalError = + originalError instanceof Error ? originalError : undefined; + } else { + // New constructor: new RiveLoadError(options) + super(messageOrOptions.message); + this.code = messageOrOptions.code; + this.suggestion = messageOrOptions.suggestion; + this.docsUrl = messageOrOptions.docsUrl; + this.originalError = + messageOrOptions.cause instanceof Error + ? messageOrOptions.cause + : undefined; + } + this.name = 'RiveLoadError'; + } +} + +/** + * Error thrown when validation fails (e.g. missing artboard/animation/input). + * These errors are typically non-fatal but indicate a configuration mismatch. + */ +export class RiveValidationError extends Error { + constructor( + message: string, + public readonly code: RiveErrorCode, + public readonly availableOptions?: string[], + public readonly suggestion?: string, + ) { + super(message); + this.name = 'RiveValidationError'; + } +} diff --git a/libs/rive-angular-core/src/lib/utils/color-parser.spec.ts b/libs/rive-angular-core/src/lib/utils/color-parser.spec.ts new file mode 100644 index 0000000..dfebeb2 --- /dev/null +++ b/libs/rive-angular-core/src/lib/utils/color-parser.spec.ts @@ -0,0 +1,267 @@ +import { + parseRiveColor, + riveColorToArgb, + riveColorToHex, +} from './color-parser'; +import { RiveColor } from '../models/data-binding.types'; + +describe('color-parser', () => { + describe('parseRiveColor', () => { + describe('hex string parsing', () => { + it('should parse 6-digit hex color (#RRGGBB)', () => { + const result = parseRiveColor('#FF5733'); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 255 }); + }); + + it('should parse 8-digit hex color (#RRGGBBAA)', () => { + const result = parseRiveColor('#FF573380'); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 128 }); + }); + + it('should parse hex without # prefix', () => { + const result = parseRiveColor('FF5733'); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 255 }); + }); + + it('should parse lowercase hex', () => { + const result = parseRiveColor('#ff5733'); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 255 }); + }); + + it('should parse black color', () => { + const result = parseRiveColor('#000000'); + expect(result).toEqual({ r: 0, g: 0, b: 0, a: 255 }); + }); + + it('should parse white color', () => { + const result = parseRiveColor('#FFFFFF'); + expect(result).toEqual({ r: 255, g: 255, b: 255, a: 255 }); + }); + + it('should parse transparent black', () => { + const result = parseRiveColor('#00000000'); + expect(result).toEqual({ r: 0, g: 0, b: 0, a: 0 }); + }); + + it('should throw on invalid hex format', () => { + expect(() => parseRiveColor('#GGGGGG')).toThrow( + 'Invalid hex color format', + ); + expect(() => parseRiveColor('#FFF')).toThrow( + 'Invalid hex color format', + ); + expect(() => parseRiveColor('#FFFFFFFFFF')).toThrow( + 'Invalid hex color format', + ); + }); + }); + + describe('ARGB integer parsing', () => { + it('should parse ARGB integer (red with full alpha)', () => { + const result = parseRiveColor(0xffff0000); + expect(result).toEqual({ r: 255, g: 0, b: 0, a: 255 }); + }); + + it('should parse ARGB integer (green with half alpha)', () => { + const result = parseRiveColor(0x8000ff00); + expect(result).toEqual({ r: 0, g: 255, b: 0, a: 128 }); + }); + + it('should parse ARGB integer (blue with full alpha)', () => { + const result = parseRiveColor(0xff0000ff); + expect(result).toEqual({ r: 0, g: 0, b: 255, a: 255 }); + }); + + it('should parse ARGB integer (transparent)', () => { + const result = parseRiveColor(0x00000000); + expect(result).toEqual({ r: 0, g: 0, b: 0, a: 0 }); + }); + + it('should parse ARGB integer (custom color)', () => { + const result = parseRiveColor(0x80ff5733); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 128 }); + }); + }); + + describe('RiveColor object parsing', () => { + it('should normalize RiveColor with all components', () => { + const result = parseRiveColor({ r: 255, g: 87, b: 51, a: 128 }); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 128 }); + }); + + it('should default alpha to 255 if missing', () => { + const result = parseRiveColor({ r: 255, g: 0, b: 0 } as RiveColor); + expect(result).toEqual({ r: 255, g: 0, b: 0, a: 255 }); + }); + + it('should clamp values above 255', () => { + const result = parseRiveColor({ r: 300, g: 400, b: 500, a: 600 }); + expect(result).toEqual({ r: 255, g: 255, b: 255, a: 255 }); + }); + + it('should clamp values below 0', () => { + const result = parseRiveColor({ r: -10, g: -20, b: -30, a: -40 }); + expect(result).toEqual({ r: 0, g: 0, b: 0, a: 0 }); + }); + + it('should handle floating point values', () => { + const result = parseRiveColor({ + r: 255.7, + g: 87.3, + b: 51.9, + a: 128.5, + }); + expect(result).toEqual({ r: 255, g: 87, b: 52, a: 129 }); + }); + }); + + describe('invalid inputs', () => { + it('should throw on null', () => { + expect(() => parseRiveColor(null as unknown as string)).toThrow( + 'Invalid color format', + ); + }); + + it('should throw on undefined', () => { + expect(() => parseRiveColor(undefined as unknown as string)).toThrow( + 'Invalid color format', + ); + }); + + it('should throw on boolean', () => { + expect(() => parseRiveColor(true as unknown as string)).toThrow( + 'Invalid color format', + ); + }); + }); + }); + + describe('riveColorToArgb', () => { + it('should convert red to ARGB', () => { + const result = riveColorToArgb({ r: 255, g: 0, b: 0, a: 255 }); + expect(result).toBe(0xffff0000); + }); + + it('should convert green to ARGB', () => { + const result = riveColorToArgb({ r: 0, g: 255, b: 0, a: 255 }); + expect(result).toBe(0xff00ff00); + }); + + it('should convert blue to ARGB', () => { + const result = riveColorToArgb({ r: 0, g: 0, b: 255, a: 255 }); + expect(result).toBe(0xff0000ff); + }); + + it('should convert transparent black to ARGB', () => { + const result = riveColorToArgb({ r: 0, g: 0, b: 0, a: 0 }); + expect(result).toBe(0x00000000); + }); + + it('should convert semi-transparent color to ARGB', () => { + const result = riveColorToArgb({ r: 255, g: 87, b: 51, a: 128 }); + expect(result).toBe(0x80ff5733); + }); + + it('should handle floating point values', () => { + const result = riveColorToArgb({ + r: 255.7, + g: 87.3, + b: 51.9, + a: 128.5, + }); + expect(result).toBe(0x81ff5734); + }); + + it('should clamp values above 255', () => { + const result = riveColorToArgb({ r: 300, g: 400, b: 500, a: 600 }); + expect(result).toBe(0xffffffff); + }); + + it('should clamp values below 0', () => { + const result = riveColorToArgb({ r: -10, g: -20, b: -30, a: -40 }); + expect(result).toBe(0x00000000); + }); + }); + + describe('riveColorToHex', () => { + it('should convert red to hex', () => { + const result = riveColorToHex({ r: 255, g: 0, b: 0, a: 255 }); + expect(result).toBe('#FF0000FF'); + }); + + it('should convert green to hex', () => { + const result = riveColorToHex({ r: 0, g: 255, b: 0, a: 255 }); + expect(result).toBe('#00FF00FF'); + }); + + it('should convert blue to hex', () => { + const result = riveColorToHex({ r: 0, g: 0, b: 255, a: 255 }); + expect(result).toBe('#0000FFFF'); + }); + + it('should convert transparent black to hex', () => { + const result = riveColorToHex({ r: 0, g: 0, b: 0, a: 0 }); + expect(result).toBe('#00000000'); + }); + + it('should convert semi-transparent color to hex', () => { + const result = riveColorToHex({ r: 255, g: 87, b: 51, a: 128 }); + expect(result).toBe('#FF573380'); + }); + + it('should pad single-digit hex values', () => { + const result = riveColorToHex({ r: 1, g: 2, b: 3, a: 4 }); + expect(result).toBe('#01020304'); + }); + + it('should handle floating point values', () => { + const result = riveColorToHex({ + r: 255.7, + g: 87.3, + b: 51.9, + a: 128.5, + }); + expect(result).toBe('#FF573481'); + }); + + it('should clamp values above 255', () => { + const result = riveColorToHex({ r: 300, g: 400, b: 500, a: 600 }); + expect(result).toBe('#FFFFFFFF'); + }); + + it('should clamp values below 0', () => { + const result = riveColorToHex({ r: -10, g: -20, b: -30, a: -40 }); + expect(result).toBe('#00000000'); + }); + }); + + describe('round-trip conversions', () => { + it('should round-trip hex -> RiveColor -> hex', () => { + const original = '#FF5733AA'; + const parsed = parseRiveColor(original); + const converted = riveColorToHex(parsed); + expect(converted).toBe(original); + }); + + it('should round-trip ARGB -> RiveColor -> ARGB', () => { + const original = 0x80ff5733; + const parsed = parseRiveColor(original); + const converted = riveColorToArgb(parsed); + expect(converted).toBe(original); + }); + + it('should round-trip RiveColor -> hex -> RiveColor', () => { + const original: RiveColor = { r: 255, g: 87, b: 51, a: 128 }; + const hex = riveColorToHex(original); + const parsed = parseRiveColor(hex); + expect(parsed).toEqual(original); + }); + + it('should round-trip RiveColor -> ARGB -> RiveColor', () => { + const original: RiveColor = { r: 255, g: 87, b: 51, a: 128 }; + const argb = riveColorToArgb(original); + const parsed = parseRiveColor(argb); + expect(parsed).toEqual(original); + }); + }); +}); diff --git a/libs/rive-angular-core/src/lib/utils/color-parser.ts b/libs/rive-angular-core/src/lib/utils/color-parser.ts new file mode 100644 index 0000000..326ecc0 --- /dev/null +++ b/libs/rive-angular-core/src/lib/utils/color-parser.ts @@ -0,0 +1,139 @@ +import { RiveColor } from '../models/data-binding.types'; + +/** + * Parses various color input formats into a normalized RiveColor object. + * + * Supported formats: + * - Hex string: '#RRGGBB' or '#RRGGBBAA' + * - ARGB integer: 0xAARRGGBB (32-bit integer) + * - RiveColor object: { r, g, b, a? } + * + * @param input - Color in any supported format + * @returns Normalized RiveColor object with all components in 0-255 range + * @throws Error if the input format is invalid + * + * @example + * parseRiveColor('#FF5733') // { r: 255, g: 87, b: 51, a: 255 } + * parseRiveColor('#FF573380') // { r: 255, g: 87, b: 51, a: 128 } + * parseRiveColor(0x80FF5733) // { r: 255, g: 87, b: 51, a: 128 } + * parseRiveColor({ r: 255, g: 0, b: 0 }) // { r: 255, g: 0, b: 0, a: 255 } + */ +export function parseRiveColor( + input: string | number | RiveColor, +): RiveColor { + // If already a RiveColor object, normalize it + if (typeof input === 'object' && input !== null) { + return { + r: clamp(Math.round(input.r), 0, 255), + g: clamp(Math.round(input.g), 0, 255), + b: clamp(Math.round(input.b), 0, 255), + a: clamp(Math.round(input.a ?? 255), 0, 255), + }; + } + + // If hex string + if (typeof input === 'string') { + return parseHexColor(input); + } + + // If ARGB integer + if (typeof input === 'number') { + return parseArgbInteger(input); + } + + throw new Error( + `Invalid color format: ${input}. Expected hex string, ARGB integer, or RiveColor object.`, + ); +} + +/** + * Converts a RiveColor object to an ARGB 32-bit integer. + * + * @param color - RiveColor object + * @returns ARGB integer in format 0xAARRGGBB + * + * @example + * riveColorToArgb({ r: 255, g: 0, b: 0, a: 255 }) // 0xFFFF0000 + * riveColorToArgb({ r: 0, g: 128, b: 255, a: 128 }) // 0x800080FF + */ +export function riveColorToArgb(color: RiveColor): number { + const a = clamp(Math.round(color.a), 0, 255); + const r = clamp(Math.round(color.r), 0, 255); + const g = clamp(Math.round(color.g), 0, 255); + const b = clamp(Math.round(color.b), 0, 255); + + return ((a << 24) | (r << 16) | (g << 8) | b) >>> 0; +} + +/** + * Converts a RiveColor object to a hex string. + * + * @param color - RiveColor object + * @returns Hex string in format '#RRGGBBAA' + * + * @example + * riveColorToHex({ r: 255, g: 0, b: 0, a: 255 }) // '#FF0000FF' + * riveColorToHex({ r: 0, g: 128, b: 255, a: 128 }) // '#0080FF80' + */ +export function riveColorToHex(color: RiveColor): string { + const r = clamp(Math.round(color.r), 0, 255) + .toString(16) + .padStart(2, '0'); + const g = clamp(Math.round(color.g), 0, 255) + .toString(16) + .padStart(2, '0'); + const b = clamp(Math.round(color.b), 0, 255) + .toString(16) + .padStart(2, '0'); + const a = clamp(Math.round(color.a), 0, 255) + .toString(16) + .padStart(2, '0'); + + return `#${r}${g}${b}${a}`.toUpperCase(); +} + +/** + * Parses a hex color string into a RiveColor object. + * Supports both '#RRGGBB' and '#RRGGBBAA' formats. + */ +function parseHexColor(hex: string): RiveColor { + // Remove '#' if present + const cleanHex = hex.startsWith('#') ? hex.slice(1) : hex; + + // Validate hex string + if (!/^[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$/.test(cleanHex)) { + throw new Error( + `Invalid hex color format: ${hex}. Expected '#RRGGBB' or '#RRGGBBAA'.`, + ); + } + + const r = parseInt(cleanHex.slice(0, 2), 16); + const g = parseInt(cleanHex.slice(2, 4), 16); + const b = parseInt(cleanHex.slice(4, 6), 16); + const a = cleanHex.length === 8 ? parseInt(cleanHex.slice(6, 8), 16) : 255; + + return { r, g, b, a }; +} + +/** + * Parses an ARGB 32-bit integer into a RiveColor object. + * Format: 0xAARRGGBB + */ +function parseArgbInteger(argb: number): RiveColor { + // Ensure it's a valid 32-bit unsigned integer + const value = argb >>> 0; + + const a = (value >> 24) & 0xff; + const r = (value >> 16) & 0xff; + const g = (value >> 8) & 0xff; + const b = value & 0xff; + + return { r, g, b, a }; +} + +/** + * Clamps a value between min and max. + */ +function clamp(value: number, min: number, max: number): number { + return Math.max(min, Math.min(max, value)); +} diff --git a/libs/rive-angular-core/src/lib/utils/debug-config.ts b/libs/rive-angular-core/src/lib/utils/debug-config.ts new file mode 100644 index 0000000..b558dbe --- /dev/null +++ b/libs/rive-angular-core/src/lib/utils/debug-config.ts @@ -0,0 +1,40 @@ +import { InjectionToken, Provider } from '@angular/core'; + +/** + * Log levels for Rive debugging. + * - 'none': No output + * - 'error': Only errors (default) + * - 'warn': Errors and warnings + * - 'info': High-level info (loaded, played) + * - 'debug': Detailed logs (internal state, events) + */ +export type LogLevel = 'none' | 'error' | 'warn' | 'info' | 'debug'; + +/** + * Configuration for Rive debug mode. + */ +export interface RiveDebugConfig { + logLevel: LogLevel; +} + +/** + * Injection token for global Rive debug configuration. + * Can be provided via provideRiveDebug(). + */ +export const RIVE_DEBUG_CONFIG = new InjectionToken('RIVE_DEBUG_CONFIG'); + +/** + * Provides global configuration for Rive debugging. + * Use this in your app.config.ts or module providers. + * + * @example + * providers: [ + * provideRiveDebug({ logLevel: 'debug' }) + * ] + */ +export function provideRiveDebug(config: RiveDebugConfig): Provider { + return { + provide: RIVE_DEBUG_CONFIG, + useValue: config, + }; +} diff --git a/libs/rive-angular-core/src/lib/utils/element-observer.ts b/libs/rive-angular-core/src/lib/utils/element-observer.ts new file mode 100644 index 0000000..9bff311 --- /dev/null +++ b/libs/rive-angular-core/src/lib/utils/element-observer.ts @@ -0,0 +1,89 @@ +import { Injectable, inject, PLATFORM_ID } from '@angular/core'; +import { isPlatformBrowser } from '@angular/common'; + +/** + * Fake IntersectionObserver for environments where it's not available (e.g., SSR) + */ +class FakeIntersectionObserver implements IntersectionObserver { + readonly root: Element | Document | null = null; + readonly rootMargin: string = ''; + readonly thresholds: ReadonlyArray = []; + + observe(): void { + // Intentionally empty for SSR compatibility + } + unobserve(): void { + // Intentionally empty for SSR compatibility + } + disconnect(): void { + // Intentionally empty for SSR compatibility + } + takeRecords(): IntersectionObserverEntry[] { + return []; + } +} + +const MyIntersectionObserver = + (typeof globalThis !== 'undefined' && globalThis.IntersectionObserver) || + FakeIntersectionObserver; + +/** + * Singleton IntersectionObserver wrapper for observing multiple elements + * with individual callbacks. This avoids creating multiple IntersectionObserver + * instances which is more efficient. + * + * Provided as an Angular service for better testability and DI integration. + */ +@Injectable({ + providedIn: 'root', +}) +export class ElementObserver { + private observer: IntersectionObserver; + private elementsMap: Map void> = new Map(); + private readonly platformId = inject(PLATFORM_ID); + + constructor() { + // Only create real observer in browser environment + if (isPlatformBrowser(this.platformId)) { + this.observer = new MyIntersectionObserver( + this.onObserved, + ) as IntersectionObserver; + } else { + this.observer = new FakeIntersectionObserver(); + } + } + + private onObserved = (entries: IntersectionObserverEntry[]): void => { + entries.forEach((entry) => { + const elementCallback = this.elementsMap.get(entry.target as Element); + if (elementCallback) { + elementCallback(entry); + } + }); + }; + + public registerCallback(element: Element, callback: (entry: IntersectionObserverEntry) => void): void { + this.observer.observe(element); + this.elementsMap.set(element, callback); + } + + public removeCallback(element: Element): void { + this.observer.unobserve(element); + this.elementsMap.delete(element); + } +} + +// Legacy function for backward compatibility +// New code should inject ElementObserver directly +let legacyObserverInstance: ElementObserver | null = null; + +/** + * @deprecated Use dependency injection instead: `inject(ElementObserver)` + * Get the singleton ElementObserver instance + */ +export function getElementObserver(): ElementObserver { + if (!legacyObserverInstance) { + legacyObserverInstance = new ElementObserver(); + } + return legacyObserverInstance; +} diff --git a/libs/rive-angular-core/src/lib/utils/error-codes.ts b/libs/rive-angular-core/src/lib/utils/error-codes.ts new file mode 100644 index 0000000..3eedcea --- /dev/null +++ b/libs/rive-angular-core/src/lib/utils/error-codes.ts @@ -0,0 +1,73 @@ +/** + * Error codes used throughout the Rive Angular library. + * + * Ranges: + * - RIVE_1xx: Load errors (file not found, network, bad format) + * - RIVE_2xx: Validation errors (artboard, animation, state machine mismatch) + * - RIVE_3xx: Configuration/Usage errors (missing source, bad canvas) + * - RIVE_4xx: Data Binding errors (ViewModel, property not found, type mismatch) + */ +export enum RiveErrorCode { + // Load Errors + FileNotFound = 'RIVE_101', + InvalidFormat = 'RIVE_102', + NetworkError = 'RIVE_103', + + // Validation Errors + ArtboardNotFound = 'RIVE_201', + AnimationNotFound = 'RIVE_202', + StateMachineNotFound = 'RIVE_203', + InputNotFound = 'RIVE_204', + TextRunNotFound = 'RIVE_205', + + // Configuration Errors + NoSource = 'RIVE_301', + InvalidCanvas = 'RIVE_302', + + // Data Binding Errors + ViewModelNotFound = 'RIVE_401', + DataBindingPropertyNotFound = 'RIVE_402', + DataBindingTypeMismatch = 'RIVE_403', +} + +/** + * Template messages for each error code. + * Used by formatErrorMessage to generate user-friendly descriptions. + */ +export const ERROR_MESSAGES: Record = { + [RiveErrorCode.FileNotFound]: 'File not found: {url}', + [RiveErrorCode.InvalidFormat]: 'Invalid .riv file format', + [RiveErrorCode.NetworkError]: 'Network error while loading file', + [RiveErrorCode.ArtboardNotFound]: 'Artboard "{name}" not found', + [RiveErrorCode.AnimationNotFound]: 'Animation "{name}" not found', + [RiveErrorCode.StateMachineNotFound]: 'State machine "{name}" not found', + [RiveErrorCode.InputNotFound]: 'Input "{name}" not found in "{stateMachine}"', + [RiveErrorCode.TextRunNotFound]: 'Text run "{name}" not found', + [RiveErrorCode.NoSource]: 'No animation source provided', + [RiveErrorCode.InvalidCanvas]: 'Invalid canvas element', + [RiveErrorCode.ViewModelNotFound]: 'ViewModel "{name}" not found', + [RiveErrorCode.DataBindingPropertyNotFound]: + 'Data binding property "{path}" not found in ViewModel', + [RiveErrorCode.DataBindingTypeMismatch]: + 'Data binding type mismatch for "{path}": expected {expected}, got {actual}', +}; + +/** + * Formats an error message by replacing placeholders with actual values. + * + * @param code - The error code + * @param params - Record of values to replace in the template (e.g. { name: 'MyAnim' }) + * @returns The formatted error string + */ +export function formatErrorMessage( + code: RiveErrorCode, + params: Record = {}, +): string { + let message = ERROR_MESSAGES[code] || 'Unknown Rive error'; + + for (const [key, value] of Object.entries(params)) { + message = message.replace(`{${key}}`, value); + } + + return message; +} diff --git a/libs/rive-angular-core/src/lib/utils/logger.ts b/libs/rive-angular-core/src/lib/utils/logger.ts new file mode 100644 index 0000000..22afb79 --- /dev/null +++ b/libs/rive-angular-core/src/lib/utils/logger.ts @@ -0,0 +1,74 @@ +import { LogLevel, RiveDebugConfig } from './debug-config'; + +/** + * Internal logger for Rive Angular library. + * Handles log levels and formatting. + * Not exported publicly. + */ +export class RiveLogger { + private level: LogLevel; + + constructor(globalConfig?: RiveDebugConfig | null, localDebug?: boolean) { + this.level = this.resolveLogLevel(globalConfig, localDebug); + } + + /** + * Resolve effective log level based on precedence rules: + * 1. Local debug=true -> 'debug' + * 2. Local debug=false/undefined -> Use global config + * 3. No config -> 'error' (default) + */ + private resolveLogLevel( + globalConfig?: RiveDebugConfig | null, + localDebug?: boolean, + ): LogLevel { + if (localDebug === true) { + return 'debug'; + } + if (globalConfig?.logLevel) { + return globalConfig.logLevel; + } + return 'error'; + } + + /** + * Update log level dynamically (e.g. when input changes) + */ + public update( + globalConfig?: RiveDebugConfig | null, + localDebug?: boolean, + ): void { + this.level = this.resolveLogLevel(globalConfig, localDebug); + } + + public debug(message: string, ...args: unknown[]): void { + if (this.shouldLog('debug')) { + console.debug(`[Rive] ${message}`, ...args); + } + } + + public info(message: string, ...args: unknown[]): void { + if (this.shouldLog('info')) { + console.info(`[Rive] ${message}`, ...args); + } + } + + public warn(message: string, ...args: unknown[]): void { + if (this.shouldLog('warn')) { + console.warn(`[Rive] ${message}`, ...args); + } + } + + public error(message: string, ...args: unknown[]): void { + if (this.shouldLog('error')) { + console.error(`[Rive] ${message}`, ...args); + } + } + + private shouldLog(level: LogLevel): boolean { + const levels: LogLevel[] = ['none', 'error', 'warn', 'info', 'debug']; + const currentIdx = levels.indexOf(this.level); + const targetIdx = levels.indexOf(level); + return currentIdx >= targetIdx; + } +} diff --git a/libs/rive-angular-core/src/lib/utils/validator.ts b/libs/rive-angular-core/src/lib/utils/validator.ts new file mode 100644 index 0000000..0882401 --- /dev/null +++ b/libs/rive-angular-core/src/lib/utils/validator.ts @@ -0,0 +1,182 @@ +import { RiveValidationError } from '../models/rive-errors'; +import { RiveErrorCode, formatErrorMessage } from './error-codes'; +import { RiveLogger } from './logger'; + +/** Minimal Rive instance shape used for validation; works for canvas and webgl2 runtimes. */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type RiveLike = any; + +/** + * Validates requested artboard name against available artboards. + * Returns error if not found. + */ +export function validateArtboard( + rive: RiveLike, + requestedName?: string, +): RiveValidationError | null { + if (!requestedName) return null; + + try { + // Safe check: ensure artboardNames exist on runtime + // Note: These properties exist at runtime but may not be in type definitions + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const available = (rive as any).artboardNames; + if (!available || !available.includes(requestedName)) { + return new RiveValidationError( + formatErrorMessage(RiveErrorCode.ArtboardNotFound, { + name: requestedName, + }), + RiveErrorCode.ArtboardNotFound, + available || [], + available && available.length > 0 + ? `Available artboards: ${available.join(', ')}` + : 'No artboards found in file', + ); + } + } catch { + // Graceful fallback if runtime metadata is not accessible + // Return null silently to avoid breaking validation flow + } + return null; +} + +/** + * Validates requested animation names against available animations. + * Returns first error found. + */ +export function validateAnimations( + rive: RiveLike, + requestedNames?: string | string[], +): RiveValidationError | null { + if (!requestedNames) return null; + + const names = Array.isArray(requestedNames) + ? requestedNames + : [requestedNames]; + + try { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const available = (rive as any).animationNames; + for (const name of names) { + if (!available || !available.includes(name)) { + return new RiveValidationError( + formatErrorMessage(RiveErrorCode.AnimationNotFound, { name }), + RiveErrorCode.AnimationNotFound, + available || [], + available && available.length > 0 + ? `Available animations: ${available.join(', ')}` + : 'No animations found in file', + ); + } + } + } catch { + // Graceful fallback if runtime metadata is not accessible + // Return null silently to avoid breaking validation flow + } + return null; +} + +/** + * Validates requested state machine names against available state machines. + * Returns first error found. + */ +export function validateStateMachines( + rive: RiveLike, + requestedNames?: string | string[], +): RiveValidationError | null { + if (!requestedNames) return null; + + const names = Array.isArray(requestedNames) + ? requestedNames + : [requestedNames]; + + try { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const available = (rive as any).stateMachineNames; + for (const name of names) { + if (!available || !available.includes(name)) { + return new RiveValidationError( + formatErrorMessage(RiveErrorCode.StateMachineNotFound, { name }), + RiveErrorCode.StateMachineNotFound, + available || [], + available && available.length > 0 + ? `Available state machines: ${available.join(', ')}` + : 'No state machines found in file', + ); + } + } + } catch { + // Graceful fallback if runtime metadata is not accessible + // Return null silently to avoid breaking validation flow + } + return null; +} + +/** + * Validates if an input exists within a specific state machine. + */ +export function validateInput( + rive: RiveLike, + stateMachineName: string, + inputName: string, +): RiveValidationError | null { + try { + const inputs = rive.stateMachineInputs(stateMachineName); + if (!inputs) return null; // Should not happen if SM exists + + const found = inputs.find((i: { name: string }) => i.name === inputName); + if (!found) { + const available = inputs.map((i: { name: string }) => i.name); + return new RiveValidationError( + formatErrorMessage(RiveErrorCode.InputNotFound, { + name: inputName, + stateMachine: stateMachineName, + }), + RiveErrorCode.InputNotFound, + available, + available.length > 0 + ? `Available inputs in "${stateMachineName}": ${available.join(', ')}` + : `No inputs found in state machine "${stateMachineName}"`, + ); + } + } catch { + // Graceful fallback if runtime metadata is not accessible + // Return null silently to avoid breaking validation flow + } + return null; +} + +/** + * Runs full configuration validation. + * Logs warnings and returns array of errors. + */ +export function validateConfiguration( + rive: RiveLike, + config: { + artboard?: string; + animations?: string | string[]; + stateMachines?: string | string[]; + }, + logger: RiveLogger, +): RiveValidationError[] { + const errors: RiveValidationError[] = []; + + const artboardError = validateArtboard(rive, config.artboard); + if (artboardError) errors.push(artboardError); + + const animError = validateAnimations(rive, config.animations); + if (animError) errors.push(animError); + + const smError = validateStateMachines(rive, config.stateMachines); + if (smError) errors.push(smError); + + if (errors.length > 0) { + logger.warn(`Validation failed with ${errors.length} errors:`); + errors.forEach((err) => { + logger.warn(`- ${err.message}`); + if (err.suggestion) logger.warn(` Suggestion: ${err.suggestion}`); + }); + } + + return errors; +} diff --git a/libs/rive-angular-core/src/test-setup.ts b/libs/rive-angular-core/src/test-setup.ts new file mode 100644 index 0000000..ca20f51 --- /dev/null +++ b/libs/rive-angular-core/src/test-setup.ts @@ -0,0 +1,6 @@ +import { setupZonelessTestEnv } from 'jest-preset-angular/setup-env/zoneless'; + +setupZonelessTestEnv({ + errorOnUnknownElements: true, + errorOnUnknownProperties: true +}); diff --git a/libs/rive-angular-core/tsconfig.json b/libs/rive-angular-core/tsconfig.json new file mode 100644 index 0000000..67ecfd1 --- /dev/null +++ b/libs/rive-angular-core/tsconfig.json @@ -0,0 +1,31 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "isolatedModules": true, + "target": "es2022", + "moduleResolution": "bundler", + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "emitDecoratorMetadata": false, + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/libs/rive-angular-core/tsconfig.lib.json b/libs/rive-angular-core/tsconfig.lib.json new file mode 100644 index 0000000..5bfe57f --- /dev/null +++ b/libs/rive-angular-core/tsconfig.lib.json @@ -0,0 +1,20 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "declaration": true, + "declarationMap": true, + "inlineSources": true, + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "jest.config.ts", + "jest.config.cts", + "src/test-setup.ts" + ] +} diff --git a/libs/rive-angular-core/tsconfig.spec.json b/libs/rive-angular-core/tsconfig.spec.json new file mode 100644 index 0000000..0fae7d0 --- /dev/null +++ b/libs/rive-angular-core/tsconfig.spec.json @@ -0,0 +1,22 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "target": "es2016", + "types": [ + "jest", + "node" + ], + "moduleResolution": "node10" + }, + "files": [ + "src/test-setup.ts" + ], + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/libs/rive-angular-webgl2/README.md b/libs/rive-angular-webgl2/README.md new file mode 100644 index 0000000..d1585f9 --- /dev/null +++ b/libs/rive-angular-webgl2/README.md @@ -0,0 +1,60 @@ +# @grandgular/rive-angular-webgl2 + +**Rive for Angular (WebGL2 / Rive Renderer)** — a modern [Angular](https://angular.dev) (18+) library for [Rive](https://rive.app) `.riv` animations: standalone [`RiveCanvasComponent`](https://github.com/Grandgular/rive#readme), [`RiveFileService`](https://github.com/Grandgular/rive#readme) for loading and caching, optional [`provideRiveRuntime()`](https://github.com/Grandgular/rive#readme) for WASM, **ViewModel / data binding**, state machines, and signal-based, zoneless-friendly updates. + +This package is the **recommended** Rive web runtime for most projects: it uses the official [`@rive-app/webgl2`](https://www.npmjs.com/package/@rive-app/webgl2) peer (Rive Renderer) for strong rendering quality and performance. For the smaller **Canvas2D** runtime, see [`@grandgular/rive-angular-canvas`](https://www.npmjs.com/package/@grandgular/rive-angular-canvas) and Rive’s [Canvas vs WebGL2](https://rive.app/docs/runtimes/web/canvas-vs-webgl) guide. + +![Rive for Angular – interactive showcase (GIF)](./docs/rive-showcase.gif) + +## Install + +```bash +npm install @grandgular/rive-angular-webgl2 @rive-app/webgl2 +``` + +`@rive-app/webgl2` is a **peer dependency** (you install it next to this package so versions stay aligned with your app). + +## Quick start + +**1. Import the component** (standalone) where you use ``: + +```typescript +import { RiveCanvasComponent, Fit, Alignment } from '@grandgular/rive-angular-webgl2'; +``` + +**2. Register the component** in the standalone `imports` array of your feature component (or your route `loadComponent` setup). + +**3. Use the template** (component selector and inputs are shared with the canvas package): + +```html + +``` + +**4. (Optional) Configure the Rive WASM runtime** in `app.config.ts` — see the full [README](https://github.com/Grandgular/rive#readme) and [CHANGELOG](https://github.com/Grandgular/rive/blob/main/CHANGELOG.md) for `provideRiveRuntime({ wasmUrl, lazy: true })` and `provideRiveDebug()`. + +## What you get (API overview) + +- **``** — load `.riv` from `src` or `buffer`, layout (`Fit` / `Alignment`), playback, state machines, inputs, ViewModel + **data binding**, lifecycle and error outputs. +- **`RiveFileService`** — preload, dedupe, and cache `RiveFile` instances across components. +- **Types re-exported** from your Rive peer (`@rive-app/webgl2`) where useful: e.g. `Rive`, `RiveFile`, `Layout`, `Fit`, `Alignment`, `LoopType`, and related types — same surface as the canvas package, different runtime. +- **Shared helpers** (colors, errors, debug) are shipped inside this package; full narrative docs live in the monorepo [README](https://github.com/Grandgular/rive#readme). + +## Versioning and migration + +These packages are published as **2.0.0** as a **product-line major** (renderer split; legacy meta package no longer built from this repo). See [“Why 2.0.0”](https://github.com/Grandgular/rive#readme) and the **Migration** section in the root README if you used `@grandgular/rive-angular` before. + +## More documentation + +- **Full guide, comparisons, and advanced topics:** [GitHub `README.md`](https://github.com/Grandgular/rive#readme) +- **Changelog:** [`CHANGELOG.md`](https://github.com/Grandgular/rive/blob/main/CHANGELOG.md) +- **Canvas alternative:** [`@grandgular/rive-angular-canvas`](https://www.npmjs.com/package/@grandgular/rive-angular-canvas) + [`@rive-app/canvas`](https://www.npmjs.com/package/@rive-app/canvas) +- **Rive runtimes (official):** [Web](https://rive.app/docs/runtimes/web/web) — WebGL2 vs Canvas, performance, and feature notes. + +## License + +[MIT](https://github.com/Grandgular/rive/blob/main/LICENSE) (see repository). diff --git a/libs/rive-angular-webgl2/docs/rive-showcase.gif b/libs/rive-angular-webgl2/docs/rive-showcase.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e7b0174c24ad4d0dbb65d4e33a46014ac484948 GIT binary patch literal 1378324 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�Y%qQIhm3_KK<4cCd&X`4+7>v%N4k|Z(FqO>qfxB&X?Qd*{;$owrc}9it+OX7* zZ_B-w$1&1foxi^i+~7VHHYC0OYwO+FFYOd%O_#~o;lHpQCVwhvCt-|7=UXy^-rCVS zla>*-tPyu*;46`(E6dL2nxMXbWd?vBV4{^6eCg_T`kj+K^wv2Z;_v%bMYr7q+A?v0 zTPtty?)|ave1+eLuSAzKxEB&Qpf6^4d554x0U0WjQX*06(vg?D#TY}#Y_7((V5!(ZD4dvNwXZ;k;ai2^@56MboP^IVYsTPt zy95)HQs6oRJc*p-;@g2sniGX$kFXRm71_)03Y@bl*b_!ot#ItrBfhR(F=N(m9~cM?zA1BaO6 zXbcH4HRu^Wpws(>W6W7Xk0j7W?D+afbErhLQ$B3UsRAYs6%>(hMs7&VtlcQbry;FI z@o8LB5^_(}KZyfpIk{zvs!mFS5-NN*nY)xvXyEGZtNlI#>4|-p#cN74J*DGmtk9*(^Fp-32 z{6g^J${U((lF@5m3Da6vp4T%_1KnQTdK#B9%Hns`JAc}mchzBiy6;;2#w0fVp||D* zW>doT*n|6@an3<-@t!aynD~IE57RgRdOy-zu1H*s8~AfrA;oPqc3Cy?bNhNOKwy6ve^2Z)XzgSsGT@7lAG*zb z5k6E0^V0;@P3gvF&+8ly7Q}qAyU2EyBgtjUh2H#-jjdJu!CPl@ANLspj^FqQJ2;VU z4-%eBx0%O@(7M7>u28vVs|rX z?}<+p;a_Tv`JHSk1aDR72rZ5}SVxIY92Pz@bWD6ssd zvC#1rF{4bHr_(=Ylv;*M1Vj%_7rpT;)(xs;xRYyCtm3DyT6jr;R)PNP>t`0s*%2mJ z(8ze# zaDTMgYqkO#Y-@i1L`4U9_E|UEnisky;xSlFbjd5d#EX~WtAN=hF z%#>gaMspch%ftwi<%GYyfS0Z!R&?qT``Z76Vl8xj`;JR^(S?~W3bj0X)#`hGO8Ul* z)fl=XoN6*zHwPaQonPz~9G8l*f@zIPX z^sX{1>QQTV9aWTULjm~X+|V{eNs;t4eD|I9vmh!HLeZ`-PP|u5ouJqX=k&-H7-}fX zZN{Zf$o4qyz&(6LKYrkgB`S<)ra*m1@OSvu;-z8iO(;R)ZplWuBb8=RLY6Hl%IVDT zo{%ddeUwbQ1swawRhDc`xoMppssM#ppL~26A?`vep?O)-$~Ie$o%Mp$t3Mw9P3yYDqzx z^`Ea^^VJxi{DP}p?qRUb6Mu*51V#i&G*CY%Uc{?km2mxF|Dk+4pc4;DGQ+zKR1+!C zYcgGMjYt4uoOm~b7Gd%AxssHMBG3%Lq6T5|{!(q3TYmKXEHRtN5#F&h%eCQQHJYuRs*47uS@$`MxZd=`Swq0456U$1H@~p7nvJ623!?Imeyv*2uEyV|yZl-xWe(|XIPkF9L+D*z!uuEXW{j2+ zrNCBh(JX*ZUcYj`^$nYeGuKRrW*JkHw#=u+s}seC?OzWZ)a9ky@YCHICpGg6{v7OR z*%eV{P9KHJ0U7`W{{D-g6UBZ=@!J#QLLM`4t?jT4hK9;SH0JigeJ18Y@5mh+WoUO1 zVt+Xm8}6dFdyE81F8A>_DLsWI_bF9uS*Mh=fS*T;Zhq?Em#edQq@~nPhWfM`-`kL`S(A)9g0!*yV2IV+UEBu=|7K`krlfLF=;(z*MO4a>wJKGuMr(O&hZ4f|(X;Z#)!ab3l zdYJoDrv8DIeA6YVnch0@W8*Wl%%vlhq3Th*HYalQj+nD=yMNHk7Vcsm+R34;h$ux= z^8G%=45W9z$w!jgujVQyOgYYNv}uhR{@l*naxd1JWrH{TaY<-PNL*b#aXij?gvd;G z)ZM0W9l5^qyLHmZxY^@Azlg-kZF83}ItEk3DxD0wmkd zFaUU3QNl;fJjs`Z;b~9?P~RFd0aQb~AKJdgTR%B@zQ+DXHDC+ayo{f{dhLe*5|7tH z5{ZzeA1OYWu~4L-4T(C<5pux|#*VWkpCUeDQqy;2(z0o%Q%So{+wH9<}UqiKPb^&$XnEihS1MN&pqItz*4Ss@)|tC|$=;BBVt`{{jRxPbyhK zx$pH{IbX3zW(^St;{6J;`9^T_L_*Fu4>BRs05ZVQHuT4d5uA#MoG-wtf%<{{_b#B{ zP``M@wKUsb!PZZ@cW%mDr&}0)vm2b%IeN90X^H#wpP#Kyca*=~IhJxdUYvVMbH*2h z`gHH}**@D2`g;2d%7sSJ_V(eZ9Fy=!M1&GY52ni(GSIQY{0ZADHVXkPMpjvCZTr4| z+QKV!x*%KIx({#3C%RD|l~bVuc*X`wjPaTv_wPY{s;iMTvL>qW`voDnA*0;*y`;nM zA=|Nr{~C%NF#e!$@Art8X=Co($On~<-^ZiA$&GpI#_K0v{T>S)Ys~*OvVP{^_c)QU zses;OLyLQV;-66L#yO4sNlJ24iI~Zzp~L=E_E=My>gcBFjs58Y#^wsWe+|WU?7yr_ zZm#w;`DFiUf3|I`xh7=vlheWe991mU#h83{Mpz?K9=3KdK!5e6$^JpZ$Lmie>6trZ?N`;Xc}mHS1jE7~gxY zakNcI>0A>t`#t1v^xt^__l|Ze%$|I-8Q-7nIQsG5gkleleswc-ZN-=!u5v$6*V4ZY z-j#C;lXH2i;2xrsk4Y+N)7YO&K8FoTq{y~G1DEq>jxna4AfYX0X__8j-H-Wd@Sa0p z!1rxirr`0r-rK=TRBK`V$sGYzp+7&@^^R4~AhuzF-LfBk@{K!7$o7Lj%6+DF!BAh~ z0A2)EXpC_oeWwL1e8ocg>6_C)mock}qzI@tNUx_4)?k%Wx0LNPL3LY@$xG!l(McA9Km_){j=_qhke)QD3y-HacBgC5<}8=@OX=YJYRNH7lkE#V~Xd zBKjz-28G1RV%BL@jkxTSPzd&=7&s#);nolz9&l03mxeduj#6*J9&`L8h``mslzhb= zY>>F0aVhU18+#M(dr3?yVEnvfB~{#BZfF1s5|elsHF3r4i|$=c;9C(szi0lD7U;qy zDHX>9Q|KkQLX+*Kkqy3&Ua~(eZ)t#t3M`O;MK^NBn+C%Ih>7fZ#Yn`*F^z4R3nD7B5&y@gZX zplHwDsQ^>|q_K(~Z=#~HKwtry>cf=aP|?dt=0fR^b1-LFkqI&l2-|^!c@o-E+umqYJk33@sT1!Ao^i#eSW^-<*?(W6s z#%04d5?p%|>MBryLP#V?t6LjClGU3pSnd4hX$Yt*&OBhpd~z}JAnP)RNqS-qV) zIlFT&``x|XBFvK)BFcoMm@T~2;*`qb73x^6GxTt;KulnGEM7Lq~*mf%o{SOCC5 z27X7s^>9A=0euew(1`+SxsST{{OiOucr;893*90xZegKvpc6~H`+q$@CQzRozkz>y zazJ)B)BoM4I<-+=+@4w6@v`Rk zB+Xt5a+=ukMeF^2ek?R}8OT1TO(RZtN$ugyI#zg2){)Ps2hmFW_2i&&J1P9C!cOr~ z9_zE$!y#3UaW>x=cVE0Td)pg3pmiRuNSV_kg7VQX=2>c=O zv~{<4g-mn0^mAv&7p*8j;&^C`FkaG;BLC!Y&m=RK@jUKSx~mjxN!zg_&9Ybh>5*O?;6pA%R=uqc)0@C0gph*rLeP>NtX>a z%#^?iKXR7kK0l5(*Q)`)S4vHHT6k+_8DvW;1%J3~C;}hyuGTf%-rc-Z`PB=Ik8e4- zdB5s$$meF}%qW6lZ?@os9K(tQN-2J|K~S@I(_fBdX&J3N67k_98)S zxu_$7FRxh&r*-R8Ph2PTG%``H3uN_>S(?BQX`YN&AnL-PVuRg0+*Srp4wVCPhz(3^44Zah6M@AFo?boHB^SSQ}~PCbzdPDus1!6gVlQx62_jeD;`jYS}MAPRu$ z*GSrMm?Qe7(eI~1qvzid|bdW+r!j*K! zD){N{bszqi!Rr&aWfr(BvnI&7eC1M40i$IkB=&IA%sQQuO{>#dLpclu;DBz%62GDn zhFa{XZ@)e3PPZ+|Rbt5g?lB#lsG}x?>_jf(+s?<9^Ymb9C0%mxf=CMyUkA?Y9d;$*h zM+USo^JjF_F~ntd4xs<^SGv0>U%yYSH*y=u>4zacsn1@CCo@Yvt9c*emxHz09k;6Xh}Q@k2RD(S|m zQ2dcKr@%kqh5e_4chU@oF*IAO^?5FEw zf7FJV_`fr-$oi$NR62kM_o&9{n0WK02U6zB!3d zH6o2IkuH=7&n6<qdp(IY*YpJaM0a&mF3TUZ-)VzJ*1WAws z0W2e-nhw;!bR#XWw@l`?VSo!nK;_}o<_EdSPkbKClBXBd2UC}kGgz>EOSh%TmwqOK z?iniD7tA1%EqdU_oNUcIS1B}r2Mi{u21<%+0~EINa4qxH$i-Ry@q(!504$?U?+gSO z$8z4V0x!e0JoGW#Y8dRxtAg*5%+6@8Zu+2#7$}6mG|B&STJ)O-N3b7?naVE5b<_9a zVg=?{#;Lz$Hv@CK$fQCVv|AdpD0xRzuOGCTsZ8 zhl%?Ja3;rZM4yqDOPx5JuvA7IbpnNHlair{2X%4Y7ysEe{I3|gg}Xk#?_N8R z<*T0MZi%PX+706V z{bX!QS;?nrn>(c`Fpn1 z(+3_;*ADe29A6xan{KeqWJOGABiVp5+FGHJBYlk1#_IPDk5B_vIlJ}d9%C~HM8GSZ zr=N?A0{EVly^TmuUFVl=Xc9EGc6cqwuUp0$GjF-9DZc8!4DCkA_3V}koa^{JJCu;w zBxv9+Gz(|fPKkvAvYs-!_s=0ePQ^=4Q+2kDim3WaEp^l01Wn^F9~NYu0$40i_PN1D zvt2(9C8v1gl9lGp*G&CO;-_sjje`(?;=OIxc!}c|{;TouFRo%#lbd-V`x2eu^!4Pe zmmEMVF2Gf$`OtGnsSFY5s%4Mt_2P?yS8W!AZPvp9uhO6dDT&#l49&J>L5ZUI*JPvw z7INIaSuOmYHr9xsA~ceo%AQdrUDhd%k_}}p5fJN|tg1FJZl^ExWy=*rRcS0rB-|ef zwJ61RNWkr|!_mW&T4lQ*Ipu25k7cwf%N8r7=C5)Twe6ZVQ3A(zB#dObcxGzkx^!|s z-d#LjWcvhe)I{;6+Z;kYUCL(1X;wllhZ&)#$U|LRL%)pbzKcrlxQ5ZVR#^AienjC2 zaIB%~7_v_e#|#HFRi7-83|l_=e~6P9NRr-ljmrKZ4b)<%{gD-bB26)L#T6|EL2C~1 z$m-WAKFi-oottouS=-DtLZ~LlQH45{|L~VuuUcJ2N#OJejR3BoCqays_SnvU-uc(c z<%%<3?1!b9;WV0p*DXUIU9O$6cCZ*}^LI$-XluxECnhXiF4KEzfsz1lk|(36XjWuN z+KynjOiy;t)zS*YPRKgq*hA@Fk9_=arNTQw2C<0@+3)z~ttHoMlS>v25p8n^+zT`( zu3ej%*D{d@N|qpa!7>V8b4TnoHRHLxB(pQZ1%#BH zURFg~)?gfkcQDzt&v4Qr6cbkqId`WCNh1dMHUvCQcBPTVmV^fh(#l4$Myr`(88HfQ zq#;x3!+xbhn>I0CCXP5xIQlD&;av`$E@5X_PfauaoRXlZ=!_NrG0kM0mB~kJy9FB^ z0uJ-6cGc5Z#jLzxN!np`#WdL7myq2q$KI`EN&)(lyX!UX9dQ|nMx4CfzevrfE- zSzbebXhZ}z&nqNgTyG_l7%FppY5PiQ^`!6vVWb6qmDy6~qM&7Hk#?>*XS^4U#JMm* zjhrIP1>@2ra57G8g=}8Z)~{&VlTq*)qDJ=8nM7{0Vv*D5$P}HWu^KUiw;Mk}9(LEY+biGUfjeZwfc!?;F9vLYJLVXE8rO60MBF*Wp2wVFDt-A( zJ*nb(eTdrSeiq+qxc4c)j*jj!9Go|mKmKQ|5$hL)*vsWQQ7Z^M6`5FE>3NRjX zQs$!A_cGVb=_egU1?Vqqs#_XnMZ7Ex58GKpMINoMhBEBg-{ofR8U@|0%rNj3UeK#Z36{!^yh-D z$x=E?!XilF7v~Z`6cJpzf7o5Rs>DR^c%=bqq$7T8!OoReXLhCk`~#Oq%H@D>pFO>T zOw8BWW`22F6<^JGYhPvI5=E2D+)pumJT{Ke;=On@3H$;jc0jkk2KAPb8Q^_1+yoMS z=H44p1qbk+H#ThGVKp6L8OuOb<2zE6!$q5?K-u*kcFIL4cN>I;PoK zNaf zeo|(W3yC_qEcK?oOzEa;@+k;#8HAsRv+Wuwz(QcW+A1|xx?XxX!n#NEE|NJ)C zm~+8LTj*eRxGbP4wb&=#i+l0a|91cXH3|6t$o>ESMT%#WxY|fO^CZ4K5|)!Js74mH zC5wiV8Cs3)No3j;YWEUGg~Od3pugz`r+VP2xBzvy6VwmsFAAO#4@g}`P;0$_b7U}{ zzGNA3vm4dd?Vo{%>8XLn@KbW@$eR-?Cxp=h&XH#Q{=+lq@nr1 z8K_Em5DUq#i&hdNWMCnFoQR$+^dv6e>PEEhyvmv{N~_ubtbfcPbxmFX!iA5$bv*Cy z%86j6y7q)SA0$=OI;jF5yu7z#jMcOwSz^n+Asjg1-Dij^E-O$A~&g{aOm zFa)4q*TKREqYL~|%v;Dj05U`XUl%}b;?NGyqI;;oXCj&|HDO>QUObDf7aKRWmx!xN z0Dr|!aT4CbV3%~LKLicM#e9QEE`|C_^wKlqP7RJr?dkBYa{LYnmNG}#mBIQ4V|yL6?nbQPhTbhXFnCl}IB{Z3Dz^On@~ zRGxqW&KYuBS4KqxYFm6*IsQv(<`z{qLm>aAn^`1jCOrR5H(Sk@yY(hv|FN(Q68U~r z><0W3wd~oQ-lj-90gkk3e?=`HoH=d1qm1K{GendAidsta<@Q8VBQ3^EM&-7R-Y@kP zUHMNZqt9LW37>fRh>DUEnKySHBJrX2Cxr}rn)Kq2s$UPQ%8Z^RE;PKH)|a+xyu~8* zVZpal!V((vTA|b^tK2YUnSDyA*-OcWi2Pz_+^#fK;(K0jsPFUL?h7y%*xvcy^)F9{ zo!X9nexO*2FE&B(ch$WsZAjT&avF8Wu9-u)yz;Oc%*5H$e1r>*J<)h|D#rWevHfh- zsUjnbu($pU_@6xkZJAQPOrLf<(2DANmquH_)>zbAN00I8$e_)0_#xtD&%YdJgOaT| zq{jkKt=(bScJW_#$vi*%okN*c1@8v1J+?LwA!dl^JMy-)y}VdL6=yiwr1LAf@0(rY zrSIK;znWrH*@uuE<*{@l)_!R~DYiF3f%I`*)mL&2#@`FDuOO8o1isUPhKfQhAx2lq zwx)#TYO+^H@2E2Ba4WXO>KO`z?X|tXFBfD`V#{hTMhR`mCZkM&PO{Mz_!s}-f(i;V zPd??tLaIbF4{H)$Elw4b%S1*FO96Rg%9YM7K|>KK-KviUypOdKFZ663GmB}pEkjSZ zkA&_RX&SzPj*56JJpNe6z3Hc~=*;&bLE`=E841mnpEjjZSHHT(OOa#GeQv@25YWFs z&md%6u&|T?7B;Ll@YR~orRiDp_)E#@5Q(mrs|BeFwUDlVGeOR8HchIwHPqjs^SkJX zxk$x4Eg)CR2{SJ3I`yeiu3H#ND^$|ibKS>~&i`JIu*QtJ2tP{ad?ipINCF-QTB0g| znfPr+h(2LNT6}mlKfA-(Zf61!=8hb-Wav$hYt#oIycN~{dcFBjZ9_nNLLMc?wIw*5 z)cQGXwOA+X%Pe1cY=zG-RR1rl`}4$he;nq(*jVE z&iYe>J2yLTT*(f@8p$Nuno8xie`bF9o#@lbyzu&Z!l0Pq8$2cn5NRI=Gx?m zJ=!8L8PpMCbjjSmY9z;Gw1D@bQ72iEu{ixcrGoPb@VI{EJ6Kw=GMD&wG-D+EkhZO0 zETuQc6x%TW4DY;*HeVLL*r{)=8NCvBGPUQX(>+Vrv3ac6UE5W&hR};iiD?bi-Olu5 zL{gccO@gg}yJHs6ujD=%@Bad7Bql5vLz5a8qddY=i_F61pGVnwNn_?F%pMK3YES!_ zvzK6X?-PX1VSlXLR>ROrux@J`$;tm>gl@RVFI0D+2wT2npWHODQ6d9*pu60 z7UBefnDm#89|n6Os}nCVz0>h;VmoIXKEULj=O&}}48bL%6Jr$_En~8YG{i!gn<91U zj&?9MP=s`253Q27CgLbDQZgPNX}Ciu&j>8dd@ek8kw+Lb6D%TPG11RH{Ni}*sBjPY zagcJVKVg*hnvfgBv1)CKEwH^pCS^j<^tS%-sMhBlL94<@z72zs@I}RRvTr0jN}Y1b zs))i)5_O%|8i{!GLMR*@C2{s(UlSrFsm$eNNpJJBWzogHFQ_kk;BY7 z%*=gpc5WZ-&Og$@}UxT}Ez_ zs}6{gc7F2XYVFPSW`Gu6(nYIDgo4ggW4i!=X;M2N@88mfe1ibN`VqW&IJgwHhedu1 z5Kk=McM9!c7Qn>_`~ZO6)~7->uVW4zTq!q6=!^P(w{Sin21bOaoEwa0V0Jrk1<{9+ zAd(R~uKYLF=@8GT2^$J1%HloeJ&CiJ5~E?bkkGqVoNwgRtUHWh-y?Q90a44DDZM> zO}YRbO^rhUR702=Lm@-5q*DRdP#p{k0RMQ!jS~#i+=-T&?_U6hEgBVZkV+1vdf7@1 zQR3NF<`wAfXA=x`0@^a-zP%vA4IW1af!(aIJPei)gPYSp(0rWN+zMj_G}&(AqUkj0 znG19lg?w897!HSm6{3S8VwY9up@j+UZ3$F?`;;@WTP?B2HnCeDq^2~eJ1D-rYO-4j zAV}Lee>Jnr3k$g%`uwk0g|8*!)&x{}%L68MS#bg?(hdDkaY?JrbJmvT%U<$V&Xg^+ zlpWiY-O!Yu*(p>O#9z93FXf1n0vM#M?lC8MTrPd?d8f=5DRJ$;1~UKvMg=4%{i_@N z-}b^o>zMv?_xG<+5nWm4Hs)@Dv$rk&31-|=^Ly@-gPZ6+!x!)$fMgYvz&`~d0xcaa z*WZBT2hXcHmHq}K-(8dV8<4EIzn1%V7W^G`_m@M$I5FhY$JfJiB_ia~eI%bTXGyVH zizveVd|Umy0eW7E5#>6}+Hf{)y7Ih4Vyy5Ar0m^uL!5^{wmICJutnsng4OVaXm_$E9~dDu_toJ zj*odee{bE&P;g|`Km7fx@7^yo^2t-mFoq!aY-xd3>z8?dz8+v1tQVP>&(ca=s+V%ywD>l`95OgJI^P zpsxL=s}GEYQK}Q9jvCDinNMfHSzxH5 z;cXZ1`QH?UV&UDiC#QAuKarwzSSyWql&FIwY<74w_fVOQ%JWzgxaO_TfU z&%WI?mel^!AZ=d1c+zA-q`Tp+wC42gNrFrp&~5Ut%QWEa>@zk8vBnGbeZ%G0xm&;0}tn`fW9&tuU2*WF z=Q|Ub=ZX8yI!5;VG;)FVy z6+Z2HQ|yyiM*{Uk<=jUWpravT@!8LeZ4=_Uv*)VAHT5D!jF=k?^ec~8(V!&gPn&AV z%vAJ9+_2ssmKTLLY&+%LB=2)@aKbNMGr?3;UX-t}(6uHj*Is#*GW?yL>xU3UD-jK_ z@(gzRyXY9nHel;Qg+^Rchq2MFH)-l0lyHjawKCLDbIY{HG*I-l!o{v~Y5wWhB$(&t)XE*Jd7vkK9e zt4IgSu(#Gf0wz0`nw$(jv#MRP8@Vf@<8rwaE}QmD`_+gcf36uApoAY*{+N@*JvWolF09HQyR;K%ZDgV>v?}}d`1g6i zG~#NHkBFG_+K3MwLgrajI!9JRl$2|bJ~*IV<#@`}{-L9wR@E%OvwKnDHi>(cEQIuZ zSy|a^F*MtgmHU`(wc!ivpb$^kt9-3rXY>}AB-PBvJ|E#~>2hcpnhh3WB%AAWr%hTn zJ}}>0<*1QV!~sePrxhN#r*_-w&VE%ivlxYPKHjJ}{cZN`6NT?)CzAWmzZzl(;^uq8 zeApRY4A+pI=acS!juM6dmaCE}L`D88#64>6j; z&Gjya#*XI$?kA{lT2UUEgvAco(wl}h)TBkMw4uvrJ;Pc*_(|l5G)*Z=eL5ahlaWop zobpJk%&@#Twv)Tq@V?D9?0=R8zhL-R7F?-_Ay@uUQL)FwlkeQIEOR55SrJlf<#fK4 zs=J<11-aOR3(7IFxgQC?GH%!M4aQ%(T3G44N@kGge;B|pd@U%!*8D@We|C_B6_dmK z_Xw4Ok_$f0>oYAwKU2)0B0kqbUM;+3RBao0eU)_66@wlN&amojb200f-?|;#2@|^R z2{U94N&jJBru*KVMKtdlU0f^d$2+~Ob;m;H@8sG67YmJO$^Q6DhKCo5uS(uzxB>uN zgWcPTKBpM4p4!}6nd_52@!6`!mzhfVXXuiy-xR=d#167K6;j{5*O@NX2cyBz4F|}}D%!KNPluKCGwg?f<_+wEe`dYhhHy-!fxF7>R-UEvvw=QC5BOc?(~fk27&bv zTaG)=d3lvpC2P;vNo->df8m|w^?M!f7%FOGcm+br)!jcETp#IB z{XTiE}ip@UJaSx{1g{*O-t~qz<9{&jl)|>+k^ekcj4jh-u#}p)3sY{ zc57+;mL4DCh zYBABY8XZ$?5=eXLp0{OVY=6=V(9R3S&6(J?iLKWY)gL4rK= zf*urvv2D{bV1l{ZZaA$37nNOODcEb7Ypu zD5g}pDrKo!B;1zGfSZe$)(=n2(mPeQbd3)zbk6Iy|Z zP!p23VeueZUd4noW`U;1d$DGr%nv5yHtz~L6vo7f$9!OqGZe@8(vxmh_+43Ne=rz# zXcJ!%8eioVUu_$2q#w7)dM2|~V9yiO3yo^CjZ*fCSknu}wOt5Y3GRX4bPgr=58ip6 zojBBH6>?5cPE7O@EN%)OHM1AnF&`HL4@MUzDem!!|B4Jt5BlL3TJS6WacFXTMV#o~ zjjot*?W|yqSZsReE#B2L@AX;LbfOu}Z}MA2_%REv#nKt8uqIk2Amt+k8m{oUQjE5f zUxnUWh4UB3-e%e4qUeF&vs3RErhXVq<$IipT}TypaUKW_X1pwTPMafR3ZB-DIBlIe zxpG-!KvmE#UDZ9^;5hp)H&``HTYN5}+%xUH7vXg%mZO*zbD5WnMU3LW9y~HLn;Yd8 zB0bM~f18Z^1$05%f|x7Ckwf6g{GOU5Yy-bP|tC^7M9la9(Jq90qRH~ z9vP2!7cUI(c4m{(_vG`xX1Bq%l|dj8;5`!=v?OHWL}qpaefUN~YAnlJ+u&c>nOSk< z3oUYI{AGJ^=-{}l7a}ZSg-JOlG*#Y!Zz=zl)JV>#^+0YL<`jTSO`eNl|{_pWYc^iVT9 z1`jBeDeywN${^OK+r&cgh`V&Gd06COBN}kd8zE!?SajC{$m{I^5a2=hbFZy36fl8R zIhHgMIWB{N)hhQP)(?sRhGu7ES5Y;(gUi0x3xkKDO+2!r+# z!^INg{Ss5IQo_knbHm$=_CcBp0_&FxWQ4)#Wn}Q?1I%P08ITvQz`PEPJ(Zd3${eI4 z8F}ubK!n|0mMZgJVlh-6&5y)%T`souWRWkt9usI4UJ;vHVVSE*KHe%DiYrBN zmaG?+!0JmS#0raW47~>VuPZT`6UazC7I)4drUlxHoZP#GckPhnekZTId`zE$MfUiD zlf-+lLR70Ss=Wa9rmh@0iEPKBF7};EGsIAj7n=(whwQCK+Fi%mtH&3shwZ`R^@|7j}LzTi%ut`b}zSf zKfIP&Bj?->UG%>A5&_R4JfwS8coc_ni9mUL*KOXaYc2qfUZC2x>d4NO#?W|XztU6i z48B((I$RC>QVq}7LnCryyascb{$>#Vv`>~U@efV;FLgTnVnM;ljlATY3r zl08sf+JZwtAP+!akSv3(+)JTkeQ+p2SLO(i0^N67CCm{v4xmXKY7n4>7Qj=S4c@7P zUCStHaRR_1?+T;TrNF~`Sx_H#D=lsFI2L#wSPT3`jg!TKoSoSK7NQOIQs+-y-aT}> zaeE}SdMGsxr_Re9Sk_OCzfC+-mjv5zC=CDr0op(S*p_Ov`2;1@!L$qN_Km>jCm!fp zXAZA~p8U+=PYQfR>eLOshulVHw)u@3*+x~7fYcw4f8UWpWgD-Grf_*bMT_? zhqZ?>^Rx!&B@N;LpaC2K3jPNGRY0o0QM<6C1knuL3kjFN36F4HVQh5$n#|O?v;Y!J9`2a6fZxNxTi5e@!%2oc)~)9?#l zv{slRlsG2Ja#~gzMGCH<(+iOZJFpCyYSGe65X0aKsL-VV@C(ke2f+9cR2g{SfzlW1eXyQzocdg*#c~(@1r%xR zul7OGP@N%pVANl8p}GIe5V7qL_zc3+1lbLd2c=D_{lV7RjUg~G!NXYydXShL(VxiY zX2@120ev8iO(QUI38FBZxUdr9xe<5C2;78Fa#m><(t~PuBb|XsdT=n{0-6^w47^Dn zDz)LIB&g$yApI>Pd!W(B*$6`g0E!^i6fq3n%$Xa$+8v>?A^zK#;UN4Gi^&}k(clS` z@FV7ZTPBSmr5z(2E_jF_s}K8&<(iP{-wSfxptGNo%lwm85h{qu*y~$j8 zB+c>2?Cg{qDiF}k+cY8uY90n&jw0!ziDXF%IGwZq8x$nX(hdH9j?H@j09-SxazPQ` zg#yBR&XyxW28jQ4BYqGoVZ#e$4ParjUWGnf^Sa-&X(Kx}&zMvm$I03KwCQ6zb|s?b zZQUXr%ti>&)ubRW<05jTZXz=-Bfx|U!|7?)F`oc{$5V5OD#CF?8zYSVERxRC%N@1| z_62Ny8EdZRGPmr`9)QmN>dh|gLfRuXu052M&VEJ^(C|eQY+RE(v!=ia;0#?V-R!4% z($p?=BaQ6Les=DDknwKlsE6z>_wGg;?Q34rL)!1tzVG_Z?Dqcd0&nju+T=DqgXyB} zS>Zt|wFl$AxP;zT`|R3vhEQ3PAMH*OM@#P|LC__ew8}Zt8xNEm!Nn7I8>oH|mjDEm za0;?u2nql31OQ+NlrRXC@B}hX^Y10lE~vCkd+;Km-iQc-{*KI}vjGFK0V)6hO7HXl zpaM_7^inSnOb_+W(ewgQ^-*sE1u^wg-}FpB_EOLFQ{OOt@Oi8I;eWTf>5dUV@C0!` z_i|tNK+u}yIOIgT5fsn>2GIZ%U=V>X5PiS&1=0|J@ArdW5P@I#1kv~aF!+!^TxJ>M zAVJeid-OD+^kT2|2~qV;5Bg58^`OuBoKJOnPqc4P>IvcZ0?`1lUlAKn25mkV20Rc8 zFc7Y<`wP$jy$=AnFA%|x?FJv~PRou)ulah9{2XuTBeDCDzx&WXq$F?o)T+biQY#3c z00;k}01LqV+}{u?aQ7(B7s&Mc!{7Y|p#a-&5C~8J0Pz06!NVvU^msoIa6tXZj}lS< z5C8-MXh5OhKmZ0QAY6#hA;Ja=8UR@EP#_QhUAhPi)6wHckRCabu~@RC9sq^(2ttU! zp@IbpOh%08a6=gYa{QR&+0*Awph1N`d;(;H#fdK|!lVea0D=Mlpbk{=q|P4zZL*T# zI&!GVu39ZF6G+w}moHz{B24ozX~U!k2@Y&%u_8hRE(Jy{ATwhZl52-zeJE>LtDi9+ zG<7IZB4Yq5Fz(qS*z#q}Kz9Pb2=VU2iZEsR{rNO1!VQp~WZlZub>@L>0W>n}&{_Xk zf!Qp6=?dE`M}c5i9tA+WxIp6rH%vU5)ZtV=VZZ8TS3ha+PDlzOK-4cr~M1(4$$v(*dpsYk3a};Q^ z&IY0hGJ*61;DHfMVqh=5PJ@pM0u9XWtKPf-Ai|!c(alN|6ZEaO3Y{2GIWPrc&Z6WH zB2quS5E?)r>)dm)jqapbQJ`yX8wkt1iWDus^Bl8Cz0GtKls!N80HO@%2Acmb#uu3a z3aY7g3yilcJGu-JlfE11$}0!86gY>NODZ|%;sP-`@*qVB1uxW?kiu7`(G&n@#G{f* zsTvavDf;Xi^j91!!zt9y5?$Z{{E8eX%_B{-X`})r#BSDytQ@aJ02Co4jaOl14LNXq zB#5}?jw-VzGxw9JOM&>}1C>`8$$WqLqJVDlBUP`iFScA&*bvrpOnPCF8S0uF91 zqcKYQ6iV4}qjO4&Iu(czMJUCwVWgHj*JCk-$}?B~IQy%_hRFZ}ygLD?ZJ-|pTEW+W zQh3M&eTC{H(4D%=*`htp)>44aF?eL!lH_7``0f*kX)s+q0Ttgj&HB02~HlpohF=!Xbqmen;a5wd`R14=goZjRl|YGsSGo`zO|ZV*WE!U6C>2Z4N# z9wEZ3*FlY(dyZTyG|HD+@_{x>V)W4q4;}!_t(RVYhe#Jlik_m)@ezS!wdi@;p)Vtc zv&ao>kUcZSKy;ZS(nD78g0%tQecwXa+z^tD@5n292DIJ=w@3fK!-Xz{*Xw}~@^*&E z>FapE$<9aOup@nS#|Rvx-{=k~zYx|?2M4@f2TNGL=&3G8Byof58YB>JWJ5R8xEopo zrN5u7V15PcLHr0f5c?@%dN>e6Ms$>hl~Kto7|hzNL?}HDqH%*F#NqbNXa*bQXlFg! ziWh_8!Z-qJ4@fXz8tq5A9{Lc6fdpY20og%~>4*>(amILH=MZTi1{eZyMiZW-yodQv zfk4C}7SU(}KwgoAoy^^JzGy*8QY?UdY~vbB_{tA{l8_~uR`@tb zS@y7x!z3m!uV~DljmH}ZaR#>Nq(N=~01$5A7MF%t!w&zt@|B}xB>{;kOAwN-i(h0O zLa5|SPtwqs-xMY*?dY@iK<<{e>UhkOFj@u*_joG1^IuZuEjY#TpXp z_s<=+la1|Mqe*?kFRZj7k+2fWpmw-Uc4k$rX{{&^Z1==8EOJu-;ORq_SqzKh0$M}d z!U)|+$SKmWn1_{y3<5y~fPW#3iXiaqRg z_9IfIYc?2bT92BfRTM;7HoJ+|&^{KeYYb<;F!i7$GM2GHIcr-f%38|i>i;m)USW>_e)xkQBi%TcRVS0IlB7J+Tb*=(kmhw0R?K<2j057V{9JaL>@Gb|f; zUM9c#s$R~p1>xM}7Qzd?&9=r$U)P>>vk(6PB}h#ogkQxMw?B3;dv2;@3kxs~JD#yn zdJItjKteY>CG!Ob!qf41t;C(|OjbXu|Qk4%b2mVn=~dHK|~nDlWwUUCyn97xpZ0J7esV1htei>w;S2;#I?a=aEI{OrhGUM7hV66uXa)X<)??_{a= zwq9$L%R0lRS#RCy_AKKUGS1Ch5u%G@OZu86oPiC>eQtB7I|k}z_qyHPZg`)2%^;33 zw`bs+7&x2Sxa_j((z4~X5C+`?k9YsU34U;OdwNR`JxjJ4q``+UN!;FwUb(G@a2Xif z+!xn4U;PanMKBU;cDnb$XFY3;4_x6ggK(R9pT$loe;4>08%&*ELCVSF2VaiCCmF z+(3v#(8_}R4s_02xKfk@UG70Qx!aqYFGAS4 zKK4MDEW@ER+WfU0RA@;MlRE!D5Z>1l?7a4S!rim+j2Hfi>&33_En;ztBLw;-r#{Lj z4wTWie&-swFHqiH{pnjj{No2d__6!!sYOfu1)9*u)en5;w>|j4fxJ(YE$Irfo!qZ!~EUYydlmj%lJ_)nEq5C`` zx;jo$p#&6+MEMn*SsDKt#JY?VLFv;z_Vc3KvJ5S(GcIgE0b;oIK(4rpLqQxwLM%i> zBt+)pKcPSunz0Ll5fO)|12FhK!H~mW`5qgzj7KCs?Bm1Rvy@*GG{3XH{6i!SB#?$n z2+ybwi*OW&aEZKV3I0$Lgn)zi@x(f#M9&+pHF-r^Y>5nW99`TE6%xatGlM(;nhp{{ zC}g%%JXJnX$I~PAO343|P(U8SRA(1M`fz{haSfh~DP?KCq6Ey4ztT3fvL&ZK+ zHcP>_(OMmu`<4I4t4Di08PF&Re2EFXm=2dn5~+xaG$DYBu*Ed=JpHnPZe+QxcmkYR zmR}SIzYs^b^NBUss}_35pP0#k07?Kr0U$7eqC85W3`&7`f+ln#%L_iJY&$sF40dFJ zd|9{0|EHy3YOmZ|jKoriBxXiE8N@ep6=eUcza7CVgl$un4 zXk4$fyum%(Jms;ZKPsFH(teu^;xh&m5~Tm14H$5=z{WR#LXfHd*W zhhRbZ8^;)JQWHDVu3(J#h311z>>FdVc%K>A%`*fT zDb<@V6Nm};oh!;r!jv4_q}4<1ttv$@Hd8CKQi2}+Rlzs`9I?uLlT@Ezf?-9lV%61r z+6nmDR=mk3DM+K?^e4P2q3-#uq)LLEdnk8B*Aki41|`>@qpbp~v;z7o6kXR+TTTBT zt*yx7C+lHX#p_s({aBAZIdxqf-XqLy@;NLe(UV=OLYk{tD73s zEDh8H1tfw6KB?2ptIRhCtTxz_GoVORS|wUx^VSwqSM7pXx7<>h@~l?kq+q%pb4|pY z?TMZZ+@lp-!W~@0EnJRJ+De?(w&XQ+{aLGoT)8D$q!rrArQFF4T(@mkxV5jLJy`4P zIb9vyv|_T7f{tT&#Xv2{)Oq{RbNt(( zn}QQu;Gh%R0RG)DTsnP;T(_lLK;$us`xUu`-{aFk4_3Jnx!wXs*1r3ho$cR*-An|w zUiWQZ7dBkV-MkN;;d^^v7QM|8%)tz%r&@*BQmkGZMpGL8U~eIT1724To?bTr)H;jS zN@cUq<>4T1E*Pw01}?Y|mRlnh6cL70>eFFdd`SdsQ54+5F>XV-w>4r#PGm-2WJhjfNY>*J zNMZ65zXPgdOul4Io?Z8F-bro`NuJ#1q>w!PicmgfR8Hkb-r_^Eggao>WrQ**$aRlE6QM!@<6*KzD=V z5FV84jVR?iWRsBJ5r&QX)Z$Z4WMzI_W$xdio#f1&WQG0TW;SJB-sM%^W>WqYE!4vL zgj7}TXP))ves;^|eCONS=MHV#5IBK^KITbIXoucog^p-qmT3QlE@p~$=Mq_CdA5v- z2H#)~Vmz+eDP~-}JZ6i2Xq1lVlfGz#2x;HT#9Q9zE~dhfKDlE;(}tdBou=oCUgS}( zX`Iqs%Ux)JAm+?aX+A#cl?G^3Zt0B_){hqI`X!`erW^dXk(^lUT*0SC>&_s-cE+Hw{{4w?&)L(fQG*7yvFO3W@wRC%eACLgVtuP z{$F*?>5@Qcx+VdK9%jDI>&Axb1kQ}ej%>W{=*uQ%qu!pm2I}QiXRl6clU8TNZfb|= z?5iy7>|N}IR_jLw3L}mICXV1*c4OPNh_SwCiT>(iZe{QuO9Am?rNZ2Xt(xk|INve#^ZDj>CiT6 zmBwrxxlZloQ~BP{#QkL|nCWb$(fO9qoF?nX?r#7O0Rb2AqL%D2%$e^MX2<4j##ZkD z@9JbW?fV>TP2KPK*3;T^Wp8$m3Ab+xpV7oN?of7YQ(NZ2yJyp-Hjts*YNAUkd!w$`6ZIo{ChYlhWZ@qKX-8X*- z%La2i=V~KIZXlOcg3cxAL~t38HVXgoAa=scdtpUy;lu6Uw<+|`vm*|8>`C_kysq?1 zr*uuXbPmAuPJisnrh>P=KkU`t{KZ@vCGXD^XX=G?`vl^;s8OL_$p~*y2g& z>m1qjQ7_O02ed1vUa0nS=nn4pMduh!_GMRgW=Go3h3V<;bpy}6BpBRg7g}wn?&Cvr zL(e=Kck;x9>M1bdPWOPkM)yls_j6BocVG8+C+1&YA4X?i;f-@SM`&Ib6knIHfyQzl zCtG+gYIR?Cf+y>OAMk@;crm|Pn0j3;2HgMS!*{U@c2Ak>K%ZcW_hn^!++kmNJKyc%ZgYv=Y|pO!p;&R|KW^f_ zeZ$UxUH|(AUHozu^49Nt!RY!TZfx&f@8S;s2)};3mO|C%_pDE6rv`2IkNEb-epN5_ zWBzjYFLn0d{+SnGWrO-l2Z#^?LjV9k!r(v>2?ZKNs8C_SgaB?7tZ4Bf#*7xXP|@h| zBgl+eLXrge@I;6c4NXsX~aP#1HfSWHtyWIckiya_$|_+j#byr8@lY`&BO~5cFVQN@`|*bSFCz+ zcyyttiBAV!-C;|bbz`1BUUrG{+=Yz=2d+WgY zhnI!RT@Zp5dubTfhb{^=5C;MxG*Cnl_1I&OKN4A7Plf#lor^7sDbncHBJds zS+@C>#g$zu#$`q?Lo zI+7_?jNGlLT@h^lx#*i)X2B($JC0SJbbvB?DWFNdl>}d@aS$7f(N%d`qLFeHX?v*B zxdo@Hx=NX4rLKy_qkH9O5p6o08Ilb__(o}%#?=bqS`X4XEU_|9>fD-WdHEc)(Ml`r zN8w$>f)!nC5e5?;aeyUERDed*ps8kOAr{O2_oJs0j`b*{Px5!swDsEiTz<9jxbKks z9;)53_X<3%y0=Pc(P;XH`0Z!gW+B8;v{7r>yuykmqz4LT+^@zRbNum;ND3S8s~(~2 z=)fsgN2CV=ecS&s%P#ACBD^)*d^65BSHwegMW9Bjp18hyEJit{yHUW9=DhUMQ!@Ru z&SSOu-fuvARC7s%s&?|oP(PjTsw^r!^wIE&Y#hDFij;KMNxS{F)q;8rH{3=vskTOO zgXF~7#98?k&n2hHmBVM^v^L&I2i!K@bay#-<8BuyV&Y>urM2HS3f`pDzXH5C*^xV* zC+DGy-gw`ttv5I0ZwIaH-|KEZJMC&61lp#Real_#O*Y#*@WGp;uJFZ&`MdGS2Y&= z!|p+=PN+(m2(L6QA8urFLvu?KB>240sij-y^Bc)pH!*ru%1fWg9})+q!3ph$Y+niE zshl{jG>WBLayz3Kzk;eSG7)L~Awle9cdj&TkB3*HV;#{ZMcHsKi%*KmAZt^B&1u1p zQvzflPnF0(=8!sB0$2AOsUt|%v2xw3-XsCmD4{u_3zO0sDnp{7D`qtaaYOI?-;db!LSF%dSAh$&KCwYp6~ zmO!+NSO|HBWEP>uxW8QLlAPrv=Q531Ol1xem?(2+>yBBW++0nI=u}luNcPNDs?(0# zBuKiVITBc6E;LE}-z6`$OK~w&TqA4SLroXahC0-Y616BrGnyxjQZ%Aeq9?4jY0h;v zG$WyepFfcZ(I*DYXQWFT75O<(hp}-^2*nW;DcQuACd+wM+Gj$egQALB?xEI#O0<-+ zI&%Wmq9N>QSQ4hwEv-pQAxUJ$Dk&WrHC2e>Y@Yuqv}KJ1 zdbhe|5%Cn(P;FMT%p@#ec}kMOmesLdNzc3TWz`FO$h2~`>0B411jT_w2-><68aFb; z4N_9Fhm@Kd;i;!vy_P9lgKcURGg`FfC5pl7t+A@QGrtxWDnetyY}JZf&*kW#g551? zI{QH18n#|~b<}yQ3r#SsGrjd3oYQnl-sNmjy<&B(eepNn@`|>-$<43!PTE%{?w5#} z1u%k#nc%AxwzU0SaPq7w)cRVGwBy7tgfomKntC_E2i7o%i^E|VVwk@nJ~97aBPq6i zo*2R@?&OL;+v5Dbn28;paS4fAA(JiGLORBA3YD;g8*pGcti)0gqC(^ZF7jwF#uaWV z;shd86UZRslG#E4Jr?9=kV)-Mlbt-(*+`~U+qCkPl{u_MzO$~@T(g!=5S21gvPN>k zW4w%6P>yyK&DG;5!mvDrK}+?m`=OPt4nhRDMN)i(Rx@Nn7+61_k8N&-OjjPQX~%Wa zY?Z6%k%LL;_gT2ElAYhC2i@2Q|LSF5n)Il#2WvZONX9aKZG+dA%~|qys*U@fvrANK#ZD0D^** z``7i3b-MrE>vuPN-&4wU!6TjVgI_$@`!4plqrLKzkG$n8Z+8F3Z+i3AJbT&wzU#IR zUGNymJnA8Ddd$mR^Q=F-+F5_ryBBh{wvY7IckRZ`&7Ss&monZ@4}0N{efJtKN$9(! z{Jih&@5cwOuDPiEvvM)e$Va{YI{)WK=S2{) zat&|(_ov)m{9N+~<)Uy%=BX8J{#=U-2DY z@5LYg8DQhd9tMKl^SxaMt`G#`&jrShGQgawWgr4RAki%!^)(zzO`Z5*UhpZ{2|iwE z&0lCqUi}>)#n~SfJRswB4xvRI0}jv#%37r5!bKEAE&%_75<=E!fJq3>*70$QkO`ki zG@w5LpY&N*^-~e*F$owP zffRs3L5M;{=)orxgdX_cD12Z+bb=ljK^r1sUI0KRR3GpS;^^&~Aow3fI6_4%0x0~S z-CcwvzyTP_(Gmz^CuG7WpkgL~f+bAiF+lCO#bRWrP$cK_D;%BZ^}+dIcO5;;*d2M!^4LMf3t7Ab}WEgd1Q44qOBg(JZ z6j;O&c%mj;K}D3{MFIdVgrh|iq~`$uNdf>XL}M@rphY}_50v8)js+!dBR3*sK`eqt z0zfe+LJ@!?L|Q~HxB+wkVnIj&CWNF#fPp_YVl;YUBV2(Re56N=Wa(v}^8wx&{@y35 zB^tgS<;9Xll;A92qBa5m4!|M+phA+#WJO3pEa)U69DzVif<>r8K`6o{GNn%{SWkDcfIu?N+P9y-tLSO;_ zAdurl*g-)MBLIlP3&5iwNWo6#bZ!a$5tY<)48M-#lbZ7DQ(j#34$hOO9hG zjDja}BR0lCBRE1U(xFYpCUaPXF(RfqDnSwGCEzWBEf$0%Kp}ftLMTL}6l|s+CK+ww zzA-F(mF`#78OvBHZUiq@+jCV=&~Tlz|rj{No{jgeOA675HKa=0Y~Q;6*e74uF9s z*yK3gVmCquiB2RH90430s8DKzQa=BoRw4rc=)p;5#1RyNPjDk3UZ_SyXWrmjLo#PR z7DOG0r$w|PdS1j)mS8u;f*%ebRgOVHaN~der$b&uDFEUpG=daFXD0OGdby``9wq>& zf_yS(!VRgPa$_#oCVrAPP-#sTWW2dW;7}R7u;t=z9?5_gd%7}Ba~)ETtQC~C_T0)GJ0xpKIugu<0br|T|%cozA0mV zYaJpW^+cS9F5ygqqD5dS0HFWp5fG*lb^{n-YDw55M$BSC00TZ&#K2yrN_qsn<|A%q zL@2l<>HK57{-{L+W;fJDs zI;!0ETmlt(X{dfhK&t3P#N<%Yp-?0&W||?#l|>x{rIQwowMN>FUS$(`#A^EMS87Bd zm}tx5z`!QK)O_fcuIn1U>|1v28Cstfy2zYXgwB$LtZ?KKtYk0b0y1KRAATgLo*t;S zZLrcSuGUC!dE-R}CKYb0Mg&79;6PwO2UkubZSsvM;Of<8%@!{v|X5fD`J$IyV2`TN)tGHDAxo73eZa8(JLEp9a?c>T{?>4ucjNP0stZiuGLBDK*iy*Tp{qSWx`+q5@Z+Z&KdCLZUk1Z4H8ec zO|NoVFKq4Z=s6tBiZ0OQqF0jd%AxNJ3d#y%;LF}56U;6Q-r?F+p!-JL@~Q5eX&lvF zE6_q<@wF`JPGIwytunP?fK8)K=kTooF>-7)awu+aswAP+JjS8yQ% z91R~bmnx(pH?ku?G9*W`B%c@{V{s*e?dWFmB)hByOW@>TUmFi`@;P7;C$TA?GAgIC zDz7ptxAF(0G2A6`4a@Q-w-^;)jUQ(aQr2>?jWK;uaT)V5FRR!7zAtH9p^)7kGE*Tl z7jPLmb2C4)G)FTvL$ftc^EFp9HgB^wcXKv>GdF{?H-|GhkFz<8Gdh=ZI-fH)7c=;( zMxuyI7R6P4l!)_jFF*v{3u>PzN4X^0!=#IIs$ZVPixaWcM1tH+54tcXN1$hq#E3IEk0I ziJv%%r?`r*IE%Nqi@!LG$GD8oIE~l1jjK3@lYuGKB`oZtP!IvXS_B&8xQ1)Ecn|+G zh!r_>E9l|w#B3FVO;$HZl(&>4`H5wC8gwB^n89B{ca?txm7BMfFW8rhxmTy{g&S~~ z5BZn}TajOc@z$2PT6cPTcbmr=cB3~S#H-!Z(_)aLmv8u;yLp~(cp5Zl&yB&7d-$Lm z+nfJ{c0c-*H#(4=!BYhKcxObWFKwMuI)F*}lFRBx$cnLggot~@A#`_^XZd-1dVZzB z$5NS;w&qT#daZZ3s~1;xJNZnS0hhP>MSM9%@amU(UquLeu2WKVs{vH9XnqU1p@aDs zbio^(s+}i${)G64=Xglax!(%#v75S}Gi4*V!K$zMNI31UV>|v#c&n2Eh@1cVM#m!7 zhC8%}_eMlIuphgza>0_9#Cv;5z_a_kbGeslLb&7mN5BFRAb~VV@wNy1rbGLOuQ`TK z`jIQVMj-pKk9$~DxyBPb$BVmi$z;Q`VZEC=qAv@UL$`EWdZ%|hhaY*tXZoh+Igvj& zu!lK_7dpYuyn=2h!Ag9{Tjt3FAH@5FcB>1*+xy0|dFEPs9!xi@YrBzmysD!((AT`L zu-%!9edBKEdu`qPia7r=Y4U%R>*IlL=6n*(d!`@4E) z{J!TptM9~4ZadV=lf$2@ki-4BM*Pu+MELD`Mg;l1UcASzYAK|GBV_;h&km+OXp0NhJHr#Jk=lf0@YXu^YLK~yUwkY&Zweehp9 z9JJ%cM!hDMtSEqi!FJ;lMx-ThWlnN50P;RafI%EM{?8Y_Mx+8f{<}sneA)(Ux0h?y z1ArfbHAw<}y zApj|pN+m={CXGXl8##9L_z`4Ckt0c#G0BG4VDMkM%Ere1uc2o5wjK(RB zJoW;>Wltxr!2m$&f@Td%y?gog_4^laV3L4@I+VIIArT~M0UX)LX6Gn}ZJyRG1|SwF zu>gwEQuDMZnOMQ#T;$l03l)cuRsm>@b0e%w2p2kZX%IjoivW~)R*evhnnkK|0jSN` z;btzB1vhv89D4NT89&an{g`UvpN&I8*4Ri&8|It=uw2%%Dhf{G)O zn@|wK*&W5s+z-I5-7X1G6O*J8Pd(`rT#&&Ap%afGmo$o~u$U@D3?ZL>a*U&>qUuPB zIH==D6GSHa5IgMTL&%NeLb{~1jie~(;t3&CaI(`2Ks2f?lPiBDlF&j8RnW+oG)hH6gf2|9L+v)aGq2FR+X=z>ED58% z@j9~f&ZklXjXAVTDZK&VZ$VucFULw)@fSiXu<)FYuP zs*K7Mk>oH#?nVkNKrryaGEq+>9kxTr610@M1WBd!Ta9RhD%{6@9CllDVZAiicHMoq zBu3@UmOYIYvzJ-ZMDhw%QYl6D-(;UXsn-(+g%|(fgcW9Ky^W4F7t14)?8(^^G1W+p z<)*DtUo9Vuc;jia6iH-o!Ce^Tl!Gk!A~<5CwB$1|thlFqyYnzqj3S=OM+Og88R(#e zj@00hNlq+ZpospI+%IA7sEbvNcJAbFs~#HbtPhQu+EwfI2&jC`kohB!H`D?|?^t9rnuc#C*Gs9p^aq+;z8nb{{|mh>mqOUshlW-zb$4}tZ&AN)+CKMdUp zG*23w0~1)m?;#0)p?cPch-Dl{zyX5lvfv24_dbpYaDVc12r`g?kSR5ggfWC0=R9W; z432MrWh2O0tPO z{H<|dq1MWKbG&wlsmLIBNR0`pUFUY}BLfm$03FA z$RlP6Fi_kDQkAg|Fq8raRfW);I~orc4m7Kgd6H?u3}^JtSWbt8f+4hFlt!f0#YQF} z2}w*TOE|Hl#QH~|cjxzUQ0gcXiF!V8i?n@5zAM}^w7cq1F< zO=eRdhmqw`4(y#{jOvj5eX3s?Yy?%0;=J@UuThW)#*~zyn~gxiL;wKBR(1m$aUCt6 zV9g$LE@V!tT;~PEy2)WUs=O06)3IJe(Pa@dqFh0)p`fUPL;6PAtNh{dcjZ#I6nFvCuS zASuj56-CO;s`AGrf#xLlOv^pqOwelkv#7y2W;9vtpc{Mi^O(vCN{d%0jT#(C8fmZi zg*2h9<1AAb`7i%c&w41GoZ@;Mz3St2@}b752q;nkQD#F_o`X&$do!I9QE!yP!b)|_ zg3UQp1KZfpr_mU0dz0)^2fNk2QGF84xf|a< zT10H^+=dlri;DMFxbwc9B`u<4odDON6OrQ=~4F;Pl};Vn=J-~UzPgSsU|6!nK_ z7vWy_zBK=R?snIE+^y~`v+w27d#}6r1mkeD3x4Z(vijE(8uVl_81c5lUfVuU2NA>uv8h*3B-Cmp)kg5{rih6c zPV|m|@%X~cK;qVjXJq~ZsPteD>Ph%0MGqR`M*Ipwh$TG$AS>YDmI5IUN<(K7iTK`V z3xR1+tZ58z>0spGl<-9Sl#q=w;>C0dAt1peB%};Oq6A?NvtVpdaxGv)#tXav{+7qa z%7h?}01Q|`8Q8)!2I8?qE*Nqlwv-_i{K=&dLY_*2AeQP2GJ!7SqZm3NI9Np1@{A7w z@5Vqco&GHWX=y7oE{?V;n7qP=N<$g!q&I5Ig&ymia>m90Ko96jM>e7kTH`ec!ms~C zLFCR!$aCI-T&YZE2-V)zF0u(4jB5Mkrmd_!OvXw~bB5sYY zE~PdoXcg$fdXRw=IYPM-$yM+XK7f)Fl>r$FM5ZWeAqGOZ-0mZAGygEt@p{a$8cVIH zr>J&uN$6z^D?(1}52vK)L*A&fC@D0ob6Wrtl7=M@tgkZO2%jkHKtv=eoB}koGx>(a5OgS;CD3^zI)CXM@6V$Q@`RYyBF2yB7kcPI+*H{K{K#o0GE~g+9IUP`6 zE()VcZ{l?5Kh01bnXoxyuR>??GP`X+5!Cq{G(j(h$KtZvFvKM|Btris6yb8JfppJy zK7;?HCdM9cLVXcna5OM+6fQ?JGo9x?Kmjc$uVAbrLs*m%Kh4_|(Fx1tLqF6*TL(n- zM%R2aI{vSt3JtVqZh(k4B8@U!;H(g6WGT=v z5z`c`y0rcv#yh~^4>xj<@O1S??Dya_i>Rc@E`b%?R8SwSh%_XHOphViv{Cca1do(C zL5&0PvQh(ScHrno@5r z^HyuM<~*}kiH=dpF<5)9>3YJemdhJSwOBomP*HVR(X?5KsYL%V)njf{)j}rWrd5Vy zHFJ11P)Ub8la5=hD5F4Ap{A`X&_)oL7x|vhBU_p~u zsdOq`)JFMKV-v^Bvo5XqaxIAR%;6X{9T#bwL+K_bwDBYSJ9y1>B$+T>=bX0v2?GG=bw?%dt=& zFb(4BMbQ(eT;pl_GRDXz6X3uJ;;}fWw=TRu69^(Jvce1UAV7d|wEW;Q081IpqLz{@ z5JV9S$P#wNgOunZssJQovhu`sq!%2)3*f+BX@e&Z7)&&#N!1SWghDem;R@j3q_8j( zB;g7o>?!rkBm#E%oD0st=(-5qa)BA>7n0VqqtPp+yYLHS9#qE}?HDHcvy(O9SsFL_m3C!fAF(LOLO`@(4Z? zS6Ciq4B6w*(h)mX2srA(DrjUseq&fsSR-CY6#KCtRs*6|fz0ZpGu%TGvauqRp%@A? z*&N~$4nh#fLN2gC5T=A#;18!(Z9P|FUJ#)LMBq9;-~~3J6CimkQsECxRBwCqFh%8Q z0lffa59H4Ioj2oA97_)qvlj|sJfh?wA{3^>dx7v$qr0HBcB zDHOHXRPA=#i!UEl_ zX~WH9kJ&;BgPbpT6JP>t^TQ=3;-M(bpF~h3e8LHeL5@Reht)?EPLo>X;1hA@{|ZwP z=rrEgNh5$Emqp?@E&&vj0TPfAC4*r#KLQaX0}%j$E$+h&E&~||ZnVe)np)B!$_p8+ z;}Wo-Y&}&(_o5IQ1$cqOlHKzKrce_6%bXnSRcptTcVe|zi8#6w4Z7f@tl*JGq?Xqh z7)FD;rsQ>9NR+*2P*ZWZuNy)FDU_7}(jhdZN|la;-UMk%kq%N70TC&J3B40~hft*V zqEzV!C{m>>RivpDk*0Fkd!K#ooO|xvJ9lPHJ|y}4uC@NZ-}^j_b|msFoaY}0#X}#l zT|SYK;Lzr)n7hS3qQxMXaMS)8f+K+}n+7JtHoqNqDC?4bDm?Rx%i{ah6Ffelavrmz z>|Q9@b#8bs)$VI8O6{wbD-Yk8EO!Xun#QQGqA*qW(|{e1Iep=$1Cj7|n$4^~%KP{V z$bBk!sw;0ynKFe@sy*Vyq~1}O@6_8tE`8c>+L#=~k)6SulE!guj*HSBvh~?+`cGsN z_pt%(B&0@73BoN(_gbmPTW&lp+EhOfbo-UT>|fN2X?0mP9rWr{X;+ZYd*I#J*53B! zIKhUt^HpQ_Pu{nsj)}8dJz=HhBu|V!OFH&_bbszZ@|WkqvR%%fYiGT39>dM<&CDK` zkQWb*BTqPUcIy^7?D#Y(Pw(c$aa;q_N|K-vt2G%dn=gV@UcXjbCk>4`a(HE*e*Ot` zQtR>eL3I;V#mn}nQbDgatWGt#FWW)CgSUFr;IVUft5LJuEjwyGU(SNx_OR#LP{$a+ zLiO7znep_!Z`Ul%(x#PsadxrYV`qQFwrUlgu0JX^u=iydLuo{{|0wpy zX5~LGN$E(w9g?e5a6Nlwn1(fAZh%VKRP=Tr7ow_nKC#*Cq5G}RFK$*#1G7IpY_9K# zs*?OUtE2tYQ<^lj3Zneb_s@%^?es%y3-bb6(M&!^bOVZ%D`vVf-_@7DtC6dk`ad`J zdegbeA(Z4wT)9}63m)jnzdKKb%KlKp_%`hX_?fPVRanf;L6`j9LC@W%3?0Q-@!^^th~k<{`L zi8W_~t6Y!e;PtNigv=PBDjIeb%-6gO&BX$ojlA|GaYfyq5i<(fZ;|{zbdug?Rr(pY@-2 z`G4Lo{~2TdJ7w*_ar5HTVlH(MKF9a(uExLJ{C_`R{ySR!cg%iyvV3{b^?zLKGN<{M zXa8T<|NS4iAh##DV@kHD@E(rvg0lj0Ocn_U2g46tp2N#yuQ&-6+i>D(Tg`G!g3&TE^tf56M#ZX8K(kZ;a*3K5hHOn6jl$ z)QI8yT;5c!gQqPb(f1|=DMwLph=u;DDm1RTvSqRA{3joEs>1U9fAdiTUe9w?lGfT$ z_L`7`tmw9{_^2&)t9_9)0#>ot;MAP~2Ud1>S{uH;&k%Pjd4a;Fbg1=)2Q{}gZBLaM zRo^fTwmjYa(%CXE0y0t7*wpQ4xja}OdZ!-X{cTWbm6GvOMQ%si z@$Q_soYRn0`^nFhzIS1gGxux`wx%ji-g>I{cF@ee&%fK{n^^fdaC+G~OZMe)^BE6{ z>hj^{vikfjdn-It{TCsK;_RKxLqmn9HWE!{zHA^SNp6l{x@WLL6^1LcnA!^oZv80B zf_rO`q!W@H_99*yE3s*eUG)NnokT-dFk3lOzy|YZezW< z+pcFvDnXd3H0oR#`QBwbkG}CDr`JU#W#2Zk1hgj$ltvv+a=B2viX4d_0%J$YsJ=(? z5+lKKReq-bun{7LcFi`8pbc4qfI3wYXG1ZMYjssbrr&jM(!hS6b~nm(L`FCRBb=4* z8p63;1AWAtK_xVIuPf2mOQWJzb6dMwF?6?}IqIPEoUS->CSN7(murr2nh%+9;y8mq$*y!3 zf}pF9|K?xAVJw<;#GVk?|0DledY`}*|39rRSNv7KR7An;CU-R8+w5@q}w$A>2o^Jc=@Bca9 zN88{0T<#7*vg>uUT#ff+0qc()SN!YoBAtA_&bH&sz;lb`kDV8$558=>UJCodCtuyE z3@#51yMrlvzbezm&)~F@Cm)3QD#keERixKF_gmxXK1w7H4{P&|d{i!&9)Zsv_1453 zc>dN3R!Ee5AUS0$J;}{5C>bXRp;f_&ea4g)L_mDG^d;vp{c+eY{ihH3Ug3OgUVORJ zXDc+0vHuV|$e@A~ULy8#kZ>)~n+elWl_m0M8?-Fj-}>0AD|MZpi;zfq+~VLQ&;Xm1 zcn8Y|qg`ld)H14hp!HQ=%RFuEC_<%+5wb#YX-(_0@Eg!(bsWC-br$3=w% zb8D*OVXo-~G1o$3OGdbdb@T81)+D?d+BPuLDZ(V7f`T~A2~lquE?sz&!N+SBKESmy z{p+%S4O}XH-TC(lA+1{uVV!f)G?l?nF2M}=Hexm;iK9rXsd)2MdE;Z(>t9`_Z<6U2 zE5JFw+e~4T-6J}%IyJg}TdQ*|KQ}jat=A{z+}oNe0*d{Q$=*0e{8C4n;a1(fZ^rCT zDC63po<$=((`iwrf*p>`b!yO$rGkE8Fj`yt4$iWA)q2`u?V1};$PqWlzaL}{L^lgw z9bpJtJhY<@LUMS_$K?nZOS-8q4XNFDbu{?!@pXwQeGQ@GX=9Ve$Dd4{s*h(Zo_{}{ zwTTe=J?D@fcg#ykmGXMNwZ8ZFqQ~7-pO9BDK1`uM9kH{Jbwdr>#u-^sD6Ue=ND z;^5q&aLoPUdrNK5YFKN?+d1BR&|U0)r}*Fn)@D1;fcFWU{m(&Z2v6tFu0_j^gIVFb z9E>gwFK2%A1z0m5t!dQwoo%s)?^@-1d&&P=d(RTdWnR5(a)b2Q%RrxEq8LE{Zvn?x1L5ylymdb@LP6;&t_DI(9&comz=<*kG%#jnB@ARmJrP$^9gn^7hV#f&xk z7+9ZI=6m@y6l6d2CZqw$h$f;BnKgOtm=bKgJ;Ds&OktPunj9C>%GYY=29$#8W3E&6 zTR=b%ZUmarP-M*t`$C%?QXggAREVzL3L&TGps-U_VGws1y6MdUdukxSx4*d93KqFE@PXRq~~YDD-k*D_)9+ujsIGk7Cut6M}kV{#)*U~4Lrb!adrW( z{+OG-FZo3Roc0YUQJlSxl=j5nOjo8ndOPiI_EQIg40>Q<6sD7P$<-}tH&{7`tcQYW z63U3TV#FF%_6{-5OJUNM1xTxmLb?wgVSN4Dm%1Sm2G^#_pf^=XhM%zw7>{~96oz+G zP@;*~f>?O2!-;qN*&t~h-B971B(OxrCSF{(nUcjY^8Rh(Ovs8_eoDCk`1BC-W{CGD zlhV5c^egJreRlbXp2<*YiC2)VQY_VQtO-GxI<0H6uraU>++xUwjw4f<4ErN*trO2Xw$@mJj#HP9wD!b&8V3Q`W03ddZL`wE$3ZB+9c z5DzFG&T#q`3#py&N9wSI7DI?iAPj~CzkU@*K(FK@43O$9ZvD5mNpI-env{Z{ z)q;DtZ~ls&EMH4)prC{CEyS$nFtkRvq(b>%1em(K*${7Psim!?`1gJ~3(A{R|HcNU=+gqx-R>Qt|FHAyK?8qT_yx@lq$h(oB$`i`^ zD4}-I<}Av3elthG{IN*eU%r@8UKb@!If9%w%s5b1LTa^+T+c(ff?N4pIu|8c!`KuP zt_~AE+0g)(rGY+TBHegmVOrC6Bh}*@NuL;bzjFIvqQ_lSO0*;IUYbnjv4r387sqSiV8T<9BZ1T0arMw0DT0JKTLv_T!d%xbaU?AX7H8(Hz) zWD^|-=l!+({!)G*7-|qH|Lacf?`+*kcNz)3$liiLaHv4|Dv*+I%7F8IJ}xioy)^Uy zOAUc`vQ)q>T>I%#^f}(|J^wZC@no@BKAs&&gg?}ip-vkPi4gTtSF@2zg1yu80eMC# zd($c#ZuqGc7OcdVT3#pTC!{wUMK!DU)3M5b{rqI@VRGCJYNOEK%GY7Aa_TQuDvJ{- z>}blns=1K~idBHtLq~6*{1j}!sw7rLwM!+)-$wNJ91;MQUh_*8^KOr*gGU0 z+iCdmcHRM2C6oX2?uTbjl7rEZAcyP!^u;)Se4!!kBFv7ORnPQfN#kYCneHJ(g&`PZZvx{XQ-Wg{*5F5PX!z?$ z_&orqCI})8Fk?Zab2vCJK<#{s77JW~{UG{yFdiRoi-#59>3IPbhG0s4Jaadm#FU1z z4g@X;=5xj)3BeHCVD$s2iAKm#1PEaRz_1{wK1kIdD2B_Lt0Wjv2U5!jf#5^rA_3TV z2$DliOw{k}h?aUBkaGs>Gq4G_1dEx5k*U|C8DXN(%Y};vpeo5d&NQ^j5H4v{PBOs7TBMp#3@uWI@83Hz$c(X)dEXc4MD!EEA zsm~Q0m6~Xl9WRp|5|wRahV6Tff)vvRoMkZcWjx-_7?jCLlF4p^CyO%D>}i6iTPd1t zC_e7{Jd}x_|CX;vWAQ+#Ar zIMA9SvC4US1fVxBN%kx0XDpOmNo9AScjPZVZOwC&Es$!<6DNV!pAqiM0<1}#WCx;9 z2^yK`0!i(%XKfjxD6Rk|l+vYZNt|qHw!Vsx%^YAX=N(CvE~uzN)Kr|`Y9NJ6qPYrA zE5WEc6nr$PZADJ5q=)>qC9<_H71iPs6#+CgtI@PyTr-;&ie(FG0t=)AdMd}W>Z04~ z-d50DW&swA^&|qtq?L7c{3ZUL)z3vsP^*Px{tOTu$*&c)gRqL*99e~DG*8HLpM(@M zuI7gwkOi(o84jScmu3u&BjpS+^&966OaToLAW2!SRz;4q-XATa10$`E@riQNb(3}Q zAWH1eQol!w$;i2^M2JQ++zgPDly1fw1i8#L*K##~J!^g`T4{lK?G}@pLla?r(deR6 z^f<;tE#Qr>K&>A$sc%4Vzyvf%t`MBqfNw`3x375xDA;90+-@P**jz0f#9>0?15dBr zwE@e|htBx6 zHoJSayw;)d1iiML$aY%|QCtE2%TP2Wwma2BsSilAOld~sSar<+J{wY1EJ#r#or0vp zaTTPe4dS~bcII*wkcuY0VtN&&bM5Ok>7C&sFTbYi(dfra?2@h(v^pt$(Jc?^pn4*m zL-WP0TJ;+KR|_jqLmUMe{zVC`kYOGAJ2sWBZ3SXI9kh7xJtE8J%*x+qsja8i{yZoQ zb?sWtL=$^DYo!6QDip;ED2JIbS-Z5^Ki{3P(-oC3EZF-5feu}irYC8!@W{GmO3Jbd z;*Vy6|EV}@O{dr^Nnq+*M3j(HSeg?%RsA4fixesY$Q#l6b`BX#4^iWNnYl&rT?F&? zdnWJqD5ddN;Rw_=W3Lnu62^>n+biSP8!X)+K7E9KlGR7;S)L)At!2|2@Q3D?`A}re zkkO@WQ!GnU{L&C%Zzy^RFc(3q1`G!T3@3LC=PV89{TWv3c|(*Rd1=sGoI|4?FjCPm z(lr6Of?w13fD`23H(0!HqIkd1+SkHD$BhMX@4xSQ0d%u`=&TA5#X3EH@qyVB%z+){#w9(=_PK!_(lQw3sC$2Fb#z6ZX8FzwLH*%%L7K&!k2|p+)<2By zv5XzckC~B<{dzGrbI^Udgr4ab6EOJrk7XSEnZ8?ooE!Cl%o072Gfwe&oa*m5z&e3e zn4qFzZ+kdC9tkcR0)2dhbbl|jR?(|n95<1MZ=}Nk`P?f>=DRbPEQQ#-j z+)w76pDaFqvikeUhIPhHVaCC7#xZclId=wO3pE;_as4~v!8+@uFzanO>k~NZn>*{@ zIs4-CY|!6X9P3=L!d$53TzKGIWbRya=UnXPx%j_x1lIXo321s0aECZ{!*d>jou@9C z$F9zhE6wY!jAVDtXRu0neE^Cr7p~VYC=vp40`nR7>fSopn!18kJ%pMQo(w_+MUzsp-M*{_ zOwg!i6;Q%ODY_o<;Aq96fcM?E6$o~ja>5^ALl=JjY{re?OA>=gpiD$iEdN$ms8F|F zUB}pdDRU^~`v<3CLkZ~t(&NiW)H-BelxlT-QWtbR{FcT?psN~1r2@(xM|XP&U9}y( z@GCS1dkjnzdC)Nc@+f|wutcF3WZhh$2 z-vJ%L&1U8GIHI5-ussB!=)?*(R3mKSH|a=Og@sumpr~`wO#gF(F3Rx7$e{a|QiZ+PJfJvmK1=9bv(>FJciK03TOU8}RboTe9be>>OD@20x;jt#pVJ@ETyaJmMJZ7Fg%G8stp)EIuyH9Jd&_Jl6-k2y*!SRoHnRj!Tv3f zVgIG9_)FFLm-@?Jn)$!9yMEnS{-tLA>5TN%D zSI=&#!}C@A_r?}epRi;{7rLr0NSkDb+xGO4(H{wp{YUl34pT75%H_CR2;5VHc0sy) ztnX3Z*EXguYxl)*}B5wH#9@ohy)>A%0%!qyEG_y_|#+oMF>(`hP79E|0#-{!^sG z;r8tsPju>!jYR(`<~a%LHJT)HemD5-VsdFT@tbz^cTlDCv-RU6cG_nkk<_=qfC#cv z|Myi{HfZPTMCULFwMlVF0=7e-RWtNgdqbe>L>Zby+g>TZNmYxfI$}mFGlw38u|Zce ziAOh2HPi5`cAAjo+fc^j6>Qi8he8SQ!4JBUZsWe(XQ*!vwsU z7d}5ecfKTNzb%Uj-nb0O`Dv>Xczy&KiisG@fSt2}`!?XTTLhL{c6Ixp@y=7SJtS6e zgI5*c3)dteBVh{#MRTy36%(Z5Z4$7Q%i#TR&J6%U0fWG>U>Xkn{&<-?DL7S<@G=!@ z>Ci2_I&;{Zh(^77zPu5*#vDK&9FZ2*D}7iT92$ zQwkNrg&|saRW$_Tw4PRKo6;cp_m+)FrYgZFA2B2A6vijTKz|r$#gE(Y*Y$^VCGvYP zP_Q;g>oN()lO{48#pm-i6@vvhP*+Oe!@_&^W}J=@pv}5)dT*YeRhiPGkpYq+gcdCVD%i1v8R!&v;p`N}$Kz3^}+ zQw}U0#*n7tuI0!D`Sm070hn0C6rUM=-PsPS&SROS6GTP_IwiEOmlVpBFwyi4|K57s zHGu`&-S=52FD8jpb*wbo@o#rmfD^Z>c6j_BW$b6r$k}nvDeW~UaHxZLE6Nuhr`7ad z{$SL$dHq1Z6}$QBN!Pus0;Aos)hVZeTEqf9iSs_s)_|_p`3I(IxxrMo^2{7BaAcG! z$U63m{Hxz(0<&4H+(YtJ_Tg|`qN`2P$y~f=ou{meUn1zJp_!?Ki9uq{cXNh5$){Z# zEE1ODOD~)L*{Lag*u|&ZRuyCyFFL#RC0k6Y;8006y>-2s>njzUqJaC{?=HHe%t;T9 z&FHOWn$`MJn)Aygg5f3s%fqh(++Hf+exVOz-}9ic*2KBwVPLFnNz!2bUbzB)s`hwK z3U~_+B_g9{u&GXJ-x3U}@eRA@p4b%%3kfehRZ`Ylg~Qs$L&kPLh$|09Y66!V5jSM) zP!EF<$n)MX2n?e<7(sj6SwDnA6rvP+9jU&Lk2HBf1i+--(llp@6(XX!_C4=Lb(x{GGlElHlL z8gKdPfQ=jZc(#0KeD00=8VBZ4+&0O5f*~;UpJr;K6O|b-TpSV@7$=m0@?R$BQ=4bJ z`dTQEiG(h0!bn{gK1mt6hvgabRRgJK%hn$=wD(NHqntq%G~1@P0B1@jF&|F( zGOG3}5>kdpWG&KQP?bWiCZ8Wt*w$F$)ELqR>HwGAFTbD{p7b%FSH95**6jb$Vpuz0 zUG-)@(Zn!YiINwF^WILLQ7W1>N~PGh_;Umi{qwBLsUF$(N8Y+iTUOXPb+-M>?hhYE zu<#c)6XDS^H4xg?V#8qlLBHwOBU$D=8NiOpHaZwo^$yM39ZHo00&yAl&oT5@%jHDl z*&rZlX$jLP1}lt zqeTn7bL`oE&b?D0J4^^;ap0t$A5v34OiayjpyP6=V*gN&S>eDL--BX3a4J7QuSidn z%?89wLqmSmWg?lO*z}BjF1zlpH$%ApD-R|A|Cfih{O>+s;otC-|CNUt*%K9S{lDd* zLH&IH;R7~c{f|6!_kIGL9yPtwTs7aQsZ(&(cX|B5!u`qz9AF^$-+8F8Mt#$t|JirZ z;F(vu%0njyu6p$y+b#dqclq+6^=Yp%zd{V#Cx`;SXbBOC5S8oF!ht?Sq#bo#^LS}(!o~;)vR0Q!D+CR9Nmuw z&KysA%6M!HM_!oD@D!v#5L&%-A^L*sspvv%Aq+ASHAFEx&r4Gsn)wvUQ~FLxR=ZzY z$?KOUPN?+2RG$M6i%4`K+$vm3fslxsJ)yw|FFDq0x)j9IgG+7HIvH94Ze#6VYfevC zlOo(&K4p|VteUQWrK5DcxKLH^Hg}GgW?H|YRJ)duj#wrSFOWQfe@0a534LvAq%FxE z8S!+@$I1R-iSZple_G9Z#sew7;~ctPn&T1>2Nj$Yq~|h77)j3wPP9flX+GV#GKa%p|{b z%f<(Aum-uZFKNlU?LjZ`ME#j0273n$%}ZpPN9U{^5Y58-sXJkV z7@qnH%3`H!ZOgVEp1>>0Vi#y8nQ&~un~!m$_W{)BUj!%d82Q*hh?aHUhmG!#ND9Ln z!Jln&j)h-A*8`*EB1M7wjDUKmLE7O;(j_;;?Jy5Pu5A7&2(qy|*n`V3Kx}DRwNZ#Y zsGMWAQ9s|Dvvd^&LJLg~&EonqQbB`{9=Efs7xED9;jTYT!*dyiu5;U^Y5`snxoS=K z)ES;3n5Inal|b`?gQ7M58D@4X*XB{woO}t1?XWNAn^K{5{n3GDwq!`HKEG#P8rWd& z>l14^LShXOj28A7dub z8A(|E*?c1stQp*)6^Y_76U5bD-p$BNj?K$f6NZf3HFoBSDjZgg736#0M{Ac(>Joay zbc`CBH_DJih4QG@kK>n;x#FZ(uy!e<6Q)ObO-sv<&Y!8p)4K39QA9m*y*5?8x0?47 zX8M>Zi!ni-KZ|+TrRrZ4htjL4QaMi7NB$AUMG~p$`f(M;rP`k=%#SNfM=S2X8TnM> ze_UxpS!o(lF|+(xhV@?bjIR^8}fvx zyjTimW53@MD#uknvea3eyPTP6&T1L9FhXXlc=x_8tge0xJzRK8HQUTKY0CRigXK$2 zN^^HywYRn0=N-e7ws)*U+`ga8zA+6_C&Ox-lPi}F5hoq%4fGwA^+F~^>w3^vz2zgYMAMQdAf~buD4zuCPFjCH3U`uy98`bNoq*szB! z{3PRpvU+_?)FT4Fb>^k8A54_Q!+1TZ>{WBF$9_cjhj7~33<`%+9;;!gZ@Q19s9k?F zrWoar$&?ujYt~u}afij+~^ua&E?CkmR zC+X#G!&{~-&lk(Cb0J*spoOk*}NzddRo5ymJK zwetITp@b)rTm8E|KmB~^)A=T=)H}(hFMD+lACFb*es;P7Bs5K`)jT8bMd))9h6+)Ix;w`Vjf33nmH>OM&BVU zY@daYK2L}BD%Lfu$Cr~j+iUNrNQF}7*> zJ84LPU!m9jetpjF`{g1JQv@_8{LOiSEcF*?qaXT_uIRLR+5DeA;M}`^w@fb2!oJA2 z#JoG(Azmq2Oj|Dx@wJH?8e|ksgC{A^KW_C}zdBxjC;fB%iQk8lxBm{`T>kla_flCL zUSrN}BB|^lM(^@^mh)5!k&N|vS@IN?==K+Fk`h=7w5 z6V6jSmvkU`8N9#{=I7zx=i~Zl++q&Tb#FG%vFC}%s*XY$xd8dgn;apzpn&ZY4{GTb z`c5J32k=E`NO3<)@*A4v(q~lzAriK5|9xL&U*Og2C(8w961;Q)7+5BTqGKOXf-zPS z4PYoC_xnnd-5nfr9eDSRHFx}B&@9am2SqPH>CZr!Lxl09(v%#K(GTKr4+FzZBO_Zd zQNEGUbCI!^48B?2IJ+4~y>z=rQf5zP=x_vhKug5C75HEpjjcM_I#*E1(2LSJuZoQ5 zs>tY?mgtSf$4jrBc{gpBR;{IH=mPd(h2v5Fa}>QG@_G%Lyc7F0eN}~?;N&?wy21NP zq9Imzmgw=A0BPV#JiA~L0UVG=ra3)5HVH;=ia2vZ6wEm;6F7%eJgP3PhnzV;U?0~N*q3YC*iO+ z{&PJRcknDy2QZd1SX^PE?K+~57y&kbC)5!Z<}^_yPjAn_u1Q~)y;}a!@);-%`|Nq^ z+NF$Vm_Dq;2GLGLwqrqUn3VSM$X83IcHrNBIqr1i*lOq!G$sG#tHO=c3Z-W`g!{c%54!827?Bl+PC{9IzZ zx-|MpIZGr_&^aoN0+j;UhvD`U@nI;oV_)Ar9HxjqI=izMB=$CKfOu;4$;)@6t+)S=Ttr$0KA;&Fv5>do6OT^2( z)Z4%GX;!IEMJYLLE-3=dFql5klZiWp5$g&@$0?wq6k(SxX>Hxel5xZo2H8+o(6NHB zGY1^~kd)@I1t+wARQ8vQFdF#7C(kQNvMR_=eD3oW;$+F%%viH-&qJY*LXd@DU&CJHq^socp(94G`S;ytF1>_MTNn{0O4Y<6%g$6PM(LThL!<}wOHT~-4faj_r{Pk>?3|^gW6XTjX6D~BkSV|>e~z8-gB?T zuIM7fGN^4km;;0cke>;#OgW$thiKCQkr3O92|$j>UH*xzEG0)WZRTufgMm4`8P`6e z397|W$YDqlKqNOYpwvrj6QwykiU5n%hZpZ7TE_Dr90kQIi8jF;uVxr)=8FppZV~A0 zu}Ym}yLH_lQZUdhrw^~yNA~(RP`yXK#TC`!8s6YCK47wnS0WBBxCOSe@)9#0rD-16 z)0x}Dzu9-m8o;~S%l_?x0W5j3J~CSlc(+?eyFs*C%u|Vq@Q*~$3byxfr@u^NT;L-^ zl@WPt;Tik+YJ0S_YcOwV+JLL+eFunkE$5373*4={pYysGljSen^U_r6v$Uh@45Q-> z8o4Mue4RF?F8P}&?Msn3nrPsjJV3TYgrQQ*{|wR!cFo8>%{%Cj@@-_yv{$T0Lt6p3 z0PwqkROC|s?LC&NHy#9tP0~BA_T!eqiq&^#^=O+6Ku`y0CR`b8NuPJ~pW6wyW;KIJ zx@Z@fsK^H+>x1@6b8qtZAJn5e7*OA3fucQ$W}ChzfCpSW#bH&-63^Tf`*WfS7pGjG+uAz~0v(jCbmy zqJcg@vDpKjgGD@q4aF5ZcPNo1MX(Dfy=%F$x)Xsuo3TMAMU*bEp*{FT@J#u+y+Vu0HFiub73m>Xt4W>%)!*^ zN*9AVnTub~?Bbae;t;ec9TEFn{G-6cor%2ta{N{Ce-TzcJ@Jm^<3M6&bo>3ly593( zWKvy*cM)pLB|LqTJWRxZ^@xY+q;K5w1BU{8pv^d(C0A+{9%G5>-JeS#xh_3uB_m^7 z!@{cAF|}78Q_$Vef-$(s4~rozqB$s{ZEhq;elYQJs9*CV?P(iaP560PPaX+ESPCFh z0x_}Oa5`30pA90G&|)2Iqxe{SIy7{!B!T)%O zmC52`6G_s=XogKj(d~=IZrg*Gx>qG0|ANuD8*!QZDy}yxC?>aFO`+GgBZTXyc&oDwBTO124N=nUVDG=nUL4buTBY zBA<+sd5KxtB>Cp1zqQR_GF`cq%b)A@u*|Z(Agv;eI&tQ!=X#R`o7X);vi4332IkwJ z5w5+tGlG2f_iot%)cwnaHalnJwTjU={z)eQ!{2&!Ywv%GUbyxZnjzTKPQU zMrA<*X7~12W`7J^NTPT`}gDB67KNFkK>Pf zHJz*WX?u&EpWT1_O#kcjhs}ZRI$4L_-h21PAdL@*gUp91_ZQ=tOtL8%{l6U!UEL<; z8-QAWkzMxr={T{(rO$NCc|ZPs%(Xv(!t;NsMu)vH>C(_kxPPg^5NUJsE)lp(IJ&D3 z55ZKC7aZNSfrVhErSrGfcHC`m792kQ{Znlr)~OVHRR-k8f|v=%5Zhx5 zMZoM5G99?aRukIlL+-Y#EsQ=gD}9=rZLHcvQy zhyyn+AJQKL&*Y+zz&Wb^7)ywn$~(%XMo|KP^DmcAks@ak`2Z#1&-v5S4_zq!yB7)_ zhu2A*EihzQ5F{_*oECqcPPCl#h9$M5Yn27Dee}7{~pI0=;vK1TKP5C{C+*3_6~E(9IXMu`kp@ zMh7ke9-SwLgPhV59T}ZqgoA-cbp?rlgkDZXPsp4hNf=D{;zu{BI4N~Uh$>>AmvTy= z8$#E;g{Xu!?o=hnQzc$+bt^9SRR7zMc!y*j=HJ~*uFAPRnry7;!HL;zYUJ$mP=2hO zux~Ej7cyDwTprBJyB_sXuj%rpju-<6lzF|_QlBbR2bZ0d%PF;N$s*;ZBj6PIz+D3|^C zHP6)VKhC}J7H*WU@55~{s>iaAw0Q*SN4;b;;Y4E@t=vR4CKk`VyC}A1#K$SJFjbD4 zA2w@I!!AkrhAPyLkH#UT8~0LX_BL9Ymb~Y4o7RHQxol*+dSOL+VWBLkpr6`8 zVlKs9jr%v^5X#YbYPiTHNhC{Kx9fd%c(Qt$g>~$~Qq;?bsSUR*#rW1+fF-m;3-i*t zl8YKxt60%m=YeZ_#oO->ZoX#Aauk7x${Esgsi%XYM_;6a_?xtc^up)BcBCz_4(3nu z?nKAPCme=Xs~l5d=4>z*hn(@X&!(R}V)7decfzuJJjRnRQ2d=sSObG6QZwQLd?$Vb zki~BQ+z372?2Q7)|v=%5}d-?>;Vs$yFecngHfy&IB``+Hgtpa+3ym zkSd9-K#7nwfk1s6qza2jB8{cV=Z(}k-eKxY${nkj$QQju?%Z(rwKSy;gwVGkxwS_{ z>f>AMa=D37W_p2>xaHjEQes1x46!i?-vU|i+akT>8Ah?sG(_XZOun|0QM~}Eng&hg z-R1?~zAzgJyeXESpAyV1phZBVh*Higv`Sxqh+ciMWcI}k%KL-{YR20!O8?W;%q;QtO$$%P+l`45C94!_SUs!n?M5_4 zxL_6xnq2N|%OLsOpdG0}%ixe1T!Op1dqQxx1PJc# z1b250E+N6)-66O;A!yJ5^O5(Q_uO;ebH6K9_s^|bHMM&6)4Nyq)ZVlA?C$4LbHEov zo@p&dM2QQeVJ&)>RIx+`Vx;m_G+BCMec}YUp;~xkS_Y! zQLtH*xe_&imOzXmQGfq}qF5+SQwTwvF-}L-JiLL_B{PMYgI89Q2V7pUl4V$Q%7pgJ zCqc{u)uL)0I*0(2B%;^Yt{aWP4bqKmQS--6-ChP)#O`0URjUZlwb+RDdrAJd#GEjU z!lRiswMEqb44oCwKYn4Jp!?|_-fX1+Y+t<#z^=#78tnxV=nAt z>6wQU*p8aK>s3ynlL9;MMwfm#RA0nq^nd7mlK+l-df`(d7H4@UPP7J*WpmsL6Z|e_ zF@Xb*OT}csDu6%cWZ+ng{?^a_el_)DLB$Sh!91&S!R}Z0bp<$ za!qDR@3c6ef!|p2jm>x}2TU^P8{VnEeuh@#DOQ!Tnlp^0rX7T|VQ}M?sMK!bt4q8_ zN$U~w+2=Bmz-;a+S(*)^?EfC6fH7~`X<$jn0Ow|UJ55l*8xpW2#rZ^zw;W5 zbMSwi_H)C=VMu|j+1}#<-QwzZ6Z|A^4+je9hS}h?XQBA#gbw$xUwo_Q$~6V@-S+-G zv-i(2zdwme5OwiZ5lz89nGa32S68X*Ekzo7Uv^}zr6CiQMp%1w;u`h%8%`af6xF8_`bd+K>tDqQ2^is18=z_fhJVPq`+7+?C3Fwsd1w^2ATX-5T#@Nb-6R#FLt zSq?^PQPD%OG~U-RSrEh6RWyZJPm@EBAxC#mZMy({AY4{>3Tr%*WEjnH?;EtB7Gm;? zAQINRvaeTdX@{8Nst5vEz0~UB7~lK8r}b?yFhiV$#J`7&@O~4;>vK7dniuHXnwCUb z1wv+fQ;k9m%Ho;C2@5C!lT@i?cwa!=(Tl^!UF$aOAq6|_vz_71JK_|$C zSnBPkT$Q4*-UxuX-hjniH)kA>g0h|&eu%gk>1|RknmUl=d?1+0pGa2rbKhWSu53 z1M%1g%@w?|l8~h->J5LC^EP8sZ0l1nlcjjW%PbpA3>Xr)7;r@xn6;)$D2nK&A25vy z_sSZIotDlgmKnhgo0UfZYKibbf+bPP1MP!QEBR^^$#UL=tp_TktV*X`RopI z5{_Ok$rHKDSDXiZ%p6Jcr#CGMuWajYBdz9K9PLg6TZn)A3hW4_3L8B(vYAWr0Lpipg_|`+Bkmy8{QGln)grLfd3B6O)H6@m&>_f{%l^r#gNF zhvR~>JjX^p2a{Nkj_W8^4I`)w%*t&QNll}`@1BeWr72AA%D?CVSDlPWMP>pn(Qh9` zPMzs~ps8F41|{l2CHho+1XU|k@tEOIr`_RsRU=aaRi{c-_WG1kU-p3p55W|_G1pG1 z%}IBSiHioSASkJ3nNH;eXNKX8-y^&zI03+-;E2-PphY)_%j3ZiPjukJ3ss>ujR71}Bgy(j`WP5tGCo{=SvwKh7V;&^FR78m;DjSl=w z>mX0|JdaC?_%HR0JRqJw7U+oJResppJ(6T>JWV1vghhXa;>PW2rQBd zZ%1G4-~!-5W@+!VUHRGjv$L4nP$D-23#FE8$drfQ3?a@5OZo(6ccI1Iy_X4@D;vkR z1!0?V1#s?BXpDD16QkAmsKN^57qew(v4YV*QkI8gr0FN7gQH0xeecO;VWdOhV_#n$ zbwC_GAg^dr#c0)coI1l#%M!^zR(F4|=@dLj`071itsSz;R|KldMi<9Dk^>-%CZaOH zA<4p7iL>$VezXwOv199{5Qel^Gm1Wb-4rN^MaGAkz}?S`@I(A1E=N<*JCKBEffV(gux-Blz|}>)O0`sBns}pVmyoO zJ1yNo@SIQ>J#}#)=|`i9y~V&LDrrxYdnqAwHj(@& zNttWwU87v#*Sp#P9f$6Q=&74-fPGyFb_Zm^k&4v5m^5rF*R~urVyo4{zrqo&WdNWz z6A-Bc&oDGxW-(iseZc>?wbOP`x!*XfP@m()Cm7l6g7cHi^(658guiTK?nNtB;6pWh zg1C*|WNCBlJOh1R6<=u8!6hB<4^!DMRS6GOB=)-rR%S3S9HpTXtEoF+DUEs*zL3C9 z^Zga;EV;z*Z7Uu6KwLN*A5t4$4&f7KiBx=yGT+h&-A^ZR%)G6p{dJ}-i6>P-dwaTq zwTNeTPgWoJ0IyxoGF})JgFxr-o#<;PhdH*Pzt8?4oWoo{;bWZxY3%{D{W@H~NYBy2w=d_Ku-k1u0SU}*mk z^Fe*JhY(IjT5WfvgFCjvUiKXe$%n;YK8OCOi*%I0UEy&YSPnUyLtvUMtsNG=(YYtv z0aKFwgtU1YN6!T_mzIU4E9HgujTJc64$;n$gT)EPN$bQVa>WJX9@<~?ek5e2b-cj4 z1h`!SVJGaVcETG@B4dN_@GY zd32VfvcNrX{ovuMb|7ylbEQ#pVBLs|`1|IT#)&BVjJ{FH3t0^l>_$y{TN`>Cp?dAr z>9)ms9#@^Hj^Spr;VOFT5(>KxJ#(6_c7u7x4%-F~OOm>I#F99%-1y(B(sf=B*}Bbj zxJU8iN9Vpnn;oY>p7#5;iAQuDRbv}|=AQa^7yQ`?OVaIL!VP=X7T@VU_25=0c%#Kj zZa*q~M6U-UMAk&c11Ih_?X{<035q}Mu*>AfoZGt5xe>q7ht_vXd9e=?+;@3VhaqDs zqnw`KX&34TWqb&(OL)R?ApwEzo-GT%TQ$#{YyPwkdIcZ;{t4$^P1|Le>lx9sN3rnm zD5%n6B3BS;+X{0UM*clq<2@34XH)$CX!Wsf;c?=?TPJzgq4Q63tanSS*PMvYyyp45 z$`eheR~L&bcf+fZny2AgJK+*9d^isnFUxL0lv9DCGFtn+7`M-;i0?|HPayC8eOtg% z<4oY|r@aYQoz}K))uva9DrCP^X_Cr@q6Usf(sakdM3*~@PDTT3ES}#^X*#ziRu6Pg*nH6XFa3-J2 z@>J7rdMOh5WbtJ81k}j_D1HJ&*4b=2NT-#YYLk_Iq8z)%Lj9+!X;h}}y3WZ(f~|5H z)`iaa2+zS%vp1CciR4|)W~Vj*%$4+~`=|acKP7zb$_8t>#1!OZmlh&s@OTP=-@bcF zmqD8@L+WYi!sT&}(J=8N>hJGcZz^>Uk~6iqG$z~VL#4A<&g{dXW4>ZfD@?{)!ypRs z_WFvQu!Uyk*G*3kgI$yJZ&QS`P4%V=$5k-1buO-}4$?a{+r9WB7Y6rCX=@)l{nil) zjojcc7UTVzlw4n{n>o;8`BAWOL*0+&2UGR0lBpLgv|V`gR9|5XY}((e)#rJW0GcQQ z5P;yl##(-FB!L@*H(!rq~nXL#)UnMd#t;!|ju_1JDM$?>@y zK9CBW27wiXh=!82(xg7p6|8y`uZdgF+?C`ezx6E3B?S_!e4b^ZUHW3nJf9m8`^w$Q zf@9|WdWvH~2!#z0pYDs_6OoQ}z7c-+LWM?IQW^u z-ub6EUH8@MWw}OC<)!RY2I{v7{j(FUMGk_4ny*H{vCJaxek|@4!`7;A7G}8osY{ej zteb1k4p?04US~cG8FlP3^g$!)xaJ!KYroyeH1u63O+s5)UTU==y1?u` znD%%h$t>bLm)j0Y-y2w8C+_5QtD|`OrFd{9dWYlA1J8~X;E_rETp{6bWP7EM^Vs~|)G=oBuFg4GBO5ZoSi?+|I_3Mmd_m%qm^XJ^JU>2G& z_I%`;8HqI3iomcP(MKaErW(O7;nEJ*XdM>f0pcT zR^+~F&fE3p&Aql%qka(+43pI=!N{S7|M`csOe<_))&3P!D8RG~j_5lThJ2W0Uj(tx z`#Q(#sW?WlQSi%RPDaplyaqi1HGN`$B*tKj3S|rlBS?BLZkG6=S^^D#E-E3$HwhcROqx zbexH?SC};>-LcFywi-(F&PwM^woF6oN_6gM1sCO&G3wo4h`qy^Vf!FA=1}iIzv2A$ zI0}Cz9)}6RaqKk`d)IgnzpR=h$9uw~9@P&9F*z53rJEGT6!{?ZOroj+?(uN$BkWgS zt^~_p$7fW1GX7nnAXX$_GW6Ct>Ar$aD9d0TCP@ihRm$gDKEk`eODoV3Y4YK|k46WIMO!t}`}8WpmLk{6$) z8ib|{xkukl_SDqwt$wstmq#ejxG2xj`6bE*(c~T;mD_&&^oe>=`%OwpnAk7ccm@(R zh{LVa`d)R#-El9;cMXZ!?D9>|ve8LS^)_L>aiB-${7nwH^<3hI+tte2({ucn-EcAa zWb5^T5$>S6?HY@tR*g-^x%MASXT%5FM#&#jTW~Gp{fqfE@0F3^Uky;}GU*vE4B+&U zHjKk`ZIHLFvfS8}SXqClFRS{^6xX5Ijz=w}Zt-I2VGUC z>rz2D6XR$adShENT7hmtrV(lkdrtTslrqn3VeX6Os>^o+O4ZdQg@U_71?fE&`1yXt ztve{O%@l?f#*)lfK}o$lJRL>EhY4SM~Mo~{2D{fpxlldq1`jUy`T z13petY=~FNO&Cb^P_q!JEAD!-C2`x<#oEQR-r)M1$Ih^5zbEsY#wGv|BYc5QYFrR( z-Qh92tp_6s0H`GPhAX8y3DEvXRS%5rwFU={-LICp8fOkwUDW$$De802X0|5U}SXbj?#yQWNsT$c9Wqf#{nPI}lnulu)EBw$pJh!`}b zbl#7>RjD4c2}@z_eW2nQbo=;o zD41&*`OG29%d(DL(OHDa7du8*xRDQ^o#*{o)>IJLOwi!BSw6dTpV9S=73W`3Ua^i8 zSMfLQR=9CKUb{89zhm8g{ZS%$DE@J$^!lQiuns+MWe#hxBB4Wtq4B{S`b88bZv#6O+`lG2~{A z1O-Fpv|As}5e?CG5mcUrYBKbyBlS6a9eKcL$0fId@AcZtsrw)$ZNL=`nh?o_Ll4CzutlN-tppOMZni-#@g2)8X zxlodhJoC3nRQfgtvo=>xALlE`YCPqWHUdu7I1T+WVi5wUNfO8aBjDA@`)+P9?UCtZurCnn1C@=4BP8X@Z6;qDcdXZ&#)+;8^&=vbZrlGN_Rc)eY zF0HLWicv*=T!wihs00unTymh`nAnjsFLsgKJ++a<`jo92qt8^3uepyjury;-y|*1g z>QiLC#J0cssn~#viu&!K`erej$?Dk=7@5H+{%((HVqIkhX1X4*>xC|-cid;#k@3#w zi{x1G$*O5if1z26>9h;TQfJ>(!>q?jT-w0 z%VipC<#pkQDZN*O$cv&lbO3D5(Ia{sQKt$<1@%lE7w?|Y)4t9h2&P$-4lLC*`e@Dj zQR)G?DK0On96^PX8U&#jPR_=n+9XR3^$#tM*`|)3fGL?KWZ@(&#*D;i3(~(wSeJ)b z;L-(XuUXJFfBfhuNxl9d$uoWJ=-@Hh(yP`Y6TFyeD=AWN6rxOP#RHQPE21GV^)%5RbE|Q`L+=Bs=WLQaqdKUwFdSwm$}A$ zxxg|*<>?N0dFIzshC0u5S7my)=Osbc!ZC9=4;ry=&)UTg^ySZapNRu--vpq2dY4I4 z5fx#6JHLY-Y^dI~ELTueIbv2p9o`yI(Ux!&Mhvq~z={(rS5RXwssk0-99!X|S?ay_ z*G(`hw;`_`ujsJ?)Mr%8E$yFo7lno*4S<3TL=TKZt=^8HHMd!nzpt=ks2s|$(6Ke~ z4_R~6nUtD2D3946VJlh7euEqKW}Ja>*@w>eM@iGbCyB#PVOmP5TFPNs{!+DE z&9w4Dl-8aPESwEZ4;#j#%!4{8fb8N0aiCzr^*3R5W7jTvrFl- zpBObK;%D|+HI{TXr?!0;3@o>V`^TwEq;Ar`6JA7 zJz)1_Tk|PhI+p9~+1F0qs0K!3=e}BV{>%bk$pO%w!+k!xWoM-WoNtSrm$=&9$g@6> z+e`Y}A)207tJ=d|)gXSbhjFtYf3OGrJW6`VdgW%1i)VKcAx02Yi#mC(8_bH{Xv1?D ze8Ft@!2jh|=lt%O75tqQ6Zz|(w>P=tqGDAQr_Be-U_XR9}*4gmSSaBqjF<2Wp#Ptcx!MR5bl9EwpI9wN}n&`I_Yt434to+V;P(j0bU zcLh_*2E4H15gxKhIg8VFiOJ&wsVMiiA4sJH%dkK7QHe+~KiavMBG4&F60SJtV|Bfb zLxw5$VV63@KRUjMr;|$}&>!^C4@zPqi0|26B>75WA_TG*AuyO(LNWVDJ_XaDNfI8g zDyChDcJ=UR*2-6M03bn0_m7I z#vl+tS_f4SlMD;QA`B3eK_ILI0=mS>WVEU;EM7rewS>zB7-quGqTeTT~J9% zVwjZ(`(23J_3)Nlfkk^n;UpyKIC$+iftbMzl6?v?2pFp0B#nBc^#Ukhzg1AFm5^PK zK63zMfvhsYe6$y$vez>5k~F*QQo&qOMLNf%M?}80W`s7Lw_*p{8=mIqD zf{ic{=y?JZ;o(gf9pyj3&S~bpNgLAP3~_0aL_zw3l_yzEbc6AdxTO#r>HPXk6(ljb z5Jc<{s5V8-al62M%D88*R0KF>rhXIuVV7yUv?$^R-~pw&IGE{~X}{Z(y_2L-N6>#s zS|Lzkl3S1SO1riHg91RJ^@b~mLk?C)rr6g^oG!)6BSpt4B@0lg=ri$?WI^k*R6t-f z?2(CbaZ)%nekb+`QMFoMv-dVCs%(oZ8yM)8_54(hdWQa_tuU)W6qLWLe z6Ejb}c}bs-UoZ)2H+3%p>FzlJCAX16Fnd&wBwnDso4t!E$QhR{3_e*E6B&X9=V2!u zs1U5NarN$F89F>n!dNp{sw5af#b+pNxP$L3HN<)A>PU(iOiU-8vh(_bCLciXPUEu+ z^pPFo@FezIy@O0&gx$6Dxtoezu#lf*x*Y;zjT1+W3pM6B(wPVRx39=v&+CbuyM z#B9FZJ6nH4?^aRhAl^OCW;B)>RPjSH1gs|IBR_*2po-UY>iN`^S@w!~^{L zJh$eIxP}|Igr7W>r>4<1ckls$wzbsM>w|S`sjk(NxYzel`}d2rO_{Z}n0H(VkB`fx*hK-OhKF}2(sN%d19;t`cyV=mb z)rr3onYG&Qy6?c_hT*)w*Q+11{LO}IBfkKO2^-G$YxLJly{UpDC2b=$f}@RXqn(0d zgKcAzg5wKq;~Rn#2W=B)f|Ivxld#A9YSyXV$2#u8DV8eYtTOYVZt-JpHm5%AsO5#G!6S@QE> zt3V`Che;BD2LPNqh=P4*B887)JC0JHj|w}EON4*c`2K7aKI!Z@8GJsO?fA7Ie7fO# z`cwGqtmEwV`3%1Eyz}`W5kNGyrRy(DlGROQ_B2xvAX(Hc%gD*p)Lp6IBq@NbC<5A>7PrU>4an_H=&&7WlXMI%HQT}t zalhhTRXC59E05rFyJ>UJ7aPI2LVMXYYsxD7w!DF+G-R{1Tw7$JAzO>HXT;Mb7t9d{ z9*+uw6204R!dVj< zjy0a^u;$3mjj?GBCrOJE`-)9vc}L5Mhl#=OV0e1?Zc;;aTU{$2d08e zL3#7K8HRU1+aj74BO6BLozGEUy^lIZLm}h0f?|+Ct=mE>IarF6aYm?N-@~^FWieT> z(iyl3ac6AfUsSJ)ljI&5RYgWo*c1HU-W-a{y#bAwMgcS*aTo%KXQq3C19vc~WW$nz z;UwM7=nV^k{2NWd0X%%GE;fWxS67Qoy(ipfI>cR<-Q520^6j>aVK+>}50uz+F zJtZKVx9lrce4xZDU6cq!?!cl=llVlOgobjJB%!*o_x0$Yd7Td?b`U##1D zS(hOUN3Nq&iEw;+vv;y6KhP2a4&T3p>R=5g?^@#GG*R4P`7RX%8N8QO)Ub!}Bp1SY zV9vzw=c{P~kGmM+x=&lIb|YDdh8Dvi7fukPO*k{CS|u^Teq}Q{fq}f&dTFXbs0IO{ z(VRYu(04sFRxHn|XY80bWFR7z7zOFedOLQ?E-RLW_YrW)NClpv%EVj0^Z8N6HGU3w zAxtQ063uuOgmE3?oY%8?B(*cox?Tt|ypmVr2TITVLS>Lu3`50}>qOo8E^`|zFla-o za*6sn*zycAuBFSe04IX;a}jeyp7T@e8C$fvbTMZmqQdVQn81T=rvU{E26kfA&g+|m zwNX9h(>JvePw{eJ`MXn#@k`eemk~~z|2*6feE0ZsZ;Z~RXY+vd4C@+c= z;GBi9B|%Xwc_m0*7EbcbZDDvUO1yr?3KPTI#tPSxq$I}Ove=GiN?P@fJ&0fgVD#w}~a&HthA$ zxe)W3u=NT%Sm#?|9+A#%lMp$(-#p`b6R%7*=K8p=159!kYMz3{gBBZVHzdX5eIO%N zpk{%&vPp$0oxW;Z9Lut$E%A^i5ZbpTIHGr9PP>m>_~_jv7K{)WOBTb-mwHB9wB*b83n zZB)xW`^%0Zl5L*^YDO4T^S`r2a7Ahi)K-H}eQndoutNHfa ztmpEeY(Zs?Rcf}V0U2wo3E@RdzXj?XCSJcj9v=OQW@W-4&HC6Zt<>I)ia9;ENG0zd z#f($r57Gu91(p%ihSL|*A<3-BGDK4YJmfVs`=wvL@DY{_!?08~{ZW(%)QhW1>JbXoZAgh_rt!bzGexh}w?BS$-wvEwv4#I@%~c zQfm=dcB;D{KUa&$q?pQ3LZWZo5|_l|UM;;F6+;)qxcZ7aSkCQ_oMd5d^(K>KN=zmB z@?*;A*}g;4Azzi|sK5Z@K$t{o_MxXPjD!)fN>w~}#m?^{h(ANAyevOWoj${paTiGK zsW`j?Q6Ul9Wg}#>p9%^y7r^3mhob3^Png$&uz4Q|`mhz(w~tYGa!y7>2j{J$_=dI+ zd{p}hL&MY+22CjmLNghIs63)q4S#-(;Zd|@5Bn)#&S*$9s{P|KrFqqy#m{5(4&f@f zU(kXhm#^ej@+xC#)q>~U{W#=$r5=a$14qun#0v#ErnX?F`j*)wI}QEsnBEQ1cXa6R zczK>4Gav5yPo|Wjl-W#RCkri@vp}QxNJMVIyR700y|Z z9fdCx?5RY^D1Zv-Z)+*Yyp0&Y!iM#+p*~gLt=d;cwKJV33q`@bFAu3KyyE2pPr89+ zu%zGaGuiLfX^h8I;Gc*szae;6B4s6fIl2u@s4tO?{W|fP9)wmsh4YDGcdhjT7e$ zu(B(bs<}#v>uniOKMEdtLrgJWtBf#d=xdf71Eg$?F2H7~rD@~ctxZ~tO>Z#2$$AvD zQFYBaw0E!IkWh%TRR!gDI-?MNU)xrZ>rD*Z9*o? zgQN@>m=jzNuPxOZBE?>=4;z&jmm?a;AE|BR-;K;#=NN9K8BPffOvEVIpC`jvYlHaM z&*->FklLjqX%L6T5v5HKcJG>fL)qHmSZcTs!EM8gq4~0(Z*B54(2+_mu?i#dBr6LhJEnIw}{af z`Qv`7n;84rP%y9{z+~*cK`e1f{|K5_hA5!qBlpd&EA|k`;XbO; zN92BcmQ7JC_J9i-X7o{7v`P4w2ehkwRm|IS;g8Xn@nQGRs#wVJSg6xjnAq63YS;wv z*d)`~RcJBf4&g`&IQl3}aAnr7pjeD*QqB;NgUukX+I#O!Tpp}f^zwN6D5wP|?VPM& zWE)O;oDujgB^mzQAI(fA$5}?6a{+x zJxyW+cqLXMSjZT?6-)fH1rR(Or%|Su!S;NNhFOCq@z&(6a?P|=-+QgM;_lc}NLVX2JpT6EVma(u3zy*fdZKT{hD>I2pnotwZK~Qk*!gfs3xZhMaNH z8*#l*dQA6Gm373pA9BQH(POM}0dfL~-Lfl`?!Cx|$VU{PZ{6bo!gh{UVd zF5oE$R>4ZKNL9#s8c5os-W3Zi8drBV1IwS_pp@gY`ubRQ8w+Oi-)<6|7^^-BU{3Z5-il6=iW9b^w;6 z%9k-Lrq>jNssKLNDS2m2+Z!q_5+K%ZIF5x^ya<&P5){A0*(h=nGMNLe1qbR;fMu%? zZ{`4_?MsTG%QF;F%!Iy5oIv(r4ye^6_HzhStCwpO6(e-d!i)u18j`b$i!6*pv7GaRFY4}uVwU{;d?iGpjO$40sA`6T4szg`Fja3~nZYxNtVl|sufxDg5cza7D% z$|Xt=nG`4n^vo$eUF+B8(1kiK;m5H_{xDsi!YRI073-g ziXyng)nH3SAT}!o8ZlN}RPclS_Zh5m5ve5cm3P&IwC&Z2aH8ybtju7305@oe3OFn` zz3)Is+b?Mfja2Nsi|=Q!RGk~>{Q-n3B*e3SR+;{sdV}XG|4Xl>a-RZO?d=q8gO#Ml z#}DGeQoeSg5%JUBZ-9X0Iqp(ccAGd-vk=1IUM)6p-`|OkbAE8wBWBa2>LbqQn<9)ao z#GSwVP~VR%cwz3xB=)(%K{ZM*S%Xh_j-rXmGW&)@@GDC7IYq;4SLqG6z0n8o&_|zm zYXOP!jvKBO>h>Aeo*yau%NjOoDK;A#wmT`dTR&_MZft+z+udr|{o%HQ!BXr13wH3S z_Q(tNhy)I(JPw$e4kQb9WPvE#$&_O$&^R%+!3LJF-MvquRQ$J;o7YyTs7`<&F5527 zKv9&psnpfyNP4c$=!M97sg8!X<`${0b_8xtnr?2lEVU^v?+Dz3Qe8aUq=FaRW8K`t zc?9E9Jz_OI?BHDrH9bojJ<8lXb9vY*HN6^Bz5al`0EJ#PJl@5cRI0aLUT)sAsb1Dq zo*rF3^8~&-n!X3AzCU? zB!q#lwF1e~0x6pUX%_=I2!n7JLHvtBB27Uo?g3(p9990oYsJAZDXpOQ?m^m%A)17t zy1b!=TA|iyp>}s>=vo2J?htolNX8Z+3MA~aR#;?OSnOh0B4K!{R(NJwc*$+ zn?_7}uTKlK_8E=O%_n-)3VR}q4Z2HO&`MrOOV(UU{!AEVdQa$omprJIV%ePR)STjy zp6a%g>g5r3o0fR7_(gCbhN#Ef!ygi?9s4IO{kADqLOTO??Vh33oKcgW@og!io+z_% zDYKO*t64j%(<4hJJ!_ILt8*!SoG*LDBWsN)dqX>CCp~9tDd*rm=O&DHGqi``vMCqDm(<^!TbPl@vYhnIBdw$*52RC(&R3C3R6+YtUcp~D=$ZDK zKWUt=vMQr|vZZn*qvBSpYPh9h;i0PWp&~w`y4$k`cD-Env!!O7zxv6u7Ez!EUAJ=U zp%yGq2}n;A>UM^TW2zD*#y`rfVc4LHMs-xCJjedO`T zRpQG~YYrQHC@onjuh4B7C2qy^YVB`nts!|~i^^@yEOyFF>?g_S&1{`tX{$5*V5 ze0%KA6dQE$$NP2ns((ALeszSAKg_Nh910k+BOPtbXzu2X($5+@(CZ;<9*q_42UCn3 z366pSF%JDPmA8gI-)DhzvpD|5EfFG zG3W+U7(-;mCP5G!N1wF=$R@gQY_9%rVg3>fJSO*bo5^5kT$}LJ9~0QVY>s z7qAziKe*PulG*YZw+A;v2&(vmVU%;A()}4dzfwqe=xa`l8Y!|M$HT_TI)i~6KjY~1I+zR&ghSA*pm zrZKHq$MT^(;}XAGyC-@ol_M$oR};uk$;F{CUPazML+)8CTR%MV|0yRn*W690y0w1q zv&XoFOb&RtAYuxO{Kf?mQy4CmZS5LD&xyLRO0$n&i%$*uY=Hyu)N_9C!SuH%oK;Zbik_GdF|vRD zs%iFbP$2Pn=Thv;dAE+GXxuEbbmc;NfD4SuT*Inf->S&zKgz=)1e_CXthEb6l>rB| z9mhVaGq{1o1;!2i27NG@=21+-{=JQ*e)7Rg?S%?xTvgDWwPI3sG_;PkZjuF2@Hh5!Trsuo6##N92$0;)s(rk zWUYJBPaZdHu#~Ge@iMR)k8DlPEP|FcKr@lS-%-H5v~u+)3Es#AKb3>ChhkeZ_1i{Z zt^B#D`X>VI(|&$SPUPTSy_0@}>c3gOG=O`Nej^I|J5ML|-Vh6jGl}>~|9V{J7T5s# z7XSx=0~#UwZ$-QSX!SEvb(Si$Pl8sL!2j&>1waJ{%rnBT*7||EwDbZK60DM7OsAxD zynX4&w^%cS;N?(2I3%DbHcHov|D)I7C4mvAEI4_mG9n;mxzNAQMXUCJjbChGKGCKj zQ1V5vT@=ou8#fsGW63w$;q~o*wgc@#q8ulvct14v{xj^Z3U;6RU#+v?<%}q6A%eZU zyYvshwGe{`=HY||5Qqzu5G-dE{{J=m?+*li$&z~#Ro)R^<|XO4Ok+a5Zm=L=4*u_# zLy)s|@G{^7?P|tJ~YFM^7Ds ze%(fwgQggmX`_qo0+MH^OX}0DAI!>>C*2Qro7n7>cz^3Bk}mLnyXetm_-EdSZQI9# z*O_w1s)pNHg~!$OANF4GUma7;{(r0bZw`;^zrbE{uHkkyC2$tvb8T%*Oyv7}kTtiZ zze8B^dCC99)*7Au7K!@*-T7x+ZPmyAe~I{?0IpJZB1=C;HvBdC2Z|2CJj#N96jOF4 z-RL6z5&v7|>GBtovNQMw0{0J5=KoU?@+r*0*#84jX0^`&G5-){9+kjP)t zo=?i%Xe(L0RY^}-OZk1VFh?DS1t-sfu%{MpeTq)?iV7jnkr1#JWrFht-kjpS9Eyp? zh(tfiu8tXiImu9(5C<F(fmB$T7KKBz2x=$dn^NRV>*Gli0{#b!ni@h(+y_4h@tp z^$h}A8~Si_91U>;?|AGLu{J6X_D_&@?DO>}8?kgO z)?tYy{5fD&6 z{{I7-KxMxjy4+GOODdEJqJ^;RSZ$RdL-WH1;s4@`u0_w~N8k$O0@c^`QG{5n6;)le zLW3g|V8954dyps2Qo5&04>a0PG zTNKQTkbjis&Ut{vu|c!=QoKQ+5-KOs@2jT{i3>th@PXmqi25~a z70ARTE(w4_W@5q-&r_u;g_)Wi#qyZSROUiHF^OnO)05Qn41FBYiENtlL(CKiI@2i- zR*XUt-uz}J!%3Mv6!V`NJe=iBDU8$d&`SWkM0EPG+XU5-sy5 zD*-B(9ciMV%QPrPHHy$Xec}+zlPE=Zc8GFrRG$_ZMI$8oPfYp}e?p4mVC+fId}j1c z9mT0m9m-RNI`mGC2&p_5na4aBRSrl^s!(6LO1#h%mmKBjNA3hqmd^7$zsy4%;=qPA zq~WVzMZ-YI@YSu#L8P=PDO971Qji37dT8a(Ahp_tx}xE(UCnD(2@=*c5MZmllxbTE zu?e@?LgSH0rZu>@elSS9OKuSWI^XZY(<1*?{e8djqx`9wU2Y95c!^|5%h z$QmwtR;FeyEuRJLNgkRdmj9M#kX$7zS>te7-J?yECCc;+^!t>#vI16j&uB>kXe;G za;R$|YWmr9){>_LID{I^0OR`Z)gWahtyiW?$vW0;S*OpSH(cpG=xW_$ca+}-A(%!^qznSQy&e+!Frt(AtLE*~UyRzCIYnso7 zmSK|wgo0Z4f;S0ES)SX?{@!OJn9S=ZF9Z$vQ+?6IB&g1A z;RGVOT93EVQ!0=})HV+j9{Rnt-G;zgJvA2EL_ZO&7M%NTpmC2oV$mgdus8g&P~P`q zW5f7G{MhhBsSzM;g7w5}J#~u^`Qr<+*E2{S<+53B)!Ef{m<$f_p5Hi2B*AcA|9arJ zf#`R=-4(*GwOX^nC@P2a}M4IoJ%Y(1S#SY+=(0XXk}q7=~xJ5>exYO16Lc$7HI8 zec87f07!#45rqTTdI_NjqF{wNC=75Ag0|vim^BGtD29Sah8#zPMVM_zC}Rb|hTRt$ zs{a>*Ju!z;$QlH|2&jOEI4BHyfIdVsUxX!ygZL7TcZkSK;7U+UHA&GEE5Q@MF zm>3PNAUzUMVtoY%fC!3VSZEFycDm&dcXeJ97#Zqza!wc%n>RtMI8;%>Ni-q|jev>6 z;0b2pgT3X6x(JHxktAH8cNPYW$EX^cP+pS=Aj^1;lTr!lSP6)r2&g0ww=fJ=sE%y( z5V=)vi;#_)@P*r`kN&ui0QrxCS8d)%1`lypj5v&sF^;L&hIn+211JcHU<#(73%ali zzmSo;unQE42wt-X5_t-zKnj%5M+b3_kJVfG7?3OpkSTF?d9Y{b2N7hIHgqVCoJI^++_MIA53bi7nZZ`e6y@H-Cr-b6zmwstL5ZMTYpa_p32!K!sg&+&HfP>6%3qcu_hk2M3 zsR)SB3hUSij43&Ec8J`?SJswy69#$HS)Hq8oz%Hnr{;@ewGo-c2I2S_kN*gXuE&#{ zfC|~r3d_(6t-uU}nTfh!n8P`o8Ofg5APdv5gKmRtPN|ytHkrKzc?Ric1UjGwnw?i^ zkZq};4C-4PAyzG@kc07t;n|huDGI!R3%}5w?}>xA0GwkvpJkbm_=yX+a0y-`Ier*+ zV+UN=R&S~mTx^Mi3i_Z4SsIwogca%%UdaifFb%bU3%r1d9~zKQr(4MZ)3b*i^BD$upfD6ib zD;{BQFe(=Vnw6b#cCcxsr*n>v01DvK3>}(-1OS}3K%%nH3bMcpy#FbrvVf#z`JpB% z2-Kn?k$GxTiWg+Zm6)*!6v~V?!IOd@3DYp7(kKwFAPlt-q_SWNKx(3}$_uV=m>((& zvfxIUGdL*ui-X}}61W*>HwikrqZWFO^v4S~D2=+jKx`6xGayt>1lMr=UnnbI}laHXavDksHU@uU> z3Ekie?dmtPAOH}+2#P=l5H+yo4TyKx~_}5Nv4~78Wdd$3On0@#()X}AOWJ#4T(Ss&*}@lu)7ct0J}>HwZO0& z`3thZ2rX-%E(;lCaHAFq6q*NxPso#Y7>ihl3&;Qk0{?Ic8UVhP@TMlZs+GV9iC_qo zKnkyryp(&S(SQq)u&Wdnv172gu6bJ!>7_eM0Js1QFdzT~yaVN13(=am(BQ1K;0j8+ ztT=cIjPM0vM~pO^u&otquzxiGar0PlGaKkKfEFv&Zx1I~a7i7Tkw%cSqx3c6scmEZ-S zkp_&|!^^13L@W!g&#oxv3y&biVAUA|I=6)kOasUX zLCOoFaJhaUkqXhsZ@j7!t+4c5&y2tbr2l}tHC+jc0L*IO&-pvZ-?|&DNX@mt3zyKg zt#QrJ;>T2iF&XI>uS;;i9wZs&;w!7(6H2J zeXjMKiIG4BMMq(zF}-Mf9U^r$dSD6dx~hBx2r9GIe$Bm%u*YAe8x#w$)KPU&sLD+0 zfhg@uo*<8Z9od;k2~_P@!WzaZUd zTLOhMm3^S* zeH+1j%2d31*LyaFK+VYd+*a7JHn`LoiVBYq+`Q@=fE-y zlNPQBmiVk0+6dC~$55Ob2@c2$e%K=>O+JdvLLAy69S2~L2}rE4ve3;Uhv328+J(Gj zXXDk6e5)<9C20T#dcdwg%cz?CX{vS-!W|J+ebojY+-)giOCI9#Ro%fXph=$OqZ|e_ zS>+ULUV>E2M6(%)W;TGZ2^x+IC%r}^NWom-rOgbjtpEmYpxXAe!A*YUO%9!;{GxXb zox&wwfF9^pzUN~V<%Eva(f`Zm_?y3XZo$IsVoPq{GQldxZM_UZfFg~0WX^%^%CwOK zv1BC$jexMSfD5F+(O69ske=s;zUqtqw4~Rdimv5>jK9K_!5J*+B2fmDvU@knE>8dn zPcZDnUhKmT5yh?$kifK(@aDL%2)8{N_A3UYfC?s>p{=S2)GeiCTojNVnPygW2l>|b z`?Lef=MB;AGX~HQp#mEq5bh4|0}<~8paQn->oQvv(5M3Z-tYd-@Ab|QDlqTgONfTR;E=?ymD@fA;Y{@H$TbYv1;2 zul6}#@9z%xJD&r-_3E&$^hUq<1F-;&FA$Eu z0Fm$bkT3ZJVEK`M`6_@2faqT!m&*EuuEVNN5u^+T zg5d6pPXR_x^E2-dGr#)+f%^lo0abtk-MI3jZ|4Ud%(yo_kmDMYFZs|9_(rb+8*li8 z>=k>!@wiX)3;)mn-4FfXzW@rL0OCLX=8pgfKmh2!{_9@=2v7jII=En~Z1ip|VNI>8~gaQpNJctmE8ZZwZMpOgGAVG{7$7~$aup>i|Aw@1E2nLY~ z3Jn^hOsSG(1BNSMZXf{DX3d%l8Z6-1)8_&pD7YZxSk!2kFe8tO{1V4cpFVmD6_P5I zs-UTb@;v1V)$325J8`NctK!L%tzEsY?K9HtTexxM&ZSGh50Els$?62V;K2d~fE5fT ztN?*w1c?&?7~G{KU~%^kTw`3Pm6MtVoeFS=XGkl19pzvt_cD zky-{w5&zN78AI1)Y7mSdlnpkJO*ve+%HcGHi}YD|@Z!b=6a*cbyR$+vygxTZbehz) zR;ZVSzebxjX3cE-{3Y;n=X<>>fIQiw-oAGH`SsJ?^Q4S%_`>Q-0Rjkg?m5E{gU+$& z2v7l$I_hIf4(mq4&cZJk+Q=Y4AW>}@XWeRxYEsE8 zwCq!FKQhZK^RB#dSOiX{YVC!M^EZ$6GY4tZ{n_rNROW5EiHS(O!F8Cp9H zaPWx;C47Ts81W+rXM_oDn8_&f8B02;xQv;G%VfUiY>WZvvep`No81uP zYeH3v7-F(dd`%I%y!z{biywGT*Or7M{Ev>;qI-BV`+Gt!0olwKPB@!2i~*LRA3fRu z7yzP>!vEk*UBwsAnbBnwju;z=%g#nMX9&5?^2?3RoJJb~G_Gmm3>t2so9^X_Y6KS? z0BcgUPk=~C-Rc+yqHmqgXXay+Gtkx*IHe#3JCPvnQ1E~hi-6|BH-Kd@n9QeXiDFu(ynNI?V~vw}PU zPkY>ZAL9-Pz6O$SQBWelYpz6vH27T$s6(@8r2W|Odr(}`xWMHMgJ8oO(jb8P5I4{F4de!;OhFEF5Xu-V z6$Lq1!3&-$N>ZBAl{tvz4H)o)k>1h=4v4^ZPRF(G-4Tz5DwH&)L4YN_2Cf8n>jS;g zgMi{ymU*2iUi;e6;CXCrPa!}aw)d!obYUPFy^mmn<}8vv#5Nq2m|b+@qVTCe5D~x|1}WP#-g-sRqBW@{%|S|i5Yij0AO|rZDOE+f0^9nw zq=_WyN>?xgDa6)&`l+Y+KGeWhy|sMP$Obf2gr&Rcm9l=VtUw(4K~4?}cofnaToCex zjkYDc`+@9sC2Nqqa@M^*fbV;Ia9IL;c8LR=%ULnvhDXTC8zj2MiQ>8phGe4^&@hHG zz_32$a*?@8#q200dxQGQG{fDcuU;=(;eaZaT?I6sxf%x>Y&>jo(=f&|?CMwyM|L6H z^=@F-d#0xx4srBkgGNUPLNc`%#FXupp^R>nB5iq|ahdnJ20!2D zv4ssS9ckU)qWIX7H|7tbhuml$z<0*j9`m-1EK4O!6LqO3Luoy|>C{eRwb0;3H{9Kg zV2olj;-({;6TRv)dt19Qo^KLn{cIkq_0|LDWB-c1v2I_y+ugL7#33{jlFi0C+ckb@ zpbsnCU=1X_`Vq3CL6U90>cGs#hPV;_ed%&%df=Wuc-WYP;Djr@8^F#*CMxY;fTwB; z`@Z(a9bIIR+jqlAI61l9fC%%k9M}3pFf@uGb9WbG6_W_WTY`Rdz*hXwH?Q}w7CS<( zXs6@YCOgEDO!grsImEL@xw*@BZkNBt$_fw0CE$=QFW~&r_r7}1#a!lX2i@2vXFHqI zpw@E_e2Q_E`!t^Z?o~8G4-cP<$g{5X{LK5PUN>5yfko}Nj2-Qa#t()^VtILf#LEC) zRN`Ad@F`Vk8Q2i@%oSk=F00I1U$1zj8$|Zl@b%0uk(sd9 z5$wvw4+$?0niIAmy`Ue7==;9t--o}|;|Kp`i*9(Fz5d`Vzx8TW%W_#*Lm8ydGQF{% zaqU`I|N9>$;5jV#ZtJ@UyEKz{yOlFQ_cI7tfCelxjVzIrWTQUbc#7-0zYrROxQV{G z@V@UOKk+L+5DdQ}7{E(QKc#EG^*cC-S*=B3uvVx)`x^+a<2lXZKbh*k4=gspGd=Jd zB@rvZ)k#4VOhFZd7y@91WM~C{Qlh%(GaJ*73Y5VU(vWK5sJIX^8|*)j8NnY!Kb1Sd zgM&STP&#I)BG}TRQklUl+&>+>!T(}Ay(EJ#5=^x_V!tr7!vkD52O2i+GqTH*8~ljE zDIAF^6rMi3Bq6B5EDRYgj4d-s0|GEXB5c3*TS3-h1`=@tKsYtgQo}XWEN#;;{BlE5 zjKdj2Lz*eUMi@d$yu$=^KUi5pVv7qgm_94yk0v9EK_m%~&^|u{wC=OEPb9^k!@*)a z#;~yv5M-h*TWPH6w|lWC+M2OTjG5!7R+MT*_;d5s+wwM9?S4bj)i231>(Iy-ZAO zG)x)btjvsonZiu36p5%hOXe!7(}*+Ee2vJgqJ=n@n4t@qs>OA@LO~qL{@Ol}2u#Av zP0z$k0zk~YBuFrLO#k5oDxe|>d<2<-Buh2~i5W0OBs)8^>jBZ6FfUk*;dIPi#Jh=% zi{_*_pX|O|)J2!1&BVgMKU)ag{77vi6Q!I^HuC~7(6U5OghbG?lq7`uya=nr4J{f^ zGSPy7;>|eRO6C+xBa?w3aL+EH0xr<9D{%w-v`+}7Oh8DNn<4`Vfxy^w3!qFx^6am| z0y`i}&%#Vf=?qCT;ev)}5rG&Q7OhNO6iT5CndH>Xg{XnftbyIs%>*sHj9XC`brgeO z$)Tu^%9|hgnjKaPg)NC=&F+nu2+*MK4%57vjG&N4ek_cig)-tgOfl<&*{ZvKe zRf9lO-Go+Y9n5aznrD;2F?EQCsDol9)+9Sbr6s3NkBA8IciCBm6SULJ7zstXq8EZ?URFuSTP!-kD*wI zAXugFN|i;_gf)|eWy(y&)Esz%cZpfDc*j@`S-^x*K^4@Jy;ToNSs930snuB%J-;Wl zl-?m3w%HP@Ntpv7fKUk%1XzG700X=$)wcl9oRwCV^;z>GfE<8?26z@{Aq=k#jP~%6 zzQ|jf=#f+j*Lg&tJN-@nY+6+@#%j^w;2wDoD9>!n{#Q@u|J&?g*kG}BR+T2hS3ePb$+?!MNN0c@`lFoB?=%D!4mTiwm_~TdExv7U?Garz2nx^-noTaE2;^DL z9Rgsa8Crm^Vt|y9pur#_ZKjhVN{k^&00%fC1HNKqPE`~3V}z~RWEN&g$pIrm09|4u zHc9~pFbsUwX1_^+9{>y@QUKgh0DtC*X?_6SNCIE1I9U#44S`uP${Vm~kN>W9UBkd( zIavS|DBw9w=eOO;O=jVDhG(6l0^P!(fWjRm$Ss9hC?62$L^22o8YLKtX#$vO9}ps& zj(`*xSae2bUQA!6P+(0iYD7J1PA2KcRfv_&rH^VSoEEDTxM`QZB^;1xmsV-|%7KJ# zii+%DhbHC`_TpTg-2E}${t1%QRo(&6Xy^TDcqV4JVCQxgmg*g8hprl;WUpT=vsmg_zt>Z3MlO%53w7-7Z64<-OJ!^Q#qyXqseExtQ~zm6|h zqYHoAf^@x)HK6RgE>DQwi`~(i;&t6dmXo!P7Ur!3U{-8(c3CaRO8>}yY~cQF;SO%% z*5t|7ZN`4vCZNH6OGcjCFrO3c`(gqu&}}{5?MyB1;offT-fnkAZb;pN%VzHPsxOHH zH@_Oy^9ml$xMNJt)G%mm;eG9?DUjwtql(u53unFY+cc z^G35!B)JY-0`TU=1TJa{ukfT^ZPHF~e&aS897PYSi_+G(KeJuzCW$Xb)XO3prRDx%dja!J9GaR&66!W>-ek?T&2f&GC1( zYz;4OkQ43a%&;nV<*nI1xbBl2&>*tFot?lPYQ|=S1`KU(9{=bW4Cs*_de&wHNB{yz zfCO+14x(i6{_pIra6M;%3!mk>;PD=p?!NoDz!O2>gK+DX6eZvDqVDq&cjYMOaFH8w zSL?94fKz|54}wtY_st**Xe1o?i-TGu23To3_rM#~u=ULLWNrhBTGjV9VgCS)^j3Sd&-OjFdvJE2aT@>k zUjLXDCU{!BY=a;4d`HHUM|d6J_mKv6L~VAMXLgxCfrW^9X0Q31Hwc)=d73{(dGD_! z2=tK~#1LU16F~d4FZf{$p~ioEy-(A+x3A1EJGy5yyia_^|9h}Edz!y_(=UD0 zCwv;TR?M@phkbSM{keY^Lw z`#t>ftRqKqe+PW2pZZ@X{K?1q=Z|}Lmwuh^{qEyj zH5>SR+OK`wpMUA6|Ctwj=pX)=#D4S#2m%5J5+s-<#)*UqSu9j2@B{&f5F=8QSg|5Q ziZ-}#?C8;B!H^=C*eGf8q)Cw~SF#jY6T^IxM7KYZFqMj)3{u&HkoR8E#kw9Xa6h_JeX_Iz6t-T9P9XO+Qd{TKZUDzui}%O zdtN3SS#naZs8?qU{8?#K&6`IXEDc-rSK0(E3&yRNF$S;6@sq#0@RPiz`KIJ-GGZy+H$C-ZHs+_|gaJ^jvmtcfZl6-!Gq8 zt!AS!x88Hm=|%#75`TymY1C4nmnP`eRB2buJ`DTMYs?>v&P6@f#a)!-U z&~@}-D1$&iwrLt`6G6$QolX7+XPnV#Ipv38rb*^QGRF89qBHr&=#_GY1YVtq!p7s3 zq;@J?o+qX%gP@{vDXF9nU1aI3wbE*7cmz_(X`{+LI_Qcnf~lWHcZHDYR=e`*=|B_F z*_?RMN*nE_yfzwxfNw!NEw|;tIBBfP9b2OoP5!hfqgigtZMou^%N?uSny{ z#t>hsb6Z}zT`kz2N)77VF?-7$(7Fi`xZuy(eW|6B7W8rBJLjq^z&I98TZfbbJn7MF z-)iecp;vuX5+|c9C(<&)EEj&4b0#$6taDX%j7O(Q(8oGc%CqJ)S>88ou=n1Q(Q2mt zsqx9DJ}=2(mCge2KI$E+v``%!o6DzDmejLdS6?^ncjx@Lj3U*X=H4b31wH%gyWc+i z@5|r*>h78>CjR+1UH|^}-gm41{EDKr9~q2L0gN944|u@t1r9&Udtk&Yk}rIHD_%BR z4!Qi3zzr&pgYe^8?A}&1gncQ0CX`qP0mwnE;VOl2OW?vl7`xe-5P}dah}1-;uc-B_ zfI?A%2L%|k%!y4U9VuZA=d~XnDyoCna^eP`5`y}PP<>vxB6b+qKpMiTUJ_B_UEEeh z;sNoBSPa_??-v3NBoRzYEMiTbXU3xpkY4qh%N)IuML5=^cs6un$N&iuK~j*AZX8`_ z@<>NCswh%zbmJSDw38wz(kOMDBK4+qz4_@;IVYf^o7z~yiIi!OrYz(s4T-_a{Ht=6 zwB!)|r%8a3@c)sJ^rQ<%NXb`Ta&^{wSfO4iOowREd!e-D{!pn*LpF|T25aTm`qD{X zF)^C9R9o<>S+reNvW_zB+AlX2%yIIvn8s8iGI7aABbKq7jFjcOAjn4jJ#CHs3!#7H zILv+OM=0jR*e3U>v!qmtpfEBhEDMHD4PFz4>r_cQ`6_);Y z=s-hSP($(LpPG`{YCLIDmeG<57^SB=^F`k<<`% zs79TP^R!7ktUXCqxO*H_FSJmGrZc9ER1`V0s>pAWXr?tu-8?<8#;_iU0})YbOSm~v zp)RFo0sl>DbS4K+sy@=89EGMe;Tk-yo^ymv0BcwSt2D8ib*zOYEWHqG*r)aMu6QLL z7t|`5US^V|uhJ`&h>J10P^5hGhD%BJzQeRR>xaHidw zjjy`|gsu^Fia(83wxd6s?mM^WSLHHywa#^HK66Vj&1Q@M*1hiHO1U)s-iyEdEeL(< zd(rk97MmzK?ogBfu@G&IGk{AYR+md)Hby4{&qc67xQSV%@UN{i%Bdyy%??7|FtVcgoeMmWDdK6A0QcEB|Kdd_wRWue>b=HJ4Z%>JD7 zNb#n-sQMGb2@Z4w&8EW++YD-A8uTnZDq%5OHP07qG|ol?WLHO6(#o+g6+A5v>B9PE zc2*9msXXAtu?=k$?5+(>o9am0`pqlu45s;o;%T3_+K{gGsC$-|qDn zN6p}fT_pqXer)B$J8u42YTPU#^}`{K+GbN4yfrSu;=m~DYezib+NO7+oAm95Vj0Uh zq*YiPu4{rQ_?n+%cg2%!uZ$DM(CtO}UC|A0I#Z^$@y52vxBXcXq}<>`&o{(2trVGe zyXPziw#P@}^X57`=-!t2-`brwOnN=S7&trH(~g1n&Rn|b&N-Ur1!bO4-O@L*`5w!T z^dfh?>WX^%&UCByv8_?WzC;s>8AC2gZ@8aakf9>Um|M^uP!K@wRUC-93)|ho)A8B8}(Vy&* z9>`4||M_35Wgt6kAPCmq0*)XCnxD#{AhUEJ z_08L@%>V^fAPfEEZ0NfJBK&~ZM9KNAyU0Ed( zfaZzO(M4Jw>LC&GA*=C}LOtM04B{u!h9OR(DSq769Uv_JT1IC3d4( z&7v@dqc{d*KC#zLVS)8vfjSn!FRof(Oc@fv#jc^_I8GTk-v5ZSz@hRDVLkelcocy$ z=G`?OpFW;mg<0b`CgeRPVnEiBBdQ}rsv~AV#S++;i*11osNEsj<3Bcrc|{~d-o-eY z-uUq&NVe2JHYC;|A~qT$Wvrq?f@DM*oJw-w+{k1|Vn&MzSD-8x24GTc$YgYd(_DyS zK^~qCo+Oe<3qaN+X8>a>B9|8Eo=g4(OvWTm>XK8&;7#HrI_e}ba-`)nMo`YAL<-kT z8i!F<@fSNhdaE?+fT0aj)uWM$-5mf>55rJPvSJQAjlY{6fR zAPGVVGTK*DexMIZqxhwwW3psRN~U1;r8jkEWl|$3?*AZ72IgHrr3vmITN(>1(qd-P zpiK^@uz99z3Rhl|UufQ89MPrqJ=AmNYdWw7!>1-P5 zkzQtlmgkK=9&bu#mEvcUW>}DJCud@*XKE=@A}Mpa=b5@+nEvOMa%of!1(gEmYo@81 z#^_=`X;_TsfHLHlK1GiD2ak>@jdrP-7AlkSX`j|nhmI+QmMIp-X$rFDDJH6qzG;o+ zX`ONgd10;-&Hr;d{9XqalKvS(kmi>mej zruOGP}pMt2PO&V(U%_>WV7qsfy~a zLTiyqt6nB6U#=^=t}9mr!LYt0Q?x6+TK@r}dMizUE4{vJyl!T_va7jrD7xCFD(Y*y z@+-cwgtq=FU*78oR)E4PDnVSp1>jJW0_>>ttFx}lzXq(QsAH_QDTDs2yLy|(y2Zkh zEXMZc=^;oAgh0iH1jWv*9I{U(8tlpjXTr9{ysE6ddTe5%BBg$)&;IQBoorjAY|%RG z%&MJFb-@zM9mv?`1ps0%DoqnGEW+Aqrm8H^1}&%VWzia~&T_3#D6P*D29Ct)31lt1 z#y|#8Y(y}DMCPd`2EnvMExqhw$=2)E4y{0X?bkv`FotZpTH)B{8riaw7F?^@wkpFe z?mP-&7AS!QUS+!q0Yf~?JhFh=ZU2N+2IEcSEJyw=;1(?1PG#B-ZghwTvx@9f;;iDL zWaA<&&ql7|hAWC3SrKh??_D)^TR_pOm4ELrZQI>4zQo;GQ5~JEz`x0!@_UOd+sPK5L@zyWlHZIHx zp-&csAre8ZVW<99fc55Tv^ehRHe3L!uL3JauAQ&%qAxTRFm1T*|2m-r=OWti0Ipsz z24^svqTMGcLFr_oTMFw0_y1H3cm@mmNA2#cN^EZvyKoDyZvr=LcEs=t*Dx16FpB<# z5KOPyv7@s7Fl8v_2`Jx2*&};#=q_Y3YvQ*viGq36@KQlLP=n3obPPp+gBXc)L*D{wgIg`qc)N*+4R?qc+ zwl#ZcVmpQ}yFx_M!cOrX>`4cs=k_&OPMLx=tq_xCN?J9k(e+%bBO4-!BC~5j;w|^; zfI`S4Fz<6(H~(&zJT<*mb=m=?y{>Cfgok6NwmnYS?l$ratFK)8@<;crTw-U_f-Wj^ zwrcM-i!Dbe<5e)j208O~7T9(MU<=s>H*YUDL44Pe8YBPxo{)=PhG* zQI4J!b2oU0w|I{?d6&0&pEr7^w|cKPd$+fHzc+lxw|vhxeb={r-#32ew|?(8fA_b4 z|2KdKxPT8hffu-eA2@<1xPmV@gEzQ?KRAR(xP(tQg;%(RUpR(mxQ1^yhj+M#e>jMT zxQLH9iI=#EpE!!AxQeehi)ZO}%O&GVcUdkajZ?0SCvc6&c#cE&j>EW(_c&VKI1K+d zk?VMo^Z)pf`?!)Lxsey;cl}q`RQ+Xea4VNc*kOTRQdwE&zVvLiy zm76)1qdAqUd2LL2n`il(v$<5d`JBUfoy+-?<9U_y?G!Kp8M!Urk_Mowxt|YupeLB2 z3;LidI-eT^pD#L-M|z&SEu$a0qbE9|L;9s_`al@EoO}8dRQjibx}SGCsc-tDm%2cZ z`g51XL_T{x}_g7rlWeTyZWtHj-D5Ku6O!si#d)9yKr~;mOC@DAA29EI^&+A zoo_mr4||hKdZtJFkoQEeWBaU6yQ0%|BFB1*hkK2A!Ly6|i3bA#6a%^sMR~V6ed;+x zG5@={$GdQ+E=9V#AUZlk8FtnxJ6C}Fzr*`>{JNrCyQ$NyB8z)2%!v`OyCKVaO|bjE zn>raue8dmDA?thYS-HQvtrD!dT3YCs-swlmhV* zz$Sov%&$Ztxcm=EcgAzP^AyAx41^>IL?%?^&l3PBynz!~e8Inb%@f2YWP%<*R2Pgm z#Q%sRsKh8FW?F>=&nrdImpehAydU(!T+lmBNCDcb1RTHt$z%Idgbz?Y%|{5*i-aHu1S}8$AW%j(P)0H2 zz*R_r%g=&JAihA1eL)}s0ib@}_x|V)MBY<@5o|qnz00blg0|^#1cyJ(+ zLkJBjD@X-Uv4c&TAap2&fF^{%a7-BnJXmNYK~V^O5bTyK zW=@?udG_@A6KK$tAqk8Wno^I$g2)EiY4T+$O_&HnA(B$cV8w?8l{7ihiT^+>lmxDP z#F=wd5h?}G5{{Jd-?YD`xo%eOG=7P)OgSl!A)RQ!dXIHv})~z&tP(#+XcX;s`}B^hb#?ai}IRl^_@bGgHP2{2O?1 z;d?nHTzXe&!&RIM3LIEdie;a0RR-gnoB;EmO6?E?c9>yVs5;vctmArMBOE&k=M<#7 zX+=qVwGOv`AOF$80~3E-qVkc4j&La@?2O9~p5i=n?)$uVpmiJt|Ol1$xuUc%9hlg`XfM!u7Ev?&uGi-HpOzK zMfTb~Q-yZicT-}O-E_}g7r!HF!gnI0+N77?fCV0SU{47?82{mf6<(O(h8=zw;)o@l znBs~pz8K?-HQt!xjy?Vu5lh zo_)?)*q?8Pbfb)aBoiA9yEwf=Z4Chx1W3$XtjTkNvQ zKHKcH(Oz5aw%LB$?YQBdTkg8)zT57+@!nhSzWM&!@4(Uag7AU>8BPyH2SVeF#m{&g z^2jBhobt*ozZ~<-HQ$``&OQGe^w32go%GU87yW3*hf9O?HQ3l1c8(thu94ANj~#c} zZwGAm+@l7UP;`|d@q@%WU& z_n!Q9wN1$l;?q!xah=vLAO8Eu&}l67+2=kcG~(a?H~o7uqYcyRi~smnzyXdAU3}q! z0U0+=AcM8QJxEG2PcPY@8Qc7`2aCdhv6o=yO?(Xgt zprtrD>GPBKJ!ih}k2AAp&7FJQx^^ae&&uA{brys$QpR2E>NyLl4iXp7!yLrwjs9>z z>~yq^_9m46`hs4P7`5A~Yk`HM1 zlg8(TS|Q;A-(UB~d02#TkR(|1mn6u*^6;z-AkrJKubj58>7A#{6-Y`_MNOxppCeAU zAa49m{h{hip1{BtT~m-3`WKS0)F&j2BGoLuPf0Ux{7De}+48=HfvS6`pZZ=Ctj^K1 zm>Pz`UonKgFrA4il1rrkJF9SFDvJG71=;*|S5l-bd5XDH^unC}bCxE*Tp-CocjOHf zD$K$Qozlj9r-?}a_tB>j7uzcAc)?Kt24dha`ui>jh9$oo<-B$JixYIU51t<~z-ap? z{#q}-LA3x(T7PI4eLKP|BXI8x}#rD#h-)fH`-AAz?U;+-8V@8r%L~_XJ z+fN_ket4L{T8gjoy$?r3tb#Cbq&`i z)u-s2(jD_%VEKgc-R?MCs(mN+YiW^{f$pkdZ3|h$o5=5P?Tw69H^>^B=f698tQu`T zk~JZDFP*}S*0f|6no^U-q!aF5u?y_2g$KLChjFz1 z<8k?}1{FQJW1bVH%7Rh>cw8k^Pp}I`kG|#=jbD&}`1L|jnSpJqs#HVe#5N>ol+Il; z(py#pu`^2JZywED@%jDzL%SGBE|fEGE+mf~p7HW#9Z2KoSUzC4u$;fGljapApp!1;N0*{V%L$eW##Y{qpCC@G}krw5Zu!X;usFKIk$84I(5`#%7lURZ&f1@|Cn7o~65q%N* zgr>7U;E&r4BSSC&@m_v|NH@iXJTWSb)FT?Ydp>{cvmEcE;a!UaZsemO3KG6$);tSE z8&;KmwBIbq@0Ny5UF%|E2VTc)gw2_@6Bo6AALbxh+ckA--9)T6ofUI#B)D4jT(rLy zlw#g;V|MRBjCF)u>F;zNT*egQmxl8sC-i6J@Idk@unp;S*?4YvkJHuqF?}L_vUFA& zl9j&}Y&(3$eopnPtvcHFc#F{2E$;~i&OV=aqK~mt^gNHIT^QUL1RB))D9ej$z=#P9`7Vy`=l z>Wd857dR6=Af5adB(ac^s9B&4HW2{}4qM@)92UL|P%l3)IR>+4^iq<6tV{9IQ>j8J zp8~aSdkjD<*~4fT21v%GCm8`z@^Xrw4W{m9Ye^@bS#B~!2{yqdr98FQt;_YDI7fdD+`|FLD7MU-79}9`eWx~$lUN0z?0G#cBQ4p~6 zA3QC3@_2gc8Tuzg42)U~Eb$B+GYmXLjL)}U0Ap=56h<+_z-Zk19~cYio&CQ!|J^0 zyF-k=F+I-RJv6qa&V&UWP;rH`Z>MbO+T-gHAKV^L# z7qkPpuMLf9io-eJukO%@OPz*1wNlbYk`VlU&-5b<*dGWKn~NV<80;!_WQzO4Y#YOZ4Qa;}d(cvh$s?gbCV9P|;q zBV7OjmjGdtKJbfJ&MQxjtdCqT)lv$q#Tq0 zR;U>4pk}WAg!VhnS6o84EN)rwAfiuAU}u&qom)TlS-m8bKyf>=@`uFxJT)vVCTY8`y7cQfS8gbnQMl{z10TM~1XT-+~yb+9K* zoy}E$(TG_IFWQ-ISGsI?oYgDQi8$-m{Yfw@H(p?BrH6$&aIM9PhFLCC8IC=uPd~du zSN1euK8RiOu<*@^e?Bl23Pkv#Q9`5@(*)H7M&vxV@|Nrj>IH?JYvo)@M4;Pxqnb4J zFO7c{$&J)2s=iNDa#36*<;A(2?>ln(LeS%0!}-1be#DxeK9&sSmD&~nD-^1M^W4%F zb6H!2^pH9~*t*JGnW#Nn-C7m#dMS6~;iV3$Byak8Pe;mrl-ZZ{?)B5~PXY!lwg*Uy)ZwD9N_9xqkFbY{%@z}b){(xb6=x@`0 z`Hs+9LQU4zufdU&8MsC^jJOD}y=ve=)pG(bI^mOlAlCapp7Mcu@xv2x=YTi1EGbwx z{#e}PAD`)c6he{>FMgCFcaha|QA}}BU3AeP|D>(=NiPKn&~4qFYRgdy1Y%#-e+UkVl@LdqIll=S9!BE6+4N z&zcmk`bN*zMUT!!uR0;`VK=Wqa_`AT?^!+XMRK2%T;{jASVykY>~aLm+oay~G@)>c za=70Ea>GauhL#FLS%P6*!@v}9awGz|F#Jg>oPG(;nEDrioQWcULpXp(KR_%sK*~Kp zb_t0n5vaHnsG15xAkksb;~aNgS?Hum%e$$1q=Vn+2iq?Ne`pH+bRGQ8J=iA|xx*9! zPYn%O3UzA=jk^x@at{mA56ejn%R}OjBeBPq!UHHG5}Ly6n!=j(!`s~>>aWB5DIy1( zB8HJ5jbQ_N5O7{8?$49eJ>)K~;X z9KJyuT3Q@#a~#%99GEhmHZ7iIIi86!fmkG7usQyjN1Rw%0*^?dghzsuL85wEqBLca z;!O;nM{tZ9lOq(z8+n`79W8c~e5D`yp~=rJEzBz|$}cS};3nF~AQbMAYD1A0<&hTF zoEEg4>LHSbi1A1-5=l>LPOrI1k4Q_cXwIm=$!PXS&q+&fOv`Nd$gDHSOf$%uq|BUM z&h%N1?xm-+worDsI@j4wUR+M^r_5Rw$wm{+Tu;l%^T=JL%)_9{#y8AENzZ%Yna8-2 z$F!10jKm(ND&T0z6EqCDqD<@UmOMxrr8kYWeKZQv8vsE*pE<+D^3iz^klltr(XVp?HV=gY!S>9{D$ znEjh91Qun|Xmd)6NcCoODi(D$Xtf%{D1)@MI&ZnU;--e2x`yeldQqf?)~lAfwU$z> zRxqRPS!*4SR~_GKEgN;MG<7|j#~1r+qTpQP@96*%3$j0yS)ZC?O+-==lwSsKE5PX$ zeyxqY&5fY+Ca&~GkWockYef=uQ<_&3^4BoSs704L{xu4|;Wb3KyYO&1=f*I@C#~kr zqXN;C-<**?F7`!NwEewD`|@&|lwrG`Xa`?&+hImq5M}#*M*HPz`**R*$<@wZ86D?h zU10A{ESfI-`wpMG2Kyxn?4C-mEz(GotUHhD=GCfSEj>4eDW`WCJZq)9H(d`cy;td} zh;75}mziBs#vR>8eN~iwCil6DZ8Zko0~T%l0nL5H;(gR>eY0r;R>p(k=wgCZ;MLEZFne6jY@^wCAiuH&Vz-QJ^B_rvY?UmM#BS~Eu` z#Rubr$H$Fpr`N`l+{bs@#=DKn>hC9N?sHVd+D}D>)6yZKdC8qLl~M*N+jkB9BGXyd zXcD-iLji>1!>RM?QKV(s`=dl3+q%-&99@iOpwA-{MSsLQ0 zAP5!^hNmfA6=6J<;k^?@m3`Va0?OXw5Zej6Z^ifB7ivrGH=Lur-!Ma8ViVtb-QFo} zGS0TVqWd@zbK5!GoaAPFWPeR@1Ow=#0&pyXJ+?^#yD3890Ml+i4>*OXG=(=DP;Hu~ zu}zAaN^Xkst(Wff?uw#^?pvPZx8CgOMY?YlaPn%&A8~Zw(5^`@gnlCK+q)>F$UQqd$wtZl>+b-}Y+Lki3xHXr%94STz|df9zkJdyE$ez8r@V#uytqHbxx;WRn9Q( zHr6-5O{wYa4K(OxizFU?W43*3p9Wy#h;bzneK zfE@Wu*TQZ#-UvmPwI^@WP7>2i4tlR)JT|u8b!dpUtlkYHL>{qd=&ri6NkkuSk@)t7 zS$H_z=h7f`&Y-!=ZB%P?CqPzHpYXbiqLB8nqMP&pwtL)lVy}OFr+4ksO~BAi z;k3DpwUbo!w+2YLBoRBx)o~X&j`T65^l_Tm6#{FABs2#vF`Hy-lPVex2+RRcY~O;q zsGLmu-R>GxI~&+?E^MBZ@kx#J8PIYZl>ZXcP^p62z zlQcU_15Q-FLG`2a7zDk3xqTZE0BGnY#*|q(hF+I-oOEXc3OjCarH_^2BwL78`<#`R z7D1pc3S0M}G;e~f9Q@?R)wCRd>GC#K4?*ga)8nl_NX9>kyp!Qal5FHDk!%0~o*d;8 zh4-FdSq2@O2lcl1wfn?Rn$)$guZ~JoY2?g@+^-3?HWaK6y?I>REob&OY2G#(BBtuV zmE2c<$kNEUh!OtUNwXJbfrq(so05%>V1OeD4Ne%hZ>w^?2_e_p;`n?U4@a8q6~%oJ zf|S()kG-3U73Hoo>yO4Z7CUlj0Ed?nloT6(mk=xeN*Rt1%@$_qf})8t^}QsQ~tFf}w0cbS4oHdY#d6g5f8G z8hZjVr+&3W9_UBrv`HL^as`40YjhJ-<`8>cld|UdW%xnbVuPC>Zx4~Zbf4(C2W23? z=9Y^Y*?{7XlU~1LL}~k4dpc_fDIe_X*Ucu8W^d+gmovMHbrYtU8QU!p9<5oNl_M?#-66e z)#pXOTaJe>Q(VJ{Slgmc-Q$DYA*|vwIB>#0qA{mUb3yCL?Gi<1?L!fnn81}eGe6RndOV1DXCdh)=Ihq0r9_fc+xpB*e$7f$sjjwua&JVVo6+-I+(yJENCDoj zZVl3=W88FebW^OE#O(S8>$$Jpc?}KU&Tp=5Qc4_#cwY*6|5ilwX_!v>(Zn9#Y;Y_t z`k41LXU!v|JAQxCzkEi!XVv+YBYQ2wXgWeX4!14z-SQpC9IMIVWZ9%&HFE?6nGB$q zwd$<1GCffDTXS0-+-|KS-MDPdTv!%wdN7K8a*t_S===^wQoM2Tj(Tq!8Hc7rQEJ5E zNhOl@RaI&`?`G8Op(m{S284w5pBjATeMxFC_u$k0#;94e{}2%U2W1jyjWRmgYJU?=@w_Uez-B56JMQyKfbgM4+=z!>mJ9YKY5> z8X=QCpnW^8x|StDGx?cja(49&S>Nxh>B05ZZQ3It@4dy_Q4NW`y!IiB$M^{370!2! zQRG0?=aQ*2R>T5mz38089)2jXwJ5PoNt-U1F>UjB>Epexx>o%m^D8M`OpX))2moOA zV8G~?TC?`_e17kmObmMWe>a|v$UNFiJHn7G8#F%PLbB&|e7(smFQrRCF000mUv0^-inT(MQ@*H?JiGZu=OY z?@^w?s@U2MKEqi^X0P^R*Jsg{LE5r*+PRR-im>(8&)55P;_KReQR@$T2(bf{Hep97 zi@(Vs!ZXI~p#j{nubsW*V_etV+NVrYDZRG!>~2m^>NG5mJk<|E*G=_1WiroT_S55@ zN9N4A_)4R3olx5Z%gx|T`#x9a@A|x4;*B~G&8Vs|H5sij(Q_vDD`${7p4@h!Pg~jG z!=6doDuQ})mNqxf<5KU*N`!Z>#|_B~_zLnDAzs?g!}!7`r&=SsTx_*~D|>#iedyEb zVCT`s9VKE`ePEyD5lQHq|vUb#f&be9;J%aiTH>pp9U-saWz)}aXR zz4i7TJ-^@^w;-$@s^4xM@*5Y@8|&+|lNgzkXmopuz8#D0W74J@XdOd~5Bukt8yE)n zKDn6YM&|n|gi71rZc_Yi7Rj$u{Cwbkf8~FUzw$rI|7!mGF|7NqF;f3u0d48unwu2Z zU;Fj%C(vRg_gDVsSnI+=PTh8jt>uc{ZX)IX&+*qxApn4M{I{ha-hUkbPPG(>{oBP{ zpfXoXq3>@rr2g;tAD4ee_)kW}S}p=f;_$C<|2F;WfTz&=FVBC6P$)ov{+HRU9}s8` zto*MAneRXHZ4RKN_iu#1S+}tNUy;r6Za4oYEHcHvW|1wmSP88CEfHDhKQ_6XNcr#V zKg$2@_1ETatB7@Eht_g`gXD_+)84JIoDG*fJ;rCrC!LrD6 z8(s8CK7LKu5ilH2GyHx_B=#ONmS#BaFK^Ru4%%NKPJB4-Kg$0t9}4}S_5a)Ef6IqL zQ^=Tq1O5~IJ>dT;%isR30cni10q_1thB0&Nxst2fCgm``Zx{R+H)hoS$yZR%RgiqR zdeum5QJA-pw@vV4RPSH?Zlkl!q6@g!=upo#%F0*Dt&~IWqfMi8PJ#0wc`HvNiyT$- zvlM3b#l_i|g|jcGeAXAOWD1e96@|`Ri_RE6g%}Sa$XWV(XR|iAuKZ4?!!&+1I|6is8-+wa|K*#gF%|U4|6iC28Y|aZ-T8{y zfzPWpJ5}DH(5X?BFscU;bKteuP5vL53S=WXzOfu1&6a4FnHsI^{=-y|t=`)3{r@LZ z!OIMUX|((Ar*V~Lh73-uKJIJ&uVr+PAKSH*Qh zuCQ%9{Ij$$-TQKqryjx~;uJsm4S5-Md~8b3ScJoqIs>htj=mzHH*X=P7F)el2Ba^R4J zy|~YM;baHn*-S)dpZWdhT$sGEgHXev>H0)U$rhwqpDpWXSc{=uUvKQ5I}I!yIdZfh zM5eN=Xi>o-;c3dyLR8XOT%r0ld)s*424EU1w~fEDmy{OM7ibmHpAw#--=%7NLAP3# zWpVx35ztN7>zCyimuxQ~K@ew>64xwI0>5s^M~A`|t>O^7kl%u4)=SudIMsb18AsKx zEgZA?LBkyH;cFBExICyH29#Cg53i@0@hmd4`1&bIcxAu6Soo#_)IcAL>d0Htld1da z!7T9pmg3zE79NnhK4aQ? z_ZQP|xQCesiRYS@k{F*h9nI(1iv5Z9Nv~o&;>q{jit2rMxGN;5lXM88;PGNB-K+9@ zEbz7rV;u9}Jirw0x(Q>!-?i$0Bpd3|arA<0GGf88~a$n1_g20{5#E3GbI>rdRL zi6LDVa%4G)C%$*kBndBHWO-veY{SSYkbsKJIyW z3R-akg0*o9${toUBw<4@@GcT^pF$Zx5Jmoj4_u;qO6<(riaaYUu^DRCtkT1n{si%{ z`J7MLXouy_l9;6F)AE@#JZROOXA-gnfK*h@n9uv9U%Isw5;I;aes|(=DtsEi88@$VG>O#)#8-a9Ay5@&+taUgu`9vZ4v*g*eX47Gzn63KuAk4JI-9%!BGN}!% zvf)g3pp4Y{{R#f~%FI_SL3+OV6C;Um0?&z0nJH<3i=1CF*MoYh{N#sN(a(dd94`~b z#Ct7d?b6hLyHrJuAF-2L=16Uzn^VWWeQTtsW7g zJ+E~OS1`v-ZCeGcn0Th5xD=ESA{ucsRrP0GNrq6LW|Ac5-GcpVePNTKIbHe7)~xCf z^>2ySG1K`ko^yk#j~{<{*4TVc7QiQZYiVS(#DVgm;EhMD;FWu0hO}Uj&v)AZox7Dq zQ{|}H^0#M_x2=0wu1))I_xgla6(?ogYIH3@f-ui+oC%hUpGH4~I9?Wo(-%lz#EO0s zx!)!T5&o=jkwcHjSf|jalLZ@`OnCbz6>(pici}dk%ir%2BBX}Vp5Zys2{r9zQVQtk zy(0rB(3G%Fdc^8hekUA!Uf0~PW2;5`j+1Q-(l#qH@>0g2TlC>r!*7UU0Hz%uU&k+} z_|w>hOM%O1$XCTrScRF;tYnjlK|6#j+}DS;_A?@1kon9MPm2Q!= zjr%Vb9pnfof0ESra648By%60ZFhE zJ&j9?BmUS>XW)1D%Kz2fifOH2h_@#l)izLBt>AaoI@%_W< zcjNzFQaeW@?Pzj?W4`KGw8KN68%T61=1TmubMtT?0Plk z1;2;S>Lhkbq{46tJ5|vIxV5GkWa%|T+Wp?fH0P6x#WW0%jMAeKL3|2#G3-dq39pO;d~j@X1mG$GEE8%1Ky5#y3lKK zyw`qLshR6jP zVgUUCNI-jo76EcB_fPJ5LBJ3{cUEanB}^v>XdFR+I}O3{2VhdO24`Vec%U##Tn7~Y zexn^1x|x8rEc7X84|@s_7R!p0=%n->7-H>Co@ySd2Mo&9r^=NJw+3MP!@}EGam=A% zs`KG*a|1t3vk}O>FP8JFZ^9Z3jIiIrjO~gjS;BGM!W1v7B9fTbvf+Q1b*GRL0Ahd${6CY{ASIgW#wM~Mz#6~e-M z2|zAg;lyE>eZo=>*T5Ka?7y@IP6@(@8}M@jP~@4t#TG^+L1JL6Yqt^^f&#`vDPeLA z%*+J~HiI?U2sA~Kp5K6rr?AUj2l$?Qvc8gLzXs+`;WR>%tPPSIosx?QK;`<0Mk1Kf zEboWVG?C!Y1Vva0XQ7tLN$8r%-pvVt5S2$vEc31RLc!$UmF(u9sfEUZDyFcXlw$cq zz-_VNR?8{LB1tU-prmS?imgN>=(mMtn2SXaePLYsGqo5^Y$X16g%fVY7H+$HS}iC^ zXgLiDo}3Rz4;I0^><@DSDFK3jxn1C`R zo&(@(<4v1!PxdiL8}$IMBErBayoql;$P4YVpjuuLBDnPsoI$7P4UweETyU0sW+g9f zB_P|o6x^r@o`L~SuF0E}V&t{FV6mY3v+S6qEGrN2ST1;K89P1(5qvnosyAQ|6qr_TBi)MlYFu-c{<0~#SrZPc*L*6PpNyhx&o|s ztjS~0%qhwO1$M9=@`bK0BsE8ly@5f@cC?#zx~UGR!zmh_7l&gdUty()=N8;Q3>I)m zsNhXK$D$|<3*I{S)^))awIXPP6&7n|nm814wd9U%fkX|GJAw8Q+wn}HjM$BGJ-j%W z(>R7JX+(yf`4G3*1DfDMD0UMB=W;mZcql$7E=v5CHg{hJIERD9htt!A1gI{G{KDl1 z0l4sjGhyIb-r^+lY{TVb42Rt3XmZY2GM?4^7%xkv>~Ttao|_nghoM*~5R|ehTyAsh zdfuE=15g-2u-!={iakT_Ayx1pBaw9qknc-X7cTNCmGE4g4j8t=Z3PhoB_s{9OQ9RRjfbRHY?n*i&hrsi|<=a+80H zR*WNpYd-&ygiY0;p@gl1YEd+6HKEvSqv;h>`BkyCY)Hf^%~H* z*a_;l!15y{ufrPJLcwp0>e4*xR)CG0b;_pI5qH90(9IjM=)sX)<+W#xe4a?u`rHzC zY?3>ST(NpIddyM5mOOB35U5C~p(RhbrSQ(K{Ebz?DO`X86Lq?UWC^bC8ph~A^8tzL z%@}S5z>4;Y&L1g4qeq@OAn#P0W>@(qPw<@`cF-Lrgv_kCtX1q)K&e-2Lqv-i0??5c z(YkBYQS(OikfWnUH8Ciy9TwJ6&Y|~4h^m5*u(*LC=b5KT3Z`pwZsur2XiF{zJy>k2 z4b!_Bt2K*N1=~&2fI}4<^^5AZ7oq*uTFy!hoqSe1_ohsos*NtVx7@CdrpJQ{Hak zZ=Rp3dywenN#4WBnZv2Z!(=aqKXqXk*7u`^w(Nih){9G{LJ0jKye{_{vsYNoZ78_B zqhF0j8`MTAYX;z&y{duQs5H$=p4hBZU8!#}{c+H&M!#Bw=TA@J^idWRn`6&Hu`4u@ z;J1V;g%NMsP}r+c*1nCe-;eLCjiX9WVAi0Zn@=2-PrSjw5-}e~bML00fxQSx-5@4J z;-uS@2UHnjusV$b)JMU*qhKfi!(<9GYYMA<3Y;}Xl8YMDH7d1-nR+(X#2as(8#89y zI5PINehNE0wwErd#O1U?p(TBvGBi$&Py_&ChmMjEOaa~z;3A*|B)kN;PP1rvv-l6_ zKXE3{Io%c6CUwjES4cV-9O6DDP2OdWNFPl$h)-#?19aK}*wA^s3V>nzykQgo8wN0^ zT|i=*TbTfCB>-q=Qy-T{8i2swo6IC=s%dN=l089gWDttxTbJpm(#N5vCja;-{(8H7OZI3US}<^SC6W{i!gH< zY=dA&0!Hki7;#-$y>AyMOBd^TalOaKD$TLXb1||I@8B{IcFMX+3FS+*;-iP_fMcJH zT4MsitX1QOc?+Kfk~4HxCn@<>^M`JCFdf$aTK7K`*ox8))~(cGv471wb9dedyQ(#sBx>WzHdVuk*mBZMLTkf zo4>36moN!48W-gU&N2)a>v4aE_h6kdx?uY-H9+h9fuMyU3OvOdhK7QPizwX<_l+L!0=i8_Dn6`he{0`;zz~TA9Y^go zj%^4=O`!4}f^)aeao04t_a!Aqv=jlx5G*UlEt?-Wqi6fo*|^IP+^>$Om>ZvtNVhB6 zNyAam!{4pCyqKq&*jC?I^{71b_FZ7s#PEPjpIPY`L9hb2!Tus0VNUT89pA^dK#o(p zx{d*mmd%0;%+Plm8I>EyrpwqS^R4Tv=Hmc*QvkCjrZ(M=y=)!FDPYBqeOtOy#Ea9$ z7pJzB3@ne{p=aoSPUZ}!sYtnzk0qSYOsoz)uAXzRjs7^CdX$Wd#!P}>uZCeyvv-7c ze2;L8U8{0lFrzd`#cJ>j3#TmORQKfcE@H^gJ#1<}mjfgClBx`}vYyhocjS z=N9OiJ5!;Gm1KS~wuZc!!9kz;%z^)#i|3Pd7sg@q1|aLWer-cFdO08OClKWbUUGW-nK^y6n8-Pw!xr|6nz{;>zs4I_FnVU{&mP=Z7B@yk5ZZ-(mUq&y2aT>z`~ z+ukTtsMDG66lOF6&VkzkqXhMEUbO=cT=6me+)o;Le(y_MKbt(xtlazL`^`e?C$;%c zqu8td$t&a7eTAPVD89J$i0I$yJZD`R0K3O6!poanjVBm|6_q#w`M&|oQvm!}R1w}$ zwpdhrC&YOUs*XB<4M2cHCvINN5QK_>uElFU1PQ`G2Qm;iZRJ8yp9TGSySFsBt0-dK z6G=?tWrr+?&!^o_&vRGiFYybwrPU?{BY&TKxYY`g9mmFe{C8Q_7U->C5q8{Y1U5J~tu$&V-`GDbgN zf?6q1**t~fkw~8g^bf9le2=jM`_&yn8ck4(6##_ri$LOZE-+VLrGCfUvW;-YIMf;| zmu_U2EyaDIxgA9Qv-Ve|m_;gELW-e7w>;U~;&U*L5QU4TC@_RyON#Y$6b`5Gj{P#p zVyXHAB;stSCv`*4Ra#$?!R;i|N5+4)3bT3^Px3@kg=xtlWSu}J|wlCUsi7~taGlj}} zoS2z8B9`})YM3jRs6*@XkFmhXvBcfi7pkj4RW)VXFMQwwlu!~v4_)MTk~@DC*Dtg> z!IhpH{>0i$FTQD&7Y6&iakQ`Y%c9;j+ob31UKkYK`v#Ec^xmILuwWsXW|L|}^yf{r;6mcJ;Jex>>UFP{Vp)SGl;R{Axwee6h?q^jpJa`h zYxXsaPdskO)E#L*474gFpDr4h{^=XYZzVRg@2*HDH@IH0KWc3gM0gt*zT91dOB{T- zJT2`I0WXH333~8EJD?` zj|GvK@5JjAKuu|kg9Rli)(jHgqWfcxMNX$Q>4C0IZmfceDNPaOGNzPsOLCp^Hqg;! zE*^vJcW$u0M2vY_kJ%2``FHFlvX(?HYS3D2L)&@3{k1>!I;4Q#^BklY ztLZ_pYp!K$Cq)>YhwE~>MgEpozI2~3Xk+!sleiuk$^{;oRE8Y7P^A|8dw;ixrz<6W zHUb86T9HL|ebg_=8^i?(y>7%77M_=)ExjZROsQR8Lhn`DkeG5?Dhc8lx*l<4m8EPr z>Z6})QZTCL^LWyiz`Y+IY`7lpDKWB1(!MBYa}4zwQVajhj-i;fK1EU(i;>Yc-y4iL z|G`Z#m&X~Ihb`|8_f1jDVvaBnbZO8`(=NB1RY?oxbbRS^v1V(LDUGeyF+-Lz6+jng zz+imq{QiSx{-%pE38nu)lxv@r>?cYQ)#BH&srN<7YXG2~&MEoQ95W+nFz#C&ZL%g_ z1+G4WPM3<&%$zx^YSU|egdlg&S88*0Hga{&9d0*T8)~KRs5tx+s06Ss^Dp0A#Z7*E zPcyzKvO!OgCg%HEq;2wASJp#U!(YomfYDC+rB-!LS2syqc|Y6!O}~7xZbto9Fb|Q1 zXcfOM6Go(=ZmFkY*#=+Yh|cF%Mhde{zVog+p)7`zp85(G{!iA-(dpMTbs{hl5drV5 z9kf3MOBZIIRc6dPyskM}uJGrt87>5zV*weI`U6I@BQxHn9}k_*kcHClOJ6e?icHJ zY(N0dJoAHBHuS0k#tT9`PW3tr)w^mr$l&127PN$S^=ImQacL;|6pHTrONdYNa*Yud z({}EBv<)@xVmHfW9XN`F48uhrHyMHaMs(7`nq;J zV&Z*qtQSa8>NWy>DVBP`z@+3wYE;E78V?VRowQZ#NXVc4&|L@PJ!ghF7h8p&nHHya zGZeFL91CLJ`^XE4%gl}SD_F2*5wZOgvEsZ4D0{zZukTd~wmx&T!jX83s9hdkBKs}B zI52y4QKTKDj9#tGNxmxo4)b}cTl=xkPw0Ne26`w;rvX2jADZzN@0tsuI_(exYR8cQ z&N(!H{(DDCcD3b8Wop@+!=JVqKGGOcB(4eOd0;VqNjDX6FvnpKWka+o&7DC`^8bU z6DI}b!DZK#`S7cwSPW+LrTh~CTt_D~dZN5gIhu9KD3-pxmt`5lLM-G_xFFOojDkr9|_wrgib2c4dzp-3(9xp)hC4pxOJd z=zL!<$9l8a;Ir@K^=ESta_bNy`BT~NG}5c(dg#!1>=);Eozr(;tvh{+6^;nSPP}hX zUi;y$AbhEfbAkigc9z<2`PAatf(iV6e?P>y#_V>gu1G;t+cHW^3ajEMYhyK#e$N|PFccv%Aj3bBK% zm4m&N66Hb@+J-_|VV?t4>UhEEQ$r};3dy`;*=hrEM*UG}dYu-sUY&RGAq zvC?vtcWeG--;_4KsvTIs1qJ$IP*f)hRZ5JR(NxdM+?JsiT${IaH~n5zMJpX5QCC6CPdNx$G6`DHkRRP#r?|$IX37T`^51 zh(aX~SKga;&V2bq9!`ZjLq9)lB8OhTB^%Zwm2#x9aj(JDuUzbmYA-ibDy-i7R6QJh zypD79SPq3mGoN*Q1eBNsD$+zI%uS3yu(+evzE!(GSN|ohnJh3}nhV1P$dlGr3)xL` z1O~i)I+fBk`v`%RnTN^NN6OWYu(A#DF^I6OBd z00IoT#zs|!he7}$POwlVIFJ?WY!15t^QGcA z6fA-Ws|OS;Km_1CTq{Zm5RYE1&h%v(8z`AA4ReQ#)IKdNYcc8$O24Jw=(8GSB9>zv z7g?`aK5kg?eWmKba6UE4^k$`VoGR6s?flj#t6u7qAu4=sQ~}^Rg5Qg4QZx z*SJg!4{cUf%f}LK~XwF+ig<7ct>L9RL z$OM|>`o+E~j-*-4xG_ar4c0^rk-~cFMb2^me7l+@lOyQITT*-l3vW^r!ssnR<|<1* zRGt^BQnK}k>7DtEJX9Ya00}UbG#2%DChj|vMA8ymnju{A$8dVWSb62;jV=_dP#91N z&b}ees9?$IyUNtD%1mZOdQt|&E0Qb5Q*gA7mPcZI$A+ipm4CcSq&4#~hU>R_G29WT)dnTck65tSZc9pj?d!hsx~J7rwT>W%g|y zZ`vE)kl77fGTGL0zbU8duM9peJaa(pI!%A^cHoag*5jKmc;Ct-ce@9UzF<}Y{vW!| z0w}KLTkr$Hb#RBl-Q9w_dvFUD+#$HTTY%v1?(UZ0!3hxD-9u(4-}m3$S8v}|b#-;0 zK7G#Vd#7e@-Rb@veT?>a+YA=F&Y#m`wO0KXHtDrz@ppD1OJ?b!XK5z(s1LT|rSXLN z$2^$OlMcs|+dq9q4x?a+D`-5=u ziCnuUxU1WrC+EIhr{O@vF-J_9p`Bl63l3Mw{!S6Sjxg|iu;`!IE*ven?D5U6amx;2 zGtTiJh3A@Ly%nxaEuBaLE(nYr$?C3P>g-X*oKf4HvR^5mLJCMBZ*IMgDP?XFhi{bC z`%vy=f?oNUbK8)0uE9N2LCj^2qn5ctVS8sw4!@10Y5F>7A8%NBugTGGelPv)1F`?xORMTRo?30e7rz{bL4Dp zGjP8wb`l{O4;E~@d?Izj17A!(%ur=4BSg6A_qk(QM=6ZC>pR+Gdb#pFV)|Bnn}@r{ zd)yb8xeQ8iCWq(SzHq*YcOwb7S53I5y?3;}lr=(!k~{Q}F-CM)c85lIl)Ln(dkV{eo9FmmxY`sdMK$5GG9QP=ZEE5gZd%hT1^ zD;)vK*wHHz-V+?9^5~mkZ^-Rs{ni z?Tfz3b@xQ%>79YDn_}$kIOCloa`waF?(3La7M^#F{bP;hMZU1SPqCBN zc^!&F#BVq_;-d`jL9k_c!sqXfIN`bev#kCHb#AW9_iJr_TslaFhjNByZ$GWNPPYOY z;Uj@mFqp*F^(F|=NO-xbgZt#ek(iV$)z)fLvG|0%E@$mYq9`#GGTI-VC8mZ`>2wuOebl!wx1ni(#{aUs{pA!xmk-t!x7MYuc(ijDQ66t{@5_buvDd& z4s|c%Hs&?6(&#~39)zAI>c(Z@1iTu4Y_!1MhyNUHz z4~!T106Y4QJ*r4vh0cPng9GtfCMt{EnXaR9f7qpq`^kONVZHhHMs58y3dGj(*FPkR zPu$Zf3|2)v!fPxJU)a%Z;lA_n4i-tKR9T>TcMOJi`J{we@3z^WIa?{K_!;aC{ivCO zBO~bY`L(v%meFS2$mcuDHe_Do2!0>)aB*9j$GYS#CIcm_sh2EF671Oz7RGj>xbDU`tUv8u6i`L0dP(>*JtMmu`OKAl! zX=Q$9dZ}(n>4(pg7E-l2VFY#s@A)fBQX4w$s)Bf;7|a54R+ySnrF4#3mXu4+^M?l_ z_Nv7>yiH=p)qPk}x<@nU;QRdba=*GV;7ha|B25BY*MCi&SJXozI`n+|WlJ*TUC169+>nS zs9>$3j7*S#V~X-rs9YRLV&g-XSOn;9RuX>Gyc>BrowMLrJiD?|@m6tv;cMrsgVX52 ze)b}E-{;eE=@`T2Sy_>8_v~Ab^On~0oZnny0X0l53pdc4^{XJ(o`({2%TDJ+apd<; za}43C!>dO--8{1XA~7xj?eQb+J4{~s8)h8tvIS$_Mb#$BhRdk@=>$Ok&#RKj?-{m= zUKR8cC#870&bTqX&WoBjN6Pn^UHH_?V%EBA1Mugjn@{(HY15C(i!M4sMbFPFcf5O9 z$P8v|(AOrj0+^w{you-NKJ&@kaargMu#^vyP-g~hg)}Rzb4UJjo_v=Y9N?7tcNV?YT z#Zl4fNQ(Jtd&{Iy7jmB&6wSKyRwTi~4KXbth}aUMBbm%fJ`;%M>!kRlN3uXW&mlA1 zmiCrez+}wTdOFFR?CA6GcC;LEE=EaNzYs?WRnh>-yJPsa-0g3%64wRdOR|*L-;*@_ ze;1u>L}Gp3Z%DBgGD5u9%vPvXjZfSAMVn@xON(TcB+#5iX~WBuOpFN*Hq}$UQby^UHEJKjRRP@euMAEksy36Hne($lgO|P-IbFgMZ>aSz2 zT&XiZh47jiq2>iOQxGHLQPBKp6u69~7IVI#yM<)6)neLw|Ew$AUxJ#J7?gCrX4Rgj=;R7CGu%m^Wnv-PR^wTgL@jaV&jr zuKed2rd05pxHS5UMveh@p#m(jD*I>I@JhAl-8~vg@=pRN^({3HU_aXg4iHT8yjrya zyQNR*$$V*NQ&qEkicDICcHMircQE;M0?#m7h0-{@pZ$(Fwis3?M%`-*_ZU%Nn?E!O z;MOFzlpBx0uH>QdR4|-by>D8sAMHJ8$b+3xre)M`)lRSdqdWbhdR1@60Y?bLt`|m; z`NR5Tp}EYE!iG6|J!LSedKDW}nQ`*Rs(MDwIn0bp*rCDBwRWe>$S2d81*H|jjLdN* z`{(}Cwtgg!&c(DEcM*ZSv*`3ski@D6iy6IdC!ThC_blF1Rhn<)JPrMtjuVZd8%4bt zjmEH5!AC?JbsdY9Li_#Jb40pOb@u~L!u5(;ZqN_fS~aL1wqRe#PeS*qXWhJ+m^!<4 zJGc<52^n!RidujDdUP*>oRlSD1bdx$VQGjuo-IaVar3kjFJ2L|E*!E$8Rd*`5-0V_ z>zBYUScS}S`fw-r<~yA?=GFcYk`4WY@SP;O1_}pMs5q@}+w>Z`QZ7ohf(;vln{W~D z^wAojBF-!*1H8P=aPgMf2ZJ~m+j~s4tx!Vy-{E_H`R;g8VM^(j)0XKyq)~fgTZgj2 zM4QDJfW{GjY+!|>yEKW%e;29{hb3}(A9i~T1usjVy;Z7AUW%ppf?(1K&3RvPtjS$2 zL4vh$^XMCox>S+I{86iJtt@bQL-a+k9am>Xs-xG;svexbJ%XaUf}cK}lqG6|6W%p< zp{yk?6J;leMfA;ksTKZ-@vQJ%Fy=XaS6B{jo}9jFwM@l` zYPzE5w#K~R@VgQ1_la7MY&_wg8nj~iDhuS$>AtR-jx&=Z%9p*>en+Cu{4`R&9legi zXSdVEYNlQfzn!zM;xj%U6kD7XFBBiUEEgG(U$_efe7#JF5JGAA z^RuB!c(4dv4UWS9g_3jPScXFl%2wq{hUj#?$Mzwcf){Hr}0Yx5wF-<#;d z58j84*R8GGl@yW3LvY^@_L<*lGWV-_Q1q}7nbXV8tBVyz?lpPfAoxGjCbRBD03#D8 zg#4EQqaOaOay65+du>I&ZMz22*B(P?LTv;+5M1kagMI$tPNrj0Twom8JC`lMU<^tj z2m#3mZ7vrXu3%>XbngxVPMbWck$v6VjA{O9&UdwmR z-?U!Tb0@zSL&Exrk2r`2lb$EbHqa(ao|v?SJ6dpuvGa#ur(bIpJDMDda0wGy@1?^O z;{t@zQb0!WO z!)ot;V9@LCr&et&DfFW@nj~{K9npHplI_QN^Id@bq7N*#FrdjZ5*X2k@Qx;_0rM8- z(}X;h7B)^L(rDBlNvYk*#qdJGrD)9s9p9DVzLb2_n!v2qN2e=Qsoj4s|I1w5@`L=r zvuTi4YuXYswU+gP!silOd5al(G0bYB1&g3B_yhA=qA65jTs&l$Ev0&9M)vY18qt)u zu(XzI2jCq`LjhQoU<;#BOUs)QFJ%OId|Eg!sds;rCdi@43-=V)0x?ys+>y#wwMwNk zY3*+gm7T2aY=Y*GY2`u>ZQrc;G3l6}X+v(TtWoIn8^&)GhfTkU>Q7i@2i^jy@XJ+SoG4)kly*v5wP}wph<8clcx+ zyR;IiY&jCPLnp5pWONW@3ATAeeh*7RTaY5G7@qrj!@vl+4N!`3(RJ9Z764o2aBEC3G6G^d%(u^kXZG zb2!mKP<+u%C}tvZX(iZZw4ov(l}h4fH@C9ths{avB#qNE}@F}0%iO!Pkx1aRiJ6G*St7qb;Ce|33YR|@Ui>5wr&(PR+T%3s;0AfA#=5cFO zNo$%JYJR-`)SqtEXH*m1VmHom@FVfgRrZXoszbu0=H$*YG#4y}8?6d%%3a#O0 zX|W_(CQHq&T$qWb!P*jh1D_ad7m%`3!dWm(Sbj1%{LD3&oNVmZ$}yiUI~!=^oRLEw}w4?&_6-H*CoV;t|O2{eL#8<$p+uho~5b-|R1 zpEvrL<@l^Tph8HE-iY%RBk^}u84M;{Z|g;u7JOwdf#y?s#vrf_sUGfh7$$*Ui|q>T zG4hqd$xj)o^-oz*csDMdJ_Xel%o*@l%}s5Lm?&2I?xI208*8ay~?jc;gUZk*y>XtHl;Y;P7T zZuCNL=rcH&LO2+WSsChFnA>icM8X)$ZkQKbm~L-a`&>#-T&S^{;vQU3XIwZaZ)q7_ zS=%@U-&?c2Yhn_)eLlG1)^DN}Y@)@xeg53UNpwpSK1J7LC3@ppIcUpd8*-QIIH zOA0n0ad1KH-iT(iF`wQ-G8Kq>-U*7h$-+0wq;N@sZ-o=wB+R+wo0?^JhsC=z6zd8q zvYMHP?i6U7mB6RQ)m(IsT&fDLLg?JXSq#dT&C0KCV#rNmyxbZh_j-%X>ScF|68B0n z9NJbb+K%q$?UHUwUfhC1i=srX3K=cB0rVeKT0ZPbGSNxcq_P<#DCp|v zKn|LSUbG;q`uHeERythkp%r*TBPYF zlwd?TY%yYW11Hs1Sz@TWw}AuqMk(1KZkk~BXKI?K6DbKD6Qgq&^ljQ#ogXP z$p#V6yEA-%G1Ljg=7Uxy9-uSW4LN$S&9IX)5VyMW`1%pmo;8$#E|fwj551pL4jWn# zz#C}U2IL7Q61{Pov5>MBPpE&i#|$K<3#A5%vX5KPheE@7NI1*1P$V?krBw9Ei_twj zggo(}0sCprc%gvp>kLogcY~A)o=9CLepsStkuV{4^p{gN#CUXgsBB#WdVAus|l zu%Ej9NtTJVdQ5^6XdML?c?dc`xiEIg-5(5)EwG&-; zE7Log#TuGc_Jq^yp_%fGxmYH9ktC7L%hm8kFi z1(^Zrs9pA>C;8cPUoTY&mb(|0OnbJLpWc~ zj5Tw}fd&=Vvt6gC6`P{7N7Yz`nux0j9(R65Q!SoL)mWz>j-CFYTlahKI)zet$}a7# z=lm|t3s`Pt^H&vQ_m&WbmXy=BF4y+gmsTsmHl5pc&#ulo!LGKhu0Fx;F>qJ+j9|}l zSI?GU?_pQ(rC{GL(*oXJ)yAXzI=;7T4 zJVkjtYoRg6?lDiH@qlg!Y-u8)dm=+-QSmmrnkDM zJ%5ignn@LlS+a%`pa{?5^~{k8&(rqIvkEWp_AH19FUs^RstEtk>G@$Sykyn0q%REh z6^gJp2p8Iq$ea3-N=HRTO6!0*mof=wtmwh?N*&UqHxDjw^%+17x2^!Br@ z0lWNdtBZZJZeV-;jj;V~C(k*G_V=%dhTzw?-E4Mz{6A|d?+NhQ_RYb62&$lnW`z$u z{g3e2j}m(E75tZpdJX)0kM->>V|qT~{;^H- zn)U`AuE)yQh;6hKUoh^!Dp|KWm<)s<;-w>uq5S-+0Wa@Ogb_C>%3z3lVS(>z`P~Hy zomB1$YoHk@g9QUCdzdkwt=s0I#IYzhBG9Ay`@hyCi;bG8h;X>hbT}FTJ?E`gT(pnL`Gg!X~BKH)k+?eBdNddGiDzjZRCe$ ztI^x%$HzRfxHsPzrbaM|5KwFyiMY1+2c|D@5J3ScJkVfPU1bo3d&7zOsuRe}izY?v zJT$XLG%kjzWpFKa{lOPw6yM@&(kP*QH^vyT`$iIYjMVQp24oj6aq>7toDk*&Rhof| zBwnU3<|JJS6-N(!O*iHgQ_Dv36id%{ps z5Z4qAY{7Sv(*i?Ij=}=wn7hKj-Qgw`(u^iqAZMGN8~HAFu-mlc=~=OAwfZ7mI!6#? zpm;1X$-+EN7uFdswp@*El6uB((PZ^vd{as?t{3Rk-(JwWk?J6ULW*pImTM&F4+ENI zR4nrDE0)5-(?vaQjW}h)z)13it@ccvL|lROAkYEDOUA zi*$=YFziQ-L7~j$_`xTB4jW*ujG6t5CS~0b=>V7V3YD4reTACjWM(@Ny?_#Nub3phJxI_W(=obC0150X6jzwHq&?< zd#t!Dh+E_Rc&Xw=ocU4K;m|BkrT2{)hBntlvtC8+ccobL1=Y9~+g(sxwV0OGHP_Eir@?2^&AT7*pPnrC!xlN*Y|DC?M`zW{6$4 zB(|N-3ktoA)^fP~c_Izj4BDP8x?8x^7rI;0;KWw$HOwQqXp<01df0H^%6a_h2PS#i z4kOEb`V}Wa`n;EBocm9vf|sL`JV>U3lbSx#R{`#6f6t|kOFt^hKC-;urbBdja$Lib zd7f2=F5gVMuK%VG|u z&{2iDUYp|X-r}zASgP<-MJlBRMOLj?kq0Au7mb%qys%4%MX({VDt?!Fi;)lXQIlr6 z!q1RycLq^?qm=$AD+*mrfo}{xGZh1{%hX_ph&w$ce#n;vd<=C?(yvB<4;dBjod^ULh2TV-b7pYw*o7(bH^7*zbLa&>QQAV?z6*G ze8^>(1id&zkmhW2=UmHk19SU9O+v`#KpYAMK>EDV>PX3}7}7e>4#&KvYak zijLw)EFTym@EGSxQY=K}G)Gb7ZIdU+*B(Yz`XL8IOyp3dD~dO%VbrsIuE;Gnvk?*- zW$!tZEr5BTQE-(oL;e-1)H;2|-7q@&0q4+zCEZy2;alNo=;8ydX} zz=I}I4gR%|Ogb6s7@6acR?)3dqZP#rJ?EnM@D+Ne@hb!4vOEqgEts1(1dzO5sLd#( zFOFfgyblz1{4r%iffx6{Y2<`8vdQ#DIESOQk3OfPP}3@BQ%XApe1(r(IJ z{d&MtxBA^V{PydXfffIH$0Rx;G*tX{tsXPKj1t^kKBA$u1R3F6l=fXA!KSs02;qEE z`du-%tO=>A9;Xi}LeR4Ufar?Apap}wLfY_?dfwV%h4g);*5)VezO^3>;rG=RhPHZJ zYfBxY_qFbuwqPUh+VTM0LuHsr2+@`30$#_RD9=ue?gvVO*>E1HLPPsc3W5a7tsX69 z-_PxQ^w&2>J=*((9h~ykH;#X{c8>Hoc(xJ!-1l$m-c@q&DT17Dx8&`4uDSHx?fMD0 zZ0mm`x$?vF-G-;-YxmokR(i~!7}18NFlj)IF(%$6SbiGi|LL3%K)gqe_dG6ViPSaEk@7$Y?}aDa$gPlU^GHtSWj^hv zTdBzAv0B8-Vu_J^rSay8?%2yx%TM>(fX!1=_}7&h(%ak^^F!#4AV~*O5(nb9edmnV zjpKhZ6_8wdFAGk1qus^a?&8RQXcgaRd5AU^I`UWfJp*~EIm-CwC?TVJ%lrNFhz99R z+F18KWuNzqG3i|nde4DOp7(-l?p>jd--&L(%S_$R`w|&H$VnTY^}gQwwhZA5o4V)T zcO>Ug@Gm$YP%tz>61P4&e{M3jd=Ev)Uc7h(uPk~|9TF+v#M+<5fm^QMh~BO{bcA=k z>t5F~$lkhiz|YI9e;yu5{~UOVydH}LypD;y-H(A^zhA!PU>Op>OcSzw11+)OY_q&z zszTu^Xw(&|zfQz!wQH&vh^ovoIQ0 zFkq=fSYsgUasqS`+IcnkQ=kLdSqvx<3JL@LoF)+vtb$N60~h3k5R&+kSdWlV50{;Y zkW-J421JTTM2vHSu2My+OGGNWdW>d6%mE?}0Z|g1Q2J((My^oWW>K1esH=%63s;EC z^(b>}NL%%2->=Y)uTVFE=#NflKk8B0r_W$iiJu05u{8jAXq=xHH@{WTYOc_3XVIqW zks6#Zci4~_=g?cOFdDAF)3xYi>{wtn>~&RC<_0WYXKZ#1Ag>yhR1)@mB9;<6nvF9K zbpy7eDyDfnS-s;csRPK@l#I*ah2skAI~qa492jO6oSX!mGe?klO^}9hQH((d7Ma7R zXCo?MC)!a)%*G&YNg}LsCY*8xHn0;^4<0ItLjfg?}V3KpI=BVN;58x|{AxU9UWV=u+xzOjRQ>&@d%W#luToWYS zz}wH_gE1D7pyA7z39PS>EYRrO)p6}H=#G=I#MJ4oImj~-vHb%9E`b2BCDcF z5mi&rY&^bE5dK;+e&oQf$N{|S9h_!Y!6bD-#D1n2b%6maLGM}tzXG}B%E6u|bvufZLh{*)tx{#9Qnks=MqzsN*qSVHfd1fwo+TFC_pQiNkT1Z}V08{e>m zCDS)?h|}NkF>121CzF9ypuMl(^P);V+kqnDc^&J?$gx-`*#KY-O)mXAPQQ9iElp|N zJ1Nvge8vT7!$o#(w6$0^L!9W0qAQAfGq_eL{8=#gn0zu%uWHQn}A$QaN&Z9 z5CF18nzHBpz}!GII2Rz~@*+Xe-&+M?0b1ncf>bq3 zbPiKNz61Q%rXZsMd_HmocpL>(Q(S~JjNCMAHdg^~z@i~6q~tYOa<-^Nyr&e|0D!J>kg{BXe#^bAXA35@tFm#Bh*qi^qZ>6srfa0@_kK`E7w#XxaqghrdwAKM7k>Z_aM1~84o_LkI3N&j zct_&W9W53cKk!0fKNW2$4FK7Ud!r#TGVq}%4Wpk+?-*cM6NE9G208-h1}%P+TLSjB zn2X#YB5WJ^k$YSRVX5n2kY`xGE#VpMh>odC?cmBl&3ZXDd%35w?QnS8EUMeOvE}H< zd{37OPzHvvnTnyV`p*&8FY{tyLDej?tKFT&K6;n5dC%ZUS3Pu8qo%GheiRL!`U zrenel>POz`+Xl(T?Rb>AyIT!dT(-#j4LFYsSXdQc4sw$T?I?5v87%Y2BZ^xyD_hl} z8wcbYG6oSbkSn}l8WBL@t3t_k;8=pAnm?h68L0(XbPVu6reVNqS>Ctl&fQC&dunfS zXpgBA+16{Cwt$d1kThB%eelJ77BpGi;j%q_&K2-27TB_ZTsdr?b=@NpKEznyM0$UT zRKbZA`w@}Br^s6uqXuP&3PlFjNJkKa%@8CaXG-*hR5TZUQHARZ3n(QxDK3mOhRth%e}{bUw*=M?PxNz;8!CB9-W3Ar2~y%*hkvi*vN} zMT87WX#GawT@&)F7E6e$!!Bkz`-9nS>uW9>4TiXBpJ!}aJxISr5`Ia|{F#j&m(iKs zr^+$SFX8BuI|v5rxVO!^Lo5SK3(VwS^iRS&GGig27yuSSQWh+qsXmInfz(9jU9 z;6O%a$xCC0U_-W7%Q|i=k@ImS>ydgFb(A+FZEFXH%a@?lj=A*?dneqZ?FAUSbM2ku zjn;PVbl>muz9Y%`)NZY`i&(Zlm|=fsb1$?A)*TA?fLiqme`FbR>NRW46lt{(4`p`> z3u(g&Nf$ikl`NNlGnUIU2(wo+{PhhgvR_PsULp_&N8Q#Ii~?KU8cLG{%XP55qX<81 zt&J(Hl`MFU82b)Kv6o9_y;SRU=jk2g-*qDY(w!k3B2nqo;rBt;Z`sl7RO6d$?pkH0qDBS240o|^RK;^>cyyE`_T>Z zH?up`v<4E?w5e~gf$Wm5O+I1G99o~*a(pTxvWgSDdU~`OZ5mpyTiJ(R%9ht&yI+R* zyW~;Lid5Do!TLF%b?qTP!y0FGy!Gn}GRLXaj^%fH>BhRbjy|^BZ(SX#K@s^+Ol;&g z^`%>Fi`hc`V50mWKk`%DjTpY3p5GdIF9YPnH%mYC5&B_Gc*uP3TEsf%(l(gwo7G2% zW)nK9#e|Dd1=)?0+qcp`YY>-OtnFs%P4Dt@No}HHXy6A*Evy)pT`I^L|G-Ys7?=1A zK`j0<*4xb#nAmL_FL=zLWN%*<=)@ut3d^vrz$C5ID`b6ZBzhZ6`B{s%Ir->!Jl9co z`nD{kHS6~@>z6sZulF6J=X>_XgsmH5(c+AzQNPf4?I-QF8a^{qBZQO`P9NgM1i$i` zHl~D}cCbj(7_#eSz;7vUVa;97soVE^8PDt3tC_rl#YzG`a#@!RenTUP&FlVlI5QWv zf5xp+E+T}Pgvsu5k~{b{&MyDd)ePWKh`n0h=(w!`RSWdOlxM8+9`d|1Ey%9#eKS4t z9&C*tt-ue?WKVv^4>2M~(IQVlXwLxw&zW1#K6#H};O8Dx!uQy^R(b2n9gih7PklNs zQQ(K7xYv=q*Rg=tTaB3!k*5;omy*7>^{uz-l;@(nKZjd?Ho<>xoBmwqfqVMi;&!wX zwinKbDcwYo{)3qf1pEce{zcBBo`K*)Q$ZVne;Knb5D8=`@NXAVgI)ds-y#e`@V96i zqOyqp&Vh{m(}qky5SQKjYXxn?1oXES{oh?k`yY#;*c2Oq)}g5oe`tTLi^@_CqPd95 z!VmuA31ZL$1R0HnWkcLX(gr~YJ`gW|!}=TOKNkL4h6o2yL)}1sJ^l^mKYk$-A*FTk zuLMc_ug>4lAu&VrMP;!dE=&}n!mSY~;2{d3T=4%Ige(}+{VQ>k4}%2ukC%Ui2!HMW z6X)L;(7=E7{?YzB@Q(VN*xKEGn#4q z__JdD74&g)!O0tR(`6`R54u?&b)Q|B&jsD+livvTEjv(r+@$y@ESaEm?vs5kq*Nxt z+=oulm&Uwc{gq`Y{(L2V)Unow-HhgkzXq?n29CCAm!}5K(gBZ_DWv_c5F&vLK}v%C ze;N?KJpV}kl|wXzzb`EQW8tqv%QT_J=ZBFgr2MP!SMtwXFfWc|hP{SPz+WYthZWz~ zmH7W{^gpWq$L>E7Kukky{hbd9^?U_e`)^o(+e&}yzd>mI^^p*_#CyLI57C6wO6UK# z{jcQzS3_Jwym`ncPi{hV#1JUhI|n$SZ*Ht*Ru4V zPEWs({gUwaQRHeWyXggp9>n+O^@T+vQ{>pcUKevA^#Mfwwcx(j0%8ghr@h1fRHjF*HvbyIrT_u{ zK^?;b;QykIxgn@y1L(h~WAy(Cb^KJ1{x9lyyrF0;0VEMkEZ0~p7ul*zxKY$tGL^w* zKKWIy$)w=j=BJa5sQNFWF+w3oB=XJWb49W#42F}<6$@opy5c$V?&ZyuADTXGPPSAn z*O}yeo;qNzRuC3r&on&cT5qnhQz(49O`)mMbiSpa&OR6A=plc7f>Lb18nSVCB|KO` zRVU4lp;X9K>}cGNv*-~+mUgh*G}lgOlFbh4lBPN~SujX$8^ON_4%If6r}{gW)OP$?%pjBh?@t1N^YM4aC}Lu@050P0}*J(=N!+kb@GFO(&cmh znEpCDVemE)$?$PN9^AJ0!KD4Jrt~I1mm{KU;Oe8DFA6v)>vb2toXE}B3 zryG}cY?^$`nkdO~lE#zGv|4(W`|5>RR+8g>a9n0@f8%|S7aHAKmhXvMNoV0ou{M#D z!^BWw8Yc7-Rq}<@>A3joNee=0zVzC0xm_H=r_$n5r1Xli_mwAAR1Vz&l7^*U)k*Uxvd^F@KKdL}#lYNDlWm71 z*Ea8^-;H&oe>i1qeb+#tO8I-u(v0L9>af{UrU^C)&GFHf zmu!yKJYvkodUgn;CN7?j0x=QYZ)1EK_Z20jJtRzbtqBS4=A*=_wlJbE4&$48yU0HI z*s{sHLzjA?sR{Erc*X9frGxk`_!ZmX95_PPJa*Mh`(cc+6^b(OF~ZV)BeVK~aa#~C zA$)xS9}(Q#`4f>#`|rDqidYw}1y$tfxppJ6UcOz}iJoxL$e3KOy)PNerqi~zwR0w6 zBJq6E9y4(Q2S%R?$GUa9dR6087O2gL!vp^CiMc7bjo#RveQzGXuOw-_M2u=5FHrDs z;l6Gps^dG(7o-x{Z0qwiqZ3e3d7F`mSHFKBZ0veDol2hE z*5UT(Q82sfGCoe^72HpAl&O5DO8?%OAJ93i3FEufg+iC8f-va6d;9ZODlPA!g@gN* zyx|th5yGQ|s>RCS6x4NcjYN5nH#y3dlq78j!lYF&a}#JC{4gtSk9rkJDkw@h2onFj ze+dXw&`lC4uBD0ZZdZY3BvH!)%TMAvIV9t*GO|<0nlXi=k|u8cBbm zl_oQz#m=fUxlCOu=WbM^$YcuvWtU5=#_V;kI= z{W@zMS}oWKQilQ3&{;}xA%!X@`z}as!@>i9U8RLn$zq?E6Vt>MVilthk5;=C5p_%` zE;?JF$?%TNNU@7WO|CNOc-1jcPbl{O{AZFQHX)}W|LM4R>juxutjE}S3mPnTofY6Oaf7m*vIHX#+BI4>_Y6Dj?I5Ps{tMzX0yD$gK$@wF5f zPNjm4v>OuQ5@~p141aw&kljEcjDMKg`g7BU@w`|Tc+W4^Mk7z1{-JC)6tUMcp1cWf zZJ4|t5k$1}2;_xg@}rlg+0aAkc@Y9ks%j@w|4A>wKmYg^+-V3a_a$k$!$>w$VV96> zYRDjKTTXOs683d*VBL;AmSgfh5!d?# zKnVrBWU3^pL}dzliIA3RbEQ+A<a0Qda_I)={AcI*P_{rsS0gIw&RD5Gvmm;j*Uw*R-Qo_GFaqp z*?~~sxx~?tjEtIl*myyYkfas4h(c4sWV@Ify@#Y9$R*EfD4BgQ%Kaa|Rij3H;w@a{ zZ6-%!e1DYSi$VTSB}XVP_>of^M{pFZT}z2QdF6WCw#oN7gfvU*SN`G>Big;rayY)~xAWlU&)j%e7a4wrTp;^$rL=ckVOfSdj4H2D@O7@@#y%X3 za3#K?pKemjWz3~4Ubaf4pC%c!g#{WsVx80vM=tJu>OQ>=nrt|X#e!TkttaNi4 zh;xh>EEG=5>SY`4u;v0^@G)4qZ3&O|n^dolV_>N<_(2DKT&4FWh1JpUuy;Kj%Aq7` zs4nf4L?WpCfr60z8a$~F{0s;HKP932Ux$zZKObFhpW^u;gpgRIfcy?I_A;9W&}ueo zw?wLr^~JOg(tgqS+L|JENLz;9z(oxCC#MIXj0YADn8D)_0BHj-j;Q_ng$EY{3Cn}Z z=6r5-@E3Mfy9@XDhGL-}w`Ie3=_w_$zY1cK#THZ-qHPbEl?h2b zaOah!^vic;{}8%$5Tbe~1dSgWgdqeB4HCi+Lp>q{!F*7}$0kn^t;G&=1|Xa~20zP$ zQR)QgtPsO!gz88mm9wD?^&>_DLs|#?&1J(aR(Q4wLky1Kl7Xnc;}Jsugx~2wruY%< z8WCL15ypYxgPMr#vk`t^S)?dHIOjOgf>k8@HIr(2)zWQc4Cn|n0#HB%#gSZ;q*&Jj|>hv4CY06E!+)^`4q9dpzb zBO6ipmhI?RQ3O^m5?5Kb5qx}!_OMzQ_`rOG*nEVv{kxK#51uOEOfRP;ZDMcSr2t88poe>hQ5Pl*c z1VW(AvnbH)D54!{1Q6_TKSGTvVhvk*u~X`4oA>;Yk1`_0qB?RT2-Um;rR@sk9XU#8 zf0`G6dM60Ni$#X&2tdLoQ7lfkT?N|fBDX`h#r-I-J4jwp8IO_3?c3>}W|QdJ6V392 z!#;dLbN-S{k20hRWavo7m&-DM(1iPuA<$wA#4kZnBqi;ktw-<+OBu-%5wNBip1Mg8 z)^Lpza`#pCx9u+mQDo(+h*tEm^ItMA#xmjA@q>%QyG`QfM1k*hliIdXbNf-E>5<2R zzO=J_)dzb6zCmD^i80nuncEsM)0x2VTi65;(olcQ(rQ8lJ+P%8vLs|!^2~20StZ_x z4kpP?!;)~5l86{^hzwRpopP{*2AR+Ka7gc+U|g`Gg^G*v@jmkc8w#M(ym-9CoZ@?+UiI>rmaPx2o% zFy$(JyeolZ{8e?U_Nc3&89VU75Ps@aRX<@h4F-bN$B@i5dk+xO*Ux~#Z6vNWB*;S~ zG*r<$^2}byea=b-oTMc|atB1`4wRHR1tLKBvio|q2cK$@lWGquYf-LY;7!sSkhGdk z%A~T&Q82O@FqqPzDu`wQ0HS*6R}2W7l_(!N(xk$u6;oD#H|h%M>l(_-aZa*s!y*H) z*9654!Zr>>Dpo~y7AV6z&Q=Ci(X<1FI^jeCFbq!hEbEO#ARxRCfK#vu4!qOIeiz>BtMt^>67Tl8XD zbY5HDzry(Oc$5@`(JLU%_E!w`BPZLSjBX?M0xK7zQQUx#^mE9YPVmJh8BE^DN%`?K zr}p=sfhPIz%tS5fJ^<8yAgmxTjuDv9)y|<0O9yOk{8a9TQ~f^KGE!LTB}M_ zk38Fg?9^H2(}GkFK$`8W@d4Dt02&3mn)Lw?%51wJ;9Y)`S(T>+WhuQr;&5VNd?Z+j~*f8^hRf6VpHe_hg9tf^F zEx)w=3If7L#smR?AON!g;;a)=mrYXnG29lilNfwKGhy9s74+dcpa{8zy{ld2Yg2Mn zyN-Sz4slmgb{BkLpMHK{x2Nv<(O>8+geKZpk7D7AYNd!Y1xh2L$sTUUEu88%)E{~1 z>a2MM=zJX@s2*rsA84;?LiDNVqu?DJFDhf}&H;~yxAddBf&dWAHX8^K3mW>gmXVe? zK^F6+Q8kP14DMYP+!jp;a%3ZP(s0q#uo~k?HSvg+?MSu$K#M+PsT~H}BluYuCbI}D z5H4yU>hdsk(@hg}%j}62nhOZe<1t z^3{`2r^B%9Bm58qO7-`at^tFy5#z7_i@f)YifY*wg*y=?X9<#X4uS}F)6j|tA{hyS zWR#pma+V+ng^Wq>QSoiM6Xeu6MYkx81ReXo4&VT$DoGZC*;GnciW1P+#Z=?l0}W zYue!dvz1k&6M-wKX6Yg3a173*CQ5fm5?G9h`+4f=1T0R8lwpK4x&*kZM^YKtnO*5H zYVxL=L@@bhzUM1Bd^%=EnqR%HluUn%y8^_~N-fgKc-R_p*z=0HSnOT=kZVh$2>veM zVUEE;4syeWUZO@HNFCi`3!3n6}0qKwHi zWRA(Y*%*JX@#*c-B(;~BE5mz>P1PJ=L;1F^(IFJsp?&I|rRac`29?nL)?$-tvc!SC z^s@aCwdwS(PO8BM)4^KP!RD)@4X=qgK9*2%4)u~D1a5SD*YuGpHHd%gzMuK2;#6CW z`f!nSV>pgECS~GOvA{RSr){pC5km0MHw=WcGe^+w`7Z{U|dS31NoY+M*#%MT67PCHR;pJ1s%oqrH5s}$f z$kH%qI#6H5Doah8`Jp^{#EmZtTK#O?vhr-xO9T77L)p87t!&tP@sW=E+0zz=t zWGp%QRPh99!H=j4tuj6%jj8Hykb^f`pPQxBKj|Q;emQiPnvRfPfDqs8OkJ+yk$E0k z-}||Tlp>zoU$l$mzYQJNd3-matQ{*An7o{5(wQo1m!wElmVlZSO}_} z|N0R|hRcDV>LGWp;sqWn3#T=MJ~So zctCeKkN*z+NFY=IcER=Erzx=El&+Dk6fYuz)# zf;$@NOq?59XXsw-99-|M)0lKYI`W0qlPJeZWVqVw{X!FB3yz+x?*?FY@513g?kX^KXThH=cXeF<8z*5#W$XJCPmhQ z+uO-9GqV?J+AybMsI%`~TwjrgtjX7}jK#wu65vsF5N+JbB*ohD7+kI%f-2d)_j&c) z1cZWW^~1-JPbm`)&VwC_g8{i+4T^(Jisa6L0bMlo+_$1!xD%k`bukrNT}cRVubuYz zfdTFS)_Xuyk2OUd*1BL3A=s8Ta1GZNj;L}d0dWq;PS){avKm!%;*NqVE_~M z%>;?MS@~04gm4a4KL{R?fSqTDn`Fb`ZpW6CxF*ypvIN`k1_85JRXIgvfuK;->X|@? zlTapc!U-RgJ5r~~oA5d0N#FX)r5tz8$yoT}=j|;{qq3P0B$2L=wUMih`XfoJ{k>`a zYw0rPgfww`&nB4VWg@at7TvEUv0O+JvU#}`Oj)3ws~PY;|7Akx^=xL-@77P--|*be z>#dTuFw)GsGs(=*y)shK6#ngHMCU{~=Cc^MMI)Bcw7&O{D>SU|0pr<=v8ke#O{IFR z#P6Ixo~IZ7+Ch}II>UOY)H2c;adC8k%<6q?XUPL(i3m%HO$;45fiS}}+{%|Kug)zG zC5q2wieA!jv<5%bAIUs0b|$U5Z7|oJe{JVBt4IgDzFVkY?WLI5wPIKky=}z+^uuCq zfQ#(0lXM+{O*;&6iTv>o;xM_aK>6jMLdfgasD&)jV(Bj%)5W>Hmpd;pf8~+tE{7Mp zJ%4DN@^}`a^t$>pFBLtVq}&r{=IMIsp!3`U-(9WLai zU5}_r=DuJ`{G$2e&XjsWn?*cYirFF@O_{c5U4?m&(R}$qDNDtZ-j}Rtc@Kod-DF@5 zD>{lfBE76#E$RI=x13I&%0wrmJAc>qco!OBh@oW06I6=NI&M~<*4=y_N zZB?Q>&ldKGd=)V)n2Ky%y{IZlE~{~ch%WUNv$Rt$53PLc3-S+_oSMlmT~@iEpndm1cOeGNL7AKuuW>R}Gwo*@#?6JW6qo!p+a#JKS! z2B66LO$q#_`^_`R_w&fF(uYzT`EH&yZn+F?c2m8oFuV6!a$qZ7T<@GV4#O1w)>}9U zQx@K&U{u2yL0usJ`Hopf{3pYxS1BzrMm9vEoknun&PAV36%5N>v%$Q$M#j*3b#X4s zD_>0kTt6;nnn!#;&7PIs@?bh4d%9zq_coHXjdt+oPkym8+75cA7)~Ajg-X`Rr0(*S!+vN9hf_}oEc7z_F8OJtluE`*mBCZ6=a;3~FDly+G(Jo?8tgdQ~ zpI~~kBHMV%&~bC3#zoN8UH@*zSjSg6V<+rzMabgSD&nB-EDG0Ynm*ss?u29@riE!^;~9`bMHo^NKP;AzA;tkwc-5k zDhMyKX(iWNfR#P}vsW!~@tXkY6bo_|;<_ZJj?nC1%ABs+vF~#7XdD`wxQ~gL3^A4@ z^jqJQX+EVOq$EPkLOJM#i5l9q;zrdZY&(r3ps6(QI2Nqo?%?FpAf3^!>QjduGt6EhnYjW}LUuElnL~;CnMFB&PPcue zDcMq50H1XHIV)RfZKiNhp;gFDs&FRJ+r6RZ64HyH{HffN(h}At~{6b~(9G$#Ca;`Bk;sIfFRK^U()4}Kz zPvQ$LLn*qL2mbbI!uO;l7IKsIdAXI#dP%=h!N_*V;`LluS%=C9A%<~s-A7<#<-86}4e*YxGAwuxc zj>()2T}s`fMCp3SJvXV+cypU)<_UF=QT_trE$Lo z{Ab2rwG-DiQqww4on5*%@Q`l5mcdRj*e&s*OqooaZuq1pxLuc1*{)oknzf_Um;~0B zT+8`dIhBNEBPV6|yUrI)SwmhJ-*>847Nw{?5t)ty3p2=6@fWOngx%dR=J3<+30^>* z9flXL`5E`e3wqd{N+aC=bhel%H}qkXkKW$o-b17^ZMI+IGol3J!JILyPOR(rRVfU0 z#-m7)w$9kiNJ5$fhN4n=G%?(LuhSwhhOErQ>8c4!ZAFpu3!j>n0<^ebcEw-6P(weu3_pgZL9%4ju4f(JbK^Q-jQT-maEC8Ac4ltx8VlT+~Y^;boj9b8&xi>X8yt&ivaPs zAeuy1%M$LddXGed>JBaO7=lQvfl#mhPOHKh;%hgRTl0%ohHSH5Tv>TMuxLgnz5pdw zvOgUA^?9d-onwQL(_j6J`Q4V*<6kU~ZVaQs6E|j~2K<~AG$e4(eJ6IlZPXTwFUa*k zX82KiM7aNY4#f^jAgC|x~HftcVNgy3>LTtf+g35F{{h~w%B zwL(HhL|3mc^%-$>K!A9@V+`)~QOrMBsIcC3`n)vlJq{ja3bHI@r??aZjU#1(ocq}*60Ri5+CWpIBBU5h zbQ3KA(q+9`a!BZ=0+m#OJ&;|QrVN|?P?VFXqCegp(A~=qdH`VeiyHgqGlbG`8^w< zWJ>f;8wtXdOylasW|YMdDw5?@QPUJGH$!e=nj|-6*|#3cxHg?jX*#c=N-NVqm(fVH zi_&mxz{NJKpTe;4a4cWH7l6j7kSJt1i2Eyk!WHX&YP9$?@rzDC_*CDiI)2u6H`8E( zQH-Xil87}(aO$;wDwF0YS(aB#g1?Tf^Xaw>v`*;ws}nWYIbaf#U?PLq3`Y(+xEd-U*&=Zl>D}!C3{f-weL0 z5khxaiSQhRuu>CzT#VQ=nB5gZw9rUze}zNvg=%Qs-SSrV-uAYx0=JG3;ss@*%OQxH z!TTB^!p)jLtsw;Vn#nbq7cv^*yHI|;&!JRGhnQNTJHZkq2|7)0zlt;`JZ(PqXoURi zN)jO^lxc=fS5F%GiR`6fe+n_i`{ZP0Pl(p@uOJ_s2g#1GZI#L^Dx1XQtX0(Kx z8&k_arTIf1o9gggR33WLLTl40nE8S)F^2IhjMY9)Ei>hcO^n(N7PiX%cMTyzXZzhc zDMf>IbOQPWBARs+-tub2s7J(H`NYHiiHy54?m9ig@p}KObv<6uvxfecvwwY4AW%C# zXmS0ilCKAWUTq*e#Ax}eQANNvJjD`Y&+CfnI}{l>el&3M(xG$GyO9^l68%7Ep9U%j zyS0(P8`E{`V!xx)pi_XMk4=A@d%x(Nex?R8k)&@BZ5DdJm>ay>1qyI$)BH2OoCWQ= zGwK~kk;?=U?TUJ8!PaVG)~!&Eew>eEzgK3Z_d^{QHVVGVK}c>)ektn%g5)c1F)UmP zzVFm;2F ze`+<%C^xb~sEWeu&whzpA-U6S?DNA|V8tMqUOzFDjHR1QLXf$$x1Z(m;KPr`J+8xP z_lF_+F6SiWtdIg!Z%D{6Wq@8#&PiF=N@+V+w4M z+ijE6YSF@GYzJstkr-v&Cl$$y8`d|ZHnRBTHranP;9JVc{KSFODgnY^}*+t^E15V%|(T+_Ylk2G^YRwQXzS z?^a7J@gireB%Lka+_%~mooSSxLADrQl%2hvWn;uJ%|Awd_Pw=Ai}lBj>1)R}y8$fw z0XC@TvzNv0UAi=#p-%DaMa>6H^{SQz_e|$rsYgmq zd3C~LEQMiW;y<;|`S39LYFl%r;>?1ZEes9Khj9ff^jy21cIrXXA z^B-mmlehNGxA)lEsciIXQNCFVIA7UWX$I=sE%U_Ha{BH?`^TJqjZJQ3b=c}q z_<;SR)Wyeh^Y=4MdUC z2l6f2dON6Hvb8Io&*58mq#_mTk;CaId3R*_+0=r6r>(^5?fjO-m(%a7i>I4K)XwiOEx+1!dJ)F5OR)+rKYp=21j0)b=GD|2Yg-0ufea~IfiBNv9ciyFVQmT* zDP-y*S2{`FEpIzRC|%ETLSL9I%Z#nS`F~}db0JW5sj_vmHd|w4bhC^6b(+y_D{`H* z^%iZx`aN5x{VW%bwUw`{#TIjO*SF8?Y`Z?X9?E8Zi!Nb>Ai)U~@XR|k5oHqPx<<834r4+ki zy*-3|HUn!nnC-05=D)-$Ze0lK92fR*XxUWcueO1?Tr&S6ExzH;@(uaLbM*PRdd23Y zc~6mT5ABML)L^&MI7>nl7ETSof4^04=4Kk?apQ}ZuHl@#xzmr! ztNdqO*U+1+<4f9U8`kFA0&>K*lu#iTY}xUKnxWLe_8GCnt=88SZI*iaPTq&&su~y$VoaG_7~1onwxuQzuQeV+(xhMiMXtX-o(CY-S_!2pdY^PSm05nsw@QA zqq^f)Ilg87rQ-R#arNMLhab~2*F4i&52|qo#qYdwKX1EcyT5s}@s!<1h=1>yxS!L7 zgTex%il~E%w1am?10Ti*Xw8k>P10Vx8F&UetSfN(%&6a}>Z@}N>qY5XWOzi)cvuuT z*t6qTCwDKc&cD6D|3}3kuFvkEt976|ZSXU@2j85x5pJN7$WwIZ?zyPw_G|9GjJqN8 z&S8v!GlKyg^8qeChX>@xVRAE5;@){tWkLi#$!T|z3f!ZkwjW&&D8=o))q*W0l+acl zSrIMICmgIA_~sB1Gr)*w6mPC`G=`Hh3hA9(bxg*uqfr^5Mi$B}?Edslo+?I^OZE0* zWnyOtEvG@T-s!34kTgymX1&Mmd>RRo7R8EGVOK6Eaa}dm%X8!IeJT;_Pknwvsr@OT z_y_A-`Y-!w(V3P%8hP7$L$62k4GVcXUVLeBtwd?$SN?F4cJ)~K?Fw6EnsasrKZn0g ze5q8aX1*~p;Pi=>A`?fEneM56qdJJ%&su|KC6z0ZQrDJvP^uq%I^1ziaeZR(iKF%# zgC7PQm*1okq2fi1wlEB#w@_j=skWMA!{o@DLVKL>|uuitvdc9?f z*8SKy>p=dZOY5|h_gsv|3+f}BbXpE zBGY3tfS=v#HNjwx14W*^R4oB28aU#FSop;z_`xNa;iR=7ez*A9%!78=sHSoO-A&sgSW+y=<%@-7QCWLB@=eXL+rL-9vai zIYrs~^u@B-jMds!Gli9MVw+4Xn(6^${k;fdRN=GvjT%mpnSF;b_nyU!RdoeUx{3$q zRmn!HeeZUfv{X#R*mZ_(6Rv%}19v(%6~&I+`Iah$p&tr@KPgdjraj)CeQZ^`H+$Pd z|CU{%1MaAb_9? z0{&K~=Ih?;FvY!_%}NUmnWo)=I}UxD`*I(N_IdflGDyhy?HgOQCmj~U29`g_ohLpM z&F^k?rkd$o)|Vfxp#)tV9XbZ#bmujKpoqNN3xuC)&N@eOc^GW&rd1wxcgsq|MUxAp zl`)$onk1{|Jxd8j9exYfI(Qw`I2Gxt^XpG0tQ;{ljp1s<&6tQ;}!7?H#&r=f35tU*%J@xvf(e$zR~4^3*h9 z^I9IEOcBcm2nixxy;00A)PLiZ)s3i2?{y5$dHO%QL3Bmd``D{6Kl7H+j+GHCRkkF6 z&GB}^?T#5Yr4*_Q_n=p4D>x z?igq`u^0$CE580B`8nAls!`eYcJ&A&Jet=tTrw`%aB_2isnd+G=fNJSjksM^;hdA$ zjePGgi8`-ZQo&z(B@&k&h=g2oKjV=#dfG_pt1pRb{N|%vjn{&X!{s5V9<@V<+B>Z0 zQ+};%3?Xhj`xa*VdI`V55 z*Oy)H#yQw}d6E!{rCAQgCq0iLHyC|nSaepkVq zM?U}k<mhKs6=O2f;R`%ta<6yPH_sOfc58sOJJ5vRj=IHTD)kKWC zl@E^AAXfL=8pL*{P1&-I%&SHcEDp6T=+AHtJ!D$r;iwSJ zVZ6ji{ox{oa_-}I0|Ygb${eGZ`pMCn?~HkzrvtP5?KznubIFp%{Uvf4WjW87aoW7j zrH2_3TZbnLJo2Hxeu*`lgJO!|Ij8Y@{h9L??E8~U%v|G-bNL#hs9bX`Z`|zi`mRF| zLpu|m^#YOhPB#DnU2AUU0LRv37H6gm`Dmv2WZ4)bLTJEAQdX`&l4Uh#-ZX+$=t9cr z79~PGh)fxTHVz@yn3o165fw5NV3;EF=H%VZ`^=lmdrYI{pT9S3$q+Yn&XPb1Nt9VS zDj_==C!m($W+IE!A>bXvCJy6(!u1ELqB=1=c$OP zm)?SI2o9^9;YoFjBA0w>dUM9_rxoVXQ;3kYj{guFDNl2BxHPlXw(rw)UmlVk6o{feumMp5wM)mOJ&h!m_y?!bapKf|D(k6*VTVvkaAWz?n>rU}}LL$Oiw!v_9_9hRXw>8n_f$0D(YfrOh z>PQ}c+b*xj4zc%h!B1ERuVZ}Z27=-VR0-`vKYtC2|73JkATlx~D6c>*+%}TJCSs!_ z1U3_uD)1(}P_M8cx{oC$b;hq)AP)J|j^QZ@X@^-$AshWdHwjkF+*JzwpD1G5mnr_Ya^)bz@G>ROa z^HY39(G}X0Sq8T#M}xEVXLR)Ixs`3GHKw2N-c~3YOJx>%7C-cKjFzKsQuprsQ&}M` z{huMcVfvW^6-|IS<6+LBNwv@Bzhoy1dsXDi_UkXlB0YpfJrtt73`M97Ee%!O)?Zuo)MekE1nV)o0ct}MvBc`DxT34n>8q&HFNIQ zY@oX?GUqLJMH9yzkhkcdgI>7n?6PYw#L-MWgBI{FUL14es41@BZWtO<#2SA>Y?v%ShUcdJAU zH{R$ut|bJs(DH=Svbs9$uDzs^NRyHPmo$Cde~d6JAuyL9v@0QWks$IZAqtWpjw&He zkRVAbA<32?Ehr&sh@1qq=9$BPF~1?& zcAnxY|Ai)VV`we?T-peIDyE%-KC>*@eICZNE5R|(dhAU|eyXfp(&a0;o1BEZ4$SSd zzN7$$vdCqrFXuz~I*Yh3Lz#Bn_+9cSntlnGJMzhda;LjzB>sX{h6rR!kr9RogwgtT(M5qn@6yX#B@)u+%#M;QJk1Q#?JT$w zPD2lwuzY4u>2pzU&m~C9ABgYgxyTo6&gi^7U-4FPD)^o7B<7sjQL^U^I@ zP!!yqW7#8g+m(gPQv$x_-GQcOEJqVO;OmAc~{8og5Lzr7-vVxUsOUtgds_}>;u5x4K zAWheFo6lx@%H?>}PKxngUc(TJ^Rp_6_oFYmO3STnMV@nKnODZ@AaqQy)ccaGtj&_# zlES-^?5AFftH7B2-(FO21CejX2{YBlarfG{XDJ;1-Ka z#F=cbg^$1Fh_<^$FdW&?%R6sTDza){-^ng-x!1Vq4{oWN;5?)^-`N~sQ9(bfgqv+m zux3&3Z!0+Q2*ZUHVT^Rx+finGb};cEsNENDOH{bC$AtBctSeE4E2W$pV}%>LoI8Jo zySSW(T!jZp&QrC*^O~HO;Z7uLnOCctG?BDzf~$z1DC(7jWz##1)oVsprE4z4OiId< zU2fh9WgPdQHm6=Y#zwNShi{R(kWFv5Qk05?HC(TgbMBWjE({G!D^;e0@2|c=Tf2Lp zVBYGV?igYW)qPlbnnQG(H@(B@n3{j>mxhjP*{es`&c9dddUxxUCo5B#th$dJtIKU^ zOt^`(eVBI~YKO{1+2)mO2><(F+_^-eszgfp2aHt@*m3en{8dTf^2u^l$td|0)vA_y>mx1rH)Vqf} zcOJj-lu%?{ovS*>2-6lfyZc4;7ZgB?sm2hqy2rx5-fXE>%)9+Z8-%SaX+;I@n|CXGC2&jX>|(Ac}t~( zgie>NQTa+~3{AK~Rhr*poN(n}aCy2yrJr9lBeWXa8h7`pGmFVx_CbZ(@#@+Ug}Qma zy0z*$BE@>j!#c*AdKSe7_L@e1#U}2WCh@~2ImPB{HO+?p&E|@qtZF{lDYjD9)P!Zy zRifJxYTD8i+p}xh3luxv)O1uRcGlH&wkmdgsp%S2>>jV_o>%<5R`YoWEV`O6L>GD} zKepFN1q?wb@A*FMV563~;O3`L6IAn`t~%zg_zJJ0^bepSi=t{H4tVWSYFH8dnExgd zhQBLRlBo&GqcZyCqpZwKIc9vaIzYJW>IPI0EH+Ve@{+(0eN2p5uiyxrVDMN4GA|gi*ybblo!Oz&r@) ziNgB)b-?{y*PXh60Sn^5qd@i=^q4~%Ky|C z0Hvw$t~WrRLfDwX7tMo~Sb{)AgiS+k#UdBEgOIF23oJOi--@lpMj;oz)-CWii-0hm z1%nJf-bMw17z~T5`(=*%r5l8s4?EVa`$rITpj&s;1WZQxNDAl56fU_QhSmt$nTPNF zYwiR0hqGy_6JHNOcfpi*@%o=XXcWG8EIb;prCT@p^+=ehS$J1jY8PJ##dkOXd_ftB zsY7d_M(aY+;PrP1Mc)fM%Y>1-7dFa{5Ni7i^6Qp^kynZlZR9-;u_-vSN@kDqDCL7zUgX_8&x6r~{v4S@6*q76ku#lkj0Z z+7;IX#lQd^fD>gs*yv^hbOtg9mcR^zZAOW-{sK1-hN1_`Hd7BxfzBBQZLvdySV0qj zV9A~aXb+mSr(uDmnUyJ2yavY3)HJ)_KhD0JXk{uzz)QIoN3X!Y-$kqd$ zQ^zmtf9g>GL>#dvb~+OVjC5NSCFifODU6U~!Yr$!wz%tny)2mHHd!!>>L}pCfDxfn zYPbF`m03hN2;G z!5*}7PXk&H#?FBdS`R&Yxo!b38YNy<1l!G8w7>^+4vgIuCUjU2%>c|dEU+Wk1kNk# zH9~=v<%FUqnv^G+pa3}&f;|T>orQUog;+cr+bXCHhkvPnn>DZd6@|ot$hz=gNH|<_ z2LAg#3arEW4+H*8VQ!ogyN3T6L8=T#KH1$ zg$sg#KuoN`oL!;HddkWZDqKKbHI3+=5Hu4U1y+YC68rb`{Pi-Pay-vq?{M|^O9JJY zCfSJ~T=Jhu;UDskpRevv7YAhmt~-pgCqxoZmeWXiqF(&UVGR}sPoPOq59qFep>kkz zEO<4}Qv!)VvlDk4VF(>Tl!8SI*s0OGaurDAHgy4Ee-q#TE-A44G z(&?>YH0TV(4LSg$*oC23>+xej4G>}*h$jAF?1;ji=oxs~-`(MY(&)U(7O2d?9s2|! z9h?4J5`j8030gRSu?yf3+!BpYrbaeklN@23H<3sV1iJv6lz;y$2 zoe9G;RujtU8n(a^&Y2SmR^67a@$g*E_dBI*QSbV2-Jzfw|#I}up^kFj{mxY=tONB1}#|O7Nik)aqr?_3)gTW zyD$h-^QJQDkR5?#K>%`*Ab?K*zA6k2Qt{Wwr63$w$wI-%?byI=mhgqJI&Ahac!I1B zA2|IlJbQ2pc0lM&cqiXg|A9YTJTCCJ6aYIPcKBPgX8MO!N-ICIRMXxw=4`YF$k{! zReY$2WoecLJBXr-lm-Z*FvzDtNDxio-QMxC9d6O;gyxcCtS)K^bPhu;03`o)JN#4s z|92ZkCkh0WC+S@nXBUK$=SX=*9zPAH4sZOw$pYk?V3~l87qIb{tP${kB8z?y$p&rl zm)%|#VrEPO^;{I!8VBlk;UF`a`{X1 z{vBU-fMDE7ECohJ9nZp>*mC^(T#liIunlh1M%wX?Iere15ia7RsFV4k{z8HXmMgF> zu*}SZK>UwwIzIXmDlUK^<4}>(!Y$$R)*xhk;4(;80a^gSA?X6LQ0qac#ouQ+p2g3I z1hLt_Q8)$`x&)#rZrm2GY=}P^J)yJ^dyGGcImy0c9pPInI3P&m7W+x62eKegb&{){ zBt<~y@GVuGtkPdD@HfjUp#V1Ec(+)Z@%mvwZ2JUm8HP)S!gft0$bWH=)eyK9^)qkPmqBAK^1VZcv1oB|KoxZ?!=T%I7&cXO*pFH$B|GXphB+j zjkH?e_Ll#qorRHXhCaR0fjKj6>1{^y>5it&H7 z+Yf#fsq0PPct!-IWR6WEUjwB6U;*FsXGGSVuvrr@I*1F9syP|~cj&iX82x=f)5uBT zKgR!o@lVnH*);#(*N2VPH9{p|6cdJ&Gb9wO!EBWwAPr|5YJd)fpocT|@564%r zhU43Qd)AcUYXE=(sKK`e|K2nd!h#>!00x7?@92IT_1~NDHTa&tb?zPcZS2XYKbn5) zaDo%ej-g-*XQ^zUXALG8LR0)U5X@frI|ekM@HhC4lfRY!AP*2GJn}pIPUOjOw%=(B zVPOpibK$4^9Tn~mjK9A(C|5$2|D*Z0)&_JXTKV@5|7Hzf@oKd{n^#T0uQ{ZFOA;{-XdH0`)V|Cj;vT=cB!5qw%l)N3M80 z7lusIyrMr+umZ+D4h2;MJb29f;S`R6S-~H@jMBUoAwwpEb;g5(fbFIFie)8GkDo68 zpf~KK0LTDT`5%F%BS14~#ZUK<0uT>SE#oKs^H#=LkV1)<<(zk5K|YlWd@AaW9b<%9Z3 z8NB`u^@Bmb&jcpJYZ#oj0J(y}tbe&Y(+)IH4iEx43S*T1_zVH!KYxaRapgk(vKGU@QkIxVoQKbr8PU8sS>WQ6eQ9-2av7UT}fX#wFPFh0q(o?Q5 z>T=?DFTcIIuA;+Ra(4OBO0rw1k3H5 z&EoBFq-RE{6FXG{jsz$)hB%+LByy{gHDjNdw^MwTYUw)dG5$G6C05q>XWx8pq3$cQ z?hjs#-NhE$QtQZc7$Uh;gjioREBEcSiKbW_dyr&;(hHJT$>z8lZcQscDf{k=n~4R4luG>|G9OV0*i2j;cxljj@KZ?n&LoFk1vd?3sj1CA z40kHzN;Ms$w@kY^@Ng*re7v#B5I*bCfE zdLp9kH}gwRx1n)YjeAg&g;v+891S^b|CE!88Bxk926ZP!ScK-mu*DVZPV`Zgvw788 zwR2^;qUL>l3J)w-UcM5?95ZZ1zGJuDXsv-!nx3wGbRKrI8LpeUP_^ey)_2;mjoS6j zh~-bMOWwvCFYcje{8}m@YEM5xV=OR8WMsUsj zjbGZ*G&(!w`pm`cFU&2>;)7R{bf-^WpzteM&TUk~9}W^gXSjtJW`N&E3kob;G?^ zOUnMa%AuHr^w;m}I2sJMMuyfciSO{&F^x}^?lhRAP4#*@e4e6QNrf`6n>WT>`gEiv z6i$+tnA|e-R7$Kp&RQ{_`D@#yDs9_X_E;n4M_inI`qz|W+w;%tJc{D6c;0h`ci^?rZ!?iiI`kV+`cYn~$mmW>3flooWVGSroC=M@GzHlJIPL^j~(*K)kPDZ3Yp5tRpJ-W$&E3+=|P*ba8YpU zZNpUoG56(|9)3Pa-1%QKxpXfD2t_ocUn^mjsR+*6qj?Jp)cV(QsRHbkVslBauhYf$)gbaJX+K}Y_QPLA z($U5`_e|07nJ((GVRb^vAF8?XCTsW&kXy$z^1h&LQg6d{?6%PqR{w$v$8eIMGfJLi zmJokA33QpRayjA)Za-A z=<=v9K8v_=mb1eNSJba8=O~&iOAr1zS=_KxS`O`*q&j%A-yPmrII~{sG*_ z&%!y*!DVlby|<9?J;%-_nc>)bhD7R+y)r@x*?aH3$;d1-$xLR5(%{_g^~?RZ|AXuL z;rijauFw1VdNd_Vo!?dYTxNDE(aD%QNu2pFPPyh`n6y#`T=ieB)OrT#W_=8ZRLH|t zndR1HePY}9ge?RTPGZ{l{U|bOvMKH_c|<$?SjwufA>4(Wi0r?M%D8CK_#9#XdxQJt zqDCD?Msu7D$p#(@=3raZCk6D$7}ZB&VF>M}+XTA$3rx@8R9zf&I4Bb!CGK z1@HE;@$MaCzb%6PoNThmb`*Dd3G))ano;P&Quv*;wD#wa$i*;I)s03lN73mP0@Xer z51fO}d}7SX1}Fus$`OqswN~+eKNS%NmQP$osZ}Y{nhDhd%q}#gqboAm0~<}Qx@9_m z&?42)r7{^4+`G4bl|2(Ws=@|G#VarO5$xrh^H83YJ(^S7DcbC6l<~hU?5O0X+oyb| zoHgqFDKR##Ghw+1lc8|x;Pvd;(OY)2FM~1``(ZZM$eebAPm~36m%?`S7v@z32R6HZ z7T+CTG^B+dW&;s(ucw&&y2<5}7_24|?E_x3LnxE+LtJMyk9xjaeUAxJWrh3~)K7g) z8B+#j$!$ANY95(4Bvf{e+3>&WZymF}J3}o<)|?UNwi~LGW}OX>J)Z*M;AFN5cT);Tj_)-9dh6n0b;!6pxH^>B3r7-xC+ab^Q{)e$ zp^3jJ2-(Xde$j{MtwWO6$ERc9GC`q*JW-=q;`QAGnp1HZIne;T$v_^Gsve0)N3Onl zI<+A$#GAxN4G*u2#Tmp|8NdfmP_X1As#9d^45=3g?o$^_JQhQLnP^w{^qhebpNv?; zkyh8CU^B5@;y^1dk;)g@nj8=1AcJ8@6J%pcZisXR%MIj-+$Vnf7#T-y;2lma77;^+!d%}2qnnElPJoA)f7R5Z4B3Yi) zkcaH7OF?X;w1Qs3`rz)DEM2B9hUL80c_huaG!h9^D;nsmLzZAb0b{8p;$&TYNXb~B zb)9s^2N9PXwTz9X*nNg7BlZ+PdAlb1j-eXxnT&UVkiB%0eB^r&!iYcGJ0(r2{=a}2 zjYqbWkEBFj_?VLPqlj$Ngzvs?z>&7~p=$clNqmvTqtSl{DNmMOrfh{*I)xOtG9JrP z`p)3h?MVv6UlOOpLGoY1u_-j>uOBj|b%2Q7HC}bJyM^#e#VoySze~;cn`4OZ3np$z z9C@>01fz2`KrR;{|f*@+R zAQ00RrC08D9gAm+VT}XBFf$;UdXTjirFB+NAqiz;+p{Mwq;vT|Gn$oN3rN6#s0?lZ zdPHp>>X$hXFh(TRl&s@|zeidq!cj((2f-vm?*~VZw>={##AKsv-Fx*bV0|UM{W;z;76CIPT^OfQ`6Zq&r{@A{hk83I&0IMRXab(J3rFf(Uf7zK!)_}|9$!DgRLtOBPaRVKjkJ7A9)Kq| zLh2it{(`jMy(Zhwv&n-e`;ftKDN{aVoO`HH_Xa3OTU>JSaDB0`5b!w*K+d#mjsvJ< zU_-uGQ>BnNzhNu&#iT)#`UJ9P9r=q13`T1gIGXv@Ir+&7HK)F{j=OYa7gO z8)Po;6#_N{8zl+apj*t8L_Xydd5{eElEW4^@rQ9a?m$8;X&(p-se}5jcX4WiL=i9l zX#-Z;Ai@Eu*Gc7chuGF!T_1A^+^vNUS^sIGTkH*Rhq=)aUpC^}+DCfxKy^P6B3qhi zMR%c=L1~-<-5-R^rGj5I{v?U-Yyos`ZnaU$y-_Z{k*K~g-K`5c(@0exOx&-86+-3y zeUWxM)ze~VQXBLE2Y9)XvIx}L{8i1RC+@flvcCfiOte94TS)s`wk&}Rrt-0ne(nw8 zdKD0B0@*X>0WkqGZsG25Bs?ap{XRV$lLw)A-zFLl*gR>J6#~-Y0cc*iKJWw;7S%Q; zQA%K_JrP2AJ_cm=I;!P?AT3bEUT?S72w8AnmpfpXH4II82M7;tS#*scTbU-R5}m0e zT~gS)M!1-}iBJ1~*+vqbcEhmaq@Z^3JMG>fgSYSWQ(y{;TWVZ2hsR2ztky}rHGyLJ zF~)slx(~@CblhJ-pbeL%Yz|Cf5Jr8WthU*3g)Z{dZnMKaCu9j=*z>Tn$o7t?7YM<* zH@|s1wlb8PG-t1X&0A4>v;uZWLGt!TLaH zoe&{lq?8#90TT;kSJzTT8E1>W*Fw0DPcC}^3CZv~;=m)&TbS<{5eF)TfUoQA7;{*k zVp@-zZozl=d@J18BUB zhYI26QF-$eCm@Dy$c@d8R{(^>+g)-%C_EHa2ccUBq58rdv)cdt9)tlE_sxf3v!vn} zAhvGkr9dsrm$afQw@-f9hHO0f4b(gvlKiRLUU31I0x5N$#pr@qtdinHq)vqa-h+Pb zgAs&niksi!^Ar-kz=AC*FMZny8cGs5(4vzFaN7skOtuKChbZMin^_lOzEGvUPu-KB ztQAGmOM$l?V%8YpNrexLjQO6+bFdriKN((zoP=RXwFq(j)L2ntAE=ncDpaCf?xa8n z4=s&{c(9iEB+kPys}y}8C(i})6X*?@k4Of=&_uCMs5B=>ApNb=A!L94bX+<@8RW;V-c70wm)38P?`hvsuV@4A?e*=x%yUePx@1vXbx0`Vik!4}}|k zq!OKnfylbVhooHcPtB3lbIN&f(U@%z>G8B$?NHw-id5jOFMNk;~PF zzSmxx*PiQCy^wA8sYk;aXn;6rg?Iz`8AIA1)E&t2busCKu?Ty;=q{(;@t52Uj@*OJ zsRQ@5gCRb299Du9{Nh3onS!f;OQ4cgGrU(i0Go8F7-UFrXUFX|=c}(gHDAH{2ZNrQ zjMt}%eK1l>>93G|v9Z=g%)|r%v%d&J?Vd6;K4QAAig?%6RWZf)SMRK==3ry(NCCG= zR4d+K#W>7(h} zgF&)A9_#Z~r4#2#*im6C=N_3}&d2AS#}E$I&uCyAu#IhyAS|v{pYNCYZLrtw$%~&P zvY#bAJ693=o$CDxv9am$h3KncEi5mv^(2~f7FF;cs^B{i4Q)QR`%>@oV)+6BE^&t9+yVM2wXD z&@|5m@~JIl-*c|u?f%}KKl$%16%EpJ?!C!lGQL@M-0$-T$!+~Ke zf&)W(YxM^yMie8Ml(1D)sNeiGw{fHD52oM4l+uY20`Gs!f5u~C;Ak|k+J#izn@-32gl@of(k_IwTCnS4c ztezzle%;@f;F4A6MvF&waY-;cl?aTIsg=DN9~axixW3=#Z={+|UGYJ^i`(96)XHH( z`VD9qNDxQ?fzm7$N?xnY=gAyu!9F^|5*9-L>D}6#op_M}cbf@ofa>H)8R|CXNxiW96Zi zg4A#TT7rb9P{%~~eawC1#`Y4e&Z_qwmX}MD7c=qx{=YP?r!>X*MSpVF%;g7ds4>_+ zICa43^ZV}DKnyr`kRmaSFZDg8R($MG_ZxMLjXr>WRoYN-f`AdpKePsqw$dvc4mLrl z8V{T=o2_FQMIG`u-5(E;i~E@r(itZW6w}G|`G_pBagEU0$B;l&@23`>GN5GX-i%{k z-aaD~Cc0Pt^wnb6`MltmGgJ6uOOK8>=0!BzFKY#7qBAKXK%A^TiKY{c^YZ z=|??Wx8--!LVxZIS)=FJTj0|2dJL68Fc-@`O^rA?hkX34EXyNdxZKLHD)I4z$pT24 zpr9-_NEU&%hHLOsimB>7TA+hRrC$?8(xC z-Q%u$N-FiDU|TNMF)iHYWO}KGy#@#zt(k2|_j)LXQ}k3O>vVv|9IUF&ITu+*K-bDY zGUgF7{XMBTf{(2;)>P$esHSN#bWBe()OXp_&h9$)(g-Pb%sqj<@aTi_ibo3g*pfz; z;h+#65RV>~^xokJ47P+*aBPDlIXUVN`gN9EB&piWmfT ztEf@0lZATcC5c*4O9Uo)JVF00)*|5)2ssIFY zC<4Lx`!K}o%aB(fxH4Cj_P1c^&Ws`>)Znh=op{PAx1k1l^FHWVM@kPd&D#iRedMi% z`QIY7P1AQobU$Q$C?MZ%QJAdulaREGbf9agy{`$DsS6`Er>RKs*f%x%8_{C)ONhdt z4>JB2lyq{zDY#VqoQARR+GX;2rhsTU6>=gbZ=F-2TSR^4z$6h3>VO4#dML(2XjL6O z&UJYniD=;^`7vEA{lZQHI(Wj7m$(094XQUMrGTHaz$<{B ziq>AJYvtp~J5(@+OU?yW5r%}N&p}>~g6}e{c3Wt#hxwR{Z4zk3H6*Jj$DABmGX<>) za?q;Op?vZuXAkr?6uVRJhNq6G#tWVirmlkY*ZOk$iMu%T9Fm_$D``!GPOHLNRfrPP#wrBys&~ zNZH0v&IyP@%=3f)l-d~fyWAHX9$kH{f2(=V&JQrpRlOgBk?R z!$$kjA|-<+DN8a4!i@*VdljNR{}=}@drjA3Iasp0w{~SLm*1(^*1q-lWK9SL^BaJm z20ouyE*TcO%`-=>WvIr>^XpB9H4}bUx-k)6b1M}G5+rJmzF}QM)|B0BNa4xPX;v{6 z6zKTDdw_4_zr0Oy8!$QX0Df978$>4;Zq9;>;H>I{(A6PRo8p%ud!t(A`oK-;GtX&M zaYU@_qhko4Q`#oAMYXp6VZ@9tH_mKxa-?l8l%+u8qou=(Q_W}D0OeEfKMi5zKKS8J z=G3@fdt5Ri1E*cN-?Ipw zz^p%g-u_PQ*w?({)9zXZ*U(T%)b^cuwGze`WrzFn#UiCw+Ll;q`EwQte;0bL?|sj1 zRSY_k(tGLocRw3DN_cj6I4-Yv>C4lfsj`Q3Mg)or^+q)D0N?dVqRo?ScAMX08rR~s zj2tgjtcBzFo@|5w)JwIW?dG1{jjo*hMAQ)W?Dh8+jNwsAtKjDu#RhwEB;9&*!RgdyYf8iiC;(M%*zZEPd}b zVlo?AuQ^`lGGOG)Dxbcovgw5DZpr_YlAfLu4rjijZr`&Lf~8OB-+8D6wBM$nOx&xB z{a4xD8l#BfK#E){o&0^_^_q?8$qOP>UzXW`ZhrUGhn|6ZWE_2vdsK{!XE%9q6bogq z8yDzmQ|v!x_*pRM+zv#{ppqos5}(`xb!j2+$%U6PD|6EH%nS7`G*U6cFx%g-Y(w3% zm#EdWc=UrjI^*Jm29;4w2r&wCP#Jp-#jt%$-py0)9aP?Kr@ltxYYNhf&jx5fw*|^X z1p2@!+Tbi|=`5*^n8C1?0kA-u9ErHv3vH0;`*!$c7_UpXg(N3U;h>7D>O51@n~)@y zBBhHBmF2DE*DkOAa^b0$GN}0>3-)o`FMD`al@Qs;HnSwQ_u&i3D#8AQxS3epp_swA zu1|O53my&=D!V&7V`yD4EnM;es$Iv+@Y~XT(0{|O+_AR*Uf%piS6WT^w)B!*0O_Q_ z!?UEp^-`VDP;~+{=PupbNmr`4a`hu`jf@nEdtQ0)~|Jr6&c8Z%zzppEGG zuSh|wvrDJz{rirO+T7dPy+!3B=AHd4V*@lg%`jCVx%!aD6K%p;Q69Pz{<_Nw<3%sk zD~i;o-)m&}k1a|MLI3G~LFp0JS*F%?$VY~B1NXFt_Gz1FM!zL@ze&)esK<e=~_(Ny#4GuVvz5B<}Bx=T9ai|1p@FK3x1wO^fU)NdBDaTvmP z4D$VFSXdEA9$IjsARQ|;`z?c4T%BEQ-9EwNA6NBV4#POE;QVAIKAQz~(xPHaX`D@E zXkGoL&Q#7BW_|33eM~%oiuPV02YBk{h2r*HN5dNxhdFtLY3~&{4#L-qV5C$8Qw6DG zMLuE`ja77wRjrKGL_WS+GT_vm678NAx!@I_RZ|$Im2)i2d^jUxrK?N^#_ptH6F;0| zrja>X)BXP?WU=w`OUllF)V-SB6_|_A9yMdtKU=*|wXSb{F>ie}9|p{4wi&&EL#9>x z8awV=@EB>Z8ap4}cgZnvtzK~HHgOwXz>yi6HOvzjhyFyE*wSkG5t%%sHHnp2ND9K} zt5ww(yka}z)d}qpF&lLwGfBjKRM~-tk{Jmp7N?(^DD}^`Gu<~-TvAsvi_|rXA_F@Q z&FtDQo@YZI<$NHB=LkLdJfFbuA%5M=iileCB1R12v>3u+&Q-jGQZ!U# z9mfTHOjKJ=qBVWVI`4jE3h7X4JV=55`*^Q-K~2P>P|>1Lck!S-wzfVT9J$P-W8tp2 z?5tq+^p+U}z2NfMm@kndgD3rg^m1sr$r-n0qljgb;-|)2Q#H3lO4Rsl!jvA(wnV?Q zNHAM!m|w1*{1h^2k*io-%Sw~~nYWsU*6`}nuOQ2h!ONNrg}C8QFN&AD)0fe=jCD_^ z`&g+rm>>MPXGV4MVCL$Kzi@o@D|bvjUIM3kGHlJlu9am69shGT5q zmKHm5nJ+w1Bj9sIilhWi+$PBL6OP+j?08Ew$xcz-iYaoFe_tt?1_PJ%d5lYJE9Q)-@^IN0d}@yB1+e zZ&lu-7xc z>z;1T__RmF#6|M+cBqJ5v#w>{^JVv(8hyI6lzZM{u~_^*oq=upd?JUetV0 zsy9`b{`tvg3-#tN&YxFm=-dOx@H~pe#Wm(nj`qepJw~jJooNcw759zF4u+}tx_aCv zy*`e%c)ZUsd3^!ztZ}V4wy7a=ejwrD(3245v{bos_~!n`nEDRgs>i3PL)Dzcm>zJW zh!x>Y@q?wwxYdA+iD`|*QOJQ!OSAyu5o9&6Z{E?aO>QB%fvgyyJR2uVsus_sslL zvmaJ6FX>x+BkE;seH24;H0<vx*zbhc3tDsNZM)BDr0?`V=o`^FLPyw_HZ z#}S)VD%x@s9Y!eehK!zWE!3RQxi!}Kof7-`2XAI(?~*R+-f?%K;#=9sb^Tp)YEgVb z$T&T_y$bK*{T!ucCVqX$A-g}&a^h*>P5stS(8luH!f|^yn}~SlKi2cVBL2$%`A3fK z^Rk-Pp4P5wk=o>PAZ_XDkNn&leEjeB?_o@oH6mWaH@bozi#u5$fBoF1bs-U65TZ)~z-jS@(l* z%gQ&D@F=DI)Uh?F=hM3*HYO-$VnyIAvBt z>8TRvogcP*8T}UYl=YI$5W;J+y-5kNT74;5OZ&h-PwxJyts#H#>oKY1#-AxXsh97AuVL=*@Qq?@%k1)YeA2HSvF1Yom$u5 zw1kJEFXuhoTYrkSlLx(^Pj7#F@ z=A$hq30@Z{4_P3A3qufq zu*?6>5J+;@6{9nwsQ8Sem!K-c2~?gQvjx6(2`F|Aw(YthuDg*BL`ysvpCiXJh;18Y z_>G*R06xdF!@WkHiMKRjOFsPPwwn1gx`F`=O|FBPy3KWMi2JrvycD&5M_Om)rq5~R zMh;^?x|xOFPFGbRl@Y;~Yn2bsRz7t9+!gSpglFZHKddNNH{;fX?9s%4cTetzB;T52{@EW%tcOf4(op9$5!!36I|~T`l`cJwWLw7FG-WafIv9KJc z99^bDxRs%UiTq&qb<-U4hK!MRrnXNCv2+_zB3YOBo;zLavcw+i{>(8Kv>UaHM;I;I zda%pTaysznEzu@@*fU!UQ*^tu$D6%R&xzr70B%FCt)J?u5q9Ea_K9qg z=to*|GL`7S4mNl7WVaj%zK^&~U9yUKGXq;<^XSC>M1*B$VO>h1EzBh7-@4xVUHUj| zoX#m<#B=ZMORXJ}Ql0b?2erbj-w4;Da>Ma0JJsVDeq}~!ll#i_K5ho^vF75DNW<@AGs zw$KBM2k&U_i-NTyN&&>0#_6 zlf^w?f!so{%GB=Bh08+st!ht|+x>UT(m5t`Jo*`%b$Fv3S|`(29@Jm`ay3%n>U{t59Y#_ zgCd@_uLfha{gpPibKKbOOglns8mJQPl&~qAK|>Xe*RGWQO-!rU1VmK_d=mAmq_1@O z{y~c7^1es#wB@fapNMULY`GUj?hRBDuCt>vDE?FBLn;Yg{dP7cJodP2R!dOT;!^}s z0UZ8+Ue%Lorp%%a`JUfH!}?`wV9IqIkO(UxDYIlKBs!c)2M#s8xao2V+j8l!^{ze| zfMlGwkXq(r4(WS7S0zUd?SDb)e-mR&stmr>l)uQ-MiX^%94)17TR8)*$}cO1P)KiH zO8>mg;{$MOxj<;0@2hf+_;7Fl;nW#8Xw7gOh*pkeyDugpaR-Py8Dv=Y0?Ar9z9Sw{ zVbM~st9Xt%in#kN8>^R>E|)qh3Tq4dV6js-(Qf$Mh;yLvy{2r~H_Bup%I)#obm6bJ z&SE|&>)X-s6tnm5$(YT6n@?mK^aczPxaF`@P7u1}-zNlgjRF=`H8d{Q6X({#l7zN- z1*7Yl%j}HUP*x}qJl*kf*gM!xSN&aUvl;jL#~ogJm5)3g)vNsep#YoZ}~a3R?oxkLMb5e|GUH{V1OfJ!^b>{f`fG<8p*iHRTa2@+(tU%tT5y z<&%f#u_yh&~@{xOI6G!`ZX1@UGZzG2+pOXHWl$I3TWM{m`iVHDi#eD(6JZ% z@OrMPM5bFn?_tGJD&2nQ8f>ZfX{i&7M}qpn;UmTaj{3KjNFpd}eKYH7$ID`OLVGc8>d2J)DxQk(^? z%%-+9l_-k1-K$)gZ)j<*2^I0M7qa}8W82bl-__H5Vp5kul{#(oIio_QrEG~^8xu>U zFSGdr6YkcW_>%#qtiOZ$aMKPx9W~!O?w^nRT021#9?V^p7+rLD$2_eVD6Id1q_J%4 zw@4cfIMsur9@%HkxbKe-D!*Kvwf0_LiP=8K;vaz8`gn)EgUG7ZiKN>4$)Acxa0zc9 z?zIij^@vAFRoS*yfP0yV7oGnT-kfCP9^z7xAjCb?BAzNSQ{m0{9&ahU#pp~+>0In< z5tpBU>jJ++bilCZGej8ah*6~|ZC?bCpnwNcjvK__4?yu;T>K1Pb!u2?>`rCduV;v{ zp^WZLTZTtw&Yo!K(tvP|Xyt23_n?OfpAMa*XWFOyGo*5VRQ2#ZQlSk1RQxX-@a?{!dCdP!7rHQU)g?EJKLEz>qg5IOcu>skHH%wJ|Z`Q{UEyX2W~CDR9fXSw(GqCZ}L==v(t`&(BVi{H!$-&OkZ zdpd;tJRjNp4f~(`Y>L-;kyPlOo~iuDH*6QB+THucy?;J7dIeP5haOmemtSfZ{aO3M z>YE&2EOSxv&*sYRBadgDpSH+(`}cN!{*m;n`=I;#6GG<~D8*$zvgah?zpf4H z7nj4GIUpnc7;>-m=YAv{o84iT6QTe72%Op7KXM5Q-&Dl@%%=664^l(+LuQ_<==IDg ztb?(_VrlbV)|1OWo$rSXSmL;$AI3mYV#2l|#WBx8!@JR^X)pfm2=)Gc|E%XnA;s06 z_RZDy_FOc+xH@w0{kux&`87y!eR|`JZvWT&`@@T;5Rbvj;nvV&AxMlk2 z`Gl(nMQF-trG$JDpk&7lR$s?^nBU|#2J!sTO9%>3rwvdN(!wsog11>Oig`d*#!+aWDkhGCa*^ z$lze4$_G(__)pd;R`Qr{B$bhTmMIR_g?!eve3UYq+R|I4^L+Me4m5EAnw*n^u7HD$ zlasfAQSuk`c7K<-{c$SSb6HOD@WuJy`D_>(G@a7h6f8d=1x~mclzd zTnZMj?P@lvOJ(K(LV?^(_D_aOe!uX)Yc32iw;UBn@I7AoD>>L_ka&PgMW#rl0f#+b zSJC5EE6Gzk#3}Q0lbCR8w4iyZ@Dk_t8U;9P@_>-ex@HMCiyu@_hfSRmChLL|mgmx~ zc&od>t+!UB_mx|T3C8-W@ai{CmCe@R_&K1?eM{8lij_y#Ytw+Y`0p~;4Rd59=xD^m zbAF%ezhm}$$3>=R+on-GW&@k5K7%rBTavt77LtYH*WB1SEDx?g?40dJJ(HQ?QT}G5 z8P08^3_%Lt`Vjty06yJ9x0F;T(0`*a8T4yN_jv7p$s$Bav|(I+7kb zkuMc;n3ZtQsFMEMrWS`_4YqDfC1HjE3IN1f1me|m_AXHN7gQxZ0gD3>tN`c+CKCpR z(j57?Uh&+BE)PojSdx_={u#KPTk<3djcv*0joW@w!hHk3`HS*lFCj`mUl3J<`&t-I zy_BQP=?3hQ@CnCv@L~Vq{iuc_=wQ#DI^6hR9H?(WlFE@&141)lA!lJ&7;g}h$^$Bw zyPWK?%HOa)%9>8jSbjdGue+{OTiR?9>KP@8S-gLbcJ&MRz{dQ_ZH|)3E^#Jh2~>oL zD9Q40UI%4i9!)=}fX}W0C$HmAJ}`gyGddWnf2lv6v$8@dRsqbH>|%8W_Dto~`pM5q zTJBHyL+1z zJ!^Yn`+}9CZV%!FgKJzFUkM2?g!8+ABmw*@$*LP5B`#MPpXJB{;{gAwe3r#8E`4a9 zwUsSdWh_&Ul|Hl!=T^!du$B?5Y_YjJw|9E?OZA!i`v$vEw(T;f63o{sS#^iMcU?uT zUEO$9p6pl5K&lO>95bgJ+|-pHI28|%*kRGo3Em?@{TDzKX1iH6<#lw+iF4tMzkAJv zWRnjoIUtN-7r${@V12lP!cPm|<~esh$$YV0U>D5Z?(%aYxbiGnJ1+TcYYgNnYkGdU zK6;Y7qf{qs{!}EC?s$IAIhbl)k&cHcNd$Bz^0cLVV*wYuR=JBK;J$j*y!pdNxUyD; zSHpU$)#OFtKkdJ{)qESsU*sIB6LC0PJ6@U!7X$U}HHaQxAFIkltRJ%&LA(!F4y1c( zPDQ=%Pz}+3%$>9=|1MekL{jxpf#`*km`ZpNv#QvZiRfWe?PZd;-sWK^=a6s$-_Ji^ zwgp928@%uF=3S(ST`kmJ?r)sPL>&2v5d5m~T8_ei>Z9DEv!AtKc5w_rHWnqSsM=XO39R6{~2<(I+YhzYM2Hq~p=d%CM&}4mju8y4K6h%=F(AOiGVV)}lXLaMX5ddGw1f|iar_q<7 zHLa($k)U&~r}LJee^gKZNWz9{NDyD-_OzZpO@by(f~k_%CZnENta2t zyRXfNH5o|l0igPe3V*XKXNNYR=~dAbXB^Ca9Dh$asU5n1O zXa6@tklA?qt(1IeqkOH@?ZLPE&AFlbdD;zeKkodW3_+vPcd7qwpnifBhNKBYagK>5 zQa~EN+w+zDQmO5hts*4B?p=36*Z50WTIJ69u7$svx4*jmxrDp4=0kslkYTKB)7?RK zt+!2DrPA89P1>!}I=xLg@1%97&$YI`OWQQ*E}rYj`b+&iS14?f{^_qvf6I`)*^uv+ z(U&Fz?f*N^B?bW?VF>6JC<*)k0)i7j9RI(0?o!>&JeNW0|C#5e@!zZXU-R7bJW*`N zON4S=CL>3d4NOG(oHJrgCgNBws#9>t>!?9#Z4>dAzxDu@*OY zGtX_QT5fc?vv0V}=f2YFvsDp!@~%qK!0*R?@k(ITM_eZ4h*js(SyuCLk@fk#w)(Ai zjGw6<2%Yn8PrSl@-Cx?f_jNjNLbAujoL@XFoG#LOGOMV_PB~!3L$_0A^sc|>!J49p z^XIpzkCE(Cbp}40qpWmya#pw5hbIg9vUz}&rv14_cN0veKL5icg6y3g8I%OI>G?j?4#wooq4ncU7}1b7sx~| z@3Hyauep(2wwsL64$V97VhkM@Geea`&hjyZPv$sdZ1dsvTDjG7TZsdS;af=xKfi6g zzz_>;C#%xAZl`GSmT#x($n0&W8K?{Fyfij(-AOldD&NU?AiubiiHj2W`pO~0^((Ja ziMg?5G|nMAtIwC;UZwoyz-FY6WV3DV6B$=NtB{`p-|`}iiV(4pym849aiozWg^B8d zdqpoz+yoNRz6I@-WC!l=l~O9g1(SS|Q;1)g;dcln&DN1*@~CN2}bVK@C~<8 zXSZy5_tdQGv4Uy2TytP5k+kyLb0x55ED&%lrzS&I`qIgkBC!Csm^yvD>k_Cu+zg zGU+h?WB`?^DUq@L=kNZoRxJPNJ9IQ^o{vbyz^|X1KK^W6ur>Q^LU{1d?>!GvHLBu+ z-|EYE(-((7re81cpX=}ME101(itMz-bYzdtKj_hOU3|Rv%T8O6DE3V%qxv1qMc!`z z!FypQD#_X(oJ*?%KlBSP28#F5a0QB2y+VP7tui$>x#Non1JwM<(hw|1q_A?^hCGk8 z+(x(=#EbuIQw=HkxzFgHM8HjafGx6bE?%+`ec@%XOxqk9R0 zgp`kntgOL{cN|qG{vB@A&F21X<$WV*ho*}iSoo zUFM$x{7@wSxW?bQSgI|u`12)-?a`mG+u@ej?;+3lenAAb?)*c(eQ~{fl=fvWZZZB( zkeAQV!5YROs+TycGH{ziOWee;Ei56N?vY^L-#Am$1lfsOB0N$Aor#<-7NHFq%X!R8 zi8A!4^Q?cR%BDclrDj&b@HXwH^c>c%bFzKM=@UYnQ0F8|Rw1rHB>Y)$MFzRb;^UKb zVkHI`CK$=RpzW_y<1PAnr}47`jwoIY?CzI(|MPoe4Pk9DRSxub9dDVw19jdym$bzT zPHM+{!~rK?hiOPvv9SIKG?6R+wWGGBE6NZJu|?jmI|k06Y-FX*$co3M&skSv(en8T z+Hjammd|286(V1;ES!#p6Mi8%8>{9b<|W`CA&5yq=zBqcaI`&_TS2r!Uw;%tfVRTn zg4mAf;j2+$C&?FkVn!o8^!d2ASn{yky{iqpe0~Y;B_bMEQ~U-n(-!EVj&cgzcA9!0 z4_Dj+G%X6k%b%;Tou3c~uQcYKNA&SXenNrHJu&MK3Z@+?z}UUi+HF&w2uWR zeSyLA+a%A`!<=B0TGT{e%Ek;29yb+!WP!89-8PC0Y|M-gV&y+fmT<86c>i1Mu%L2% zY}U$oiClF#53g-(&d-mfidK=~A2G(NJ<_*t-uc{ACF0Etc3(ij4);p;KUV17!U8_F zvhUWX3kzQO#JIpXM+6t@QfVpinw1ud6())=T7dZb$S?H!AD&Eb-&hyi z5Y1fmaNzIC^<;6nuEIokSmTbB#H%GI-mlehDU~H|HQR{rgA8x1k#$s`DVK}%eBy*A zK=(#qfWr_B!}~05Wbq79$Y?@goZFc}P{^JmT+G6cCfox<#Eb`JG-vOKct7T_q4UcO zE3iK~cF{w*_Ce5jPPd%535f8~87x9OPT*nWu(>Flh_1moQkW4EaxL}d<}4D~OWRjN zJjV-Etfsd)iY7@6K`=V>-YpFnn3ytR5Wi~w9Jpiz$|YVuLWLz2pa}) zld=TEU)@s9QUqL;oO%3%RIx4bq+y4BL}V%aVIkTnEO0&afM`qC*43^8v+4qLHW1uK z2BR_9s1x#4mkE-VFhfSHywq!JAxibsk!1#>FnvAlipjT-n~1>su^_Y$$v@H}xL*9{d(KuCjwDK*asz*w#C)3~7XP!7THY4#;&OCjD@OpVofrjSl>H>I2_K&-Uo0 zeU*LYJ^k$Jz|Is7CB;7qcUiIHWxRUlZc7S3#M4xlMV{T4+Oi!c*ejB|>=?^rq8SdNTI)X2b&4<=aWv6?a+=ruUpz=Km-aliHqnnP zHR)+ejY#n7RDd%O9F2c`VJQ+8=o|&m)Io$WfSNcUHv?QRLV-RIc^!l~D6H&^nUT|; z+18dk-}ZTF_(zQ}005JwK#5WyWa92$N`Y_2kNHx_7BRqo{7BDtTt=91#x{te50q#l z48TK`k^z~S2nsM>bi)^xVyh@&r^64NlYkld0XbY4loHB(2{NjSkj(>;)`da)L3d*S zfS+bboJ?huUDhYs@-j-hE!w&)BJ^7%9uAf{iBQ7C7`E|t{G^<0g+l641q8hHhgPa- z89)gSb#?&^N28!A(C8o-fRC^-i(%jg#PCqP88hFd=TqW9Wefn#r1$J|SIm!wY=k{E zi*J4v@w6-=NHYe{9|r`Qehv>|&woM$2QN~_T0V~ty^Jsjita6opS+BkDvM_{gDs81 z_(rJoWq{fs;3E%xc?@;eW&AUz0O z;W7!aVdoQLn&5~dsb>TFP(vV^7XCQISVH$w3hQ2qLLJQ%0rwPAANQXeavV^K#|7a1 zI6-!4Eaqv2WyuUFA^Bg4#am7}osop(NY#3rZZ(!7yGOk|lelIO zjo^^^BQ39H%Hbjq)5`yPPc99XpWzk@+-!24$hL|PfT5fBih zkp`7iB;@6JpLNccbJp6Q_Szq2&xg71bx)T*GnPgkxhx7q%Y(3;7-9`p zS7d9(OZ{x4gVYSFoQS`$unhj<;gFq<8j^*3|%porTYcXm1n zlOk_&w6H}P{)>!nhd+nC*R{_m?d_Js#S_YlZ2(aoT{M z>vA+q$ERBH8;QU)r9)>{+&4AQP^qbyc{{>_RT)~%P@~EE{Nzn3Gd~v0y#|j6GeQ(o zn4z{sthUv-R)Rbq&mEt{!A9m=rJHieqf>~6ojrby>%Z9)olIOV>MD5gTU~xk0_oba z3nI6t$?C+>Rn3ufda2l#D3K$0W*d&jV|vFe$nD&V(CaHlJ2 zAj|gyQv4g@ENaX)&Sqwl+Q)&-EP2iChwRjOfwLV2)Z&fIG1X5*$=UA%-*YCs7r7yJ z10abEeo%M6N&uqKLCi!``z)`8wYEj{hFs93-hv-nxA?uT$p__S5*ofr+jzJ-E6kD; z9;xYQxNFCXQCrX7s+QSmK>lt%zFwEnQr)sO5W^XN+P+#J?x6_Z#<8Y>5vei2J&stW z-%>Ol7Ti)b$L6&QY`nd#0Yd_bU3b0nV@o9jItmt8l2yqu;el4EU}k=Q##8&u8x|Fy z12+8<+ur5VFp(J_dEq!&Rbc080Qs4ima8~%cpy=uaVLWoRuhhsK$V*lt0#V}3t>|u zFDFsxIB~}jvCkj4DtT9ud-dn|rppnsM&laF8Fh9yZ?~@@@9)3D2Yun3VOTxioVbZT z5fF9FjJINn!^ua!DVNEwADW~_c53s0-;gP#QBp8$lYP}SBxxi`eC;>0DxaH=CR?S$TEcztD* z$ojwGCZeHYVVG$#NtmgiNcQZLKhEmh7ECjJQ|)jjKlrnaK?R0vA@;VygnoK0EH+VKuKF>nEUrq)DiKc zL0v23-M8bPXeZDT6Md!=wYlIY4oIA(BLA!0RwOEO$%blq_|Ya9u89TQdNg;z2e=%T zSmA?zJh3sb+i=Lc#>bwS=DT#DB6B8om9jIHvF2_^4H$<>W`_6T79mjN;2U{ z8ZydZnM|&CNb-mu=Z?oRI{^z_p)+HAGwz2x569iGiTcy`USIxgwqzW{{1|J>G5fc! z$oX&4sL^B?48@#U^vHjXf2@ezB|U5fv%uM({x_C-Ch34vP|C=Q1>bMKNZ1waUKdETt}ua;3& ze=eLHY~qHiqbm%9$>@Jr3Fppg^OQ{=7kzRm+lu?9az|Wx2e-)nX4IIdXEdv^`njNB zg0eoDtA3%?s{M8}5q>(z><;2auddy%u5R3|Zqco6KVRDl?kLDxAyl!Xa7n&Do|yhI z)`pB#KWUzu9I?S`&Kf0cGizl#X|yO=EA&|>?p?_posq9!PFGt8H<0ep(XHGSzgZ>L zf4+gBBNmKL{jQg^}!#cpu%tY_**@}`RKdlr}5;> zFDUOOiMiHDc?cG_q(4(Owa7>|zi{8;4f(E`iWM2SsSv+9>As9eF5(JozM-NR<{=lE z{{FakZHZ{}NkGHix1!n3b!*9(Sf|=jHFAR&LnfHtI-<8ptZJ3G_ADEgjZ z_{3k$f6lr7oDTVUX#T^UXu39c{H6Irx|Vq1VKO1)*H`l&SFXPn3Xg6-{W|^^ZOm|l zU>w?h@#Fg6FX*r1wyBf9Yrlr+LFQECXWTOm{FnuwRv|q-VQHiu>TBou6m_exBgo7yaa2KPCQ5^Nt2|_32z}{aoVyT=LPyUBlT}FgZWr zDNoVGJpIKj{ly;wjLwiBAdQpPn;rk?FExuU4SOz)*Dp-aXX6oMUZX zD82iAnHe9F0SMiG^e*Oei}ZRZgKzP6M7Y6@r#J? zx9#RnrttB1P8X`bPA-#){2n1c5l}0m&K@#^>r;Clrxu>QAQub$&G`DSjKxRtN7NLw ze+!-vzq266)VPH8ZkJ2_XeuJIkQ%L@8SbXBe4=&gdsnJSaMPhd{91#xEQL5Zg`A3z z{9oa%bm?(+?`(-ny%8abMT2GT-lCG1@z#Xk*TK)3ZK;2|7XS7`{~e|fC%*fR^Nu($ zlx1>#7QDIodu{d4>+Rpaj;{#eaE5$KcbN@z1QsE$?c(&NERyK)i*m!6t^bbaUb(3% zBC(|%%lme|D<$CKHs~&;?Wkt)81<@C3wxV8H-FjtoFE*gQZ69Gq*gBQrjPd3 zT+INzMuiM=#`Eo5zPJ%&<=dQ-L8Iwl2;K6Bn)zCs$x6FrpKa}S<(;<~)Df6C5c=b- z`9P6hYds-1XIK)HzvkXJl6jaVYL?p!rgV@Oj1B&XV`W|acMFmpe~Gd>g7TW?UO4ns z6FM#U_w(3Izln`O{t*0m@6rMJxZs*}zGqx!Hgon*J;>hv`>2zBd#c_u1!8BOCoJwv zo#?}_M2??B8pVB%=u@QFEY_+u&!>&h$pz1&dJi$nhO4C3Ki#gL28(H|uZJqopq39h z|K@U@ATUYf+@x=9os`N47)VuRnmMC1o9_j-A(FrPzM$9&B)g#flWXJS2*UNUdWms@ zo5q3Fp#UNwY$x3l1)60+B8eluy>A#vD`5(ho*aGL0 z>&f);J>(C?=7_~lVs1U8+DvWFID4k>Mpd}JPBf@9^z;j;{TY}@Q2#bCAlNPOj!S!z z#J(FYPpsugq{$e{a*q<@iM=>f5q;i`tNQ$?CE+v4VE4t8B$<3m37*6a3PDhCJ365u zt~;$ovTmxUb# zA5Y2az6gj-(yG$O8LJbpTHgA+u60*0G7!5Jd^GjdgDz9mR|<=KIyT)o!wN+gAYz;L z?J#@WO_m*G_cZG&eKZ}TAZsVuXi76K)jpAGCjaw~XQM^-rn9?*7Od3M#nA+d>*XoD zVm4KR`8mdUKCJhh4*0Q>g4lI;vhy74XNQJ6k?n?mnJ6YdsG%P=#77P9hMfX`BHa$# zN?07pHHxDMjg91Z5_kQDx~afyzMbeYDa#Y= z<(QSYnD)Wf+|Hv`TyW(!9*#KI&|rOjlp?%`JX?P62C2tePz`3Be4h7QZ^2B_*jE;- z`T9J~WgX&M7(+q#cU|kJjNf<9Sbm?-oa%yr9i|>?qx>8;s1WOfz4j&5;IEY6%kTFG z5uRBmMj^N729H7#${(pX-8Hd?F`Pfr1Vj->KcL}XnAbq-B85B8P>i>c`J*!42;7CC z;GMYQ@9kOly=7V`R!V?=?iEvCu4Pyh1FZ#CWpkf0BRrbJc5^<=^9?>{mARlAA)yl_ zgI0kBn^$*nHpFir0jy(cp@sBSb9dOj|OtY8Ueu(=yMxe!cBYy;+t_7{A zeUVcV`RM1^GY+qxQ5iS|Dtjj!QgLx}LAqW{N_M$Y$v*`uMJitPu#V{zA8M4Q!yL6R z4JFH1pC(A@IqE#=*RE2~d#h9N_C>joUfs*5sK&X&#Fx=3i3;usba4bEyx;WR{cvH_ zeB*e;8@qtlbjiS(aRlo1#pv#v52C}gye6>j2|m=2qn|(8Q$o%eF@4V9mT-6hyD=PD zYq>8@t#G#E2{f8`ssBE2$Jze*jnQx`{T`Sttp2MhXgC#lU#yqX!i_<#dqCPmWg4IsJ>w$qsUyb{`lx>zY&7_ znE@H$O(Y_UaqzjRfTD_)-P2&uID@PQXRDfsVwm)(#XnuPO0}2xs}z$iH0QZVE7l@{ zxTA2m9A&&SE%ExZDcDSN799vl!ln2*P;w+6YZf9415bVC$1I`P+KX-R7jzVTU&d&? zFUA&&pXsW^**O7Kk_GVMcUxkpQ>{r=JLkB?`lXpUE#>z(@H^M_+e|5v=|&C=DbZ_nM`>o6SC4NNw_`(FGI zx2X5R_^*_%q$gI~kcy^TBvqnKva2U@2BzO>_O2N9N)lsU88JBWD%Ag-jJMPs*uGLw zkS{-ZttV2BFBmFITP+^%k|xb`lj)xp=<1?ee7$h-B3T)^=3dTbcA#n>@TK6NSGA(q zp-xr6e0_*_oxR!7PjlHi{Dz~r^PnRew!o#ykl$6qv_G8e1D99-`5+2tetK2~uD(_U zM^Z$*4q3iIQ}q5pQuIQCV@20ULZVG%XmQ|A+u4&5?u<$jr?_9k36AN1jNq)DWbFm* z*>PiugqdHIu-)yeTLjD%nP1k}-yNE*2Q2oO|8AnFpiA&jRK?SuoNN7w0)i|;+5vRIE!dM=wWQv;%_ zMY?-{2(@z(vlm} zTcW*@?dV7p8Y~EYVTh!O0;oxmw4}%<8B#ID;BW+1%quBvQOLb4rL;gk#KscLm6&A9 z*RP1iVU_Cv!w?~&QV=+f-ascaWTRq7)=?@Tr8nJSp-|WPhX| z)>9U_#8*<%iG$jB@`Y&+ZFU1j+XD)^L%;K|EZhboH)8(KC}_wj*q0C52@P7Q4I+Y& zFSZp-@rJDP%dtj<0iqDgkyzWtAybxNmnh^#x|{|$K4_a6l24|U z!D(484ImZGzzQgYVsN)YbopDwI&Mx=2(TC)2Tn?{ovRIAl!Kro$0Iek9x(5)2GhI!akU`oC`}C0xnIfZqn4MEg3A?5arURrkb_*5r{Q{i6ogJ(7M# zB6n0(sb#01 zy`{>e7~)-B_xlUUKAVQH|3ioa05<@T04R*0|IH|1{QoivN=>Ez%_t}}rm`e6$i~wu zHQpUqgl^83okJW!k5X!mRg&BWx6b7LV-WS^T!5Vzt})VggbX=IB?XiHMJ;U}etOq`gUQ%m<@Eq}ojo9!d5y zn;Jh37DH`F?^**2E2|*l$Vr!ae2<)E4jeJgO(=b#;~wRBX4RlS#ZCTOYFd zHl5+4NBNvlG9?*IwlU+tkh`Fv#liXmw#<%JE4!|>RYXwV^gDfA8U6a$78sgkSN{X4 zPb3}Jv0kg!R$*_w~`7&~U9{*enPuVt9=<~P?g+bvW6$sndQH~$bV zjjqxFsW0~#A~Qz8(ZFg4U)#Q_Y+BGJjP?_q_A~*%_r)Eyo z*k>qzZ6YU?Eb4^5sIxhH%~6c6jItWoCtWTm>eQQ#8$G!&ee_89_=AH#_g%dV&TD~D zMjN(Qzn1D#lW-T{NfDz=!)f>GzN>&*y|P@9T4~05=sWCI)<`y8D1eZ0Eo1qdTi}Ou z6mezUE;w=dyOWF6JhBQ{5)+{+42ebdtI4*Ij}v`;A+>e)4~%$v(1q(-l9x%BoF|U6 zi%zW^0Q+czzhcAVn#bVBuPJ4=3R z&XHKHg-BXub3j9A3;)h$Q|aoDOb5rVrQ7iU&?TBLpBNFB61no7i48vI{({h2X%jm9 zRpy_|QBuY@l+GLT$@Y)a)PO`=X_=Y+Q(S(QOs~yGN*ySaoX{rOjYU3;1xae`kyLxQ zO!IgT!b_m$VA~Bj1C_+6HKZmn$>BlN4XZPDv@#3ABB|cKk{9Zp4o0S?(Mr{@cMWPY zqpld?>az+jW*c7wqT~h_v4@k?&)myKWO=YS(s1-W`QuE>w;Vsbi^D)$TLpT)Ayl#6X{jYcQ$S~=<%DV5J5BVTwTtK=A@ zU^Yz}6Rzpz;5-pF;r9vqnhZIHn39hSryl8l=7XG@o+?q&CV7)SEdA5|Vyjw#H1QbdVwO+)UJT{rKnnd?VGY^2i|olnYafQ4Wj$cUBL z&j@9EW^cpUiks6(^wgg{N6x5kL7!fzUg2W`>jruE7qxoUvi%hm{v~vh3Tr`4s?&=p zCADODT2S>^t(l+F{4D9j%k06NX`#HO$$-}P#lcIAL;k8~dJFt&f~FRaWObUFxSVlt zf7m}$U0%AM@*xS6d!<^{X*|cN(d>@P{?kKoWs6$GH`lG)gYH?2Z^J-hzZ$cZI?S}w z%Q`Uez=S<=Ch2FupRNu3cYa+*dAeTpE}Sz1MwdC*A7pk(vKJ34=of~qy)Y>&fas7v zs~PN$*Mn z2`r=~T9Mav_KGlhZu)YlCTST(F>>{rk~SoWT!$eh7%yngZ&PNwlxAcf%(U`2HC)&? zv4TA&tt&4!4W24@#0ar6=X2GjoqtzsIlo3kb2f-A;YA)vNg&_x0m4F?n(Yg5rH_ zu6@Bd;!`|w3)T@9zWO~hf4%+B79!tB>3ymMmiQSL?!eV$O7#&Dz7V85AIqlI8rq2{ zT4^xSkFs6TCo&fFv0#*4zsbeNday=Gr$kynl=F?i42J_}EyWjonEf+~CQ&)YZ-eix z5nDcQ*%dVX%i_!zDS*~?GhTDNcs0^UvJyxPPehZg2|R$Tmp!`KMlnqpLQ=18rW{xl zZ49T_g@1%&wavJ!TPK#94x$EHiCh!h5f8Z~z_hiO=wZx@A&bhPj^!SjRC-e&xirg(CG620fYTZ6kW64Y!X z$X4N4Ur*@bGiU;cJCgk2Ml#rdz{_`UyGeQU`Q4jb14d$jfMi>_1eUIwxV4z*S!tr5 zl(J@rMr8qG%JxJdFffTd%MZ26!|W?#6TV?$dEN+Pln)lu8Zn_MD|F=%!E2e(kNa3G z0gSi^uq+w!3S47lAO_fPF{k?(96oNkUa0+dSr;38_}3I7=WE8wEwTI60zdmXi{XeL zxf1hG{hsFS^;GnU5;JuPj`ThT!C{2#`KG46s1OrH@d-$BrrrBzpapXMm*o9bs3^AH z7u&u#>$esmS?p~>690CnUu6p103i>9o%wTom7e-DRMzyos>=vID5 zX^hYW6ywnOMeA4NBw6ADKDe&M-dtdE<6-RB3yLHk;{i|Z5=9o(cIf*?Xj3E9gEH1l zG}fCv)-OBuH6`pl0QH7P&AcIxnTxQNmW}dzf-DvhOjK1ggtK?q!$6li4e){T{SUa)t9OdyCRdIGiZlW8eL;5`eCR zPKH7^QVM&Yyxj|FEN#^6M-^hJFP#xT)}AoED@=iCSgG zyC$3R*%0}Jtx+I=;@GEviXzVzpAT)xTKZ9{>%|Zl5pRA+99C1>8m4mb%To_fUO|#* zbBJ(qP}o{wql-HJ{4sw;)22L7kNn|aBqU1{R?YyiybqHKV02+RNF%~X#$HY#9 z<10|%f8KyvYDNSSd8Y29)6C!;WT#3iOTGz%DJa8JEO7{0(gf@iG^vQFNYe%WVm(OH zM$h2oD9Cn8+K)w)xo6_eclfp^bQ+Zja)$7NA_VwCp55>UvCEtR5mj=4>KXC6Fc4>b6sI(mTTs1-i3*uS~sm6tbWy`pp zK>Yk+t|zanA(W-ha&c0n!4OEiCG^b+tnCEW*8!`vgg#*IZ>VsqHlPh~TrYGMWGO>^ zN2NUuP9JBJsEPZ)oA-AVbh*LS{=x?CML@PBgzD~R) zP1uLxU~2>=r*Uco18#d5jBFO#b#GiH z#2wa+V0$x-C6itF?S3B>tOKidtByOUTIa~0I4N!3C~bGEo@#AR*R4a1ADjRDQ$0~snD72(91p$HQ6ppo5)REwr7DEcA@%#_p z0&c|(e0a_Q<Ag%nIL+HzZ%CM74D|n1qNBy-9oPb(sjamucI5S#VURO7JkFx=k z)zC*xWi?ECpN;*XD66T!`z)(xIO}KMX4n76$*-As_-4a%s~`;?huIL-EO>myr|bs& z&U(0*5}`@Xwo3LVWaE}t!vSX#2~3&*sXk&$G_0McZTW8O`fXnrteF7@pjjbJHO^yr z3*V~1_ouMLjoP9bB6wF5#nF4jc*9Lc6K8vafCCZ1bt<$=CP{@V`~<8qO^njS>DDEx zP?n6+gr#@ZH2{s38_l?zu<4V!ZoVSSl43BjiC8P|!>IS>+ag>t6rpM=N(%>74B|u+ z(>!?d=s-B*o6TJ82Z7w=sPuu>ZwBhIwO|i6x~3(he4|Xm82+0Ix2_sNF{A6v06_p? z4FC+r=q$PEC=%~1Jc1YAfa9ULIpdvnaq(d}W}zowyG9KBX&|5$ghYH$Uxs(FOX_Ok z`sOrGGSq%@>*h0oKd|o@3;?af6e2#oe4I1B*rPkKN^Xbd$tEUXLU z495q0x@o$O4^m$r;SQj(CmHa%!(c;vutYTO$_6LqCJfDhL5#r3N8>&??A_=pVJ>(* z1D4EwCjka_L^0@gxd&|3PZ-{hEsX(g!mtYiInxw~WVX1yt*9C!FBtE^=7!@+z@d!* zv={&}4uZk~z;Y1lAt}iZ7)t;UG`jpM{jpI4umK&7f7ho8d*JQ);6Uj#{sYB-*Es}Y zz>sAC{J6WTHcGf|%iSz1@H#)5Wno4m`rF6*RT4+U?(5LFjA-0^G(G@kM_^U44@5=B zOJ5BG3~Hg=!OxiD6(z`voVqY)1|X*c8m4glM4&c*5K=q{@I8E{E{$o0Ow5co6Igu= zm9O$yJQ;wL4UiWD@TRyH+zavD0QsT{QjOo+caCcp*E@E>LvpY!Prxw}=wlcfR5I|5 z8(wZY2BICjR~%B!>_1%H8nmH}IMp@h*e#|8T>R#gLG^nCrl< zyPKXA2{<7DRNn&HYJ+dP2SHkZzA0diH&o8fH!M?UD}im+IL;xC=YWSNt~uRs;6AxHZo7S0_HVB$( zssr@+M)4COw!dR1HR4SHz^ohoR2aTq@Vp@pd?^h7YgoQs0_8CAv}h2za$-O?aSStj z?mt;U{Fz4X@fJ0im$G%|wKENTHS|f)PsI@84N&3<^z%2U?=+O12Y!1vdpe3YD)!}R zK}${^rr_};R@0Zen=jJ%K(fT3rs*I7&-hVL2jA_K!!)!U0E~a&ePzI(-N2hd;omUA zXQ$^I=peCKl-J^OYNlxQTR?MV>ESO&1BsPAyswyyUp1!D_{>>19B^~gSGt0sFl|@_ ze*FhN{FuAC(ecXokFdo1f;WBe$@+HbulbW$R{fcilgkp*prC07^%cT`xe~h6G9Dsx z6wZ5|dBgf|jg#w*NlZ;H^AP}qENU5nSjsg+V>eCf1Wkj(0VuF(c)T#gGlP9Hh}0an zlE^u{Uhy}ElO31c1k^ePttP-K3*BJInyR+OjN1MB2t2?N^+j^>)Bb8td)JreX7Iep z4ZXy{#>8pW0<3-GZFctlzrpkM!T5KR+bjIbx&`0+;ticU7dia)SEtik}dz#DI5&o3K za~CG}@xE{LwHjS2&jwycux}a>scN-3kzUSXMf=znqfY z_r`mNf&P3Nd0q#H75{*S9Rkyb1`kChCu2?YJ&5>*%OmUvhJ)&l->N6e>I;6ZSk3F; zF9=qVd5v)yr4R)+f}SBTpl+DYPXKn{6hL8?yFT#s03mS7b#jikf$4OQ`7#9)4-JS~ zVv_WL$RE^w6o5O8mD_hvJaS4^kot%al4IFxax`OMyw@iQk7L*hW2)hR0o}m4bYjaU z6i__*MRNkU2A}^6>0;jifD`al!>@-Z7l+$#@kb|G`5>&&xuAFZB%iTpq`M79JQ=?pXS@4%jEQV6 zdOr58$ll0&fcE5K6D_SKpgbHkvp;k21*yCW8PnIxeebl?AXW>t%n`H)8tf)_)ri8R zg6B$qV9x(AX?HKW)>>pE1cYo?1k9-Scvo9J7_XOP%ZG;wB}ru^CMeOHOeujYe%waQ z_>Z7Yhtp~LE|w`#OJTJA{2bXb9~?Kgo*r8%T6Me4M~tX0+!x4A>8tDT%#_F`H$8d2 zHE@th(`^BMjW=2`98b&dw!!Yv%zAMktliK)RUnp@{k;GCH2tTMcnZ;ScDqiAhB<}V zPIFJzqJK~SekqsEUs$gzeJ<(w8Ufm2Qfm>qa8zmd1Y&W1CUvHS*OV)icPuj|Fn7{7 zCcL87G(~F)Yw5lAWA4CW6yqU@a%7Aqw#s+J4vQjwYex;}ej&=TO2$YodkG)YA~zDP zkt2AL$<+9afPbz|fSu~5QF*wsTN8H{8l=kkwzKmsnRD~su^hYY$X7WIVGcWW35&C5 z>Y_)EPC}y6@iv4lU{x-DddU{P_k+BVbxq^t&T37Q)hG9OZzZ=F>Ywj^0>Gq8npOh@ zFG8Y{6zIriwJ2YO1oALhMM*;_jEqwUX^a4O<|jLuUQ;U4SoM6eCS`JS%A*;HUuwQE zq&}f}-3_XJYqzhnPYvWdRFK;_YDGO1MUtKvIA4|vnh4ZA)sz{-`!KC9SG(dZ!0sEY zHuIq{E%Ny%Z8a4l6@MamBEC7dA2lyyHg_z{D;;>|*2NrS2<2_1v2t}oQ?UTV*Ibn&@sSK{ftiD3_vbCkHmEOuJJ5q=e!^N14K# z-1ezip)}0KHpq8970>%)xGbV5C{4ged7C{YugLg59wyKG*C0csy_kvEe1+KiSnJuD zTs$uz9i>41DA_P6g}rt0prT4Hu}_k#C6S+7XD&xbgu3RfVRQ=!*5h0$O+{_fd4LVr z#ar#5MCv~J>=j@*F|$mh_ml8GyCOBfp&zN3mz{mulK5WUe~tM`N=Em$q!+fBVWdjQ zfpR)kBOzlXlJwq~L`+-9u|RO zlP1cwgxL12ss9W@ohc>E^yQ`~1str#o8xpEz4m1Wt1=t)S~6~1@Sf$eS(8?ov@=?a zX+bH0(-vY(jj&eU zm4l%DBdYk9uc~l5RJ~|>i*O2LItlLh9O>P4ySFZh9%el8BC?ZEq^Vh(ll$r!5c7x) z@4?#9w-F(;iyhj3DG%VOI|{PE zBd!*SUPrTrSay^BgFbsMNB@w>$w7!WM?J#?{vi4X>-oPXM96J9pVU_I zw4vLZaouvpf(|hSg>COwEQ8#(%sfx;7bnsz4M#j;++pI~WA;TXY^|+}vQ?L;kZ7oZ zcur0UicB!d7Qke|#sMb!1s$J>jeQv`c$9R~*EGuUo%HgD4Fs{1rh$hzw0&@9D!csq<<9q^<{>Y?HdX=WU-p~ zmIzM)NyT|!jmqShcJ;tqZ73$uE|`f@SK301*JMrhzp5^dYe>YmA3BUe+yt1btm(`O(b( zU3Hy`wTAcuO8$P)1H9o>3jwO(X)?B(rAZN8Ls6Ai*<9wBe6^QLE5x|*Z&|-Pd6twj z;Vd{OiA@^*x?!fU_a7hTPLpI=Sz~;Fh(bzGONL#e&|accfB~k%!juOcrX_Dlw4q{H z-4ZYi_%aye1dsRGrNgNh!8bDtY_p&IMe-8)x&G{pr+-Yvah_Xmyh3eChEQU$da@U< zjtHXErLtO%s~av|cOUNzZ8;7~w9fAsQ@4-uI)vr9o1y13a)~%y zihcN3JvN0~)S)EOn?P(8y9`lfyBX8PiT||h_IYZtIJ0I-z!%HSqgQj?>n?=eoBves zi@##Zh~L*ReLOogqj}e@guU9qw003l=M>3b+M8Cn=6a2pX zT(I#26FT4q`MWF(+b;pf8NdyS$Bl|VJOXtebz|O^U5tMe8O7MEMObNvvyFuJF(+A# z)8cVSR&59lD|H%^2=Uu=Qr&j(aJ4K2rm)n2NZ`Fmh5%p)FnGmdX@)T!L%={7%L)Xl z8Sbxx{-`N@q0L90u8jkO3ePS~jXaT5D_RdrS9T zsR(IJ=FT0ZwBPAye$qaMVX6Z5S&!l2-Knq77VB4#6%| zwrlcmQ|_@YQf5w$Ckn}X+sj8Pixlk_a!!^QD{(GKxX3NOoCR^1whkl3K%>HB2#iOj zVc6(FMqMP1Xy1z!dwciVVR&y@HZ6N3&f)-)UC!!u0J-09 zwjzsU@8`dj6grMr{KnVdNeAg@RIW=`l4cqd7atc#P}+9V(bW2T5z<~DjA}q86SCEO zGNHHf$%Zo6lyXii3O2TKinhsO+u~6kL$nViI6~nV3`1&lO3`SAduNG0tZ4;T7FknW zs^ zdDG(I8=-1V0)r@JLQkbJljL2vlq$;*3wTVbTM4l(8@i$(aIC;U+b^hwq07u>D}etk z04Dt^>bGpTu@{sCDMbo^t^_d{P~&aRsvX^`K)Wh~CWO>)oUIyj*t)x>nfe{aM0uie ze_fk3Q-?i?BEzEMlOQNFc*Jo<#tJ-UC4@m57O9Zm3_0Jb#dZd+mR0Ui+Yl)H1y2W})OJGjrh;8} zOw?;+Fp`90Bpio*3d=H#6otl73dh->`k{uwcpFZt8CIkjMtT*#Fz^D~Py4+9Kk4UX}Du)voFt% z4@>@$pZGJMVE>iI*ygFwZptW zk@*-M{+ATQ_#y1^4-9O#Fy@nox0p2%*A|r5xu4jdDpU%mh3JTQM`${#TyPFoBPEC* zW43q8yUwW;f)x@Z2GoT{Fbu;uH`F-QyN$YM&#l5~{FHK?BYq(=4mQ$N<>_eK@y;4` zN89KAGD>j)3_ssO#yP>FK%X=|7y7w1_zyMda@5p6$=|SL-qu7bfQv!g}Yq ztmb^S)g`b#MO|x>L?cNr2N+jmoG1FoAIr(ID9BA>hz$-acOq&~{@CE`Cgctw#Tx7=+;W{j>!bSu}W7`mi2<4%d|dQ|fSYYXVAu ztQrRCG>GuI^k>>-U)ykB9`&{jLw*m|26Yo}mE~0LLd^*Yio8Kn+0 z8Uv)R4P&47#!^p{V~&|yX%Y|5*db?aEdHWJy?9CaSF2(`W))WeadO9e`o`ow$P8*_ zf~t7rxtcezxYmBMs?G5qLwiO;4-7+O6*{%^MYrHp*<_^UjhWEy&xgkt5dJ3)Wme zw|L2y7rax*6$~gPZC+Y)+>`9KlS@$7){{w5EoG@MA7ThktwOl!ttGWL`B}f?gWE#x zzH!mp^0L~>^4iKt+R9ID)%>vOeYHusLUlN^$ipc4S$_HRQwyRY+ZOL!v46&Zp{>>n zTWxwfvY#7LG4Buy;tJ-goWeWW$#(MOHtFg+Q#rPZ3)*TS)H>ShYOc$(9odf!?erJE z>-*T*671MYzO-}QwRySym{r1roX6VSh?G~``5&19!OrW+ounTk1OsMPTULv!aB~9Y zTbD}jnwL%sHr(Fd#H@_gZT1?iZD;GOq>^ow$@h?N&AeOlzR?xfbF$E|cadb;Ma9@@ z?OMKGOB47l!cmzmA^h?_deJhW;Z@@9%cRyR_efJ^zg3Uz-da5zLSJE$D zW$M3rCCPM@Yp@J^-!{Fsg0-_|Y(>5%P*MB5XxBat(_WIZD<&i%Zf&b6^1v_TnTaaL z6E5xCe*)EO0>!R-r2k%}nG@tp9n>xCq_5>@@V=A@*=r#9Dz$r1)6ibn+8$7MSm3i) z&U@6Z6j7Gv(DkW(h||%j^&oBGARxvmqh2dr`=}*EzQW|FV(Wn0^Qh<3;Q-#jyM>&H z%p*|_i>l;9=NRbmp(f**ZHI580*Ov6%$5EgJE%r z)9mkquR13v}c@w|+R z4;M3YT>W%ZRC)Z7zAZP#@do3)xshx2h|TaP8%wPSmdxWrb4Oy7%U?a$zV|K-!mmLb z>pwmn&yxSzh=G+39Zdgr{p$Mb)6lPXxe+ADUrAH1{)V{Wq?}+Ya`ZfuBgVV}f8N{k z>D;6LMak!?J#S59@sikgm-vypUGlH(%w;?S$Zww)nJgz&elCCimBG=j?PMpERrY6O zxc#h0L(M;vUb^A1oiT8>9)_~usf9CwP*@-4WxSOyV&xr;z-w8p8^Hsca zK^z@9oEb=JUok40}NaXw}#f6B*8MTzB+Aq)Rg;Of)aI4Hyav@K$ zC*C?z-ntr>+Itr-9NnSeUPm)4ntw#ZhsjOFt)#x5%VfD=6Jl@@UWgF>mTmJwXn4^V z%^9bVXiE7AS%XB2E-e3eJEZtH7Wp_?oXCCcVp94&*5KB->m%CXt=ZtC^4Uvv@6t@e z*L?5t^vy-Z!1?Fjm!1Z`0fb(G@BYXVhQA_kaI?44`ur;-%i#5E9~F(WRDN$(U*CVX zf0EsNoKk*7{qefj^SM;{o%<_V{==9@-xtrP>(&lmiIXi(^}qTw$|I6e?3wS+3#?9% zDF?1Q`q`oWdfx6FRl85ZJQB(NNThfQwR!2W{c$3^&b)UvO!0nGcqV1=*V)LImc)4{ z^>22{wQDpIsCxM*E1)hmz(7wjWY5#n!dI{DccbE;D|(BUp|&;i*L4;*Y>)huysnOX z0_%DIDpvS+`2M}xK|HZA5+w{Mz7Ool`dwn-)%nOVMg+gT=e2y+zRTwu4XJ?NRwdzA_*>&x^>$DjVk^eW9v3wznpp( zJk@hI@kD#hV(5OTDCj6WDDK6rx_DqNDQN!w?&G>(!q*iS*AQ2qkp0k*gV+DKr~JnM z1X%y_e%R!%wB7X**0NCA;z{}U8C= zJ+XQDG`E~lE>?ArU`15l!Km44rXiT!%kgWZzQ)kxp*G`6Csqd-qn6@mxkoBiirF+aMO1oy&a9w&UtO=}tH(xEZoP5kY>v`Av# zUrA@;&_7eH$I0&mKX;v>_m!2TlVGu1NbUiBJ-mK)l4lR&)&C>`{vA%AOr!g;OL4Ph zrbL6n!o2M~hit{6sX^tKlL8?%Qb(0#$O1%S$}f>iDOnC{r&XhMBY34$ee_Jt z3%YttEh~gnmj$X8C#hLDVF0ttuq=VAcDX{Lqarf?4)c7n7yjDJpBBE~n|ljGY0}u~ z^~@Evt9-#CW5oM!1Q*9@t&TXtc^(W$oMH{!5MpjDre z5BfZJ(lyepNWR^SP+(y<7S50RxlZBVpKqn_ns}ZJ{)XwE&v-YwcV#5xSE+>G%(Y$1#$pPhdjBeY5#PfPATjpD+4)KlXK1_17UbZx5HZVT*edIB` zUdiOB+mu|5qT@;qpdn#h_Dzm^`f52%+^`qc!2F6*ceyU5;0@}eMBy2M&iGec_phT=dz2kkH%AG-z<-JN>1lW*?{x;i=HGA4|MSd=FC7<~K$%Za9uzt%o$)puH!v8mF5WT9<*2KFa@aD?rsr_bKl<9hDg*SBY;5z zSP?g2Sd{B%A3X$4QJEr-&k8?$J`@8zT=EANLvX}-+ObT&N9(^9JzX%4w(`7Uq zkl#`=Fh6x!oOWp-S4DJ%C^PM=$$T-G6UtsJCG_?tF5bLLAlxfqs5XIB+Zs#n48moV zUX=U8rpvln>GZq1N}bEg_2g$bezOj(M^=&j^3J7<1@k8uS{(XL)qRc&F>BFwGMCg z40_3Ziipg+6|_sojV@I+Ut3gBghsL1ZhfYe@0`mD2bZ*nB1;IkD(XREcHHoPloC#s z^2z8c19>G?pe`PbdAYlmhx9WwJxR#c?!>rK10mX&CEwXjr)FT1bw8Q+8;Ba)OIgZK zXO%39iL%;h8m-UhBV3gC<3t$wo|B?cw6-+QGnvaaz~!3&JDOreW#V-f$1*fdb*Y&OF{jEg~sQiO}fsoh^ zQ^xFKJ<)jceqx`*9Q`SCWUlTsd(RK*0vH4+UR2xMe@r?0KCW+U>f(`uq`tp-KVycJ zQfT)fmt6*YAA=}jthBMFIfbfCZlTYlBhE9`BYxAAP@=%F}9+CZA48LOe#_ zvA}BHq(c&`S?*A2zXATGi5R`WtkpD~r|Fg_J2)1cq?_HBtIJ2^Z>_MRo1F8N3wjH- zL5%Jgci=9o439j6|C+8?v$gO&gvmZ+NSEFB-$FglRHeLd(|kvdU4G=7;Iy?;=g+wI zmVXW1L}C2u6M7WD+8a|V`HrlOFWjC1@87w}m<4Lq>sqzCNX`rz&(^dN+PXi6U-uUH zZvQp(>|B3!65`R@I@@ZJ#QJyk?YwlC=-FOv#e**0qugC2t3uTq`Eb zX3yQ`_WCT+D0$P4m>mX(z07`O`C*<6`N7o-h{bRLrc=SEmmy;8B-(E;t+)R!x^CMx zdXF0|YsBrh7f*m9CnM09`(gH=TJt_& zx9j4q0q&DqK0g!-gd!sBugTN&Z$S0`R-dxgDh{68zSNWzs>5O0}&8i=%YI-~QE&zw+e^ieUz_4~azE_Dm|7$`G00M-&QU19UQ2T=Gl|FrMy5b@PuawB&*0nE(sPt+|~=Dmcadj7ZtS?VAM+!}o9ARMyW{}oFU@3N@C$}5Fkr<`m zTsMz_%ZMmcC5gV8Ks9n;g-o>Vcc_xqR9121oaI~=BUPs$BD?bssM4eZJNRg1t+fhe8cdC0Gox?t!MP!AAE&lnmTKIo|^14UllDLlMU#eK<|wiV8Wi z@agFdnZt^S=F>1sij5BwVGv^YlPE6y_aibX_r95^c)gJe&KHN(Abf4Y8XYSZ9{#~= zVL+8;D)LgqGhT2*&LX`;ngETLE;g!v86kV=}L0PAH<>2P22XCV{4 znRH%>K9w0(QHdPy!5;&RO*rIF z;x7kE4WSebW{8-j={N_Eq#TrOFJ{iVoC@vdC)-KVBuO zD4J^_P{~i_lX2sp9v-w%0kIfG^|@E`Zx3+i53g?fUg3iX&PdC_Yeoa5=uQRR&E~u< z84Cvas2hQZ^CfcDg$t=a@H{@Tr{T~Wl)=}ng4^DT-bBX4t{|_GRHjM!N|_QT?$j`b z1xam+=zk%4n(2sXGX}zjxKu%X8i?SmU6YfYg4{ClvNF;*NXBd#ZcaY1P(4EkVN##c zhS@~ACr!N;8}{qA1Ewh!F+O_(iUeV~0yiF0nz`*MCgPa^_Lp+uJ1uLAPpZ3H`H7a! zQRV)_p*ff4y&L69x*8TgX#(emTyRAlmMsHu$6m*FgP5(XyJ=byhB z(uP@7ggMZLdsKvfrHu%yh=`+&Osj~@qm3%7h^nKFZmEdwp^X`?h?%C1U9O1TqK!MM zh`XYVf2fH6N1K39nSe%@h+CORN|!`knZ*1?m&{$6EKHXoRhgnlm#SHrYDkx6QJLmI zm+n!S{*^8xtTH2xE;Fq%GmkE-tTL;PE*sO@;S7?kX^jOZnZqqt#3WXXUy<8D(Y!<# zMcR+8K!ovR9Zu0-1~(|u)}MnJO4}tuk6xAh6DS6SDbcj1Q?E)f491RuDU+(C-4Q95 zsw@kmmnVZsC+o*J7%0=P0`7^htf~|@&{u}RQK6?|SI|S?!m+6;y15200OHBreKmVJ zqEts1C1NZG!GvI`x;=t|GdgG`jQ?z~VIQz$t2BJJGMqKYiIt&VDmJWvCW|@9Dq~eH z!M4Rg-;?=Fyq;mf{TLd&7T00h75qm2eVL)>sJiEhq4%M>_a8$aLQNkUV?S<9KPlq? zby&odH%fIczNNyf#xyu~Pl4q?URIts@3aVEFR6}gkuwA#?H%QbH5pQ=A7DuM`V z;1~c^WAnw7(4hGiCV9A8xeBJWGp3z?=Re~{=Mb2032ef(Yj+XWi!tGr?}oQK!bt&u zQD$anKX4PYIv=#|ez zYk*fSbrJJQw z_vg{?4@FiZ9xR6>EKhMP&uQPE^H^TWzQ5G5{Av0Ar-$Wr`1|Yhe-h$asU~rR~7z)F}3d;k9{mcp{4TV!;g+FJZO%bDoyN1Uaf)9rQ z>{#Qg-z+-Rl4_qHq_Mh3IVJBhAGXwucd(vRv0fn9-?Cr-9%l_14sP0mHf^$gcwC1RPm{GhyQp;fK%~iqH?eY%+bKD63X9w04(wB^0Y{)_p;UcoO7& zkbmLTGoddll_GWqXBTGvaeEGk3J zV9Ot`$+_&Cc)!(Q2Yaj@+G!6hahHH7Zo>gwkP&9>;~31czkU!Hcv_F z5K(gd;7e)_6?7J=Y<5mO_-#!NZbw-bOAa2-MxOtb5SKr=ue+yiz2~>Q=Pu_U7<=R3 zUSJlQxE0DSX5VO}G^53TvtteE|D5fLKV&cbk@IhGKPk@u4jH?UyeLWxKQHQPR~bu5j0h%AGFU2*8$E12p~4jjj{FBFL^7u!&JXqT5BKB2 zqjE7#=rp1j=u9Ni_i{!Jv;4P8L_drYZqMm&QK*8b@7*xuMHR{$=>w~{T<=v@3Z(E{ zQJ?xWt3%Ou0!iJ(xjt02iZ#jxH0zH1C`Mobv~lUTHtYBP)*sxy4MH+g$uXKg3-zyHO`Tf=K2~)H0yO zGMw8gzQrn?+d99+x}4kQdy7pgw{35W?FhHsOpDzLxBYgD{V})0b&JCzx8qxj)%)~L z)3OYFkaP0A^SX|#B^TPq-xlAw+@xFGlz7~=THTF!JS+JU#h(#S~CP>(e;sz1-0cc=*;I<+Ja(!9!mWpCazW zhp)taVF7{rtuaMnMb9w73qfplm0I6VD0g7Ro(8IcA>^~7X@+f44&uJyt&uc8gTr|M zRN_?XViAoM!LWhB*W%E`HqjKX)H^`Tj91J=TT!Z)m)4UA<5MykuXC{?T|5?F3Vl0! zOJ$UFW#XSl-jLRmwX{CZS;UcNstl!1J_G=m~t!R*t0s40ykZKBEX zDT03jb0(g7mAG=x0hu5FCj*ZN_-|s(^-io6|Nq4LY4(3-;Gb_l{NKd-V^pvk5+*I6 z+vI&Q8l(Oain^;$CH~yateDI{&XvJ!y)k2y7;z)%~^Z%Pz z$1E$64G5xA8pb?e6^V;t)Qfdkp5zb4a5yrhHmS{yM^oFsaLP5FE@(3-QB2XN+Acy( z)jZBllF!$_o1bshawJf1lses$DiR;&iRT8wmJ^}?n)YTFbS1tDc>Uf{lZ1!uW9aa# z|HiHJo`K)0`hI=VtxGXO>brCaQ!bSL@gw2iUr!;-giCpUm;XHCz(vSDBWV=K?fyRA z)@TAiV#Jc0-FFPW@#1Kj`z{V|hY@>JXt*M2td4{tc1!L_rjZm;xRA7r?&^eRdQqrz zm|#axX1VPZMZ=^XrRu?IXznKvJ=aIX3EasXBvtBAQ@$4k>vidh6EqJ~HFd`h(xNvb z%#$>5)wAOD(<)a|bjmWzGVT8TD9Unbp`$S}9H>0X@j6N^$hAE>r7=VjEhDdKPk=!6cm>vD%#K$WoRBEQpdh$;EOWDkkcIV)6Oz0Dja?zmY4ZtomE%T zz5T4JhA#7`QWbM$Ro8X=JUdsFcA&U`4&kmRgkt`yx{%$)Ilq9S5m47Q;WFFWCjxe! zE*eK#4li3*!m2SU`O<8!+WF{zU3P3mo!3eDaz~&uC zz_F-DSiKc7REmZxFgSI>OEaol_%i)ASy)&AzE}NlI1~V{z?Zsb+BZ!^VluPouJTwUB)eqW_{NlE zqPPBqM?82W_TJpGIK6%t=8r*=u}hy&s}v;JzGZeUcHU`LNdPT1A!3mDAYxm}(0iA- zo_wS)15f(*p||hWJvnbxWh7-reRlYPZH&R}4t60>Qngoy&6k{ z194aUrGN}%f79W-%fHBDTgw*o_X)G(-(0Hw}mt)(8 z6K^ALb$bnZi;A*0n4OE)?@I{L#g23z^}w#%o-gXJ3@>%s-ftyhn5=LG8*flcUbwg$ z^y_u)p*tuk>BDSz^oof}OBr}|*^FwUk(j+CG zfnUmh$xsgMNO$H^`L4L_(>4)A;MhB47sAlwH*rox>mx;&Mp!T`(Y$rV0`44!Bx0eU z23q+Yv_v_p%tB8u>+w0pGh*1!RZX=Vgj#5!;nBNwH!5Fa^WPl zEUnxEk~|ztNZ$rTrVCg8THP9xSE0lcGNJ}PoL5O0pO>Qwnv3}gjlv_)-*Q~%zfBlp zxcIxya|)hO4oF|9TcsLUngV&_U+sIj2$uRwcDq{M?SN?+^bnnE2M!sMg$Co+03@lY z>UE~$Y8nf0bf~4~vgXq?aqOBI7=0ECbUKzfg6V7QOy%`f-+n$|spL=te#lJ?^QZBA zj%L(R!OBzU3&zQ$9U6Cgn4aR|5d<^AGx^kOY5xlT-b6tw-6c0YzPzyO zF-GSLmCzF{-09JIG_q!puda;&MT5Jz9#0^9LqR5(la9IjOG0cFO;s<++l&*UM z(VJ>0rqEeYH7hDur&yNsum1yR&*x`_?68p+HIuL{Wx&r-LXnTZGO! z0-cYnzVLnHxVLIzlAOJ{Pc9j)l8K6e+N0uIC4}{~hD5?RRTY^W3}m;4!U20@;XBv4 z>vWr~ExdwI2m|elpU&$81>Pz=K(D{c%G7|W@9@=>t6R!i440;Vha;Bs*T|`WQgCgC zkOa9zt=*Sd3ardaI7Y&t$f<#>+Nw5YTCu_v`w;r2rn=wMoOet5$)d>;isC`Vuot0u zQXkUn;qumzkTgSKFug3ek=4jEzmN^!wz!k;Lq*;%;s-x8R(zMsYN8eC{!B)B~d|iv;6ly(Pdgi6utqM~HpTY?F<~soR&-Lf1tv zmmz25yR|~Qwxt`RQHxG?&b2v0Hw>$H(MV}%NO5c)`Eo^5MRcFk>bG7E?@D`S#}*h% zuySN5`;i4LyQouuBW$gu!FWT_lT@nR-Oy(pFR@nAk8dJ6n0ux3Ykf5Fz@!k5<&POu zz_#%6g(6u^7S%pSLaN`<%=8Yuvs~u3pY$RXeE<2m|%>~F7-}y848?`oB#;rkAePh0Y?%6R*SBJY&_yL z@+ILW>&Ms$P^6+AdoJ$aLNes^Ku|Ad04_eBM{-bwv+~aoqJUXYYywiI6B18G2p}PZ zcQr)tDTEhKE#jy|u5}3^bgNMM2t2D<+cI*-bdS%k;b9|gp+S$XGFEtxp8nC~ zj51XEsZtb7t}Nu5ieE(oK62q_zd^z>q^OF_Fzhmv?#rbXAMw&g5rACyYj`2{dx)uR zkw&xV&v40M3)emh?)^9y-|TEGUPedm;nIj zeXlCC-p4Zn_mo1_-74J61b_Md^S~^4kT<3a9Vy8)`Z+YfyWd+)<8uKo4Q`M&1QsFI zDR$)vT=%{KGMrEn*V3jQbeU>acS0j+j+kB$w?Yes>;#5dMi1@>yRyZF!$i-Sy|cym zp%VmA55m82@?1T3Q zC9;&TQPJVdt0JWqpmeL=;Qd692Uo!Z5X7qt1TsDZ319@rGePPt zDE59RI!3ju1v>9nS zsi`6$YjngwNK9aXQpsqBd1Q3FET*prR;@BpWhE%S4~3opb-*bzy%MFi4^-=v-Qa{2 zwUbnUlx(V72~ZA3Jz^>p z`JI9;K#)h@GIJ)za?L`(bs{F_(Z+dMFjPT zH=6lGeBjQTqIWo|9EHMVQ>;p#+X^j)tw#Zfq&CbZy-=lf%*Ezfm0*!GH2_fMeNdE; zOHt)Yfx0=hfrYG9DDWz&F#XwubXlE2xn@2k<&b?@p9MH-kF(`xFfT3c+jOt{vpEz`}5w;;^3ulLg7}^*Ioc0v4*uYy7fL zS?@7;Q1;KtL6PzXGSp@Opg0PpX9uN01i9e`Ip${t%s^FQRXJ2tv7WvfRET)mR-#0Y zVsBHSe)b+bfQ9KpY7{{hv8jOrrd_P%8Pg};ozx%#K`HGeZ2&-XA8O+cN}p53H8Kze z0BkG(3$WH8zEf!B+&Qzzla_M!$hwCj(4V%%-=`=W1)%jRa8DqzIzP%V+54tG5Me=W z7_@pq7QGjO9O)$MJx-MDQweViMG68TO(gtA0;iGzn3a**p|D|);;uL4_Y;E0gf_CG z151=qux-j=fW>~SC4;wI8Bq-g_%TETsK3WhnaKcdWWaZ^o9a~YeJ8yFPzn>2uUVPI z7+Fp!-;m5Ns9(|q&xRcjZ8)<^X#;>g(E%_}ST|*q@5(4->&PHrX*qw!5xv850DuS1guh+Hc+ns9D-5;Ga;oC)NQ<-mD`C!`{$%kH5(Y?)P`Oa9; zUi&_PF=xV+BM~tI0Z3o;^1G2s-=Ss6PThq(dg~4{7^xu@3vt9Y9dk9Td|zn+rH{2{ z0HF*0nJ5TWuiI0%B!K{gN{sh)wvQftNK9}@9E>S)1NWfae})O-ROwOjsVEUa_5{GH zgW(tD&_!NaU!Oo80B+kqpojuQ^6@Ut90d2-K54%prG#Otu3;rsbO%Os2frbBwh>n_ zKnePl)i2%V7djVl0*69h_(VCwyM0F=+9U#ryeY$@&W^^tjwZZfh`u7qzJ|&(<^Vg2 zg80EIa;0S=KMJ~F&l%7=t4fHTL2&dnT@d7S0MtJR-3S&TSQ(xk3T*b9Ac9PE*i8Tm zCg2Mvng!8`W+&)HCWq`M=*ddH5kY@MV{pGt`gZv++#-r7BVf-0oDvbk3t(sgV_UDI z2=xE}+4OFlWPSZ{iF z3^{?wcs7N$NF8Q5=zKSD^fy!Jo9NiA=vb%#ROLCix#@QzKk*tCNIVKErMrftZXM4-Txi&2zWz?t9z$6GA`r2xR2yTBU@K<--r-7I`I0D#CA;guJqHm8FC zGlc2r;eBPmv#c-YO{b@0>VAjwDzqqWzX%I~5xJSh_KOE$_$tMs*vcXW+EnMp^wa`i zJ$Jx4J2StYv*gFCxorx!pm`Gtyr{X$v0cmWgZZ%=6EOA5aO4Xde*syW3%No7coCp^ z-<%JAA7($i%T4OL)}DTwMV=5rUb)%aCE2P4fI8bJ2XHW>V`0R*=XurOsc+_E71kyV z*0^)GGrQMvF4qbS7BB5oO6`9l+=8}rDoR+>9SRbO=+Fu6imy7rsUo$xF*D%P_kspV zG;&D^SzWh0ua*6V&E?cM)5<8*iiiI~7V08cc@ZQ6^uAp2BNmM6Lz>^xQSRsqNg$?E-rk`h>+1GnSm$f(0Zf z-Bn5CPRSNoBgKmMmF9Yyf@%r|8k!<4|Rg|bUp!f&FS=A(~E6&+HsdjM;)xaB5rIP zu={VP*6z{&+xSbeDPgdv{SQ&j{s18Yd2kFRy{}3g9jR6*2HrSD_p)w47;HtjM0}da zF5K&`IM{En;fppl&NTVeVdZ6WVfOEu80!9e(O_J7A0rXLVHT8r1r`uKP3-|^;wPt?9%GX6W$LW2v3vphxyxGs-XC?l2cBgB&( z!KyW-qnY>fZHLiNFDd_B!0sN?Zf&Se@8$p9WBYoW`KJm~29yIhofbJw zCOtiUt2<3$K7ar~8*!^rmX!B-xVI#0tp3+@ackAnXSIrptBL>_p>qKx^g)Y8WLHB$3sh;Hr;XTT{4P2qgWAI6k;jh1_?-t~Q{a;t1-aeo3 z7HcoK!Raa!4Uispnj?HL;?)(oi4lzoCsuo~2>$iB1yHV={!nl|J$3!<>m^wES$uOZ z-0(lVCDm?B4Ctsnjui8LZ*~IjM~0#mfUfgBj`0-E`Fe#u9z7=dIIipXL3q+7_Ya-$ z$zQZZsaOD!@+K|IBm6ITw|vyZ>HU?2(}S%?K;Wt16&SFCz-u)BApV59u_|ILaq?E$ z_eqt&>;`}>0{rj}*vS^&F?;;m6CeSG9u*KW4M2v%&;>5g0RX8+&j1MUGb%a;fY(Wx ztUp`K7n}KFVRm;g3_zura$*^u$y#D_8;mfDO2CdO>I0;#(P^^6rYkaAn>TMVcDpDc zAQ(RSlEbTU^$LSIjfIR#XopUpVl`JR@QE4n5?C3Gh+IOU92gk11P4L}dj--Wj^-J= z9;xekm}pDpK+W}zz}cLZD<$TgxOmw$?e@8Rusii-87$6ZQWvJn&@~|!5UIt+YQ5xW z$fwU{ui*+&#I(dueRGf?Y~qZMC4Ia5Kmaj=W{FIHLHGxFuv4hwZeY_}JWPeSUc`+! z>);sr#0zj1fr?BtinJ04yA$o2sDGj^rt@(4+p6x#3&`Mc;W@aabwKt4kqjw7Aud4Y z_W{Bq7rQDb-1hxD!B+jmzB428I}nEPDXOfur*n)gbyk&us4XqAtk%52*!H_E{Q*k0 zEdU^nac%cv&k8^mpJm-E$$&^;f233-=iAc`5lN8n*%u!biy38PS691iCf2;^NBrn{ zVax?^=mP@C6JMRVm!eW+!bvmqgNAo#u~a^NK6sjFzXF8BO~~l8p$Mdf-43C#c5u#$ z3=i;|z$4?bvcqF*H};349)K?+=K#C|jg(>&{fet@^2W^|UXC|VIOmf7LK$}ZL2v>* zjea#wE0um3GjeHW88a)Oa6pCcA3C$@&;#!PqPkx0Xc2m|pedMpX0JhgY@A|0jKa%* zYQ@Nip=gwp7N%wOV=_GMI0V>-(>6x0N-r zF~^VAxusG>C(%CaVH>A54-V(SUg!)!U-woasRn7QDLNKh=AHh9I^Ev(E8vX55H4I{H z7pmG6*1EUwS>cISgt~ETn(q5;@ATvVd$4HDtn$x;o^57poVSyqb)C0vj`i=Cn)+WA zrMUWDbc6t72aMs=af7imJVU2`c!28NPMvLOI_b)3#ow=YvP;#=K1HN2pK@z72a7oE z97_oFF1q*jQm`Ry)}IztWWzhJVovL_B`iOMEoyYTHeWcV)KBv}EvtRpxY;RVQgpr< zgb>n*u;0G=8Oj)&A+h$I44}|ljKT%pf5tmZR6rLUx}3*TazZ+*RQUA0a|>WJ*f#G^ zrwU0{=62!XwmxuB>mGb>tInZ907WW|6F4JDt#5*uIzzn6s*ua!S%fH53oTa4jd73p zf$G1tAiA2h*aHuqo81Uoq1{kgUe6vavOPT$pg84OxbXC?815zP!F)#u#$&ZX{&8KiEGzv*>D%@81tMi?d<}<0S|fG12b|bM-4xN|%%{W)wz{ zJKU=50?AOCA1PN0Rdv)ksBoJz`j}mIqtWaj_`glkb)QUPJN1j%A;3t%h&$@A`<;!e zHmvBK1dox|0ir-xc2OxcI`-nSdN1W4wr>cci6nj+thZ7axd%h2N5w`5PW_P)K@+G2 zCmR^fngLJ|PZ9q)GjwGLRp(vL+1FE6d;QllX ziq1|jc4UP0yvuMKTq1eYBiKv@wtdE5mBWJ?b^B=uPaST$Ax&*+GXxrh3Lx7LZUls4 z`}tsn(pO3?0U3TjH?_9l)CFx&N0e|4G{(`E24+Yp&d`9uJicID z*p)Nt0_BeRq%4)q7*dE)nnf|?-|CVLHpxhAMHpC9L#exRMPSc#f?!0%+IGU&x_^=q|2o3Dq1-v8k;sxzM-u)w6pjs4JJF#_KZ~kUMC~70W5d+PUGKE?j6e37R&+ zDp@U@f2g;QHP$J^UBk2R$eaGFOE`b0gNUZywU1NFSi=?@{>{ZhzrnUdyR+*vCuU2G zH!L2RuhHvIh<68Sr3^!n!qwSt6bCOj&d~Gp%MKt$>WwBOmk8oSDpm1Z$}0W+Xl@DB z33>e+YhT69kDxG~0$`~OcR^5W3(idBtn*PNzs2OTYSZAohAcK6SO@(M(yGaBtJFb@ zp*AWO3Blh(w(wXy>4paNKnnH)qe zeLjgz;>F{HF6v&zSSw&q^WcuGl)CC~zm$-OOMIE#Pa?qG@vNduDp#pMkZT>QYKT-+I9y+wEP$leBU%p~~X zp}ZNT)+Tn-dJDD{_||W#>=gP@e;3KJt)Bo5;FwLYQ5cng&-B$9iJ->w(>Jc>wVge8 z`L&R%uUvKef4f*|`*#^w+8V!TG?Er?Bw~i~H2c>y70CH5Gdl7D%x0ZJi$@WNa9gr5 zhTttBQDWWu>Y_Az@7Hg_lC?EH1|?cem;?>Kt#cZ9aGDZ>+3VC|BR&P15eMe^FxY_Xbp z{$Pp=@IU|Q05$bK+xGui?~N1a_yF!B;1tE=6hJ@7!X)fNS7=~*;!P0GA+6|JN@9D0 z?Y-&jO|wl!+9+Ge>dN(o<;@VIuNj~>12g1^HO|8FdVLZL5rb6~V;lN>e4bA-*$%A` zW1bYFPXWF0YUe%fLUDa7&gqe-ng;PG+XWZJy|E-ssKk8tN!77>Ru|AkMTUyJq^uZ` z(SHK;;rj5060sSFl`mRU^`(wQg4jV(R>UI$azp%1tn)}+*+JED)>KqjQl)_+_OI_`EJ22=7>$Ap ze6#85qO{}k&KXgGD~#wIUZo770R&e;N2_FHBV%O3^#R|^WHQucX7Htpm4o=7qA1ly zwANrfh%utQT6;rA;KrolIfvWof%MKJf^LmL>OsLdvKgUc;re5h8OYH!qcF2kwX5Sm zkwAKppaf1~463vuL0$*O4*z5j833kkL$0=MJW4^fs$e`VX8c=>loei3Y3jV%n$>JB3O+*{YO@= z=o{H%RNMti5{kk`nvU~3NflZtgi6R%Doicv%SMIDPcTl!P&G~cs-I>YHnoA_DB(M% zm91r*YL$?UDv_^*PISTntS05J1x0>tjFl5qqSL|syO{Z>|2~|So$(_27~OS4H9P>8 zusWBbjHWs8TA9|5BcT zQ{k}XAodQXq5Z-oG}o>#I~qEZ86$@pIzNd2 z2m$A{^M!C&f+ZROQkbE`VW8fI*;*fO+@pP-Mh+ z=01uH7lBs^0qFh>ssI3-zacxBt3*Q8|3Cl_P<1i;Wi&I*@Qy@@<}cy1A!1(2Rw>h= z?_t^!WzJ?9>B%2+4G&fvkZ-KdYT!Ht(O6l?R$aQKK>xTOI^@k zT_laEz)yO0Lo!%TFl#`AtUu~Mx()dJH{z3uU;L&j*^K466U8BCtI&AnesDr2HJ>^D*THydNc zL+sbA#kLL%^0G^HM*hx7gEVXbzqnw%1o0lhx6F|+b7LM>M*!F zwT!0yTNkL~kr{*Gv~7J*kkF3qEs0TQ&Uksj_`~9K!zMDEG7!qR%H*`&M56yWX?y55 z-*Bz*b8R1-=FZa}qRXI$Zk#QKB*HH^`q(MEFh|mHbDw{bBp%yC@W;#6_BJ+xb1Q3i za#@K{w{`?+;q?9H{#bp$P1V4SU5Yq}cihyjUe$g>tQdXobHJ^>SM@dAVnoxHwt(Ca zL8%?`ue+Ov24~~t8+UrZaq7P2ZSHncL2ih-LGUNd8rrWWu}K{GCIkQntgQAR^UFx= zs1Rz1#xnkgKeVVG=BUJhy6`(-`%i~BJ0GU4P*KRJNNgR#)@5U98;YkvrKxie9ZCh(X^|ZcZk#Ies9^Q2gYjum zJErg`cfsmWh2!Qt-1lDkA6r6 zmgywqSn^BuhdOYtH#GjuB{aFUL^=<$sI$g}TIcjw=T2MaZCU3#90hY*A=&Qveq~&C zK22Yy2_LqwO6yF|EsJr;j3qq);pQa#J5=;PPBJ_y2HVsKoB5cYXa-r6C!F3CoaQT@ zN0k|sA)G_0e^@%il%swA9M{lae|{EA__^IinDn&p!n#k>wja&zyT@wC*Yl1!{YL83 z{w-?&$Zk~ed;meN_p9ZQ;svwFseV|ed8sX3LmuAUHjw{}%xbqq_TUC7~f%W;6q5mxJb*U<5o;SHSS&2IP&{!;4ZEh@|jfOtL4;Jj%nN<8DdNbL$+en-FULfCu9`gV30 z=1jWngw}iYQ`n0CyQ}x|o!6x6Ck5x>)vnX9I~bNipcOYstvd{z9`BG}g;YS;^t)R#!yk7pMBDBK@(z3ftIThA zJVs*6nLKgq9%kQrrf~1X%73LWn|um)|Ew;o^I223*TZhc0~6%nuieclLMhobqRQ$0tfWXhi%%q_kU^^`oiKV+$8JJ~Hjd}-A zm;MssFh%&b=lgc71an*O2041y@VJJ3_x|z`41zgt1yK}(Yrg!1Fxj{&_Ig|-~-kM4!OucMY; zj`@GH%l*GU`d~Qz#kDYbW9IR#TJc{X^<15K*!}mAYx(qz=ikVd-_G{mgwwy3A8(F6 zeBGjXX^8(?-*9m%`|8#YeJHqqlL#x5Rh2H5!jQy>r|~MHcKpEuL;O;pn@rzUL;ZZ>r}Nu zHJScdRpmsg2;g#eQ2F~jwpyF(D^ta%;qf8^&$K0a59*B;fCxpcEsr^<{FBblLp@dM zjXwPiho$zG!i_k_;5TG6{WOQgQPphZ8inVE!*LCw87jXA*1aJNJl8A6bmZtJxDUZs zbUvK>^9YAxJ=t!KvP+(S%iy3o9_ur;rd6cu6Qx>vKHT;{5E%_VwE{UUUF{_CLQPf~6c+7jr2B zq&c8AsS5s7!N<@)zmL&94wkgiL^s?YH@{*~bMD&U{`|FSaQ6Efwj)hp8-*-#+_yqw z5)WQ-XV*xXG$lT!k(8jBA1Rv=pA8NRVJ3TW+sh$iv1}|8dG*QK>p|{F-MYEWJI{hqFaIcm7TEK<>Yxm>UO5(V zU~8zR6dpR4EL8{JXZcu?DsDpE{>fQnT1tL_PKb=uc+A*+?BE{L9!K#A_>ydYy5<-n z!{v>i)n&W|^MM39XHC@O(T6Bs%{J}&(?3zq3a86s*B&E=wbqS;#52wdp{`{|D4Nvg z1pVHhF>I0f(tGFnhhXA)G2Is9zQ9q8cSw?LEX!dx&r&mFbXrL8_6}x8G@YC*pzCgo z<+I@ZME;-i{0jd(mdiW?f5ROuy^(j`$vf#{th%>HkE_Beg9Q!rIHTNr}vO`JUR|{3TP4 z;M6b=GjXwX*uOqa(nOSGvVBFS<2qFs6Q_*A=Jes69;^oyqy% zsm9(6m6@beU?vQlXYXF^`w6!(j<`)+-P<@+o7lCFfFXQpuKE z%l#K)_xxN}*syziCk^(FZ6}T0*l5t$wr$(C)!4ReyGa@~wyk!*d7gL9FK6b=oWEhO znZ0J+_viY$>_KPBLep}bvkI3?BIc;IRN`EpVnxcKRbCXC&WMKggenVsvyv8ep_{}wB-UhG$Oq5bi^gej)Pe)*@?;ivh)>*CnBy}s5 zRiKCLVawb)d!kNcr|qN0FI*m0C{HFW`7U?!+b;B}q<)zAjoz9!HNTZy>R{8rm~JCu zvAT7C;1XY&CKsihqik@*!tuRGCv!F>wa}Mw5zwv{grq{JTPWj64!Z$=)zOeBP{iEj1G@_Q;J>e>meLDRw(QRA@gg2~z>Gr@u)cqGN zhTuSSgn1}BuKI0;Y$AWq?y1zvFo#Q>+iSK8jJw@vI&@|69sc^~$Bx!R&)eYRk%d-P z&k4kL1`Bn}{a?-2QAxk|LngAe2=pDs@Wk^ZQ+#kORvMZ~DV-9f>36QOsHVBTuxh{3 z&U1IYuqo$8q>=}l;=99+=`gauURg2CM3znS34F`?F})SqnmPYxiZ#jH>$rxi#MAR* z*Fs+uQnD{?N;en9hS*&3ZU!`Ldgolo0@z{ywqAV7z*e?VVTH@fxs(;x;>Yi+cOLSV zfavPtxMF>zT&A_~m*utq^kK||>aaGM%bvO#F^|XF)ibhvUHQtVW6(D`KfmSF&;*__ zQ4+m?)GlS}I<`Q^H?JSTwL z#o1xa*waY<7ZIYQ7vW0fU3+hGwkcQm=e50b;vdYmc3bFNItBQS0h~2#3AF7Y93Ux> zK7eLufCjaBHvh1g+g(`W)RBEZrxb@tVa*}y+}eLLTM;Q`{M!41XKFo+lf=ZutUvI+ z)ZvW4p-_~Sgky)GXaD>0YnOzxr8KYoMQAm#b*R9BLoojZ5)0k$u{e7q=AP=wrN)`+ z+0PA`J9>*%?_ow(ks2maI!x26`QJ!q2$) zf1g9rc)tDE-m}SjwSa8- z?tqRYA>&{jpy5R7cc54eutFl9W_B#c_3lxB3pMBINaiEpr2u;k94$U4_6HL|x43!7EW6fRhGUlv?mimo|NTwe z3nD8V*yX~-fE3@6{GIjAP-x;?h$=!xn?y=HT0mTzUE87kwKk06Egf?a3#*q5A`2H7 zx=B-7$aJ&`qhthcwup9wLyuH+R8xpMSwM59YonS+az)1UkBq&Nj0#DAjwQYfVy)D3 zZ+JqR6py%ni!ydpK+M-sksvE#XZ*J2H{h{l2Y2Rsk(hI1mx!0Xf{kcaB|LR-2OeC;{7DAFN#x>cMdCpRcy1;%mD}QJp^~(doQM<>NlQ&zCIbbSXP64}L|RG?h(@m13ln?%cQ1IWUlmFjgZq@iNJW%F!nR?@Cgd8XDpIl<4Kl92v7x z8i|LHo0$>W9Z`rB3#Q3NP#;+lZCJFLDP~YuwvdUJQ<_f}f!2-4jVNufvh1Hs+!Z0P zbj>Wn4(vvaeu$fEUmOl-1iBIZzI)t310LH{u44T&c8c58q(7E18+NOu@+K;C^&5ef zq4I8}LM$awI6G9GKKAK6_N9a|I4i@6;jJO z5|yO>jv|b2Mdd$fqQF7z+j$(2Wgci|D!E7zG;8QDW$t)pJ|lGU3wLB1A|OP`Vx4bE zlj9`psKo!s+-;BAGpyV!&Vs?u!gue;;p`|1k{b6GjGg!uVnt&f8YLuz3_2Olg4J~Z ztsXJV>%{A*JgD|-y4z_yWQ9l0vA5MotXDaPTwr1tRUJ!t5=S9wcTNN-LlZ?9PL`%h zm?W|w7ZCxlwOm$tJmU_1=uRe@m=D>Rn^Yx6t)hSE zNV19L-i-yCO2rzN#p~BVM4P+}rJc&fuclE{r99<@jFlMwD8f65-Mo&>Maqf>sdDa4 z26T3^Xyu^|gbMRD%n^S0SI}17JhtBY5) zOVI_VSZCwWmj69#7q@;ugmYUXiO&jE9PT%h1fN5XR@BSUHk%!{X<3?vRRq|bSFWAa zi02M5tnu@hUmVh9tDVW~oP{t{_X?D;%`TJX%8Xo{chcq~4_fynl^+7EZJ$c|-OOjG zAyVHpIxqVm?p(Vv@wMxk{CAXPuMP!yGnsg%zDoC&P@DJ*C9+ZZ&EMH7jW1$jcE6 zR!2**IK&G{-q5+_l?SapJBV5)^V?9vT4o!aBV!`urGC4Af`B?wmu0NN&|c?$pT3tY z*K?k}z4vqmt9Ccdb^tG89H#WJ(zr+mjPjF!!GXmt$i=*s@@Si9bG6g(*w1i>h_)Yz?17m&r$WPRBfN$+F4`O1!WkPL2aBBV=ESu;$#w{YaEl4?a|)B zO)lfT2-KaQWjN%;qZ<>29`sF6b)C`qnwLFxX|0is-AWeIdzjRVlks6|oo6?rbzJqw zwmpiJ{hiYFj2YFxv>#8sXDvzBU@V7&Li_IzHGi_~0mqcpqm>X64#y{TPo4UYT1;P- z>?x5LVWgSA5MRGTY9*mnz}ky_AwK;wW(TUfNe*%ND}Dx-o(EIL{M_h(5X=lI8Und` zgE)5ssH#UCW0tzmxuLA5?j62c2Qy<)2O_JVg!tjDCpn-<*P~zsUX{`(&XiAyKy5J$ zU}~qoHI}30)i;m@qEiPBiCHv=pIUG+xB*z^k08rKm}bv#0Q?yzHn_CaLrF=+gz9u$XJHq-`-6 z^HZ;rkhfjm@~FH_R7C{N^>*g|k{j56yQa&oM~oPrt}X+*RaUBe zM+P)iQqm$kvwr(V5=B@n#J2Nx)p*@|2kyo};$&n`zlKzE{^sxe`{s0VJ@@2}l?!Y$ zWh6ALaL?W5?5GlQb!CT>1#aS{N=f!oUtehwP?w*%xK|@%;CycqLS_@jZWbnH6QODr zVPX^IY!(${`!3P^U7k%$y;)43P29X$+@4Lsy;;JaO)|V$GM?>6dh?GwHmR~^sX8|4 zwr1%*Hkq+znK?Gu)n?g0Y;woVa@TC~&&~2+HU-!g1!Q(b>=s30b|tD7B_?)d&K6}s zb`^;h6?t}5^%hlqb~W=BHG6h-_ZD@3c8%~Bjd*rVP8akPcGYhXT6OH&Z7te;>^fsD zI&=uYj)(M!=k!c(^UULPZi4Vyy~oZU2pAl2tK$@E3=*v#2sjeCy zgtte;b48}NN9J)wm9|2*LUs3Oic`R>4cc*vmlkhDGz0)!AEl{aapwyz%^A>{42)dOi=CH|s3m1Uik zbv#vVomG82)nlF2b38Sxoi%@WYL7c>uis*u0^{y^>cOumu)Gb}T@A#%-}87HnRuHx zyP5=fn{Ncm+zdc_2h*=74anCs-r%JE;T`~Edp?kNbq>N$Wg6cm8;6$%>We+fLtCxMs!e-n6M z!~ad-|Gz8a|0VFv70P)5x&I;XXZ=C|dabR=7P@(Ut)3`C=@rukX@jZ%QyDjX3hJP$ zl@#|8Smn+Y0I#WB-s?`}!JzZEh3NN**o^Qvp+LK7+n8ROxbS@QEX*y;f&2)S2ivA3f zrpm2MDHeoGJ$9Sz>H5BsSE~F;;B}Qr>(`}`e;)PxmB0BlF_o8RmAv;5;49)hCrGs| zvb#V<;+b~Pkl`jev-l^7<8Q-6016t_yz2`h^t8}?eR_cquHE=fxVtQxPRJKHwnaDfg&u$-xu1wy&=ww%!+v^@tRRxP zPZdjjYOL6rz=4+pJT$~~b1`)tCo{3aI?S|)GeQZS{1LhpqeI4tnM0%7I$>scbZQa@ z>+19;RoqkaK-Fb*;*dBlqoOPq6e==L71?5WQY?uJV@{GrA9YNf?KXKTl#6!&jNeeS zI#UicIio4dYJ>~Of*t_Foe3oummgHLvmS<5R(qYD*VT!KfHLD^Jhf`a@mj{~rdhL5 ztMk9oT`E*?SlgBnaPwTY3NmW6w_X zPVz+VPRA3JWifY?wBgftQw&2ozsK3M(@rS4j;rry`ObCj=eSfi?&rVHAv`R&{8f8c zxn5RLuZfJ4H}_T2i`MuY{V}j+c>3Y#g81~?;=U`H72Js%a zE}Z##3~76L#p!UCaz~E}f|Fn)ghjMG)EZ<#I z`7J{K$aqKtP4BoU-dB7&7`fAZpPbk$>Atj?EzGuKBAOu0o&Uix1kp)>@UPOhJ`m9* z>*3jQJw{Op+!HA>f{gwf+hFhBz_sVqZT?aJ9^UVMGmb2c5D4&|@JFaZ2pNqY!ABYI z@iMc$D@2?Jcn>`r$Bu@V-6sFbkG)=?(=5wYMFBMaQML-ABTpQcAvAWm;3ejFUt-Hb zsE(pR8YNU7b&5i~b7P*%;eu$g2O~+TH5j6-1qQ)oJRdu@JVJg{PDg};Cn+O7-fc$) z&uJ|Z$l)=8b<_~45aU}JBfdl7oA_{*XpC<(j56#=0%=QRdUn(kj9N(vqs~SjDosCn ze(WXZ`~32B`0_(|9W91iC-|$_#6&|gnq@Q}x?>p4H06R6ccM!kYr1Eca-oxFWeNs# z36O1-r9w3~QYnrPy+Sc9DRak$`0IkXgqo7FiL3B*MtA588)`9zCf_u}spK45;dgI7 zHght%Ffer;OVv-SBvoM!$6U@8=UlGuU!TujhRI>VvU=E53Ll_q%`zjDV@XW8IN@ef zyA5L!xT(;**NEN~4>$qPE209Vz*xWgY^KN~@I~VfC^0t1jOkP2r(c!!(AK0le<5+h zq?Utwn^X2vXdZ~PmH=-KKZl({RLVXHywszx^@U8G4<3EsY?OS`jv}eSm|{_uD#@@h z8D5H%QhRelg>7t%eW6r!=lWx<$s|TdziXmGxg~ls@H@_Almd5QQhFfEtaf&1_D>Pl z2A;!J!K(eGnPqDO^u%HOC@qbqGbf6d%?h@6qe#s`RWHBHDizYIrAV#ljNjGNc?7I* z(%}Bx@}E6a5TA8$yIi+YyR8axNOP?Pyyy1u5ows3M-iic(gqihsXZr;v@=-)O>3rk zcS2-i-|8`={76si)qgDQ28oAF$lAvP6c|ow;pJx@tGti#x4gIyQ1njd?S8HI5*jr! z{WZE|dN15uY+Yz86uU7+KiXF6hv`J0!Vwh+jNIsC>v}j~#P7`ryWUozO{Tu`*k4ck z!)4U=oJbqwPmZ?$2{eh4S_?8HXbf#u>1$H~h7l@B-mQyu^AIx2t-eyRMoyrP=pG;b zV=jHROI4i0 z3@GRLVj5>M*cja?MNlj!m=2=3<)oRE$L|J_Jr1@onNb?(A~%__HmqsL&X%eb$sD@* z%36Us)TydBj^(`HmU4-XZ$5Y}+GK)M$o0;&C)Kiv*gLc17}W}Qv9xC;5hhu>T;{ME zPX~h5=cZIZPm;Qo#L*tzY?xOK$`>0PLx|txOPyx9RM|aFJ1x5zq4FHH)tWi(DNgR0 z1JeI)nDA=#&`~xTA(1v`6iAz=^>Qo_6vDE&BsRUwa+>q6?<%#GNL9dGX_4@oE!1WP z`!2aq(vsU(9saiX@|x{PKYf`#3f15S;n7d*brnQj>H=WK9}0i63rCm5C7)4p)9 zThB2dzy8YWHSe`g_j&DeSn%in%(X= z!f+*%hJaaYt9UW{BW7GAp(0zDv)K`vjI%1!X4h{CiYacurIgbcCtc|Mk5%(!#ZdDZ z4Q{1SM65{LiO+t8>hUV6?8_jwz(Iy*=H@T)HbeTJOBw8uuTEI(>GGG$Y;EuV%oeW& zdk?S2#bb?crQR0Nt5D-KJSZu4TYhK^KGxg!To~qoNUJF%&iHQ8)rBL?50*Qj3uK9g@?6IjRhdaPp2;I&UwuA{! zSTK)US1_Ezr1Kjy?jOhUFmKw8<$N97RwIp;DrIj9bM9Je_s}UM2yO20dJ68h?)GYd z{D&r(>ga(QO-2Rg)a))qr3#?Z`al8=P>g|sB>*OZ1Yzhi$=nZg=@-%ogE1L!ucX9E zLjiUd`(Tw5O@7MiPlR0$&({v$HXqDq0rzRp>=Iyfc3?hzwOzffhdP#*1PtR#kZRyJ z0KkhpjJ|XLlv5upv=%D#65I&@8U(1_l)2ln*o>`W2Bi8BQH5e<5PZVq83%a5lTbHc zNGAZ6WtHFZ#@C!HSSRos>slD5N^k%PFsPqA&Dh(;BRmd_6Ovf38NeKw41~#6^|w{@ z4{G(74+PnaYhXnHGf5CX?R8B)FrEayecmnhB_e(euD%_ih6J%u0hGKPPG62Cb|{GS zEAm9uFS!vmJ^|ED0$;oa_uC<$_9RMh4ek>*cL%_=O8RJ%`go5;^O>U`w7I4TZmQomap6@rHcd@Ue){?lVKBTnzY zot=cX0RY_&AU7c?ds6X#Y8aat^jKK#B#c-uT&?@_p1yXST(-;*R3I!Gv$1kMo` zvDP8gVe(wa%uLIs7KP7P>NHHVhz!|&r1};`JMMN?)X(Dy+1pXfvVr_q@ zZaI+QH-8{R=pJ?!PXlaieq!6|C)kc@49Kd$jT;q$`%DbC=ciJ2!1o#WN}pn{yT`Ib zW`7e-2fVszbz}{l#*aI|e&Xu>Pp}QXfunl;DuqON1N}09rn9s~_lo1DEkT^pjS9ZV9Biq_t$iSe@p6D}W7E$O26u7Lq_P&m)ct z!6j@{~JTJ)fKAX*gMXMh=n8Mgce$jhAa zPXoSJ0mK3K1*QH=j6xywY4G3<2snvva--PxT6lQF#cMYCaQF`me;{C+&NUKW=mp=w(y6#La`or*wag<9SOU^NJ! zGl6jX+pRXCFu(zna|4V30D+bH=dZ=T;n4gYK=}@d+gd0y`B}oAu!mmtHT5NDaIq>A zE_DgHT3m>I{h%0ynxEV-+e^9cQK&%%Ab-4iXo%PfOE_5VTF`l1OFujePP)qksIVWt zcpfg*6NY81Y8h-{AJf@DxZAjdl0rM>0>grkP*MA7lwrEQ%mTh>oW{4TXUuD)FF9ll zfM7e|us7UWo=ScHlr#}4CcAw;Y(L7!7jotGZGE|KouQ8uo z{kaT({kckKs^O&Xs`0g$F=BC|PP zgLWqrcp*dT*kc>6jZzZSaprq>LeP5Zx%Q4?+SL3nBSj1o)Q!@6l--x04szc~+E^v# ze(weCem?L(11B5@@)XmMc=2$uAL*IXt=A>FEx>uUMdx_x?9& z&?$||fcs!@3yP+-{jaG(tdGHm^cDt!42EiBYMCL6jzPl!)B*FM?b5dDW)4P{L_d@w zE+9||(4zql<1pVzhLA8wQbXx8MAJR=jeh9cG(QjDh`z&!PWPY=R)+TGkk-ctyU*aZ z_^3(7sIJe@ulG^qm{_+ajvl(->3$- zYn=OHNRQ9QhG1f`YZQH<%4}^U$)_beQwyMwEPpeRPcT`?H(5xJ3T-3FZi?%zpb{}X z8AH+HkbneGer4ZUW>Esd zaCnN^t? zEZ-Sk$Im=GB;q^(V}5~XYk`<>k@W8ZCBq^S0}2KJK-aTKf4Ru`3DW^k!C()+laKM} z?(t7lPYa3_u}-ZuNJbIiT#F){VMmO?F;p;|(KOfr3RfhFX@f4QpzR#G^b~+~Le1?8 z%^m6;pzhiKQ2(9PO4&vCtyOw{6o$X+jWvt3H&EOL^WQipU>2%UKBg>VmN=^-vpoFQ zvUr37AftY6Ms5KjW;SOL*ZgYGJr#he29W+Un-l+q|LZeb+u)fkU_JoIynVpG4IKc0 zPS`%Pg%n~|d)0`*-i6h{_^kmCEL3QvI~}O5hQX6UNdzG_-T<4pRr2UpDQtJ_x7Mrq zS0NVwkfdvCHJkAD5Usi^4}`y$v`5YIVf1Ept@?)}&UTd%HXlAuXB(8qYPQc}w-0r< z_x^4%3#@V7!a`R=uJEr0G3;*j>@yQ>GtBNC*X%*}uU#Yl8R7ebEvIrf)!e2%^}Pg` zztfiVBQrk#kG=w|yul94_JY>zp&rqy0nu92UjV<{Hl5sV+vP!fO<`AT!>?@EsCl?m zA-GRp-$)WY>rhc#kH8`w0-78hGPm$@+&uZYE%a|+0F1Q1*|UXAvd;;@x7>3W_;(Yn zcMDGFi2vUn1JQxV?DmyxMCm$?m7KFdKI~o;e7Qn{3PDg12};ETeCf{ds3^1s<7raw zdVB6x2IIEb?4CvKER3yxUk%XZ3SsRtOz(jB8KZY)M4Zh-yM3+^z^~^ zPuLTg-DCK-7v*;vb49#V14$6Ok1BAq(Q~zXwSVZlEmXTlsQ|qcJ4qHgW(&B`Bk0nZ z82IvUEHwZw*)o%cXT((j#>w_vKletD@szt45UY0t><5_Z?OHSXr|Y1UTwP2sB96x) z{wBGcNKeh^RgN1CBl2kiANbyF#hmPpdt->OBqBJAr1t zuK(iuzKoObbK|`RCM`0H?)CcZ2qqyR=O6G~>g87p(qh}yswVQ{@1FasS%4t;yvXks zh&X2F03xWnAj?Cn*+Ezoy0ZsAP3avQ|M7*m;11lmJ41Xzm)~ZsJGr#$DxB(AEd3-c3R~QTX$nHds901 zcshG;W_M!b|60|1W?2o)2|!#-xFEH^SR}cev%9m8znJ};q#=IiMjZB#KcPdq7eu=H z=6|}*zyFf}I3IJLQoFX*bC1?{ih=wf3f|uS2kYS#crffg)X?>iBM4KwNT~5-Z0qx_f?<)dY-T!z=;mRCgWpW%lOZ5s%;A~Kf1pDr@X2Y;mT0Fl zDyP$kWzmBI>`SDUJZKt|&6xDr^*ck@d=#ep*;I1*elxe+9l~UMQ{I~HI9n+Y9lPrO zfj$sM#f?O6HnUn{EM8o1>I_sQ1B;ulGG4WAp~hs7#%X6a!{^5@3d$=GluxXfX*KhX zMIpXpUb|lWP_{d+Wt~fh!DuWUXJHqMs@_+&;h)m6My3nKX<9?onTH6@LIokYEW6=mfIKBm)C6=A{fn zUvoc5t7)Pq?WRgPzaa^wz$HaTVJM6TLJ)qw_rVfO^2N^-tnppT5@Q$$&E6AmL4MYb z5|$vT1~6QNAez3h#=(tQfG4PD7&w@#R1{HL<>gBHpxw4P#YUC4;3t zOb3nBK;logFJLM0Ybm_C{eh$IYA>QF)^I{7IF@rSA{tJ;L}ND$-^rsb!lLML09HLZ ze|5_fK1f}Q1L6cCz_aM9hl0o#HakPIu8>CwXxJ=_MkiwOrv~U5SJfdL2ao<~3?nY1 zU}ztUB^g+UabdpXsTgEfz+hv+47cGGGAt8GFU~+ZK{RR+ZpkV2n5oyHYL;aH^bd2A zc!t_>{?Y4n` ze+k2O{SxQeC50#Gvg!XuIZ^&olh=E%*;#V;4?%ILx}Jx60`|EFb{Y1LHz@7{+S|8Y zXeY;b>yhzhqUlEAoWTrOub0dh$-Ih=pQB1XF5bEL1c#WZyMThgZ8G?}Po9xHXI~hKfdnCQ;aZ<$S0| zwLW||>HWoABRiuQH5JYG}kt&~6fsRmVv?Q0S;5>MyyFtAfGraAaQ8u4~ z7`tI5+}81s_6$loQhr$(&v|2FUz%RQpebbk_rx|ejXvojJd%sExhdk~4LYzPu0`#MH&eC4f$aA;k~Tf!G7(n8)6I)R3wt|qzL5;4er%uw{zwVy2BOs9w6&p&Tvsx5nt>lCY8W>7m) zhJY~`O-j^eG-oHxim*1BN0DBi*WeP7A|z<(uaT;z4S1lH{Bx=-b?N3WP8iEUqDX>- z=<3q{*c%hrrL1?u)`mW>Vr}YV8w*!y$3hCBwu}SKe!g!`dWm9fjE8+&zWKdR_AJ&! zj>aVGq18$>U(?NB2nh7nd%#P}UIh)>fJz9tg*ZYa5J)|ttvQN6zV*ES+LG5d3V!^@ z2LF4+-U-u5>evdiDTSfzyjoff(%M~kQ+8tg#e4T3WL+s5Os)<~j3Fa5X`PoW7Ktd@ zy1|Nji`GR&s9??-R=PYqs(^yY9|=u@Cf0!k(-QkMapQJM(_ClVz3A7f-O$2}7ICnE z(a$Bj++mKdi;)Fb25&$hh`e~P~`q#AoV;K48l`M z{LBZ5)~uDg*|k(%uLmn)OXaniHl=z$+1N)q*?s$*->T8Iwb7Q{_&v)3Fw0M|565?j zLTbJpze)UU@>q191|yL(kl1FH?j3Z;ULHuO|DKlZotpF1@^|LaU*B8$^M(XC5C19r zI;1r(P`pJ|eeJ?R`h6Bq){a1no5`&Oam4a#moJG(2Jalah;yLC@13t4t_QpS zJO`m6?w#reP9&}mnf9S8ayVqpb?fd{;H5RxiEO42uZ7{&wjZ?d>d@lBa$Za6dRLHi z?E|*F{T#+f zuEw|dq)Ro88FiHZ-IjqrhAV$RftLmyi7DUOCf+y5Z(- z202_LAiZM^rllVDkp%CngonC*74eHGiI{{;nJ#mgcXxw31L=l4;1wYdGvWNI$7@KU zN{1!WHbFT;KPq*^^sAep2Bg{v+J|@9lFd@)(&c0N~I-`hJ-` zP*{HEVE}GRp~?qwt{U`7)bkvEjG9a@O^eUv2k1h5fjgWI%7=VV=~JSQfZ>Y5gATxl z4tPwFL%Ljm)k$F3k^QsGRe~;qHpF=k1)$vtBA`aDc0k5hiz4pFsFRGYRtTW^8rA#) zf%Y4@NfHxw97I(Baxw^D+>s~Vnr|wQ1Lrr-vOO-W;#5&IL}K*ELplH$T?2BtkQ;Xv z>$y@N%axuD;)ye&o?kL5ER-aCme^{9a7GkRI>xFRI5Pn|DA^Cqi0k{_5}ym{|A)i^DmhutE{r zm*%}psyjOtG7W1B4^_YH_;nQt5hQy!71#v9h{KKr0^I}>O|sx_ED&-i5@l%O69f?P zOF??pD5Q7I8~LsoL$6E)uZ7F1ft@aKX_?nn-&Xy5(*5~^f^_S6-`9c^f??Ytw z{0_Gr%hXj%A73kQ%?F4Q57KJh%dCrkB}}!|Dl>%uB&dw}On&~_9vAK9{0&o3+HHSj zFEo^le`G+UYH?L-6|xudLk1KbYL&3lmi|>8Ak-OT&|!>(i0;v78`d@mN*BY+5Z~Kq zIaIGh)SkMO1)#*1x@fw&s$*)1^{K90E-bgT{JuDmJwu;|YuL!wrOcHgsy>7WWhhE! zkHV+c*__dx{<_$7&(Wc~0iM^UD-)qWJ=5;p`IXY6Gj)ib)}quH5cdXLYDv(8Gzg%S zMM&t@-P+O{;NOIVD*R=t%k`xWjjR?nD|@0wQ2$Wx>2cfRr)H6r?(SFpj$4RmR=t;4 z{jWX3Plwwb1!?J;fz9nrN)3SEAAkheq!;G&hhKu1m-<_-`c<3w5vTKAgnH;`1@B^7 zJG%P7SzXZ8&d5*ww~_2e=S}?nKhKz3X5P!lE4rlAK`O5JW4M|Rfw;YhIAoH4!Vnj+ zVGPUJQ>h-4x} zWFpLHB0_n9t!qf-w{Ttfhe6ShO6`xN$^JkKH8pxIqTPBo}7)O_@RMp&bJsz_#PSQ{j{Itpo~ zO~!S~Y3c$*W`=gAjFt=fW+s}wbdKz1+J0u{lqR|>2IV59WH+YFPuR9$27OR6WM7YH zYfV4z;ntWO(fxzOr#`mb-V%%x7aTQjNIkNQJ1m|;k`zC*sWlI3H9_xPFABhxZPoRn zJP{g&7yP#+A7%=s7;QpXGB%Sl_3|_G@dLTS$PBBR1di@m!C1u1S`-B=#BQ4f>lxX5 zu|AlZBfFg#x*dv9TDq?^CFh#;WgMp>nb{ZZ6^)yxM_43^Tju;b{;FkGoV$+mVrhQV z7@`J8YO$9MW0p00CW>UWjCowEt3z1K>nMG+y>5A6dg8QVmThNMiD-?qd>V?xtwUr| zF&kI;WX0_^)vRV+($!5Fab6rJVCOBa-pny!de-!>uIK2)DA%GaZP>2KOl#DvL(j&r zmUr0exD*Sg9Of*a@l1fx3czeNX?MJH-x+zyG1S{lD1PDC%lCOhY$^5R!`G&*wmpa4 zwBK)`!|w##$*5FCWLX_&YmsZ)Pc*)f`#nL<%!)oeM05@L_>>SE`3Snli~?xJ_) za`CezVt069ca?ER?-V3O(~U%&sUS@Sf3RK@AQ~!+fX2f~Nbj z9?3lO>FRCPd~>ul_Px&D_;Lr!E|2J@McnG(${w_OwbOO99wvG(5Qy-{0rA=aDc!Cp z-w2i177g2Rz4uH4v;R5w#&*MYo5%qY`CPH}2AG)ON>9qCA@!$G%$obV1JZ*rZa4UCEA$RwzH3|6UbT*Fi&z-#NA!(`; z>Xjv!>G_6@>23kbk<;FpYgIEd&cU1A`BBc2uFU9xZUDS~$!KxIj_iWWIpvPdRmbqKcS#JEg%INncqpfN1_-6YF@jV zuR?BYtB999njgEygg&Yf-zgwVl``A-=sGwcUr`ac88SVS_aPOSJ;5TlyTOVhT)MdF z-#Bu*d%@lsGg%o++${*)dcZz2Mk#7uxI0qiP%7MeQ9a4{IOH;3+aSC6)VZkJKY_pf zdEf|rE=@Z&;Pi;4a<}Dth`qj%$@2*KoWd2nPp5uiZ@UPQw+}>q&c}L+5BKzyh%!xo zNh9`P%)h73d$LM@))##7!nPG{%@TW)17*{O5_+#B(>yC8O_6 zSkR4>>elr698l(=+vYLyXc5QcjmGTVEch;(XO!J{Ly6;AT6Zfy=9Y^6xQ16x6CcNBzA=@I{39X;l7zJN$jn-YbkBE=B!gWX=ao(xY8g zu>0CmHC~^wKCm&~vzhbn5^O-$oaa2UuLaoskYTGHGo#4v@2Z5)%-Bbdx-VD+`|T^T z&qf}LLagr|thN=h-!8VFB%AMY*~1>yihbF~zW?YZ@*7Iq^XH-KslQ8!|35=SkIA;f zvp?^JW7i^r5Ie}=tLJ~(M`ypU124;-{!P6enSVs^Z=J0A73V!K!G0#iq0k5{>PZ67 zLGY|9lJ%hU2yIHGYKvPVF#ul0@X1Ny$XEi2L{v<{EyZLCp1tJo$=zXEtd3Dgx#d0O z?B{6c-FHt&Bk2qgs$3JLB#Ol%LT^^+d1LD380u^U8_7M|m1?afN`liC8hL!JLL@QV z#8TBDtE$EtZf4Se7E(EmVziVCX@Ggp-R1c+-C7F$?I5408r9w~`xkH(loVIpHYFig z>E9I2;Zj#TP3eJ%>-oUEf{lMBHX4)q5^9sMna3~B>^lln#C^UQ6O-72C32*Nj#372}xQ6 zP21OWYB{LV6jwj)PqS+zneTbpV!4z|mQ+rqcvSFg?v6gFNto!y<5iYv)(LB*VSzSE zS;#5dc4Fo$@J3TyAeBi~AZ=E8T1KVVSt*hNi9%F>n(2Cyr#0HCrKlIwX>CdD_DE-z zc4W39QU(b}P&Sw)hFMp*@={f|pj25@zmjQXV(Mpz-vBcWw7G3wjFDuAnT&YrS=$Wv zLQ1dDcGq^h>FOlYQH>Pseowz)Z@yLo7eWR)iFOsnt+Oqu2V|`Y5}? z(q@$~Sub~i;AN9rPOn^#-Xx#%MDbqN$|NIOpnaN`coq}1#WB+Ef!~wG*-LXwnBIZE ze^_xE2=3-SME!Z=c{1{uU`5Nm-}c@FKlW5#E-Y<3HwWrM^A=SV=yu-{P-{K>cGH{d z9yZVw^C&|`oBR7yN1_og?! z88Cd0nnK!x1onfBO02oR#T=t}@IKQBdy09I09()oQ3kC8saaEDDq!$}ai9Vs(F`EC z#p^JnX4EJTlJ~_udI)(ELe&+2A#WvPzJpG=&x>}qxiUHlqUs~bzi%NrYGC{&UGSFs zuIf(fk$^)v!8}q~*e~AJ52Lpb&Qm<~MG*~>@ybF?qI&O^2S<$ctUgYG&CoL+cC;sz zg`r84Jm!YF3*lUSnA~eh~dlQ@1O>tW~1o55nE;xqIINFa| zDqMzDoKF)Hv+AXOWr9*5VVZ!1UxP^GN)a4`Eu%>I_e4~p6)6piBJ+)zW}4F~DLIJ# zC!=!(CMi+^U0=*nQdp$W&wi=^;bM4v8g6OJ#<{fq??+*S6=IzjQ=xTPIz+rjXs=bS^>7(P7Ivse64C98&FBy(Jth}$nNR#KWX`jwFAP(;eH zkC=Gq^IynDcYJR|x~z+H-PKvHEH-t_uTB40l@xVT2-%)#9Dbl=+t9*{8EB?rCA5)6 zjn){MWiK~;-=lR5&sq^LZOr8-Gu!Xvz)E?@{@HW+CS)zNfOP2|c~EVr>aDS|hnZVv zD%BCx^nHO=y=AfMYTM&|HUxm(CY4j=9L>w3S=rR7Z~8gT5Y4i`xbm&_vX=QeOYds% z*;&!{>d$bMW-8BYx1Jc2IBwVW?P6=|zZ&aNyDxfgL|kP6jtVc&(QOtqH~0x#2cw}* zjkdFNmZlMFZNc!}pLPi>xC#znXIws`dOVEo@&ohi1Gqi-x|acC-`fD$55pKE*5}VDA0Sz z7OOnnJZj|)<1@z+ve{MF=jkWdX1heFV4e1oHzmkm^J~A@REWnDtiheG{2$Kl!YPih zUHJ6iI=H*Ly99z;aCdiicY?dSJHg#8xD(vnT>>NlX6HR;zi+qd)b3X8zc4l3)!oni zyRRm)8-2B&&DH+)QB8#-^dtPO-3$s$5>UPv{$8{2)|hk0K;3OoiTiMEd;8ul;rVZB z*3C7;)z&8=2mdRe6aESZy(D}?3LmSw!d-{#^Iok6j)qxZ`}XAO_;mt5oqg6isSyePtobw(RBL5k zYU;L+K)IQIr6riO+;fdus`mtc=iaF54KDv#|2iG_aZZDCm9jYZTyfMiY_4^?b;aae zHHY7pHrliG%JOHhmjAIYf-S*D(HlepdYNk+d(MLU>ea3Uv%p>O<+7plaLMR%>>J$e zR3?%9G$rwXe&ol9PJZ!Lso?K^+SLP%TyHtbwtoDtfP10a&$ z>977*7D2CnDGHx{obf!dJG~$A_N(XJaNPWG`nY=){--g<|2m0^gPd1XjWPRgkN3;x z?bYYQo7UG$`aRe1LMI2KzdEQT2>U+h#{2Xk7a>MU@Od@&T5@<~FA)332BcRjB=6iOIRr6Y6}MKAp``Lw3T^qcJTSXLrs$HU z#4iVy3dz)lrdET+laj^c0!B;>NfZpx2W_VGIVOXn1rXpltN0Se2zkbebh+wD@?qm! z?IC6qS)9Sc=}8JsMN00B<>u#-o~CVtd=mx~vqg)NFj+J11T*et6W)>$7$O4x`XfGq zWGV~_x@I%}k`gv4vf2p{rSM!S|7t03%#L>Okz%x&u;P(0#UUKZu}HTWv6x}*4Tacg zsRDpN@eUI(5GDZGzSB3sJ$;y{&~|M_E;iETdSG6Km0_K!BVQ7LIy*h1MI|W(qPvTX!mDU z4jJH>E5qc)%6sRH!>BL9q^Omho*!7YVuwpfQQC)w<7^MQDHC&ohn<($jX+n)SrS^V>?Jy%K2M)Fk}uGZ)hN@I?!0kx}MQ{Mo4f~ z+E~y3!M5@$P;fMzb;-$boh$VFJmmRRqOcM6y*bODW7K=$EM^BFfhFobbmU1;6@7gs zRg>@em)48LGL$0Ldoz5u>%5}T%FK2|;n31)=fe*+`~npO9B4lE1UZ{&mfe(2^mK*3 zS&Dy7*4`*R6!%w{zM0|CMQB=YJSe0N@064j6duwGz}6TRpvmn9H~&$W0KdRN&Zav`Ayhb7(hooAwrmLS3(0$Q@ zXw>QmstFpt3NE>_+cY!TWbFU6BNMCk*evP8ARUye>>oQrh`9`Jy&4j>znrx5{6#bJ z*DPc6vKxmfRg-Dl_p+CTbja6eT!6L#V|$|DIyUec5W%EeTw9>?LqV8s9JywC_1g5% zI{Kw@Oto}YifZQ34(+9OL2<9MV0!MccEMD1`0=bw^>9JhLHG1pl*8&5OWpFAeV16> zDupGJ;`y=|O=fZJuTOivsajb_=FQt<;2X68g$^nk1g5vOdJMsbii8D<1CBOxu4cKd z#vpZ;pedEGumjG$b*UyHm#R#rAt0Ur zbUFI_s)FL&8Ii7>gr(P1rr33Ge@y9U^Mj__2BM2#m&kz8qcvCjCz z;-KWrC#U|Qq`sruCdxf&={RjB10Uhq;iSf@#kQ{c0&#vaFL_rTZSYomTOKYena=|4z=_WqKZVpaeuU2U^dXH6A1 zY-7D`m1m#rZ;D2!JA+*uh^M*B5aIh+o)G9r=2+WC7%w(6J|-x?#(K{y*w{vdLN>(8 zM#Kg-q>e_U0XF3EM&x-m;94Vaj}7Il5#^2z^|kT;MHy$ul5WCMV#n5M!Zu>Zv1-C` zV#oDr!VO}_i)_M6WXJz+WxTS9pn;vRqls{UooKv?Xr7&Tt%-P#o#d>EmbBm79p2tjScL1WcS__K+m z*A250BuW4P5KgpUltKvKaejSm`3m9`fouIA3H&ooVTkyDC-AQ>4B#PBbuKi&Ap+}X zq@YmgNG{H$7MTt<{AJF<{t%%|E_*}w#xXa-##Y3RA)#q5#MBVnjsH&I-3hN+l>YxE z@R@Boh1|N8ZT};IZ!_5AHau%HyyG@{Z8HLK8^g65qw<*GwwsW0%aXR6vhtYmwwrzB zF_&&PSK_hIYPZOZV4xFMGv@+8gT&dic^Lh9%%XTKD51>UL$UN<orw*RSKhl<^)H-Vxq_wGNqS2pc6Y5-u2Ycu^z@D5_uxi8Xh_ zt!C?XGBW2O{6>fn+&6|ElQ5)q-%1i!ao#X3FX^q02&ey@z+p^n=!{$Ai{E>TJL`Pk1_&#>ysaN^JO>dFk_&x-8Ix+7-53iELLDXj06a~0-M>Ei+B z)74*jlzB1Yx^(~XdL8+AT=BaNh@swhseR#PcoQiqgf3$2D8&8iHqQ@0?k?ed6^;s% zqWW9>mA6>$wfwFt->4}Ut{M35i_Js;r_eN{tr>E^#9yvzcv1U^x0o=AQzY` zW^?)6{ufamhDa>eTD4e8@k(Ye)mpt&sa*QMiE_w=(zYLK4N_g75Z~HsH?jiW^9-ij znI{~R9<|-Sb=2?lct2eRWZ5}=(`|>I+sRsOIEaZ9r7+cSw%iko{CwLeZ8bS)&0?qB zox!&NuTV#U$TFwbY5-3?1Z;BAyPkw)n~lS=b++7W5uh?RKSyKN8h2@z6DamB(@KZX zVW!RY^532_l1Dh=@b z`PVL9j$2=&Rj+XelVv~~IiX<`@J8*8M-?B}T!!9UBZ zL3gj9gbn1^%X07YObN~D~Uznnu^aduClW9*St(A#85efcPf;@ zn`SDkZ$`|EOavmb{D7h*_(uzx_Y!aw- z86#>~Z5rzgY}cKjO0;jDptHKt?ZD|kRw2oAyndMBSkrf%qTQ=)8BZ;{ESnbLJeDSB zcd~z8BuhNzOcdpfUm%g7Waj=w#ocohqiEHqPbR5!!!4U3^HRQQ4y8OnWmp+Nvd-|S z@44zz)EE8JZB5~I$8&zReO-P4MEqv0f=DXdDXNm;Sv@MpVMz>#CqunJvcw68GiS*Me^8 zdkyrx?gz0ZQI#eeeZC#r z4NUy1(G5~RgNYx_Q)i&bwEB2EDDTN^U}_i&CGN zJ}fipwMRI4b(z#r1QI}IYNV9FBNefFDT5XQPSp^6#(HrQ%{uLu&uG;|F))C#6eVfc zOpT_Fc$xv-ig41Fm>ln4_Kk;cl7#<>Ng}s`&!w!?yZR){QsPifWI|ppFqO%MfHuXE z>YGOKQXDhH0p)x!Xv(r*jWH|jESji|!>__Eg6E<1D=0eMd8%3hEuczbzKlg7%}vz_ zj~dP6m!cC#D?`pyibVMD1wx>?n__n*{d{mL*~^m-sYgta`_ovms+}S%Jq%5THYvZg zJMc@g39ku(8icK_@maS`{)eVXL8SJ$SZ)A|cET#4d0btW(0 zbsxN&QNycr?C>$Pj_a9fI{V7a7K62v94lI@XOYKRzqKU#U`s;&LH0k`+RfYW%JS28 z^v?gLvGe%cd%mM=*{x~RhTqxuJeoa0m8`;fS&ZhS4CP&YzAjC(+Inlh7>t_N4qYlU zgyJVdLiIi@S42Uuh!#Qne6{@mi7ubWppub~!o=h!=#3irE>4K?ouMoW?w~U6 z2IJ(pA{;cR{@IxR5Ml9`V+4bW=OMGy1zG9+t*Aoc2R9!tWu@5XL zki=)qEUO)b91eb@bT2z7D%*RHUuu}~yKQ?wN8j8>3HgPh%4pIGf5iUm&GH?)WcEBd z{&GP`NvM$72~A5Pim2vXf^mQYjTd+xZG!v<$64D;eNx29_i1Hvg?hS8$su{&W@`nB zU7toqCE5sYd%uV8jn&ZvQ4&xR<_LhM{vrw|cC4E(Ipo#Pj%OcehU>ey1YIWWD1bFN zj0q3g3!l=Ob4|YrMUOcr!|iu|@Fg6rvE%tRE=0nY^m@B8j>8Y|en2!iFFBEM`orp3 z9F+xfM^;YsH6uhy^F8wCA)KF@6Z&+Kf6Mc%t_jznbLJH(My5}fuxcf#;py~Lx9 z>HC-SWH`Jo-Mo>uHqih2Ycdq8&N`f49s)rbxfGvHxMvf$@P1IRAEQ~Bx3ZGtwWL)v z({aPMggaH}m$$HIS(C)MG^+2SUI|WHQutBO!L3(m{)5d|zkP)Rp#D81x?@&}nxXe= z%Qc}KzTvTkjX2`+(IIZdn=7aBym#v!ByQV23=4qVi9<&6d-!MD&Xpp+Vo^WN0@@fT zGcwuJAn)V6aR7$3?CXbz7R*T0y7NS5${1mMiJcMv(I((_Ua zsjLY0u|h%RL2M(_LybKs=m{QdL-#gX(R;dooPm{Qq_FY8*N(sjTt6@&XAMN90Cr8FFOL;X_3GQ@mM4h7&Zor$W2~IdB!f+WudFmPM~tPhe~d6 zMf{U3%+C|4o(x&YJ4oBwuL8}R*xQq`({(@@K`ILtIqEwjp0VzD081+VFj@G~cp&%} zT8Io6$O1MS`-#1UBWNK+?~9VV2jKC-60C(PXtO_+!o>psi$zfqtH{HkqOc0*NLRW@ zm#A`@0-XQ6^92jH?Y zNt_26Tyjq|LSe8$4-F!41taRfBfFCU*#3)K_9R2|1$iS4-@|`*me+mIUcu23SR^VC zL8gc{{TYk|cAp{Gpxu;H1@}{2-(t%4Q$!|^jH*%>@8P9SBXvwXHfYoMABYR?5v8+D zdmF)rk>HFOB101iuz(mh81~wc>F(wvyf?-4Ev2QhjoZ3&N*j43JpMyRB@l!tQ^-uk0jue+gY8h z8JVcLmfJsxF;fgb5EXJ|h1O||2mnCsBfvz1MB-i}eMPNvkF4OXaKLgfoWwJ>N=Nbv zJxi8~_f=$wwGEmxLc#k6q7Yu>Fj=4<4YDdYyi5(GdAI>Q0TfGup1uhE56Hhv`QhyvQ*2_OX>J5;f%{p#`(-x!u(J_`^qv*< zljY9zH54(XRu_ohgW(&h!l1`1l;Ln12*e(Bs&Q3Hg`)g8Dq+trs)rl%_uvAZtIMT* z>=f={IIW5d_hH7mvm5`G3`zeWSdZSb;+AN1FZS)~8jLF?DLJs~c#T-1QpU>g9aAO5TyQT_jS`+{ivTBJclL!XZfZ;f zUXP5$ifH;Eg21{b-8TeW5JNM(C_+F~uDSK}xwuaZXyIdDL;s1`>UBie#e-K)kkJJs2E%z8!?}yVP0EFkMfnD^^#l*X z6!$1aHZ?PC)ths5_cMC9D5tk;Wj2ch2ps_5S<^Ph!_)yPx%N85S%Jv($;7 z`!Cq_uU4S3-lbm`q<aAUmuGH=fjA4r)Z|y>A8U$-QIQ~7bP3`b1 z9mKtD2uDJpvvNz^7?tsiu93TgNwr4 zt$Qi;yVQewuV|6bOAojT1~ks16%Q5@ zO??VTFnd^LYB{7pKx^zz_is-R#m)cwGD8?V1ByfIi<^ObfcDt8BR_!i07uIr5WxEd z;Qj(Sa1o7p5kp}S+zUe$F9HVt6K78#Peh;0&^-+B`gh5__rNeAr4`K+HcqqdOtUdB zb%T(XcoY_(ALbzp&={0q>Fy_Qhz3RTEFT4jW(bDG0+yx9T)^ujfWSpU(uKlV8lt_hda2r;#@JzcjwPP{)D5BN#E zJuth~__08!3`5r#zlaDx3RrdcSg6h41ncRj&IiK^`w%Gmle62?3J@0e(2LAFvJmTT zxSPxVzswtL`s`OQ>-JTd7rTLrPCHva1GY&G0W<*U2iU2!{KLE6A!h(QIPxvqM+UFV zs5wKPBLjjd_36Qi^teM&g{g1MgynURA0K-l;QpAxHVn!((men!VY7aA70Y1DRAD+0 zFo7X_(CcuD|G8y0cQ8_S^s#e-1=u-VPHrUv*SS_37b6$2QVxb5dBAFEQeI!$yMMWgW-@XGJu6- z<>&4>Q2A&>ahE`Ne{>cgm;ia!=O{vQ{Gp3xu0042yOnNl!BO?SSoidtmB#KWK2)?{JE^x2Zh44}WutF8qM4xQ38;Jz4O8 zTy#X}1R3~w#=yiy&iZI2HS(?3<~8rpTIhO1_}b;;Hx$cD8VYo}|E=TQ@Cq}qIT%>X z0u-8mQu=(VxV@b-{vHT=#g9Y#P~U_wx|$Svf%$qmE)4!idw^ARs?0p+aEqQw{@_}_ z$>?;3TX=;3^+JCBK{$U+TO6Zr`cVG#Wwn0C{p)M*!0OoCW2(k4a|nOsNQ+JOzSM znt1I~SNApKDeqM_kFKuoCoxJt25D`5ET-g2iASIur~EGglxv7%Zxng^1Vb z{-@|9G#yd1M&H;}Gz^ZCFwG~Wa{l0_5jJZeow9ub5usX{cktm*7#6>(V!yqY>-41K z4x~1On+YUbDf5DRGG&tX*C>nm3T8qPP~ldb$K4C16{A>q54Kl2JRA(-5QR_%(*?Sd zTrcy@RQlG7{U#(`0pA~BFXKb8WVwPyHPDK(WjbD*!s#iV_AZ!#qoh8~Iv5g> zZMwL0l0d{UWJX}vK7_7ZKAH=b#Mv$!3f&n3u{e~p7^5W2n_ioU-1Mjn5|ictKZS-s`!ATxNbQ)i%X2^^iOmrDcQQp{%lI`$ zP63?j+9`PBZW37>0UE!s%e>p7h*XVT!YL=1O5h9v=-AZ(G4L92M!34gYD6dZ>@t=P zm>e3rFCr<7*7&N;wA8ANOyOws)&NN?S8W#irxV0l<7Fs0; zlO{~a6Ws}m!wBi zmLlkD1;0j23OJ-4YB@!LxFxE?uz4g>B4PF=OA|G{n?eT{#0hjJrd#H!GO{ab>?@LC z33T8mZI#2Tg`Q)1Uz86mNwlH$orhg$w$F^6Wb~uc&?&o%HD0~Ne+&Rgd!2s@?&{n} zu%YUnlab;k6!C;(7*O!V*Auy|vRWBDjkw{6A+bLidh-SR(fCIoP})7#+j*rAn`Kj9 z0_n6BaOfPztJ%@}d$4qz-*X0Y96gwtKuP{tV;;i3Hyrq z;N_`p)#rSCAlvN14Mp#o7nPgPp~gH+=`?w4@Nv1_6zd3mjt_j9x1lX1-yrqW7=1E% z^F55l`tlkNCz7mzg#HBIh2py#T;F#L8CN?6v_>15m2uYc}tG!C`N9GuS`L^QWb$^ z?)j~K?6!(w>>Bw9snB993p!Z#U1w(jt^*h!@O#GFoxRO;1n*zE!S>$|4okri99a`1 z#>Qf(4#rd@PUCD0Q|PgaKaF~uqdLQ#lfxGv$+gaTrA%S!-BOW>2$nj9@W)_%WH>ho z1~8 zV!8!S7j@xX&S?9pN5eOtiWq;R2>!+%H2PGjkTr>6iW?fyCad+F@h97$l9h|JRTY;| zE$_32=hLJ39XL{Asg_MJ6<^PmzP%m87|scsI>uSew`I%hrzxxJh#m8#jzMrVwLP%H zqcA8hf+I-8)21 zgm~L5k*9!h_J%|&)szy{bLfXt)@=x1!i4;8!3IJYS3MH^C4Z*gmOa5VEuOHE z4K1*iEzaA?+45+A!Ht+BV=~wZv^2I=FVuytw){P+UYCpirZo{#U`l|sh*&eCz83U8 zI=Hy{crgJ_>kI%r>ZioG^a_;-P*_Op!rjG zmB$*gu0?@|7f_-E_iRvzyiUtHu`;Af^U`s{>|ndwvo0&bBfe^9x|626w;#w2N);p) zC`s4uWj}s;_rAU~ef1J=a%^p^q)V2l)jJ|I;_`1KmW)Eq&1WL;oL6{Fg5bR?6YNV!GkzXqAkZb6e83-%dc|a( zy+1R7{Yp1G|8@m=Z(`Zo%4FdtDSO=iuAU8Ck)v$wGr}L{HXOMjH}i==e-RN4hJv*h zfio9D2?+~dfC41(-XJAVoDW>!i(oJf!TE>TUW78!3EbIXFD!|u zrFI#+d?{!YY7Wczcp6Yo<)6-hEbK&0u!R@Z{vNj;9H$IHDIrF!KTK&q9H$MB{T2gs zj-m&1;AEV{VMWMg!YtQfEb{626Fp4&QM}%v9LB>`^5WE7Vm$idAVAhIy?zwEgcu-7 zOt4m*1Of^NI+jqI8}I!mF;;@MU9a$cK}HYoSg&qdoP*U~f)!ev^gaII2al4VFsFUO z@q~neJT@X&?_P*TT^5rj0;A8I?APRW5KyAZ5KfB{TJk8?8^IhRApke3C>d^5_Ys*e zpyOkQ#7w*7a-TkxRcI+VT{mijR5T(of#GF z@GPN>JnBd&WiZl=WFAE%0*!q?=3qZ=?;dT}DrK8DZoMo)Stj}PvsCX{-1S&G=v_LP zYi!J}db^W3SWx2qa$IU;sK^?s`jM9m5URNyHIOxK(>ez7x*l^hAI}~{xfTIndxsM7 zNy1@BhF^<`2ug=dglLo@w7yMb8%sNGkJN673X(6*>Ei0#3UJc3B~s_o{)-wV&Yp+8aF5<#0)yP;UCJM z$I&RJ=z%CH+wEBI5vlG$xdip;Ht6x5v?yk*nKUfv4E^!U@3PtM(%_}1xoPs}RpaB^ zQ4E99h3~RM$TFJ}GYvnuo}Q8$xbj2cXEun05ONbi77~0RQ8LwOV-u}Yajo*%Nzn=N zvEZ{2fAzY#nQ8FxAH1COBGqgymqNF3bZ^ph-m)xaj#X6CFTTPNZQ{1>o(_g`X7bNi`a=PM=u3ngj{ zZj}Lo@X#P^Vxj5LC_f-BoMTDfQm~W}h$TZnX>SmK`zSa76dTzjgAfCb@;t_@G|W2S z;ys>WRyuV=jY0>~UUo75akK$H8M`Y4E*QCz9Ub;9cX9z+=69B?0lb^e@+TS4NH$oe ze2I3pj=5J&H9kaDNJC9QL)}0_!(j#Rt|lVXL2;jmHi`Y&ne_>ujHZ&TsDfs&k=D=z zF*T9y(UlZ#t*#8AfgKKy&a6@X9fvSW5qf_qnMqxnc|e4EQ50DEhpLjiD}I1IwDKW6 zCp+6^mMF<5r!s{3Qa02se-7 zXa(%7{UB7KhY_~{Pj^;ney>wX?bQOs)@j8tYlvwKeI-`peabEDCih%n1a9UdXdn3MY zm6Hs78E@oB(tqGnf6Jkzv{ucR6iOl2sK3!|_|TP^*}OyQ4HT*tD9KJ6*0rl!`fe&* z7@(&XuG!WnkVLiF7Ot`Jeap{cs_R3UOdY=}esgt$aTMam;Ki2z=yZdD{upqpc1Mex zkKXAoeuAWaJNJO4!loL`PwP>AIFXP%c%I&sO=NTZr5oLd)@{_Cs^;|VTp^|(Lg4Q< zdOku1TNV)3(K^{cl_41FVM$WZ%IH@6?DiJ7K_tvF<)D~4)z+bq!FaxQBCux{CNHhK zX#YcP)M0m2AsusJXQWSZayD-`+@PYS?8;(mo5Jws_vR7zKv=ob^$vf!fl(v(XivCC zq&vr6Rnc%s?Y|kO28^xzm0`>xqZjHF%%Wdl_Iu6NxSwL9F{bi0VEct*9}0zGCZD*; zqVG?ealOYv$&L1;XyxV2UfI+VFhc>AMq|X@WIMnFmt`MPa~}pr67JS$BXmCr-FUMN zN5kOYg?Ru$SZDOyn5=zoqmS-Ym1AFE&qBil-!g=*z?8n;l%e00aqbZEW%n+9Rz9{% z;phO-(1e~P1@m10wGJ1A*iXmgXvQ39#+zWu5~y|maY%z>EF5RXw`(SparCcmRbZ}F zP|+lcZAJLhY+KTp3+E8Pxp^*dENmEsuV@S?I)<(=C-6Kjd^cs=O(JnVoaQ!_IW>z& zIxy=!mcKP68uN9AOy=d4f87WV>o+ z!E&VfX&C{3_C{<~A8ToYqN1&M<``jSZ@8{se^xhY6)a^j7Hst#UL@=;RD{I4p?9vf zWGPm^wVi)=rOYB%+rvt$}HKw}1?T%*Ol_Ei~{~Ouu#9i@+KZWO9LJ-kgnSo+1i??H|TVJSiK`jAQ2A zbHrzx%mSXXDcZOM&w&7gVWP`DbtpA>**i8 zMY&!7wr#`uFFIaM94a;n6GVH|t{jA~`fdfvP;9DijZ+G&tpY7uV+T6Zzi#E(t218Z z^h5N`U7PY8saKfoeq2Q@oexPVRYch7YuXag+m?>8R%h5Xk$lTk=&=g3nXWL-6^5AY zx7pcs*xkJW$$dIt02~ii>ly+N=K~!!3a$=ORuEb256D9BI=9Lc?N==AUFP)Wp%sM%ex7W#JKfXV?;1v-i8#Z+1w*r*+!{E73Ty$WM~gH!|9G5{Q5}KvPAF?vKkJ=m zSRB;noaJwwz&0Pko?|)5J^h>mZpYoJ9c)DMtn4k%V}xhVY_;F@cdqBD@!8FRq(u?3Rh zP8!tp@xW;0Mo#$y$M;KIl1jM8f9z(i{}zO! z-lpef)ov{h=QL{ktP0+k7^&q~@cg^}zzfCN$?)dG(piypfGtn)%U4$w+~0Ej7gAcz zdx7pUPQOIfRyBD&Y1`+krJl8w+#T*b)lng=6JNw=2e7nUTv(r(mDhRqJgF;xOTIpu zIH@W**^66wIV8GJ|0fOi$T0M<#T~gIxkOuY4Q2HX`|2HP_Ki`Zj#E%b)jYbMlQe^2;^SZDDmK_@&p4y4gAIN+9s( z$K8vU)pKQo8+!bRn~|txn{UUNr=`<#h0+^x%ZuFn?{1?NZnKc$udhr>eltOD30D5$ zYrchvo)d}hvyz+59sa|l^vuQ~VFSK2ua63mf3e^H4bi?YjVG@p{`Q=Ay8HA8$)J8T zHk@>L)c3%-x6b>|oEh$ZeW?NkENZO~I=?>wzi?{>-1B&E_Xl{PzQ6_r3}$|8u=-z1 zzt`fPr#5(0D1DCe64B zlA8y#Z^N2%TW=CJOO;ABr}=m-_t#57f$a%eTo>p19Y_}ScvW`E8@wHobM0SFihKHu zV0#|O?|=JG?%gU5+y=~x@)mg~)qzj65Gb-XgZfs|3Ip>T&L9Av+?{v;jBshP$X^N_ ztH1{X?`-P^$twIHWPYkce~NB8Q@eruD2gDQe(zGdeus7PM3@(7(gabt?>liAiqggL zV#Dx;i3$nQhEZ~`{5U$20_hY;_-)p^;v%Bf7BSea*&r1=L4gZAX+EJ>0wgYWz6!}Y z_O!HgO+nrgS-V9*4GC8Tr0)OPR*1 zn-}HTpXYTQ`}Ng!+UFbh_NpI$|FI6rhWpfMoc9s@D1;=yV<~9+i@4mNQqHJ_d1;vi zu9b8C-PW*4rQNh|KYBZkvsemR4buPk;ylS~`2$opp%@X}kOmPGabEZC!qz1Dr9*zB zvR}%dU`Wm|PGg4SN!qQP_U;GAGN7`mrkh`^OzjuZoIQI3Z>FAkj3DLd(>$J4u2HKE z(zb>gk-d6r61!=B+bU^|_HQNjdqR(8wM^ndC%2{i`^c5_oi-=3>OQ_BheEcOX52^H zwmAPM1w*+hjoHI}O3G=TC2qBfj+0EcciwJt`Z9s5AFOG4p_3&zf77Cjo?gA{ z<%@Q&H@d`$c~)koqSdY@dq`A`VMh~;Lt6`RTkq-rG2eFLwiJDNo%Tch=Mtow7tl_n z?(}h+WTx~faaQ`(g7ipj|gKQ9p`1kEUzrIdgvjK=*C!c>uq`os}1EBId z7N&dR7xz|P5PG6rT(J=Z=ebZ+a-HahUeOi}RRw&?w=f#2eF$PKN|;c#@5cwk-3(I0 z`)$q+_qis)Y~I7G^ww;nvM4gD-kC}vHBnMuC@>PMS}5L8ywU#{%9PNJ($O&bkNfOk zCsK~wwN@Z7K^M;%YvZyLpnj2c-@{rC8x*|k)+gHdN0)_!#tA$-cNW0VEUFRC2N@Em-c?*44yyDX#5pjh)hi< z$tPxrlalyiW~l63IyQ2mni-{DND`!`Fn!Y;*9T3*SNZmZSG6fiqLxx%sd~<%gfnr* zzntc%nsj+0A*@3GfJecrOlS31Mtto7T_*j&V8HiaI`T8N*$Y`uj@II`>k8gn{JH2~ z->CP^%WtMKm3D40bMNepgm2F0LJCw>kIYHXQkO(gP0Jxs0&D~!@Kn5~S}M4PsoqSz zc#pb%#gb#&K$+nUUSFJ4S`pDx4%jS}8zT5KcFn3OH4B%JU{(MvvPt@)|#mT&IpVc$y2{lPOrnSK!TMT4Gd~2JWFL+Th%&9_-lO>m{9L!fs}z@U zP|0!D1~-?he%+Ul{uXqaU#FIRQsU}MAg+uN1U0*#Q+Xq6E{&lGzIIngTc<13w2(~C zP0Xbsq#DexKGrPG*tVCVK-V5eF=($;sMXn>tgH>T>nvZ6Huc`z=tuw17)`0nG7_p6 zP?LZhk=JVP39onh*!Z@@!qZrE!fYqov)%5A+td>7NL>ESVB1%@V^71uv#D(-(f~6u zUed`o_1{)hucn~D6N7I>u+DqUD@%)*!~Olg1(k%C4xE!)Pl28v84P^AQ!B?~5&sI~ z`W*((neWvhxW2-$zC|>1n}fDgztkK)$5Pwb$w7~6Y$INI{qzxSigCN47vWX#DCQF03D4fQ;_OZx7y#UE`J$A z{fGu{Qb3yiSOstr_FoHY91Hxpt)I!-OR}dBCZ?ap)7v;$f@t%Oue*u>wT;qO3PhBkRZ*0=Jz0sFfk5LR*gb|IpnW%qC@aLSAXoAsB8b?NS0=xtHUZR6p)@B3+Z;gB z9M&%vWUHuT~oT31G;(& zrm@3WiIRPV6525e7Q@3?dsAjlQQ5d!&Y`mjd_QO|tNYZ(`s< zAT?rQT6{x~+cKdZTDYIPxkds!4>EsJnB^Ul*p~20?RABl!HZF`b69-TmGZunDpVXH ztDZ=$9&2XE!uU~#NHu>K&yx>l!fgGZRCKjagFU_hmZ{HC$^i%~XN+nT5giqiCOQIf%86hnZTnljCkH0m8 zjO0yeu#a`EBla{y4+H3iUL+7|t52w%vC7s{g{gnCqP9Jm32h@Rd9Evvn@De4zRFuQ?{_DAfq*3ChN~E#?mDCk}~p z8YI*=R>uM+;LGJrgzivol9R^0RWlIGyPX*Va zL=LzzKLckDvS|nV`zN{@O6;kj#7XEwcDzA_>-tIC5QvFeCKSs$G!y+b0V9zlB>Th8 zCl7Q&_fjDhkPtP!>S1x_!Z87!_(j5rJ%zHR1QRA|Y3eug6yu8g&eJ@h0=ut_E+%5K z6biWTA>Rut;)Ia0P|sxU`v`AA-e@5ukvN!t$_8SjooZ8OoR|!>m`X?(3rKchG6|b& z^3j7)Ua8A?bIv@ZN^w}lb9*ezH!I!MOSNnm!9ud-wYdJ-v~8alYHIfad``?KtRj-f zYW!?!xW$`0M~WHF3$(UcCNithZQWwdROK04TMxnSMgf&`DGulDwN;j{6_rJZ;*pZf0Y0^sy8AMl(lona@t6Okkl!!?I8qHpk5}f40B)jg9)4HKMTu z3iB@4T1;`DPDK{ad$9dFrU>=Bv^h%qwPk6O$~GRu%9v^TF=K0Zp=e{<{^ykyw(9w> z#xEcEmNb>bv9VNy)GDO**_Qs$0I33S>r1~5pLjPKI?{`)_>{M>nQp|eMbcbNZfh47 zLXzyZ#nA3Ag{Y6TBy7lIO4VK1w^PhZr@@jXq3F?9-pA!he3wHi$9h)|gbi2SDp}6v z;Jx|bz-uV2mLGaPzu&Gg&JvK`p^7w8>K9IE&nCtxj4TPL_)tyt6; z-n>pPUztZ7uC^3T!5US}iM53!YhpuyI%X!$^}1u1x_6w5%W>LSn#2>)Q9TNci;Y zQsS^>sikexqDMy<7L#~x8<=YjgeqFAb-iIToA^plwTlx1%Z+U0^^nXBQkv7kl|8Iy zXk8{}4=VezTfIkPJz5#dn0f@#Y&{CAvh8rQ`*UI*aF!l(Z}Zh-!8LKzU1ReH zm}1;5s-MTT7H^>PaQ`p$**rpJO+t15rO*D!BRtw9%nxy-nBpN#5+{X{$QwK)WibDf zKKs8A<%Ue8QoNuhSmg^I>5mP>W8yNNyp(@=_5+(`MY%{$@8npjX~8fudAzuuf$~kf zN{T!pqrA!ojnb?CSEAgV$4@@_yJ(<`T<&}0J+ry(2zgJk>|K4Zw`;@i)pMCadoA0cr7Z2Z$9e%%)Hoxm9LS24;2tOF99gHau zK-eBYDG=zoO^P?@cE}`yX}t(A7zl4|@~Lh05n-C=d#)2xEaRdx!YP=|x2G zJ5@bNG5+^Nc{}lcOzps!gXfqNfjDTNeGcuKyy7A4@r2Mm8}bs**pa{@n8?wQ#4ni4 z(~&Itk}NBjV%U*l>7C*znCjY*>M5B1S0E-V0>Bd;T)Ofa*qBeP8~>t{#Ss9^SN zNA{{<&Q3?pi6E3H&wUcigLLE}3FTvU<`W7PPg&?gE`)GkOM`@az7wl2Z5uiAgXzDO|N z&tJWY0x@@my5gT$K;>BQ-|G&9>XM$S;QHz*&Ap*Yw_PxFUYLm#jvoM^1OzdjgIP%7 zXgOgSUH>wj49ZA-1USJ_5=pc-H43DEl#Tz`5k%oBasdaZ_v!ihkzo`NT*qB?J=pE| z2W^bI$I}Hm2L2z?`@bdQ{Qu9Sw_HQva1;>_tN^@N#z-8MWF*;tBfV4MOB+ij(>P6` zpF*4dYcj61W?43yC-z^Had9<&9};LX{#)@=K(Y|JJg~30LaWK91(_*My+W780QEn~ zcoQ{30W=w}*$B)6P$B$ng(l-tJqyE=ZFM{81`t#VR<5(Y9xrYD;FL+uz0r7D+GvCd zBkI^zfY{|Aal_%P|EIKNI!-NFt!V3C%paJqXmsjPe_w7AH(zcTyTa6`th+UQtu{hH zimyy#7FDxmA&lwjaLtbOLAfBP*0tV^#K&ybu)_RvG?fQU#;+IDnRJIynTtx!sBS)o zSp=OZ_4fWq&eSSda3le^@4}au%z=5}H_9;^)D5RMofL zGD?#_qhM3sx{eBH9N|8{0QsT*F|A*!e7R_93tft+6LHYeZP|5jmupzvw@IXn5@?i* zGYdU;_~LJ*&fdtxb#_8`@&0<%D}nv7u7ks!M!v1)kL`_0z?jgrQj%5sUO(0<-U;I& zjUvbJq(|cI2$5%X!zh_QtIHU%3hC`Q2fE_z1S{c3?lI1vtUTjfj)`@>pcA{qiTuZl zrjZXH&`y1Y2$dHolKxdUD`z@w*p$l1ZecBCfi8I#RdCrJRtRtHK9uvvSaYwMDN5Nb zTX`lvuG_RtKW;dTqCah#9Oyl6pPK z+w!}~lYQ=lu|}lzs*`XZnW4uqc88|TKkMVI-e2Qx+9VB*h=)~6NCN$;<5KtC9PlrB zRtBWsB1(%Mf7xyvA5Tu2+vn&eU@r=@ob3Bp!B4U0q`1F#LJipxfK!IUn_|DmNkg*z zzEH$mYIJ~D5Im(^Ki?^))2U=WB9nVWEbkNFP(hj>?`hmDT%4gaFS}TyvVAn6 z3|LXBT1D`oLwhmBL7$6_(M3%LkpEz+e)Ek5eENV&`pHT=35)!^GQI8JaD4y>h8la( zDog8ExWtdjlpC2e?8ATc!B(m$q)z1$A~GY`_Sx}tjCiHGKRAMj8nQ93k#SK}xI$us zQveOT;~H-AV%ico%*q|%FDyXXL}XG5qbmvYnvy48?1QLywjx*;p5fSPxnh}yBz?Hepk>f)57QCB0^wei ziB2xmxFpz6^$wNGaG8BX>s`n;LEHOmQa&BwFf1FPqtSFhpP(L%`{hg19()MR$ggxf zgJaTf3#{wqcG|(Y4^nbOR_Qr)R@;){5p2ZfS2^i^ENd7AzMJPit8snztywBhy?HdC%+dDu`9 zU~b0kXWSW$kA8nC7+y1Hpf+{*sKn7fkwFOVd&;gZQ@c5P&|#Bdtlps+4&^~C%!C<$nh3xZ&G%OT$N2d= z`-3j@ZtS7kkD~FsZ7eH+Q*rFLxe!L3Jrrq>1g4YRJ&@Kp@*m$IzME4}28@1x*1wme zZ1;QVN5qc&o;~!)@*xg~+bI3#_0_INcY3@%RT(J>Y>)gKnLgfeo1hmu=ZLmEz9&>YG};Z++eh}k zX=H2=4&iO?1;F&S{gXzk;L7<5UF?C^ zLy~@ziKMUy@6S?4IaLVErN)tY=YhmuXF6s)-(4M-U`gVs`0z3o?1~BhV8xVE46gRx z@04sZr-HjScT_yv%d+vx%MsYSjUz3HNKUZk+v=Rfz4XLrey!P|cIMc7tT{j5%5w=E za!{ihECmwIak}vWK4aw`WS<~*c(v*G0}Xazu_VKcEas`^N8qFd;{YMQ$?Z-ptbPzq zJqvP}8KYWo4&v*a@Qq~LM(Th!qsI&%_w_mO)+Tca;iwxpeSbvlOqx8^fPU;L&PE4% z{UvCR4}lPl)x0iqJQYo0QrX{Ap;(FKjbfF0wT2XUo=!>-gp5kF)p7u5fIF+jR1Ow& z>L;bRNPb(GcZ17yH`Ufn7e_j zG2R=U2z@}z2cQasPw?Lx^)FfVhuyO;1zR1r;)e`-(IG2Nh<`_KH|(-REd>DDIk8^K zJaNiB!K3a*Vh-=A_yHq6XNy57Ys5aP$bM;ogH&i=%Ycmlz;#$K>>jXJ3>Dh%_V%IW z-uQR**&1P4Qfd)onTPPq<2J(}rC|TKZTrrKj1Hy2UoFuJsbFxZP|L;sQ>cG9wJ(R1 z*%@;g#F&LCFCjS_A=!XHDVo8nL>8fF*PtsX8^4z(rT_2(lnWj9i)4L^5C zulW=wr(etsjM`Cd*yV);y9-+gj?6al2}X(pKsjhCn44YLfidr&BcX19h$XF<-ySib zd1B6FxC2^JcBi=jSz^BNBGY~+jKRVs!GZKpZw;XLQ!U)sKhWdx3uTDe*g z1TaWQ9;6fXi`l=3L$gL1u^iLax`*%?`$oak)j{sw}XEhmUBR)inNGRY1z-7^q* z`LnQE4SnUk8tXGUGLVfbJjI?9#6oraR|p6!vay{_zYs+YK*qqCWodIrK@oEqAM4>} zc7d&ep?c53hFH0F9Rva|Ufb56-7>O`>X8pRLNZrFW(Cnbp>(qo(f}y>F*LBF-7t_U zjEfiXk*R>5KjLNl+uw|AsL2~V3hb-!7Vijdk4I10MS~71p!x(Oh-VevKvidy@O&FP z@w@M-TMG!m*MpZ++wOu-kQbwUxD+*Z5%D=M=9oyf5 z3c+X&c~0KFu^!RrhG4^+=rk=a_O+Z69=TD|E07o^IvgA87&T!R9%~385`gj~i&`pX z?R$%$e_uMAT2z^tX-I_-A0J%2iS?33$8*D-&xMr%A(CzL?-5R zvt5Kh9c(OuauZcQp-4gpV(~KOG-sdM;a4#)S+BpI=7zf{hc8&TCn)NGkaqlB|M}9( z$hgq^@*AI8nNn!ojNT4LjpTHwM?uCq#rms&>|mrkhLBNGS&O5frEypr|4aYIM%fMp z(MJ_(goodwAO`McqZ-?!7$MyWh7jpul|XC|fApsk$w#HaNg|Wh@lPU1WLfc^Atv5r z4b&Uf)`M&7n}J$BX`F668x4FP!7#u&=U+i%Oo%uM7Q7_iOUr^w0f=v?h%(=E(f`)d zM3Ev-*1{|nU=R$Q}w&{2>HC>=9 z1PSFA6PCeTpxjzP%S}D#xa;;~WBaoHgLw};YugyG4@Ix~t8TAeR_6_AA5f`T-&{<< zhrltAQ|=IN47)uoD-(S__4cFHljjeE-|csT;3^jq_Jy*G-uacl9)|e%YZ$j_DiyzB$@0JQnUd2L3lWKsGh> zZ`7Z43;=)+bdry5LrUp}LC2b2P=c9Png)o$Aj|{Se5Y480b9^&oNNZZVKi`VNabRz zOnSs6swZFt!9^88tbUY~YW9!t7^x9#t{4h{6M1BF6l@0z_%Rk>H#WvP_8-i;uO?1G zhL`2bm#PNAXzWcL2LZF8Ii>04?D=i7F;aBEw%zph<}}Ua{65)2|37$lfVWEswip0@ z;okyB4i=CKiwB~=2vA)_uLtn_SQPGA42(u*A_pnn)(Wu>!zRE5=8tmrEUj%Wq3$j1 zUM$gFLc?)Hl$tpz*7^0U0Y3QZ71U~&>;`ReDe`l2ne0WOoE01U1?tObd*ua(Ps4HXOsiTMxd4XwJP^Z~J#YpD6K;YKs!4?e`5 z4cORLM$i@>u;{}!4O=kn#J2iHdEuk}qF>D-I<#vSL%=2(&iNQdL1yz=z`+?A2_WWI z)14DIIS2OyZ=Mf;yIG5wUPA@|BJ9@!mDi^97cqBN1$&l|$d_z~p_uuq)z+&2+bU*0 zU=s3aZ6aqga%(M){FhkGg5&vET1GdAKRL6PE;lQt zSAE&GWPDd=j*+}$w&-%#QS*0pdUnWXcA}Lx;cfuTbI9&}W706g>2JMwsN#b0lM84& ze|qK}Kh05JuFfj2{kvRy|FNuf>DcnGm&0dw5{!-nO}N2F3smTUz9StKVgRzKMa0nl;?tgh0segcZv%}fF@lE%Lbp;g>YIReg z|HtayJ)6Ng|0Q;gdWD9iTx4E7(vbsa9={i-e=riW8HTU*DCXqe`i-r@CUPGj!eCA3 z^V%{rS2wr?ioqCP&rkd98w`ohvtQ0%uJXU_1s74hr6P)6huz4N0So16Omt9s=w_VQtSM`UN_c>6_+{XQOo^#U#PXE@KR-rp1r z&yg?yS(Fdzvj~DW@Vz^KZD#--*T=e_*S0>L@_+g}Me(?dhDD0C{QJw?Zodcs%E3aD zaY<2UihQj(D(P56plY#E{!RY?f~b&)YQE8MWFi?pjToR0HV_s=T`C-41jZBhe>~m% zwMYdH#tgxr*J-vQ<(401MaLbnn&*(uS>h5e=>J+xS}(LT;ncs1WQZTnS^FDOJt6a*_cJK~yWH0g{~;k)2YIB*1r?y?wf0tc7t{E4{O7bh+V9Yhi( zSt5~f>(*D8b$eZ25OK}>;o+d*;MT`NhGF|yASrTCV`x923* z1UyOwBX~GU*b)nJK|mCyq|cy^Vy^-)yl)@$W4A#cOu(U2{WKq0s$?G$sroZ@7@m{X zUJI4~8c05xpf7;x9>YhiJUnp9IE2)Pa|V$tT%%kO(2n*+o;?b*C`0N?)D)f+h^Ah^ zQ7Oz(&T>aL(erfbb~b^M)xKAWpDcXUi3rMv%m@JRPXEB5W>409yr2+sML+_%1G@1w zvZDu3*_2Qv(Sco|oR%v3N}K?+L57CWZ0r3ms*ojIKu7k?UNL*hlG+sS0X%rhxQEqk zEhHL@3stqdVa90=+j-jW9T1o?=sW4Sh3wmoTEk3w5cu`D`i~x!h03I7bvy|Fn8t~0 zJS3s9Ikba9sbUmy!DK!)jv*l~ef(2qt4jsb7NczU;V9xIxSEfD)>#_tNDivFu*$@v zO|(lhMu^4Ki&G@LM*&nDK|k?Vl~da2pF>S{@Y3`E#U(2W9<+ZPj#87B`Hn+6kHn8% zyxR*@+?`W3XFX@r?W{%5@pY_Rj2R#V#;M*bnPK!cHFHe5%Uzt3kwDv{uNV;2h6|l& z7%H>RvZc1xT&d~nr+G~d-q#hQbo}eZDZLMvg3ni}R{W+SWcuBt90b-Mt3qC-MFC>W zwc~HR|7^IbRyMAk-WZZ>r)-AtF9)~e~{m{PgiLWGGLQMK{Od-0laf zdZqEw;3nxD7Mrtc5|==xSTsJr6oPbDO6}2;(oN{hm@vaxzrL&GDBdobE6GUU8zaY7 z2hjq~2#M?tUH!Mj5NS54`W9arb2w;dU^%QmJdi0Rd|N-%cMC-9u!>E#V6~8D@=?1p z|Kqhx7YkoBFu&*y%%-KUK##UoONFs_8$w%s?FCHmw(sFAfRBVN$2vpCXox4M5U%!R zSg;6|vNfAQYFs+=A@9WnL*7Dm)k?~l`+l6a~AS(dI?n;a7Sw8jjqd5w|NsGQ|sCH@m zn$(#r3{W03YQX!I=5yDQl9Mfy^Q;xhn}pVP#B9eBDLtpXlAh%rZYjDkGB=Z4V{2}E zj#rrey^_z9Hb~0>u0wZ-JtnT5TczuWSn%6zM8!A;z`sL%ZHL(fO;heW)N zpTg%q?(k-1RSCnE_2u4(7ScOKo+`Y0zT!kzZF;~Ed_R)jR%P~7COYyg&iDdrZx0** zDu(tBAK4rHJ>PlkfWd*KfF^-|fP-Qd($&(Ao*TB zAz77cASj1bmvfR|VDjGNdphGjN!Z?$AHzeQ;*YaWRch=&gjy#!p}7JnArluq_nL?9 zc;a21)$&;J{0>%1U35b323n6w0vDnXI+}dXln*{I5klR;1q-dmA6nG(d6YT0LBXcj zQck+bOsb@SWd{DduRUjWqTkx59oUwvE>EaO#a0jaXk0m_dUmPRea9lnS7Pb&sGiQ4;qJ!>76&@|n zao*j&P?8_PXUCOQ*A`ZCY}9_f6d)o;bFVMU>_)f+#Wk%v6kvTiyZ`2}@$3DO#0+b$ zWnz$~gJ{Tp!E;|)vmGtpA((K0SatI#kWbpT^Qsec{j<7NVj%X6Ux^5`B}s8)TJtEf zn4#}0@?w^WY_jQ~e;?nE1=ab-g{42p2Q2vnlOLunsdHnE z*)a^mF?2f!V&1a!|J&nFFMu|Dj3_J2|M}7D81idS+;d`NamVeSs|XBh$LXK|sF1V3 z3sz1Q22mpb-Kq}>9*n#R066ubW{cs2P*F9)(c!_2V4!#tTD+|Yj-3b%P<#>)BvB4a z1r|f}?IUdNL%QfAb`vAj3n$eGC!G?b0tW?33PN5*tx3gbrhd|piLJY|*D7*j({i$kt?j%8j*CF)fQ)?1GuJ8~JYanh`)ND|=FbE!B42I8c zaP=8gu~`bB1wgP$mSKu&1b|bKrJ<2GE&$eFQq;?YQwXK)V|NQkShA3)mJt+$KqQ^2 z3V`pE{>&PobTOyHx>E+}uN4VIWmglTu}7MGHeY!2uX`go7p zv-MZ$YGV% zPn7Ix=MdwrE})z6Fb-%(8xy6I3$jxv)05M6llxpfq!c}7Ts&slEtdd48H1-{VJBo#D3MhhOh-IO3wK~#e1sD0rZMWCJr1e(H`$1+>~o zCpumJ6Z_vNZ59aj8mx*Xf#1c5Wrq|wMiaAwE= zr=i5uBujUJ;$$J3uxeD~Zbu0s;RO0nf33wJXakO)!wt;9lpr9TazLV1e5_nlCKx3nKLK72 zOa=(5l~S5_ReA9xA}E-D;QgsLua2Fq%9)PRny!8&2ZrD|0rc#?G^xf=&PlC=$0&Cz zEFlArpJC*%M_5{5+1}I#ze8DGrKmx^;5AtB6kZgzZuS^y&XAc`w51JN>XfBcj&|gY zdhFvHjHNXVi-P1Nz;g3xBA!-&atln$7$MLJML}QV#aClGT!SDyK&R*HXmT1U`KN}6 zNZP)D+nc31t#oy^KuYSB^LliETmav14b#gQlb3M1_(0i2Ni`CT7_>!#9^3<64ICT| z?VNd%nEKBFvsxR|pZf5fTnHQmak-3BPmKt?a!5RCasf17rw>0%?mN%MLlA>30 zj5PzulT2|aU71MoGH^eKyW(Lj3cV-eNLIEdDz-&C{%BcC19{ahH($8`L8xNSn=Cy> zE5GM!YtJ(D%~TA5uZKp5UZ^5jry%zwqxeBbbZDhKWW54iudHXSF?yvI3?RQna0vbvHw_=gGG?zRyAS=B7o(N~k4idzeZIe74rmx0z1$ckns# zjy864Hkc}ljZv$dGbx%&G>DZypSW-ECJ}7(Yz?|=j8Cs`>FW7iZq;tB?M^c%DHHFf zR94*T`RZeiyctA=Wa5H1W`}nyD|L&`D$%*iw3)V!ltFJ>hEb+)?|0w2^9QRQ1_z4N z-stt=Yc-mZ1r-0XJpbAKBTxJ{N3U7W=>1{mFMf_i%|{5K4)-|$_}I^ppemjMZcb;c+Vr!gmrlU&sRnLv`kV4r?v505~cOqb&} z6P9lVmn+sdDr=8MMXy0{Ur5F5<2N%I12frBC8(HExOR}ptN@5V;Ngoz(chK1I+XQ0 zEZQ>wz6dd}DA1&CC;dBQU@+C-W9@i26!I{Mk~YzCxOw{pii!#4gpuz7_g}XRgg~$UU>FePCuA zdL--6!-}DGFp+IdVQFg+&LpDjo!d4QdB_=S;i7y(h;ry@K;p!w7eOxX!e<$1V1`#} z%xiEmZfzOx&D=cK+&p$)H`WSbZ((FGV`}y7RD{4{o5eDY{Z#7x#4@zS81Z-9<7t%4 zX)uFWBI(fL)Q7f@$_cp#3>PQz2nQ*A5;?t1Ul30pb}f@I&SZ0cE6tcG%b3a5YPB|5 zy0dqB$JXp5$uyDOIw=gy+?AZxpdD)RIQcwcn!=#r%yYz!Y)j-})%Z=MmhbR)hB*xsO=7^p!kJML49?%gVn&w znJ#sJDuLZk2bnGmG0po6hy;OnzKYGaZS{rTvoNc`#a4oi70c=4iyU^bOc_(0bceHA z2j<#KF6ZNfnM;eq%Vmo|?rn!_`U|7uvjxPq!_=B7zeeX2HYJtwv)JoUDwvRbM^LZh z- z6bg7wz5Z(v{@cUk6~h^a(ixY~85Lp=Ow+KgwJYupcs_O_Zo4K-xWW3&xc2piL2sB? z)bhilBfjA+>XsE@-XX%e6JbJUk}`)+v)5Q! zu7XH+46IAQoo+P7`-I@zk58^Ia(AG|YH`QA67nO8Yo~=AxAdM9Ny{{N%3~}mH=Gk! z68{7-LRZ)wSQX1#F_KSP2zWAt595L`@|cd!7TZbGcZfT##1L1*I!A-B{VyDUpx-e0IZ{J6T;6@OeJIM*k<^4R+$`u^=}+r4U>hZTpXOP=#T z0=IGetkM<_c+UrSQ8P8nhc^ru0O-j(&(nS9-T)oe)87;J+MxI_Q0wRYCrd&m6*uzF zN3La_*8I-rh|Z9(yxSkEH~8icq>~=BGfyuvu5qg_udM-^msX~;xI3{fW|6n{jxL`X zJl!zP?|OyR7(F9opF~HWBHO%z*j`wEyCjQV`69i2JWv$q2q) z$J1Jp9G7oY_Z^LvJI{G+>e&#b%7#`NU!b*)9%Y>)Hxe|Wk3 z`e^?1UwNIU@lVg0HqY5>--5QMY(uvO$}7#!IUpWeiu-9{LH|DN`l*8ICZ z>b8-0HT?Mq@{8?SBknC`)OX78V&eL#L)33PE})ac? zVjbA0pGs%dTBy$83{B)<`nnzrN}!p`C;yIPZ)M6jTPS1B{k0O0Q9W6OavizT*>s?Q zSKftOP|Zjq6tg8h2i0iubAcwV$&yy%xo({!Og5eEQ>}g(fXZwVo&&U~&k$#mHZoFe9Plw9&z^kYc)Y9_N-UH@Rq>0Au(cqWoNoo%zS!mSN?id0h2iv}UM6yX?AxV{2~EB`e+n=@2qwRrprC0OJ)eg!~Wsl0a}Wa4{afenQcg+NmmQ~ z1tHD2qSiVxT*H4V^0dO}C{B@~s4(>BK0Brl7dRuPOZf6OB#ul0k6NBj)>nR%O1|D+ zo*S)V$(Sb7C=Z+WBUbZUf=HuwnSY32Te;h4h!#`n5xNg^K>$UjUYQTq*l7@twbWU# zPesRZ95$+^?GJ*94EnMNp$DdFyEi^_F9+ra#)4_s&I;23jPvs9dFm`Xjlq(PGjD}y z`9)t8g%7FX88(q-_4|!lc;Z7VV+?@K$}V;_IHo<;-q3+Dn^v-wzs%)!xfKp|kJC4{ zwJfi?oX&|?T{PdXNRT;d?pMA$_D)-jUw0F1@T#W4SeBcN3U9C5hyICFtQ{pRiiBMI z1zDtUO>>lG84bm%qj5QZIFF(m6_6!pj1leRyMbPFKE9g@>}@5=X9nizgdpn^7){@7 zE8S#0>@CBg3^TA6xC5KqC>Jr4wz!uG;K=wkiS%uW(_NA}RfntxK`l;ce^8BZI6hW= zm~EZ-;k8K;@ZZ0=J;fS!3;re@S%9`IGw7d#rsxLznw9)4Nfha5*A9bmW03ygRjn?7!Z&|2 zA0!($$HgZdVR{wWo>*cGh(cD{C)O`16%e}hi1J<{K$nrB%WQBw+@HecDVOFlsQVzi zxkq+cJ}#s~A9r+43zCe00Ytl)vBRqp=9Mc58b{E0Hsw=(SQ$H$s)I;IB^O`Igo`5A zB7pvWiNYh57*okz2={}h@77XP%5+0ae+i1iH58P=(qVvu)5H9CA3maM;hY$dJ%O%s zpt$o~7hCu}hFq3g2)0r!xzH?$+kIR*Sb8*#G2X%qd^(EY5TA$_NXL(l%;qgJCyV=H z4sVZ>iAD7}%T#`V>u>s$d9Jee&qx{;P3?qGX5~DsL&oBA#JOQdIHDg1Efj-LzvTJZmCAg`gz~40 z4z;`qqRM9?VVNDqf_AC9&ZqHIBunb=pxkfvHky=DOrsP3UCb>ClcO>VK z?8-wcrpx6ujr5nd?AAIhcWc|}$dC>fwN?XOx+^WAk!hjF>Uw=PPt&iz8cy-ur#Ir9 z5;{q8*gpWT=+C|!Ke0X&G3#YqqF8$>O!V}87WL(=^>S6*j_#SFT(PK5?6me} ztY*U|tle|jY009Ygp_3%<2nR?{8iR7u;9Gyg$x=adNxOPc zf82&QO>N#se)wSUwuX~Z@_7=@eF^2U%^}NKb$C&Skj0^!XdiE%y)5WGx`N5sth(a8 z7w;dyVdTnYpMQ>zUBOpm?dWw1z@@90v9RZ6obSSN>xeFtu!o?$rJ)hMPVF>(t^3Vl zYQ%UwA{%=XYoBOs>}oxPslw;u_sN(mEi>l+VcU}la(L#Mnej`w@I$QHzx4uZpWf{E z$}+Lb^IP?rjcp9$hL)+K;fa^=$?eCE&;L%W2)!Fu?0EZUk1s64g!Y0zJoo?nvC|Ym zy76B61ngk3o~+(rT|Bn#p#Fa87lnFoU>wi~4Pyt2Ej9~+TLxFFZoPp59{{HwPDvXy z-u@lOX%d3+lCkSMiU0VCIVI%eqa8vWeb>k}%_j1Em0c%i_vxR!hvjXi!w)_#OYS(- zR6JeRFn>C89qE+NdtYE(P0s-Oe`v0lQOXbN$u;o2Qm%2hZ}9KAkQPlHA1v~SKqbGX zt?Qa^QT6~h2V7~}--X>(JlXu|X@!A&9R1C@3>lZK`Qtbxa11GY?rm#XRnAk;3j^-Y zWgVT$i((`ZZ##7qIp37+bhUU-zg9$V|A}<(zMvPm-Es9>%Z2=_o_;?po2`AW5q)nE zkMrs)dSmSi`*;Xr@VfPJ_+c>Z<-ThC-?`vV$&Q~yvyT3weT0XvhawJV%PihkEW>}f zM160*zrVpO`fH!0`E^d`K2GbuxaU3n3%%?oyZp5J7kv}fV{Q~-Hwamra4hdCWQQ6d z_W|GNZEMTOi42J#IM!r&r(ak@@OCv+eUd^0m45}Kz0{^D>J%RNGy~h@iMsSFc?2^BB$)+kmpdsa z`wn{XlHFudV0E-1G0uJ}DuU3z1tyO%)NyMR^g1f85e5F{G|Uc#$R0E#ekSh)qqou~ zD3J?j$wVkrG$3bq8U`tz_0{H@Mao85)>`rbZ<=|8R1QAlhoh7~+LQDShO{1rMB6)A ztN}Pu`OK&?a-1gqL%<1fTF@sN!cd49Li$&)xxy+vQ)-JMz8OP79U3|kT86}V&PY>n z)FPB)ZK@;0Kq6DAZD~xSxlhwtX~mj9vH`S@2~L-^7Q6xI_t14-I@f1YejKw84z!?k z^8A#ql-!8x_S9ssbPGm^X}@C$4%5VfvGEM>b?D~Qo~JdH<)jMLE{6}ltsN-DW~zbc z728ePorz`r_WXtlG}K`zb&eD?_N4aB>ZCAkg6Z_*0UB#-YOgWExnLO_bJD;PgZyIH zOf$X4jHIvoAVFf2AM|?16a8*x61jzy!ojfe^pYe6wJ}9<*d^0!DBft);>|>cHs*Nm zQF_NzD(a=DFsn_%rer1u-|QeU*9qyybi33fk(TOM+N_@?+rNBUNBW6g3}LePZB<%@ zH9w749MyS%I%w~?girziKBsrs9+ftq!>Rvsv&m= z_46LU$>+&La)`tzm^x`JQrhZpO^}tg!xRL^dGq{l>cBK zQ{l5#te#FR{XOVRALN1R)2R?)OtzhkJx)Fv*rQFxkSA!sIaQ%s>&sl?&H4k6S=DMdu8t*7FHD+8w^G(5Bi`7jeZi= zA#N4Sd$7>D0YWM8A>VEv2 z#ir7Xreyokex(#@XX`Lw$jWUS$G+OGi6NXvGwrSb_3OpfytaQ{(Gxb(=yqy}yI3AL zu*XSJTM$8r<#R8;Dbt;tAymCB#zd-P8!`P3O({%eznEd3>%fdRvA=jnHU_AjHr8Hl z*ItJ*`f>-v?4Mm<{mxmpz9y*qlW0SdaP+6qDxTr`PKD#)Tit^J$D>8vqXWm2N8OVj zbeX2^IhNxkweBUCoj(;O{|7JMeR_fliIo^-!-mf?yk9ClD4ggX; z07{k<*27RjThDq}4o*1!dN@%|c-eaR&zuOF^$3QXh?ez;j+{uI^+^7l$YJ%!ahxb= z|8Jys*bUA_JqBez-t!F_Z2%Tw12!cW4kM%ihl2~3zX4bD7FRJqNa7YbtNLF37M>r5 z0DAu9_8-_AN_xMkG!Xr-liss+PUGTK{{!j$f18YVagw;XjQMec(ymD^SXg=CNu!~^ zr-Y&fjAz)v^&zI|BbM_U}`(?*R=mju;9Vn zT?>@r?(S0Dtw@35g*F6tr$8w##ogWAofg*urC8CnS^j6w&h9)jyU!cQWG0y;Gx>h* ztB?2d|0LtrdAD%UXEHv6cqzWpAinid;;7;One_I$Pp|*)q_<(Cyam64L!-i5ensC# z#gF_-5seHZaP~;Ag6MkX(nggUe$|#n)gFGekw&!{e)W|`^(}slhK3hM{F---nh1Wa z|DE*yZQ%vhdGRU+4$>tVBF_MkH-hMDJXj}R&{|$w=XnVoz2w1!8&v$@v;hmLHYvnN z>y^ID$3ZrfY%=M2WjfMiI`hhG<^PiOrtp4AB4Ew(ob+z~3x4^(lin7!e0tAh+=tKM zofQcJga-k2(*CES&HwIJp(2>NwOsQC=mfwd*&vFHTO%YG1MDPuTtI2SAx|dMrclwO z;^t)2!KL8_v)92rhDENSk+4?4yaJ5lDBu<2g?%sOh4c#V?6-rVpcTnGHun}^f@@!2 zLBE6+zfZn?xq|+ME&io~?`vA#R|p2S_y+d01g;1MZQTVPwFI3Ce)!e$@lFtS-2y}0 z!D3o`6eB2CfFP%3h+Zv8$ z@?>ME)!Q3?Jdf*Cm`}Agoh}-Y-1)12{y_)4e{;H7#V7DoLj%qwqYpjy4!xF=KFCULBxfz5kt_%ok*ku zx*W5v+I>YoxxaMeQAc#wbb)l9vQQWW7&;l{e<^4fEduvaq6=1U$bT<_0f~Lli`7U4 zqqB$Tr6SLPds)(jJSh@_{E@H(`)CQ6_<%)ghN#fYdjo0-g$!sSk~|qEP}$p$0Tllk z!UTkg8JU6ai`GzXooYEs*_1QL9KFlq>y;cx7+Gu_iaOE{k7S^BOfx1>heht4ef_S* zFd>0`a@cN(ie5bTz7ngK4x$k~$!`h_gJZF^Zdkc(77?msw%=Fg{f9FSsPL?eZM1fCVSb!WYUC@4- zUVyG2b1K#KZ@ES(QK@k>nH+p2USGp4=RO@^ZY&HA>8Y9*&}+*Kd>s!$qt3TP}H1di<>?58SedCWt7`nL{C3{ z%*mulhwumPO$Z_$uP2``1#cELB|91GC^Xk-Y=7wq{8~3`-YpRqhI`)c`pzscS`^N# zMyDh9q%bwMOOjoP8+msBO`1~g*7%Yk_xB!+EcTKS_Qa59^OzV>cWH~)qHAfhE!fkl z><$NdR}pXE=s9Lkw}@V34S=K(m$?LbzmSSy(cgfd#lvf@x}(b2*Rk1^XsBV6%jh*K z0i0>kO5RxEB0`h~>By64=g>8g-?pa6wn152FhjGHt}2RG6QkJim8f^~2973c?@kaXr5l$}LNc%3RIC zKkQ>s%F{1Ew!oy zPaa0+R2EGPm%I#NbS8kxeNjDMO_m?7m)A(ynsN(&sV)soC$*v_f9W)wYCE6SLy2+d zt}vBN6zZwUiB7o&5C|$Xm@QkG@zQu!s@KLv7s`Z4ulA~^`(1w)-IGjjaQ zj-t>-L(Hi7SZ5QKk?_%YDta%=CB&Z{sg<uj1V1|dq6-`%4^ zAOkqCdocC$0Ag6Qx-LbL@`debVx&Yr?OZDguvoj6tC!Yi>}472ioYx9DAfH1h7^P@ zv&G%1%X%ENuM-hSaAssk`)py@jJ2Z{%aibmpi2D5&JhI}m!oZIR?kOgV~WSt2oiAH z&hIeZ@&qDFl!K$~dmrdxy5CZube+6R$!`@LI(NxZ`H^l(uZqHUDWxHf zCsX+vyJy(hBRKXm)H;A^hYP|I?|~HzktHFV<7KE9OH|_`Sgx~or^{l8;)#4B04EJ8 z5p!Xht1%FSUN|<_J-+#LPAIy}tejrYh@ov7O@`7ZsNe@GQ*GTzPGoNOBb-QD`<|f% zBpS&0VJA63G4So|$H_R@FOnvi2^XMx4e0pT!0~I^+3;r0<~?llq+c2LH6rQPUQfl=^LD=pzTZha{Y?*74sekVbIEMDkbN63wJUFSML~Zof)yv?nbh8<>6WeP70O3KkJ} zu#a;4fY200!?5{s#SH9iG?`aqzIV@dNCom@l0skv3QyHFW%K9773LLy`+y?;{5yc> z$GJTm0DQEtEFHHGT@hiqAc-`=(4Z?P+DmB>9GD>h!vRB45P@3K&~;1zH30_u$wBu% zm=PZ1D4-(u@#%>i2?pI(5aWi;9nk5~%byv35Cs5yDOglGbobU)b50@D;3L$^7%Yv3 z(T6z-pn#>&P+r4O=HAsn?UDNYkms=KrO+;Y39Ap?aQwXRoUQ;Jpe>OkpTVDmA#E-&)?~7=ITeSiOze1a~F%kr^ka*#S zs6+$B3a$E~b41$8twHE3ANB?Dih9wc@4Z(>EZ{6qHz`Zv<)Dx&cvPNGNImAG0<_2- z4ZnmaKtHsaP}_zFYEBEmq4wlWgcRJ|hv?(;#2Ay`pdAe!UKkQD3|Tu+ zs08BUuE4ZPXtD}pVgBZjC^sj1sCDk9_mJe^Vj^ z34#KaX06S5Hvog^0RA5pqGkNNSRuCGGNLPyQ8Sa{Rqx?1gs`hFAlG>CVMiZuJ|tik z0_TbQHv0Y&qTVy2x^aNor;C~9?xT7iN+AS&R7%v0#1zbMTY@OBkv{*ZT8{ogf7VZdo2{XB`}(h#?8)a2f`f~;=Eg3eX^ryu82t3s>@yN z*-$HsAenizt-Y9^q#*AV(1{PiZD|L(rx&1<$DXBKK_9!K@rw zycR9{3fqKMvM()c#B+!riOKfHzcUmew~&Nh^bVFxojkOGvFL0bGnr0z^Ywgmdij)3@}Zh&+-vzA99F4Jnb;vipfZX1~h1asOJbg_QNnGVVUfhIHc;tgYY+rlx;uW&Sok&8C zV_qPqQtqI<(FyE%_=FQ}x#&nDe_&m;m`mu9e1GhZ1WI$e$D0SEv)#sf<>%_8JJ6RK zSwSuQkWGZ6F(WVDax6o9BQS&fv+vQrfY=joMRI)K=pu|t8Kq5SPDnnkbFZM{KMN&G zT8KneVF8eRhfwlr?ai^5DiR$o4atHsM` zJC`j11q6Z7Vm9@@&E9qxxA%VU=?ir#ed~nZZJci}qBNjl+O4OjIg1Zr^JTbvmX%=q zI?#DL2*?9pVE`8=P`hm|{x^h&QF!lBfujJZ6fIOU@keR%-Ky)An zK*o)M3e%Rfv!{gy6rSptVC2_n0uksQHCHM%n0Pg;&NY|i`j#rbSl<9tPy>cEh)1GtL}< zISUPX4;43om?IH+K%4ucGeHC`XnhUO--UuE(AbI=_V>?c>-e9dllz)0&Ig&F1?|U< z)}YS~ffcO;bTyHdk;5k{!CH`Wm3Bxz@Ua5G4F*u8I*@n)S4_bCx=5|BJm<0E+0)u- z)%-4RdCO4~ZBm0#2L#4IDF9?)tu}g4^GQ*YJK%!k(Z%kVn_i(I^;}6sXaPvl9nXyQ z022>055NV0+=_-t6KF|CB|#sv`e{r3L^t5xgW}QM!U1jOfTCD}_4Cj=M2Upht2Hl> zM=6?OD4KXWK%yMb=U616M)g4g6vwn1|4ulCHP664}<}HiC_c^H9ga8B1 zH6p4|56r#^iWZE#9%O9*%d%VFxs@p&QUvXP&i_7JQGgbkjuZPbY1qCq!{SuU`l5?x z68emQjXC@9IXixew*L}^URG4IHc{TNx1mc9fG+`mL^jkrwgbrujPzcDd!U9HqZ3(l zNas6nrP9e4(>c!3H^l*!c7Y^PhKeCv z+9hIY)!YA6yYS@nX>uNHz>xGzk0p&jQmQntQQ{MO0Kb zs9$NcvQpJVylJ;J_9P*1yXR>Gm~L#mGvMPzSK`x%8P!xI7GM@Qf@QgGGC7A74Ay09 zd<@Vd@4!Rv9LuU4!^-Z=6oU?7EybPI1sI4^e!X`_s{Vg23!Rb)AheoyCT>ge4A&>$`7Wp*&k#T-YdfA{e;X zjQrlhmIyYR1hCw6l!sT%r<-)X(@W3_L*)qZ3 zO%#uHOV@5BOMsPUA>eO~&FRX}&+#jl|0Kp`f{I;?%c>r?Cl*nRrBG0Eo*xHH3W}StngUp*284S%S+@bn-u3Y4fyeeWf+QM?L@*5wAVG_QSqmt_ zkgl)+wrwP#yip8_EIQ#@Yrbxw?tn>-f2vHN?I%onuYRj@M+*fP;sp*UA%tHqvvYMg__k%uHv3)Z>FN0vSWnM3E}PXQQ`#BE zY78&%%rv=tpXYggsu0?;3l`AP<|Yz|`j>+QRGt=UOMS(tdFAi{`DGANUknmU4_IZJ z))1k7(BFP4Z+R{B>x2{cd`sipxcgL6^PCfLExmPZY>xakxq9qeWgBT0=SDd3 zD(?Jp8VAt+b?LsjRsG=qQ z=SrgHV8!iPe(O#IaVLy>!<4#EPW=rErnC3?Q#SLucI_B3&myo+^>_kSj zisoA+@t*70nmf4URrK4NysdlbEtJ;vrssHc;QT^8W&a8cn*eS%Ov~ySJ#NPFxXpbP zGjlJNc;7+u7=Zg2kNBx>Nk3+euX>3Rta;N-^N_stF!T0CxQ6+VyGNNWx?1I{GGg}W zi{!)R%=PrIdwPpM)zt?ky+{33&Qd=gS*cHG&)!+gV_3Rp8mx5*&LF-2b=QLn74*A5 zrc0y+LZqQMYJN}vVE=dvWGG$k$j6esa@$|sx9ST=mXG&ZwV_i=1`FPSlcdn4@SdCwW;O&=WV5P&8WlC3m1NT;x{Gq7|)m@gW2I0+jU_`8S~l! zFc3K85)Ykvu; zyi+GZAy69TG-SXMx;fE%p?cRVhAp-LKhvI~yA#D!EK3}890Oc!5c3qa{aMAFH}DQV zjYdwdg$c}|GbCn=x3(ObgtD$4dcWkjnue(93sW0}4ehw~C^Xtk~Ey+9}(UJJ70ss-ks^yW4hG>}sz4eLSS3 z=xZ31vJ?C+Ib~#-m_sYfgR4{&Zpw}K_ z0~gw$7@c}uDy>*@6T?VPJiqZePUEo=Q{G&kJq}fje=8;%8L@BIJnlMiEM(&yFBvN+ zf;F5qQL=m%axHUrn2UzlVa*p!Eo7U|RY2}%f_vv zM1c6CM+qqq8R$92VHk5>O4Me^_539h8m(j%uY2g}0BEy#xnjh35pXPn`9^F$DZAx- zpdvfsa(s3wTJq-IiAVx`TYucG9`Q^97+5|#aMPwi4!9_d+CXF%G_fK3vwr+ zF2+UQH~wlSDjErVZLgjAk~?Lm&m*TeEE_z(65}Bbif|1o)u>kZR7uzIGn=#Fg1Pja zd1T3OFMitwxc{iHf-YPH*h23p4b{>?#vV^OI%B_;%G%fU{^iW#9|>(+kBS$vg$+Dy zvr&~Ws%I1E=Yh#0H8cOvIege>^kje3PSm-1Kb@jXfgGLGle$Ak0l+W}PUbUQfReN_ zSxMoP(cnxCIBqZ!yoNMln+#|2xuJ8YvNE3LmjjQVXRha5axj!-15boyf=)U zk&%%teO-$r8Pgp=cE(rbiX zPCmw^7~er%{zlG3Ml{3@5Uw@&$Bk2)s;18Ic`d8R7esFL)1Nna9W3MrV2oBf(ws0y zMAug0Ohdqfv>x_ivxxIeBej`FS4zd}U01?W$#p9GLH5LDOdx@MJm)zK!D1i}44Qs$6%_jGi_ zqez67yBS|!50Pea>8&dk-Sw}e6&Eqy@z3|tmotq7hE1Bi&8h<`P&8((xC35Nm>eni zGGM23D^`l`u!s7DrgUGaai$%x0k_#|=)WR*uy#((Lno(EF5$wT?FA%lQM4cGJ||$| zo!JSGkUywPM`7|~m}FiDPbp@cgG zTH8*zF-9UoZcaGqulWA1HkYMTpI&&9o5ptLCm6)t{`xmD#MMIKJ?ErMol^^s$Rk6+ zeBFx+)Y_vKZG-GJq!AdzlK{Zey9Kxdku#s+;hJk8ELO~aNS~|@Z6ZvTYU_n(FGgNG5}N5>ROp>Z1IC-v2`8hUyszIs z+iahf5vucdE1tr0n^O^D;%9Z>Ho~i%t3f9!G+ZU=Tf*w!3_v%Uq!ehWr5bs*EagZl z#{0+YM!7Zk@qCO)HZpxP^lam(M`Cu>BbqijZyONX1i?-yt~4xjyt(8S>i73Qyl+3E zzEj&4@_-<8ynX5>ScKgFDn`F0Ut&1qNu0@wMJYrPAxUsOwYM4e{uuP#;p2HyOKcbd zpFT1Ol`#@;T`-?1rdF!ij@>)r-WT{%aLr%^Y!rsN7{@fPCieU_Zqs7 zr@#{jPF##MjQDZ37jcRwvDn`L9*Tz!(zC(; zW_5-o%Q}n=ZUsj!bQFpU;|M52qM|>U^bN{-r4T^+!tvytq%+!I4>#aJEXaq~-pNy< zlcCoYTARu#boNkb54Wx2c}Nq{*A8j74;NI3cC^X5sVR6P<8o!=Ax-kV;jE_TZHWsR zE+v)Z?w70m0n$8EB)(9D{ZS0YQi4+|h1|#`td5k)@VyVja4Je9$fNMr>*W(09!$zW zxEDdGX-9U2N5U8hn>mz{#FUaL$E;J83_p)hTqpt;gXxPxpJJ6Wvd2DEDrW{Ne{_L| z7j;JC!CeMB;=IzbQ-|LFQSuE`ifiQY=#-2vA`E3z$(dx2dxq0$qc*0a$S$Ns`w4z( z%F&!(<~vl%_Q#z$Cq4wqB&?2oU6(SP8!6;eZsi|qrBvcA8#dn=c_%vJFtLXa(9NI;BvvxhtW$k$vq)Yt^W>86lUs2zM=JGaVLh zHCESo)}VPjbyZ|85`>rvEmMN^nGS0jCH+R>PNo)-y7o)11ui>n5;G1&Zj4rBy?88C z+cQ=7)t3cmt*%&=E|u_Xd_~Q=^!yQ0SGt<+1gkD8eOZ1TNap9@acZ8x-vv_dd8nl} zkfEnstfyL~r{1NfEIz~Yv#l?1Xv2k+eN~HleB3{qLH@4}lbH@)mF{bAeZJrGBaK?i zU&Xi!6zcgk&421!{MEO_UbfT+bDLHiJF7}n#p=jwtDu7>$+CE66n)KN5O&^UEJJuG;v%92 zIv@3QJ%6qwq8N#WP5SdKX|k_&y1!1hd;Q7PC~V2Vq&O-nOmDMM53g%Mg-hYfPoo?r zQ0|6N{?eMLuF-P-h`GLQyx&rs<$CP>lK0=`;9|0>Xf@TawNGZNs#AK(W^ja+;c2JQ zJ1#@Dw3UoR1J9+UIgecTIGsQugT^n*U&2hT`Hgf{ZF)s5SV(Hl?}GMD7^QA~-%4Lwkdr~VpFQLTK$e!c6b_hwh6r)qpG zEh=kB=fspFj>9bOVt%^#TM~-8L$GcV)wkiPjk-AF;HidcZ6k#K0c@U6je^Pi`xgVt zxFr|w^?sQ}&8zQiRO`8E<|o+3r%a#@>4MDu)NP(9$C8i#MMb&Ir9XT&=ttPc%sPRFy57cQZ20_M zwYMVsunkGK)M+xqVA998U;3!G+2FM#{L_loehy`$48)9s0|C`=ec!cPz|Wya@)?EZ z$TANr(-2#8P+N21OoN#%AhE%0=0r^KyKzcp=S>tZx!Vydm)2*L8NAHqs0I4+*?WET ze4-_L!JNAY>^=Li*J(t0`HMnLM13sW`1juF4BaMtB{iG-*6q(%@BEXD)r-&zn6kRH zYRSIZ@V;vGzQ(4l=CZBk?cUYK*49uGVU9qR^8W1K^|!A3bZ+A^!%<51HWPr2_OzWQ z@uu0bo$BF%1@VElfU#6OL53Q($+_;KzD;46v_#Gd6ZZj2@m>kGwX?zIy|cY3x2E-9 z8(nkU)eRzF+nsyUeQFd#!4Ec0(`?(nHzYLrJO0|sHt$GmzzIJb((k}z&lv-!j~r3I zd2W8oT0QjKfw`Fdqyo$c5 zqgK6`MEzsQ@z}oP1>MOJS(&X;WqGbw4)LHhZ}p1ge&13MJ0rcLA+KYHoSdJyZa$7f zf&DVek`1q&U?lC)To8E_=d_{C-|g5) zc+6i;8d7p}9x}7nwcH}G64d;rTH{lbxg#$1(a|8BQ`b4N%GyZXP|5z(WEe<4Ou%Y& zX7RBp^3iKhaOw9xiEBRXF+VbJHLjFj2n||lJDeZmKK^=pT%T<}pQE!t?fOK224)N% zJpX~^cx)VaBB5Z_67T$_SoeFk>qhnR^ztzxcns#lnLs#fVBxycD(<%DrvKLLY;O{O zF4@(w#5L1$KICBK#|Mk}->&1$pY8t5_xyId=vK%M+Nn4^Up{wA6`(zy#ve*QDgClU zO#H?;ec_B5hv%P*3h&vrLItvh+uGk>7EI2B)%yeH2`klaWryE>O?OjaG6F_SCpQ+a zZXE|U-8xGa3#Kpf1$5~=9hV)!D|T;JKV)&W{(`&xdb_c;KjgZ&xB>a)j$!mx%*uUg z`mECRwWqn;$mVIPffLyX9wF|Ao`Bo*#$v_N`VR>`!(}(40uM;S21|k`tHm6;!-9(2 zx!&K)^bbGY>hGZ9tTP2&WzlM{8vHD^3`VrOdA>x;qNCAf`*_V3;jUigsfg|I&+OVz z<2ncDr{AV?Af0nah<4MsbPW}$V9Xi6=GMw9rv(LLC<9F^NW@cH;Nf*<(~AFLGJ z@j@ZmhVHlK{@wowztw%oOL(CD@}Mc~zCf~-b<0gx&-?Ks;)2qeflu*+f)ASQ{{OZ; z=}H3@XDpNjeYy<~x)6UnmH&p7nj)qX2(~wazQcnU)Bjr2kaCF(t115KeX+H`Vp(Cq zp^xUPWB5;!#(V$h@>@+18On#esDJN{J~VuqJ9%FFZ}&U<_;0^F{*VP{2u)esAt^JJ`|{J1$+^m1qG}6Oqf~_kWBqmV(z9O?;e21a0;}XwaM%-K;FrvW(1Qro z$&*4gN`coZOO8cvG_v$r>bJqP4&y~&bhk9pMi&__y*YL{c5e)$W>m%a&}i=}(^$g+ z<}aBo`MvdOyZ>JK3A~u=50FHNgiYMM4Ic&042Dcrt5!1^Xh?h_n@g<+v@u5<1J?FT zMoK0Ws#WbO>_(MI@0Q2|PL7B3-qNIZ$p1X)q;jGNi=h)b9joDBaENKUJ)G^LATSU! zb932IsTINbN$&HmaV9Lj%j`nrVIw;DaN1;DEc|C#g|GR)SC}7i*RILwxEFu93O*Q8 z27SzDS^Y5WpE_iMawu{*r?`vszDf=s}HlX0HTi4LU_uE;qlwJKiz1HaTyC@plP+lq3!@J( zz<;el%wH74*zP;$amr+b_-<*|JtQOjQUxW2NWwVNBJORo)0Zs$xFZ5$JJiU%Oz&kc zkb~2$AWJ6YeOY0;s9oA@J}=oArEc6g|Mx(9g$#QW%0cJ=x>Yyfrg8>3|JTol;wSS3 zFU0Q?y)0E8O9P7oMjUL4{iC%Z;_Fbe=UT|{sVT3e_ALGvbGbM6lFN!;D@pk#405zY zl$tIDEEzU~H;M*lX4iL*OZ zHLN{8xhTzmeYJ3PHe2MdfbX+|9TrSVlE?B7mP2GOdUN$N-`eBEP}E4T z?mAW56K&gX4Vv#XA`WDKnI&?_RJKoksYl&SWh&?V*tBo3$lffEEBx(Y)!m%E{3u#t zWbloQN_JlDypf1<7&as1DNU!Q&xmb=oP(|0bZ?#Zt&yH_D6b5%bnKkzV{>b1keKAp zgK4&`k&_Yi7;!;avR1A|^z&$;y2U*B+VUE}SpB95Gh9i~`eTLdoomn?=BsUtG|?gK z@pchB^l(wL3=QzlaV?0L%ScF#Qvk(le{`p=iyzTo*V4g=C+g(6RinSl*nA(din5^mznHaP_WpyDwe2~jRLa#Dh9@z*QTYs1P zcNZ-z;lotL3j@Tz4i-RB#zOw3m=|pHXgb=Rm-a! z60&nM99VHkt|i8CDv~wyFdM`<+tbf|Je%b`NxcOlsc+6p;%AIiBi)2*S$3sHgn63dgV^oH}N2JrCoDSJ~DThj< z2+l<1Xj4YUi11w5e^CZWF6oq9zGLbi4o%Z{8U4X*Vw1u3sqH(3?wn5JrBOO!Kj!z@ zZPs3v)WspRgRdwDY{$k?=Iu-+ejIRkvrQIn(4wnBR%C|tK_BSiUQ+f_;pN=1fv~SV z0r0Z2eXBrpIBI~`Lic6yakrUs!pnn$Fd^Ak#osat~GU!pz#qTnL zRm(5kj2Z2z_E?(0p>8YU;z zR#5zi?RDj!xD*OwGY3!He8(3nxJBJh_AUWK8Vwn zfn#kQLkoo zx7udT1_n!X=&o=>6MNW9Eis62et&^G1v;brz7 z=aKNjf91S$t}BnkuiIum{Ck;)#C0r9&^{ZET8vMe6eAmwjvf1fzev9zlu6FG;jt6LjvKyEezACus70%8mWQ&N99*+}e@%Eqi_cl0ooY_YZUkAEn87n14tY zl6k)}>3asDf2w^H)fZxJ?{`0mAt@o(g~Q)|-?dOj;mC4L6sXPLqZT|Oy|LVc7g_f* zusl>y;asFtcn6U-6auttbn+jOsKvoe%bXyfcrGx=zgzBC7-3w{@Qcc5PSoU{gUpo#%l+Kc0nt+vC1#Tj)CX=@H$$ zuD~f8>)Ve59F&6V;4>rV;bo1A+HH-_<;ATzB7fBg8L4Ui{f1 z=(!)3?3RJV|H;_?@Gu==OPWJNPN<4_q2q_NTY(^cnQHp9>3e%OM}KvZf{21gMh^3u z|BJhCrG-00KCVdO@pRHQ<{c~K8$H*am-~FnVKo<^eim9eTGlms%N%kD3UHM}*(gov zMRNy&Q97C*x>6rnnSX0TzI6&MSEe1Cqbk*=KI<}7&dxnl9)zTaR?bl`4oOQlTHG2@ z1FvPy<~H{?C?EN0*1Usp#&cCzk$ybT=1{_+%qWyfGI+~_KS2N`1R=xxRR+IV4iYb2 zDxZ&POh^1r1J|C8#3!HR10892K50B1S$aNMj+L!94e>hVT@xKecm9by9cBR?)$)!4 zESrj2uIC`1bBBh8@4K}tT}A%t{$&V%C?|cCS7Dzu zS*_(}t$%|UriUyKztBEV(W6c8vSC=vGoj#w?><)1Q=O#!A;RT1-wR!mqC?K7!T=;B5!9zCek&q&o{uwlI1^mZJckI zY$qdSWo*48A;zSwAZJp*1TZ22+khc^sGQG^={%h&yP8h2#pMM+RRE_0?8(SwrSD~) z9fo;)KE)~snQhW0#|qb!85hb-_Qu{GT!O14_unQA?SGmuaUcPt^8Yen)&t@}oNvC5 z))kKYpS{li9}~tpD6Wvg{@m*W}h#|am6zY{f`Ngdk2DY@MQGr1D16< zqCB{(&nB$D5xFj-SIY3F5>L?&4)d#fHeoh( z{gZ9)cC~Uy+OgHwOSb2!|K3Yak=vK*;EgrssDEZYj;M7$O=t7-T8Sl;jcf1f5Smed zpOe!l1-89Q?e)gY<*t3WK3$dnFh1SYarbL`;JMeS+1>eYeY{X%G1J}kba$~gk*nF$ z{rBnq`gCii=deTrfdbivfr*v2gHf3yx8VrvM&pmr4^7IUga(c~VWjq7cfu)sglL`* zJ4SWQ>C+<@LYPY;Q}o!ISqY*zf8%|L;a_&#ixWEhx)(2Yd%Tw*h010d@Dj&qKS_!C zfhtx-;D>Fpyad}p>YrCK2WhX$!iULTgWD87nZwx*Gi=k>mV7W=BT6y_;=!=bF3k_j zN~R!~b++H36Fo)XhccEpTjcSB+z#)8!+d}=i?twHVEi~MYF+vGT|D<2r{ZYlwBe!v zr~V(MJawQq(N2*fCuLtt%1;#iE5nD&DY6h4u(!23_X<@c8m)L_t=--%1{OB~J1t|PXe?*WtNOPD4Gc_uM+Ea;|*20(CRRI z*|1!*s@;0n_qk=;7k^q z7vJ1{4*70WS_s~9UX3zNSx@$&NW-uI(N6em3!}}5vLI$3@I1Jahb1-2YcYb(gN+S> zO#rXIzw^sx)We*^U`oE63zsj`8UYb5UP{TGV!d**5hCPfK*iKk<)~7V!=U-h-0|De ztVLS8$yjv%W_=|S46xM?#zEHsWQ3~V8)I3zSsb{m*T`1Xmj z94!}y%a1KbddKzRAb^)siy!w==XM*&!`Cj$yG|P>rcw@x-mH=oy!Z(ua?kBIy|}$U z?E2K=CTD0tC8q14w5i49lN~y~w25`|a49?1CnD2n4_6%tC}ND^TuTH?-E}^R{Q8Y{ zDdFD7z{H_CVt%6@q`yEQ_f-A+J@?-~ucP`W2D~83>-#Kie=cj-%m^T?epa0;NrPA+ z7zSY6`&8ak6^zwWNDZ@6UrVI)M>4`u9(MY0Tp#xrR!aF-7^^i=j%T4!d$e*mB`Dzj zL|1{y{7VQpTn(^{pzWk{Ks2KP+C0`Fw(dw~)GUMZ&^esSCrYTvs@zQL&O1vOGLZ4Q zm)+d{y@85BEwoPlMF1+E9Hr9y{9%h<=4>o0|Fdg3ZWH)7ON$@MP|GNTAx|ksxUgLS zV$h3_RKjNbeFA-!9mv7__z)!Y6}GeCeD+oJ7cM$|sD$+(^+(1qc=C=N4;&u@QUtnW zqmgBWsf5+er(*jROPQ~!d=8X$b=9-8#!#+K$OB~RkfnIS+LZOOl4+axN5SN^lPJe> zp8x=<-HQ*XeSMX|AT0%IEK}bjy#Cye+{^rYBo)dj1wxiCl~w~nDfjWSXsiZbVeQ5) zc*}#10-sIB0|F{-dXPw|9V{$fuMQCA0Yl1%(&RkT!90X?_lyuQqp^B$QLn36b`*c7 zr-p;fKKe$7tuiccRyRP8;k($eOu!G3;8ZIlY)bXD1GuTic52az;d zhonS>`JdSMvIP4 zZ-=1vp*>2CRKa6Ulxd7E4!ZmyJxGohbd{28EPgEa&3~fh!yuWG{OFr9_)Me%a=8wQ zoAMuH=pGnWmS+bz;_{ipk<-i5A7pS;-mguBFLdn=y1aLOqXW-w>IAd(GSl#krb~Td z+0#0aa~of&_w-G7Xj<^ML)MB@``wG<4ZY`0^l%LZeAR zT8Tu@r;|dXzoakVsaT~X!!}G154?W8FUzFB#-Fl3{dvhh_>iH7oyAV7^Ud%Z7y?A> z(}07jV@r;d2iZcA`tr^aDnSs6QAH2wl}k<{vecRekAZLk+>wByJhXuLs{*>9BLz%b zl+@vy;zCZ7SU(Yd%vunR4h$?Y0?eQ)2bZ{(CkioK4l>i7cy%T1hAGt!x%ga5xmY5F zez%;KyJ#r>rREZ>)xMIADn(Gj{`#P?W*#-zt1we7kzzY@ZW#5pkxTr@<%t&EH!40+ zw&hTi!gyiP4T8#2brRf}H`bL-ovDw{mp`4hj7rB&N;vo3Q?g@y;4rujP2$Yj;{7%d z+0s|X1>H)-XPR%mZ6^Ec?5HcYE3xWR{36FAR93!YznP);rN(pG@AE1V;)QSuS+}$E zTe{!^e&s6kG2iD7~v?4znv{5!$x@4K&J3bXf^5%2Oq%)b-0`hMWe z+>ZKI`^HxMrIkrManaFmchl|Ii#+n5&#b-?X=e;T8B-7#mY8Y7-;aL!+@j`*I77F9ocLGpfJHCzE(`LUvr5~Q2 zuX|&JleYd)O?~qJqrY)?#G`jKNzp7_e0g5+H~py%-Pa-Wt>4gR;k(-u&#FUb7N8eS zAjnun`hzt7Bf0~omK*K$$M$9)f?n_RS)AixyQklF9SebXU%acE`Aha;%K$H09lK;J zFJ#zz)j}`LI)616cdU^>Qr>`dG(39i07+E9?;uNSdLM5IMAf3*X$gXF_>)Yj^Sivy z$f9;L9InA^BDAJ~gC@Z<3tnf0cryFJGnzqYsvbw`)ZvYvuu|Q#N&7ZZ(#QyQ$P zUw~Q}M$8t9WMYX!`$O}Bfd=E3(_d5KyB3(mogR4GYQYq#lOq>-4%}PbWW`wrrKrwBgu<3{_ zRdd)DKyDfty9bcj^k1W$s>Kcr3u4IC{F|yRRF7`)-p0?$udB(r?ZEY={yo~{C#U15 zkP@O3=JF#n#m+-s{UJt#5FxXeGQ8-y+Z-WU5}EMrBhi=CM#7K&R-xdTR9+W+fTy?9 zZx8+7e!f-+4x29;HqMTtei;v5r4NB?Jn{I2qyrDe1M`TduDIT=2aqy*122U>WN%Xs=VEeD?4e8L~j z?DC|!{uT8o8jJ$Z8}rQj`S*9X@VS* zi+5R?ZCUC{p**0FJHIq$rO;TeB#f`Tl&{#-yQn~~+@7S^tgYk|NrmZ2X@fV#=RZZQ zZ53^NCCpUiDYoU(E2T|;N*l*YhiqSGd6(~AmyXN9D9Ul1%8TdQN(bdCn)Rv*%1a7# zDm37g9b=XJGZou%)dzYNh`q`ZzS44dnT8c_?)s3U8yC0nf}psKB< zuD(jIJBLHhBI<+q>P+>-Ls#%<{=%e5^4;W$xS#bKc;y@Td>Z&88zye*72^ww*b9~V zkVN#$nB(wL8H*J3$*7s?DdQX25sixDI2?8r_1@ofBfshSAjvZ26X<{Qo2fUA6u0nc z;=-vS+sU)le^a?qUJkEyVybjLE%FR*Vs|da$ZJLqEUk%XX6kMBtEj+)H3U@PAZ)A1 zBg;eOD-CU{jJ;ZDW=h9xD_7*8mJzLfCuQorKn>ASMbmn>_SRGg42Qo&{x6J(vK0(0 zJJc&rpCYoe%YtJJTDk5{MYx3ufEUg+U8`Lq|Gwk6qB)5JHvy>2F-Z|{VZPK{S# z#<$7G1AX>rLMzIW#ygfWI=^|>QHXwf@v2N4D_~osT?ZL>iioat)vgm#ytCCV?Cn-9 zNc|NlYy#fRaNTv60X=T-9(3;fcZ&Zf6;(X^HA-cyuusn=dyh_lG}xCJ#W(Fb5EY9# z6P2u&Q>;@ku=l*T2b-*ilB|zfppPb#mBgTr#JP{*5f^Tc)63sg7ziY$?B|i_F4#hh# zpW1u4=Pwy3ld6{~>9G~ZMu4>MdB5}9jp^;*&W}1ka*|=*!0IT4(YNs<0%}RAYopnZ zqq$^b`2u5w24ls(Z$hHr_mNZym2d)EDpTLFpR;yV0yv1X(K<{j{57`BHE1jI_)Gh) zPheueU}DI3VkC27tYczgZDQ(iVw!AnR$y}8U~<8Caw&6iL_#Sq+?2Gw)>13^}=APb7Jb&;QKG%?+Hwe2fm}>?B7dn2<4#P@pir!h@tqN z;avaBQudu@cb<;1Px|AVufR5=pn!+zAce~^T{?q8!Xg37!oiFFPAxb~V>nCaH_MPU z3-6p|UY})snq@N_)3T3Yf7$EIB2zmclYH+mC$K&z^fV_zJ})LXFJU;}Z#CaH?km$d zuV5${R!2rQMv<(-yt+Fj&_BuP?SW=PN zMURdKsX7TRx*0Bd_$_*7EqZq@`mQhfKP?83F9iuM-Ki4qDJ%qMEk$%LMXfKzJT1kM zFDD2te>GfA_FGQPT2Aj=&Rk#4ep=2YU&$9-DKuOu_FE~k^$*94c}KF_ajk#Fn>ZjjG_#*C+2YNvu^B=^>7&(=4-CQfTFO+HzmNC7tQ zvo`;9Za%JW{(IUS#Uu@zA#!@Rg=Vw`QrZIhZ$YxRF#l~~Q*2`iZ9|o|ag4T!{I^LQ zx5=`%$-A~GD0V1?c3vCpP&@9>`0v0ewgDSEl`xcy-=h*+J1;RFxBo70_AX!7uE55w z(7#>oK(L3&)LQMUI2XL~CKz9^}C1@&0ib$c?7`z?J~I;{JP zQD7$eDW!klFSPGlji}Ku1tQh{u@#KHNBzEl!pj>0=Oo7b*gk$PC ze%W&Wfk{6qbQ)~ey|3a1MGRiRB)hM)%MI3ZM()dO%W9!|A9$n9jz4q2TT%$)DOOdW8Wvq-=*Ctv^7r7puTG5`VUN6tgWk# zQEcaytZi~_zL*D2(5Lj;og6K-Of-t#{wmw6JxHQmlmG0KWmiC)R=}c@u@{Aj5tZ@ zNSlH)q$t5(sY7U-!$#eaEv)t5emY(pRmxe?-to-66*HA|bUxA+%}421r7U7FQ=!Z6 z5nB`~aN~e7AiWH^#&OnjkBQ6mS--I`!$Db*tTbP?pujZ}i}kE9PM2CDgVe`Pu1G#_MXoX)JQoT9hhjD`IL! zIyRAI&nMbDGaK!InF;dzcn^ayQ3mr;!F1nPma`yoO7>OVZ=F zMV}9H)b-Zuw<cEn|Cz-)$?RblaV(MPorlO9M3UMPh@a8sshn z)ok1hP#(5t*uf@s?%0&N$XE!S%E*>oYZ3m;9Bs5r5;jOMgP}$F)&_(T`a_JK*nnm) zWQ0La6miWVLUzU8h?IsBe#a*r#75N_IR-FGjw?k(OWMzCGtT0Pgoc^Ig7XUuS}ZyU z^TBZ-FLN`!MiQB$YNe$=(fc>0@TjkqQF8CzoOu?-X)^cWRLT^Ke@DGGM+&IjTFC|GLw&k2wFETos93f*h1sWl z^z8g^p3%kRSj;8UmL<3HRb`aNTy4oVaLFS~W7NVVKAp>T#W4 z2u&%xWHFL!LgT$ss%9D)28{x_J{8>jc}}#Hci@a4pt6^v+@gLbHBQZc?^PDVAeypX zoCXM!$Od;wgxPsAnQkZ>rLNEoje3HL#oa|M6Gsd{7f%tIpMp-cvrVQNp=w-)EY>&w zUb;*pC{weD+}c`+7&%|JQl3h8Fv=N0Q~h}&KY-%8M4}`AUB$m*%1yoS798+`4t5bV zgTd|?9;QN7eWw3m%=CayoJ;A-rJTH_RCM8J-fsx0tOulhE@a&tLlP&JA`^0_7P&D0 zT%8XyINy7X-McETu!Eb1SrOCUzxC(WK-znXcP>cR z`cG{~qkYl!RmHwAr4vYu99?}B3)u>}U*EX#MSW_wzyVw0!-S>MPx`&|{YyOJ=Shng zj?BYM%lC^9c|j@=S3;3tX3Vjsm8BX^Bg7 z+){;`LPOUuLLlla_WG?e<==O?=6bXF{!wMz8YdD?ygz!kqv`Y}6J?FPdTO~9i-f&w z6kNeST0Jlmb+e9S&9Rqyv-fE%&rc-j`SlbwSZk#5aP_-?FE=p`)YFsT;<4=fXc=lk zoHQoLKGp^t5XiLYyIgp@^bXGadD^?rRm39O8FI_VN~)X2bF>&Xe{Y2AFX5rTAIL*S z-~3GG8Djr+uW|bZ>s}dqBQ&DKgwm#kcL>J%kCK_?i8Ic%e2l z7=pG#Nk2KXG98$(n7NNh)jH)6gFqSf6;KUFCU(q*Ww~Z{3OC2q#zecNp)BlJgTf~v z)yIXqJ}Sd|tf8MXjlYZo_nGM5OAk!lB>r7Hk#E&1kv5rEX!WZKvh-FENI*{?4#s-I zHLfU>WCr9x`<+796{tJ_sQn`uM=e=WMW#46ZAPiIG%Wx<4QE^tQ^YPUFq_ZT8MQ37QZOXU+HL~VWEYTOE z4_3-^AxI4+y0MaJfeMrorqAemA4pxIf70khGc5VCDEdK)4p;eE#Wr5J zIv&%PAYNY6K})ZFNmsi7=xB*oAt)d(3{AT<45K$pc>6OsduXU9)Z(M7rVO4%N<{e* zmG6BhSKXUPN@XdDP)2FAC-b*>GU2$|WUbcFOkUV0ORMSosM*pF^DP+fKySk6Bk9o5 zV%RXhL$PLhFoG$gnsi)xTB1&*EF}WX4`_Vytf3j&7+oUJ$t|#vv8yRhphe0T?-twS zVqBF{#RmFFE<*IaX-pJgjQbXvyABTj?>K096pyz55wHDoDef<7W@L<5LUc6mX-rUB zTPx;N3VS8kTg@Se3IzTXBySanf(ymk>?cAX-&7#=xe)pl;ACz-zG%K|1end%MUlOL`vn7X zH!{3&G5k|ReuEwmhtV+&YzcrUt^mVqpt))JSl8JTl+b*(n3S+Qr>pcM8M0hzP@)KH zM{Y7I73NJ@S~Ikyss~b>3$ZvU#&~vybi8O&xu6e-Fub&q&=mB@xWaw}Cb~1EU8S^| z64DY^Dl5k->z##B2dQSm3X4l3TudjDi}JKBBfDb+dqZa^G23!qN;nWyI8+7>sezV& zoFUZ!^z}4P^_iqbZ!eIy%KNnZ>FEk|6B#5EumwB^wGL7>o$M|bLb!q!zEnw<56ZTH zw!$$X5zqxVv_l0l&{owRP`UCkEKJAGE05txSKS$kQ4>&Mo5s@}0qp=_`M0H^^rp4v zf`V(E)nV>Qa@DV?+=>y}7|WOzE8sTD@-th^Ju&bLq*V_n%GSjQzbYsEQ)^a>xQEx( zeRVDo!9<(E>{lt4c^<273BZh+212KSnb3M{IcT?WJ);*s&r$u;BAP7#y+5wlwmkXU z7G!N2*uWNx(kp}g1`sukm4raA3CKc)rN;xZd%cRxnLbTKG@^STHoT#>qcRNuWayUI z=?d^$50)zw5V3`%G7V%408eaTbhANMh%pSWsw{{y4~m)wOnk|=;z3lH9arFyT4WqH z6rl=W$qKN>7&AiTKUyvzvNo6rbB!3yA{?KVr#ea>3ZaK`W7Hb&u@MBcB271+MnGyP zA*GZM2)HIYH@}$;b7l)ejV)4>DsjxGrpivF7L;8VS#5g^X`lpbeKU2nA&Tmelx11I2!{%*O1a5aA;R;_oF_fV+*6b2a|pUGy5uoGrjBegwI(9 z6usHm2!Lj13q6tR^^gab=|Vu_(7l^%#>~|CtzNUoo&=8prR@k3?6O{l#P-&{1w415kf*GHbd@2lzN8R)>MYNB?Tm&-B=5c!W!Hx+4j zNgT);mZ^JEuTR!z)>hWC0*nM#7U&IGb>x1`jC-N=urun*^?P>8^YBN>A4)6ro*xDs zA-(ttL;TY~l>nwU!kkC>bj0Vl;po5rIp za;Mbl3=;kZmDaMxZJ`Ats>`CLA{(b5?3nRA!^P9!C1!}}7OH`Blg?T_DPJfCyIT?^ znCUBq2Oyivcgk+15wo}VMS%l@vFeS%8zSIhK&HO)Ag*FHjZ9?H^F62p4*q$D`gLoB zShXWc7LEJm)ffJ~BeOqPpdwZ}s4Fue0sxNHE9N~%>#c`jfzgZ+t_EB2(v|4Ez64tj zqeq~r6wut(Fz4RJ3d*VmI2(NnXD&27x@Z7;m8zZn6Dl0?`m> zhdVDu$_My3z=93Jl`ty{jenSrqk`pFsm5n;7>K=+=Ks;-*u-tk%M~5^EE5|R$MP+$ ztr1m4&*yu1rZ;cCb{=b?jPYBa=l)w=I31UuT7bu5Ynru!r?gBc1nrnk8B2E#*qYyv zA9(u*?T~3#+Hfy~V9YXY#b|2%!^Yaq)1qV)Bo2UP61QrhSgcK2FQBwubiZH9f9RI& z=@!%GVRU#~wFk{R94R^YaJ4=j*u!Bm6To^H_Dpf`e2%uGp4+1GE?=R5yS26Ctle&X zoM?DG&Hu>8|1f*wIA>!`FMK!YT+_RcGkKg7bKKT0o`_~u8j9|5VWmtJ<2*+(n!tF?ok2g0c%1~U)y>J5R zy@@PWC*2?dbhMmRpjZEHk>eZzb8QtOr+}<_s(PfL12!qNF)ehN$qX|W4ES_~qVx|Z zI$@An6+JE&3C;#Ze+$Lvz5;Jvk@sA^x`c`#V(OjuX0T!I0iYLhPPylrViWlKEwqFZ z!nB8h1Vo|Sye5x*)v|*@_X;Ic1-ks)h06K%^5NfMJ|@n+{|tXl!e?qwwDA?_@(TLl zRzevn_4?ZVoe|A7`U{CiIt>6*-I0sjX}yK2<=koJKs7djq`638J*J#fxSqO$zcx^v zR8U1~fiHifK3v|3O4EUAy{amJQak%Q_J@hu}@=jkFsP_7A zUF_Z6_g@(7e@2xbT3$glX5EgiLMDiUFz{K;msGYz!_a^901HBMN!ak|2?R!*F~z=6 zNk*LA7fmIiBcr)7#6d;HQK<;sQd^CS`_LdH%o^8wqZGMsLcpkM#l5OQ9Ih7~vTT+k zDdhQZ=73xaU?o_Cviv9gkxH$}Aoe-#Fy%-cAtXq&FsM%{la%l5>#B(3TCn14H%~dJ zs79slcrFxFXS@>s`fagl;RtaV_LQEi{=(QYmo5ejriNQgV>(Uf`c<}!t^7wRJ3i%6 z#@Aw`3{Kp>tgPC@XXRW!F~~VG%E)R*HU7nZ`Nf ze2`7y&e1ydRxfU$UrHI`2WyTNODzDj9cEkhmK6k=sUM%Me&0`L_x#R=ZzPn`zM4uR zz5$cZzH7i2?!d4|Vr$EtMRZbDA@pt{PBg@uBZ9k#ZUVxMN)a&0*-c~{4zD8dqK>I? z+eHk;J;s^k#=1->@dqurK+3STaNdnv_2Is2DOPeTLq^lFl@06#bJ$Cvc3X#heJ&hT zmba?MP)P?ex(=mrwlEyGomv}&Mb4;!?aNcr_afge;H8gB>`Ktoh=n+gD~faZ{Eg;L zcfqOt+$rPsJVu4OXKp-*pQ0`b#dKBwIg9<9VXh#I@9uW)wB_d%Ysel+?DRD_DZ1v? z$eU4(VVmDh6uTQB{)+7y`Rd(UFRVC9w$=fey5QM?MoM&TQ<Cwx6qb7~Wrt z(DNncIKJD`_D74=kJ8Cop$rt8gzy76^4RgI3MWwJ1S=FR((qF9K)CNRS>hT&l0Hh+&|@LK^;r!imX%RnK-HH@Hqr> zyurix^U&gBheD~g6<(nCVMBsn16=z_vq~vmo7}P52ICxHA@bwSMn40yDm)jRf^BM5 zQul9#JzW(%ceH{CAO;o8SNF2Qt};_$_uQ9^m~V?IKELUp)5xtULn@HnLiyzXNXbKz zwsi8;^XSwQd~25)7shuI*o~igDMUm| z@YHzWUpiHC8NE9{S>K@Vs_B^g#M^shLWNMcZ=nZiBp|`$fAbO=4i&XK8=tt%n<3*h z4e}IXrOSEGyl;go#fnYhxG)CDALe+MASMEUtVW5CA`uH@lK22t2=44iL$E@6D8M(#L1YSV(F0ou9z7QV@%I3z;1vQ41HKcR{=D1*Fc5aUT{H65bRfO1a{aC1Sbx_x<|!#sc-No)=+)Va0QVb z*+wfq5(tuTLU#1cza!b|ED)eX6|SYgQm<`&E%6;#A)5~bLj&mf1%A-2YO?+5+4pxrFduiQeXG%i$)?CMkSHy7Dz1 zL*Ls%=RE?T64WB`Ua?sSna4%Tg%41p&7c+C0^dc(4N%wCql+k5GI|{&(>@cx(3y-6 zxcSo>TwxMkmI@FOK^(4k*1hOhxjnEZMhWUa#z4F+OXwFOWUu_K2zBNi+=3ArI3FcY zc5R+MP>N3`fHA0}FBZ8Z5bKe%5_vpT%ADj)kt@Y1vwTl6YI@70-7i4;l14tKbh-qi z8)X_3B@(y#*eo@rI`(^c;^KdlUuf<{(D_u3IeqjbUYFjM=yd=^Bg)nDNs>yXS@N;E z08_$YiJ4Ys$fTB%1#c01XrhgD*l`#GWY!I7g5+gNWyFfftcfXXil&g5Ek^8QrMwik z(35&@EE^P1&0K0I2k$ZpnW3hcxeAiX=QwEp4WLZyyo@uFSEB&#{+u3~b<8$C!jUPY zRhnqXY~|CYJCu%J7hzaV(3;y4Y~WFD%qTy^HW*U$POD6Ou*5umY0pyVvb;>7NhOMPZl$TWY_h`HAX~($ zK51t-aM9Ee<#&>!)t>PHJNtH`aOQrhZ}@oO(O_9rjpIvdSjmd0#wAbeqn3jzNDUE= zm7-E*0+-;xRFAp+UJqh5qnQ)#x|~6$S3MP^#4uMr9tY}BCVSJ96|HvCZ%NA^P>&Uq4ysaQBA!}P@YSGs^6KMs#$y$S=Rjje+86Ws6=DRty zauMhXaUY^a1D8{!xI2JYW^M(f-(L^QHOg|2dMxuG|^i_%sn7NBRzBN4F{PEzKY!P}tR%iB; zEAO${C7P(_`RTHQ&b)VBWa!NqK>NY=Yu{cnuSb=Fp1s{FGx)lRIP!icKG7gk*O2Aq zN7?70mE8TN;wH6TqjP6ucaO%?o_V~3(@>(eMdbWKuCJotC5MPp%U~Ym(PI3)xL4Y|4*{I z(VfVk$HJhgQmBTYzvQ6z4tdbfOrrX)<1F8F{pYp6w-Ez3H4Z*voxOIUBYsp9M|K;A zq{4k0%U7zy_7@oSfA3XIUM5Ge30EdOHxoMt36fi{7ORU-zq0-u{n9R0-;2pYK9bnz z(qdWl4=s{s>d&I|-@2&{;IkUb1xM>;gD{6&kVmTknh%i>&``7jKo#pD}IsB&^L?vEQ;@&VQyj1cA}gOjX(R#n{b17T}ARhjn&Sd zIj8ymsPiFb3K8u_or)ff2fa23BUZtE6DA5j2CxB8_DR9_ z4U}S~VVxWV(@^FFhR(8+o>J4Q@|A9fHyF=nt7*hb9JH7MRsEfekZ`u#8e%BF(3&`L zEzlP{AVel1Od}z_)=!;^6RrArG@w1;rvRxytrAlImnE!s1L7Qy{Ev{x1zXTs`#_Mc zXuloTV}ZCPq@#B=_eorMrZ-5OSwgh3ijgKv_bh-hcu+ekkcOFnn3(`woGsio%vghU zDxg}^;Jw+vfKW&GBQDtDr%>q8Ksjo08-zXJ* z4I0&HjZpc<#!#u3*{MeMe#x#WN?znkZjgm}CZoat${7;p$Y*=;UTT{63=@(DWEcht zGPQ|7SAmyZQ=}!?;1R@UY#9`#6O!kp(J;(}cMqk)Li59ya^mqv#MWe;UYSF&nVq}} zd|3HHF1BI`{Cy+kKs^qbkPca)U=9xhT&(n@nNx21f%43H$qZ(>%mK+)l`xO+p&~Lc z)0I>lN)O6T+a``k28o!^ZhLg%;Kw!b{Kv8NdvQa~D6>j@BMpez8F#M4`02PDw(~H; zKqfC=wzX1TKU2P=Q9d1WG$2YU#vqKVQToe>c&P$m%~!eJN;!4rlCH{l*LY4zy~3B? zjeKToNfc06p+SVRTxUQ*L_qF4rlS8IsCljRqRq5tT@#orPaOvbKsaWWe)Om{nf^*{g-muxNPzqT%eE~ zA~h9=Ql~|Zvu~|JnKlgQawC3sJHTTs9*0or6QAKY8;%QrQK1B>>Q+6SA-xTlscli9 z>41AHM3Q+1Q95U2T`Qxp%=A`HaKV&`Ery0(cGOe{i*ILwdWMhjnkdrJvvFywu+l)8e5xy6R2K zIiW}4$g{i;GUJl(#26IASfl4wII2OvGoV2JG#;yKUlhv6j$%&}fgebJEwPpD0hX_hNQmYFBg>j2ht? zDTZbS;Rj-=(s-6lnr|nAL{`nS365t#2Hz4bVykL$PD0v(RcW|}bpim$<8bMDNV zKHug-Cl|vFTd^6`Oz+5avv70B;{`Bc#4Iurb=88;hYRp~?K;OJ2Q^~wBTLQ$@bOEE z?PneFH3g~`4DhqK1762h1YrTN9aTw7Kr0JZ86QKmE7^dl(eS)Op|t)fNYO(DP`sp$A376%sN?+5iu4lxTyWmD10H9nktv?O@Mz2V~4pW z?F>?ap#{GYTG|$07mdSG5ZdLr;7So7UH~$4z*_f&!D!OL+a7JizSNIO^^k9d@DZR4 zrB+I==5rB-k;L_DOUA4rUm z>wNeTj8_T*f~7$+fuK^b1W6_=e-p3m!=qoc2t2-XsUQsEe8dRH57=xr_z>7KchY|GA1wi9S3%N4!1@Bn#=o+PBGyx2Z=+X#?t? z;qhAX!A7`BDP>8>t64CDY(XH}LL52WyZaFwS7tlg{3kG6_+mG%tq8}Ckvta()}>qP zxnpDjoQN`)$u^g*Hka!%mrvfKFgB;iGp(DYvr%IlKB=UR`&Rn~ZpmjZd9d&vO^e5f zg%q`}yeOWJTjAn-YJIlzx+lz7xpdl zyGS12pNwjBa7m*{OSDaP8YG2(2MTCb&ei7n1~WV|guY}}?$}lyUFM8KQ@Jw8_2cZX z~>I0MPW&!mw#v`lPb4!BKwG)uQIzsuGu*nEZ z?$BfE$eqCIPouSQ7NgNnV<3U0FVoQli6w=OMd${Wh0%d+hZ#LV!+WL%>ujFUdL;a= zMXd#Fo(=2h1#6isqi~_mS^hl0PyK!K}K7cn-Fg_LvMy*4@*P1xpn{gT4jn$H=$L4oXIT)?r#l`E;szItAfB z+s}5`$K*%#^{;I80+^XSF>+w@yuhsx*s}hR zZtmjkFt6aSrsyzTe6qP4H`Z=nU>S%j16s^>3@UXzNxnF1y1?$aI9+fIX|dQ7T4S*9 z5b+Rj>9<)4G@7KNe{W!;mwhVFesQf72}f4%*FU;FBT|boR_4Kv{8_B#(IJu(uj=vJAcIuW~%zKww=Wu%8jHUR}Rhsd z@4&HhSS{o{8FP)8&>=3lCjNAU{o4uib;Q0fiGS^r z79MdLzAd8$noIw@Uz1NMhLMVVgy-FrneOmix@x>V^ZL+=8$J2lhCNyH_5SnMsq=&x zzmF-5R~HXbx1VZqr0?Vs-hO8he8|{4yTiT-{$S+tJQHelzORg_msr?+Qm%aVJi!i(`ywXu+EQXxCLI++ALv)v!$&_#J zYrmPdPc!tl{Z@l4)-O|xzKg<7?DXC&0OOCxWmD2t22BdA41b?vXmIt~u7A^3}f! z>_BX`PdFlylJ=cFZ$%$OYz*>5qP|5^d2P)8wnkU`9ClTTR%P1dTD#0 zKMYDQS1IF69Uciowd}|Xfyl68NK-r}(4fgBz_qc>^Pn{2sq*h|1Ymu1QyF}&H*3cY zMN`-mCPN0xZ!BgCK^aiZ@*63sFQl@FO1>ZP9~F9KaGMiO#(pTluo{c}FO%<$RH3Yo zwor3ep<|ZE`n%uf6P22SH|Nv8Yc_iVK4BY>-Z+Y~O2eM%-A6U3b_Y}n9DP0KZU)Cw zdCVp->m1FKAkI4yOxM&WbHYEs>(uWWdlK1=8_wj~#Wz+%o)WHX`t9~w+9Z)*38oc@ zHw2|1TV5F0pS`X5f=hhJR-+5314LeTw#O(SUk4d=%2-ALgCy88v27+IV*68kKf z4DSZ8I1dom;~O!&N#fMgwQ%!r9vSqeX!^L2Vsb(E4E57{hn6BwgoD?QL!a(dY%2JN zXzMe4pEEAb3ERrhDaCKp$hZ9|JjujCRVO?BRo;AYURdC~MLv5=>%L#O0Y@&Tt8>y9p>~x{~iU0^TF|}Ln zV7Y$0dS2UEOj$B7MK#xnoVlMXtzB8+9P!~vbw!_tL0B?=OF_=AZL&!|`NXs#0&r*$Kq0oZL2HW4ZP4@>GOx+#W;ip}hXa|)!Qs4#0Ry1}lHh*$GF8dO^oKwf} z@;^*=1~y8hb%vz;`y{xHH$F_AYjpR-qtxyA&sJ3#*GX)NWQM+up&M%GW$CvwbQYq_ z^GuD^63v{PvlI=8%VfnfJ4W=Umk3f^6W4)jLEA2iYf)Eos=#}h}(uM@xQfu)lu9oSuZ6TViwIK@`~ zNm{1$hVA#H)8RHlfmD0Gy9{B3l|;9E7$O>!BvI-ykotZ|Dt_$ zqupa!tm(W0NwYcw>tpQ2pYL*+G0pRgKAzdruf#Lop4DGoEdFX9o_hMdVfWhqcb9a| z@yR@JiElKRsm5}-h`+nDYGQ7%N&X?W=vnyruRaRpu~=efBi38q(|+ZdmrwD(Rps@4 zyz!8)6W`wyz7_p2XP`iNFE}q5ZadgOf!3YS0m_!vfMtA`z~St*#<2FHVva!L3CqL0 zJq=+Flt&d!=F^R?eS6jL+FpgB{aSDmSpstt_GP4fDeF=pdVG5d`(ujkj8mwh+t(w1 z>n4t9gaW)S3#U_i;0?i8C`~Jjq~cA&1HQ5+tykjm%Dcj*TR=oM|Fk@vTR{qosBfyP znOM_(LUT`L$l)ls;GmRVp;aml^_c2qDW>9-Dl&L})nw_!nyrhMi9hJrT!nWz^Gl%> zrH{rNTKRkwVX^N_WeO2XM)<s!lCC64!_ooUwe68Hti~yp3 z4dS!%;OoanxQyfgu#Vm(p;Sgi&5Po5Fi1Nmsp!HRa(2ENV{JcBB`7HieWa$7b-)p! z@4^dQ#ABe5F3hZiYPv{j5@Z*S3}z?S7OCHsh?caiSOds%^H80Q8k-Rff;%oLw~s<8zq5K(}<(S%YLOA^ds^8 zged{zVcSBIo?OCIVaze*iX4ZfiaPNR49oTc-E;e2G9$87#{BSQiL9-X&b6uMoP<~+BAz>x!u8BaI+;+J?9{b%MroTtw02~21V z(dw8a@OL1e!gtlLrORt-FR8Gr^2gE31~0UH7jyt?AFNo#c!d6-oppEm9OyNB_qkut z%vn`>H3@S*p&xeP6*#tp{n*fhB2*iQ8?}YXluCIinD@JwX%V2k(A}@fG`tc?Rd=Dy zi9&nsO<1uV(sWSAABlLDVDuHY9OEuxWpNUX)!)8t@>HH3GzjO%Tz@QAafBPyg~YpW z#v^QcY~kmzf@FKEpfm0n@@p}UE91v2ogg8l8)97r3*w)IlDxFbNa4Yq*V>wmj%D8R6Y8(R3`H{PQ|Gx(5ALS2 zPCP4IQrDrc9+VBw#sbc7i&g`ZJ(}jyP{OG7yBb5O2zH*%b~^8(ZZ?|4D$muue(JA= zZ~qptz{-H`F|K=t|89Z(BXDhRws_KN?h!Ar4>5bY5f<7MS7&_r1zl}3W#Ct5zoN4a zSH?D+*>mI-_Emhw?B2PX=a`w{hR2-c&dx#$qiD=fmJ?`;o9!K6c>hi2A^%REX#Lbv zw4B%G(kk0)?>^_L>&*7Y1qshTV_w|zGo5<+7oyyU>{b8m_RYZq^}k-_`xytSklXXvp_>}q8r!y~ z$`c5_Kt1SF%5w{(C7HF7--uI~u%V`NDen8t=JLkJyRZ$G%u9>Y?wutDulGYG(j$qq zYgeo2vo~s0Ji)+Nfe*ih?wC>ij-r+Ic6K*@M_7Fe)BJuh$emQ0Q-u<)_UN z<*1)_Qz|;$%#Y1aQZ`;bXNKkWl++yHk+XRZyo`|nAcr(Tpv!{ zbMBwi#ls2yk(2*S8pxSkdnzKo#4tvBH?-sT!9nALngW>^acUAV6RZQ1Z`r0e2ucn z#2hb`YA2HZ57ovo=66*JbNf88c@t(5V2h;TJl4dNZ0^Z5ReTj`RD8Z1hzcX0+N(5Q zTh~-I%=AHY_hHZgoK4EbSnx!?Tu;6N;MU^hHp(&t@EvTULU)pMdzabG6pl6-``*Zp z6rg%Nzu`B^;5Xf*OMY`ULxwSdhF)19TKGoHKxBRZfI*bQB}NEQF%v}E71E;M<~CtN z%fV4xk`OWzvfP%sNXJ@ZvtzkkClNF!JsEZDWn?(s&VUSi|= z&3nCGY3d;y24FtST%K%5x~I^%E}SB5mEvGkoNI5SXOI1tIgJ#p!8c0MzMbYR0_Ad; zHpPIJqbTev4Tg#+35Kb7OCrBzF9yRVvr-`eXD?PGtz!Cy)>P4)?Ea8VmQg-T!v*TL zJrYexp=DV_@MrvvtazL=S56H_K>$pGPw0og+jLHAVJrG!gO&xU*c?Y~T+^JH&*Eq0 zbCDIb)G3+Cn;1GX6w&XhqS`U5v#kfBG_TYysFfG!bXSTU=z4Y4=tkEM9GZ$*`^GG? zNp<^*oxmDBz-$$QY*+kP6#+b3927AzE8=822au(($But=5*fag6ZWptY_SuCm6Kzh zmmJ-9EURaC+P8gimw8Ku644*Kz#lAoTnP4fk?9il16FYwy{Lz17|&6t%Y&RbtfM9Y#@V@2#pWxBq?LPp|7Z z@;Hxje!u5&=5xN@U2HPxh2KXYE|U6g)!Q|B6>m5k6%m_%0p^4Pri!^7lstwJhM%7a zZJ-BH)@2P7{gx0Y+7!v9maeob=$b-hR%63yEM~Ii^L1<(VPFO%AVYEh@@}Y zLwGr|t0++R;PEZHY99BviYXLL_&Xlam8z#i=DVT17ZQ6geQr(T>R=u`X8VeKE{pEA z_y9ax7T{=zo*(3NnviTiVT@ryc9k#FR z2R3N4Cf?WAbcymuk={9Y4(xWtm^JUQ=55vVJaBnWvEQSr{Xw-{i&Wr#$>W0U`p#ar zSNsf=tR0x;?mRMlsw+?^UmHrS;bvPq#COo$8U5VyVCd{V)A-CYyLMFJS?H%{@`P0u z^#>9}yy3e%Jl`gnf0mCQ3Fu$q^dw*Vdhd#EsZogIgkZB!vulmd8UWs6}Z zxWaD&WPj}}p0Cfk*P#we(@EVF7csRIhtJq3?_KM;zUhiX$1XDl#fTkPT*XUC`klh~ zNh0nM3SO2?x5br8_Xisf%%v6d-+Dp0(wA6`59d3Hc0AbcM2w%Xi5WALD7^Z6MY_oX4z*PkQLA{;OM zg(a8-iI7#lOsc5G5t&KCH+?)QF+7zO!d<7&%{v?Z&b~bz7ykXN;onxn?UC@^Rm0t_ zFaXpDAVcEOHsY}$f!vKiVI;m(BmN^Kfm$Ph9+L15ac+qua%?2>K!O4qL19R6Y$Ny; zk~pW4xEKj}+X!iB1V6c-9Y?~38evmNlDS5bA4t;eM$%&>*{?>jyZe!`CODZ0Ic*a; ziwFhxT@!_{2&GgL&i~Gs*}b`>yqV>^84{a#dPv(@1pKq-hyM^F{7f$KcYgvnvuue$m6s7qb$LOGvW8m zVlB=5Z_dOXxA60eiF3DzIQocDo{N9>7H&8b3=sTq9xnf(C&&4$peW``fTo;N00DPqYfarjt@I{1vmzZ#l7tb%=hgQu`AU;McEmt=_ z@;^SI0z`$^J;-a%wZ4lQJ!{pT7N>H#pu(U*>S#13{J(uPk1r6N1Y~REGJoR7u`lR4 zdx;8-;IbBT2Lqqh^gV$NaF_Mj^%w@o8=Kjs@7|&8 zA{<@(Y)vmI=#;sAfs6yH?5;rJ7D=Z79D_xZ4z1YJgIpfFOB5K-FaT%3qRecHGy?)3 zb4Mx7NoepyGRP0!|7Atq-fFY$@5Mquw}U4zr%IO^Wjp2VLEGyQ>17EW;Pj0qm+n(P zK_NH@NKt*fTH%7=C`LMEDR`9U@fG<1(2yNS`qxi!x)05xgyka;027G93Ha%hJs$Ou zYbz>#35Q4dqj&H~H~QR%h=RzJ*?n=IVu37(C_!~R7li=OD!@hR;y*Ph4GZ+TnTQ0m zm7I2YBSoSU>pec~Q z9W@_bNjiYh3Iru7f|A-%>UeB)zffIxy0j4-2ftC%GLQ&qZVnl=lOiSnz|)08%SU9K zi{uCZi}~B*D&7^c5b$Kqqh0+$RDBkqH@Pj%4^nT6)@9Jw?~C|{!KGXJ&LzTB$KD07~uzZuZ-)`UzIs167fH;?kq54%{ zuYeTrE53h>0h9!CWg9>AP?q%>;z#9^`l~CMru)UHO=am^s1TAsmccukCXF3 zse#aMHpa1>nzB1h;O72POQQ0^13+blN;*@-rs%M;9Y~7^x`uS(f7|=&5o?h^h36)D zj#f^eO=qLVmr9{>&2sa$k+0R}bwvaDes{c-P0u{isbx%D7g`&Jk0u5B>v(_Otz__}>xZj@n3kEz%YO`ko@@S(#V!-u-u11^^qQ;cQu`_^ zcQib>Tge|EI4$`FYC$uq+b16yauMvClo=v;v$M2 zw;{wJzWOn}ULf~ht-cOjm=N;XE((4($o%;G%n-uHLW_4Y>Y$13W2apD2-oXSicy|& zM#EO#x-N<_fwraeF`;pS2~HsirtYLT5$O#1(Bh zwzNs8zdknB$@*&i)Q$Sv6Z_<>Z)R?F)N}v&O=QhIeQ`)VZxvnFHppABS{fRKA(W(4(_Tuxpk2K$1+m^GxyMO#gv*h`S>B*9SvY^f|+d)J$m+tZl+IGEkl{r+R zLp)(w>V=B)kC(sy&HcdOF`KSN5G%~ztwxbsny$srznou-V=XfMnZVmU|1*h9frrK} zQzVZ1%TKMJsab#Vm9cgo^&>a4pS)by%(W>p+sb$DUf3%1S~1%$3c6j`#)dPS@07+X zEbf%0S(@)wc<5%^qp^_o-7+<7uC zArMAwH2Jd|xBTTSH{R}PKSdAI_3D2F zlgYI;q|CoRC&S?`Uo*m9o(OSpm)>c1bfXw=4kSK)|K0WC+53>gPeYj@zmV^Xs(uVv zJ<^jj3h1}{F`2u6QVtBlKfx{hV41|dqWvwP(x|t)GxP{w@ws@!`G1Ft=RNoBW1WZ6 z@#*>8g2xJ1wZp=13_xfiv23F;Be06!^a$ggRMGF5JpL)TRX%i|tgq!U+ z4hTqOeXIy#q~e?Q@FAv$I+_j;RZqr17L-9ZIMD{qwC6i=>Wq_W%C#fCYLCQ!(vVPq zR&f#F2WF#m8{XjQyk53o>8NJ?>z-Q+(s&CkD~b;lsY`i+VOC@83z%UQg@-dSXXcuG ze9|nUwo|eHNfWR>+I|Rx=thC=;zy`LDsk`|y%&B-Z%CD#)X1}6WxUij8V2)zdW$hg z;$E_YYXnLdcY2UJUaXOrEyy3+Or>#fux{Oc8)Is&4=w%6?iu6Mj!xO*jWe?5f^;b7 zSdhe+YR6Gi+fpcpYI`v8lyf}(C6g%47W3Lu8T}L7oW3duUle%CdxfM=eF01yOe{m* zePM}=L$Ha2|J2aWL&4cj)3Dc$q5;I}jQ$9+pmt>`7#nePlyWK)0G}h9f)dMPM`1ZU zU_b{+N(YzYvrwkdlPS&+8fFv)E^eU@s^BJ>ituOiC0eH8<4=$UbPuLmCjp&lilAQ4BlUaIdD4#Bdt2IKcB*O=c+JcG0C4mjBO3I2H{HCGgpfC`* z(?O;PQ{*_1Dnfs3;?M6=6~qJYoF^_flOK{ zj)7kg)wr5Fg1aZnq`pAdb{m*Oye4B!RT-lCFiuIh*C=!s-Gygju@5`@(cAgH=-t;n z_XWyt{~YRie||z-ZCrx8{LT>1ks2VOaInM|cNIh}o4te9r^NR2EhEM}Tt=32WZ%n*;sxFKxhwzAl&-8Ow_XEDCulK65Y71rJ-R#=5L+@aPXx;;>q%E%DgIi`Gt)5=?}u^r@5&# zKD*{Gl%hOz`L?+w<>vEaF7x~3Yed!zba^l^YdbrDY8xzB2J>C{{nC$m>g|H`KEvvdCM-Hu zXG;wv|HFi9q|aI1$%38nXHUrij@{BLpU+;HW==XO%JZ9x2jhnE;I&sglXr$yA#bMO z?-4W0%#Ur1TiR8;|NNPJ3SJFmNX7mh&k;R+RY3MtcAIS~!^~%6@*>@aM%G47s0TYI z8ro}dV;o;Us?f|$MjLwb#oqMtl+kcDW=r;A!ONxKF?%m!o4u)_?vIRo4_Eql{{(5O z%Q1!Aal#7Z&%b^@s*lwA^X0qleG_a#@s|P7p3U)}($PbC0R`rgVa}~#?*ID!=@KQ6 zaf!TsRoC-yk$yh$RmPXcKXob&lo3gjQ$O^sJsk@g;gqJVgnFg)=O+(McA|wO>Ye)ci4t*QTP9ZV- z2D`1btBq0`wbQ-UR;f*L7oFYZu(hGS7zr|hefEEzyoc&bafw%dPDRImCBH58zymLO zqWsQ6k${nvx*kIyiz4vv`xUhVt{?vc(UUI24WTpv$1%-p>}-wk9(1w1jUzuy8W-HB z5tg{BqpI#Q%p=utsZc-pzR&sMfgJi1#}~U7e5=IMguwRAWsjVUXXdG><6Ew&f8* zlYMU_uJa_|ATGWDfP`E?gee0lYV@Ubh4X|3MtWa^C)psqI9XJ+ZXdM13V#Xl$!VMo z6JF0ZL-E>f({zuJ5mIbj!Wnu@iYEv>oSM6>&0TeZHW68Qr*Ipw(w~C7hN!NQK)f22S?$?~ zBO%0nY-z=rhbw?^8ihfqE0R*dfo>>`@e)DxPGdAXu65iwU`sO&gTg2AC^rq$S zV3Kt>jcqTDd>TD}+~*AeaGqf{4T;y)xO--Kq1`A~ud7+%4wqN+z@E!(=&RH|3hcY) zj&vlwoA=UlofF-Ju|SQ_OQN#_O@eu+>FuH?HzI7BRbQGl`Hl6-KI%g6zSd#ONGk^? zrl(&mu}!SXP6@q34s@Tt-&f@XAbw8d?`I{q*|9)W?Ft z4ft`0&Fhq`)m8Qq{xVY=HlAr|G46BG7O^S!W>NI8Wi7IW(hmkqDiR}H7(01~OB>9P z_lT7vgVW2LKP+}U@~l@V7EtIBew279O3?TynwL(Wmn|JDhi{Y_IEm_+yoP5+x*jX| zu<@)#&VNEbR_!-syTCluSZV^4MGqb%Y5fV-l^c0eUGJ)cJaI(B}qIR%G$t6gsVRp*?XGoGuE1rDLYP_n5e9k$s2mo5vt4kRL4@7 zTa<#0taZjNQ=i0S^h`Ni#I%Ir_E{~#EbmW8DuT27*;OjKgc1~9iu$%KIl9xlj|=>h z%1c9P=#+mM!K@%+_SrZ5K&j&;tN@n=;v|#OQsh=CdF#Mm)~X%vJsA?}&&6)bQ{**3 zC-U0~=Dgcr8qb=YL`RoJ8^sx(onYLyND>*K@C$zyx;6zlw#^TRqY08ZB_>x zXDzi<4m5-S&zzoCg9J!HHO>aB^%jf(EHskfPavLSNeiYP-nRT{t=ziRFL3q8o(#oY zfO)imr0R}soonPKKM4dQD81`Rf`{GKuXq7ypO56Mu3F@RzqC3;r@_scxYcIs=VnVM zm$gS8NuDG16P4CZmd{+P^!wO?*PiWoQqjzE3ZbE<68=JaoawZzF<^?@XNSt#K{*ok zUT2h{CXh}qJ@!7z-4sPunA*$`l;md@hXfnE!H1pg&~)&T<`A&wm`4%~F{FeMKmf)L zE#r^-GV$o=rA%psB~*Te?^5nW=y2ZU32S+{nJpW;SU-V3a|wPjvf^q;MZ!i_$rCef z{WNDY(32`A>Kh-Z9p9I3u#~3Jp$*1xfe1yZe12R35YGt~xAvkD)|jf!&B(r;JYSs^ zW}xiWoFfiD);RZ!b`koOiS}k}Q%eU^GV(>$QAHE{q`a7I+%btOoRmNx9|{2ZJ2u=0 z$#i+^6%O9OS8=gT^K7GZV@D|`3T)6>?dY672mI`cPFxzSwW za$!l#|0Qv3+7NSg#Bl<7rd3jn$|-MgihV;``6K;pMjKc&Kfk429TZ3T4lDIGS2HB| z2dS9!OG9XtuuCur=}8kAuU}<}xkB8$rnW2_z#kf&Bu;32(AD{nMlJQGzwYa9-TESA zhUeG#{n{Gy3?s1@e4u%E{G<*;iW5X#J5-mfJthu2EBO`=}Kr92O|g97ud%!g#%E^WZst&@gek& zI@t}0>^^z!$l&5962ne>TRb{Z^HOCWx~6z4&ITx$jNWMRr*$jkk+eZTQ52b?t?>8H zn{Qv&a7}AKM#U24opMv9kQ-)Uuh}>Q-mE z-*|Lrb__E2%cNmND=i zomRelylDAomcW0Ve=E11r7;kFt)00RnaCxjdl902)08LL2Ml@ce69WO z!{pdBmWM@6DDrRFP216OS4c~gl2#rA3u{9eg*xZ^tE zLNo%7D@{LKpKc5(4ryQ7q$OJde+ZC0>JCkJTq(FeFT>(4ML+V_%2{E6q`9d|On1}G zEE+5HGvTxZ3g9)2d6oEM#kUVPimd6~D{W#KU+&n%AyRm3<2j0)Y!i6uD{T`6x_4}o zkdr*mlEqi%Z54y$?ebn~mU}a%GJ!ShQdLQV?9$YQ?(g+zD2#Aq>Z)pNW}0Zm+h>_s zR@vuRyzH>gwM-!1%5}(&=gL##Ga46QTE*f!@1Lp}33TXlq>2U|Erb`nINNo^Vn}Zs zOClaE-68B0K2qVop8aq=0k2QwR@x$iG>+q^gTAv+?_suA+TJ5v#Yx_y zd=2B?V?sSJpK;MCZ67toB@3TP+2aEX_|chm^Aw6q$9G1RCE0gY^DU>io9-hLzb}S* zI(}bGtdjk{nR`t5%~^(#_|MzE((zyTZ$F3m{&m~#`yCj(hVW8Ql?vc?|Dl5wX;GhD zo?>kpV|nyroKIY=(Q8!OG3muIZd>7gT}BRQh~)40%b%;t z>2%ST&bwfSTD zfBfBglaCHh3NCw&XLMQLi;b*xNy&P-vSZ}5@K^|(Qg<(fBf2xJ3Aw?&w`QK~3}pzQ zjHoneFg*MS%6fs67QdO$iBbx&1}$aw5C z34c25$T1(KMze4HI0=k_EW%R5Wt7;|U}^Aw|FHPJ>R^@~YtWs5|0>8Ap$ysrC|R2} zB@(R>Fk!rUqvp{FPdj!70~@%&o`<)6dnBB2Rz-Du8ty6%=4KwJ5~D18bo9 z?zd?Nqa~9ZLu9P(O<{uw6~!o1;+LyU_+kg8+;XdlEU9eCZ>gSvj!p(i+ne!)#AC<^ zMMp_J`=Uc}Z&;a~z)IIZ>d@5zW&^L-QRb~J4zaSIt3!@ zATl54RG~g3Yndqr1${}XS^G31YX`?mkEiCmNWtQ|5h>j6rDa5#LTW<5A;@xuQ^vO7 zFM%CEL`}N>3Inunsnq2(@={|Z&f$Q~=XI0|ZdE}-i&FFxyyOlqY z4f4WO4`$*5GZ-KNSEx|yCW>KfzW`xhvi}W`g)Ec@sg90~Eme%0^4(!tlmWY(ty5XQ zs6wR&eWmSAf4#IiK*nbiCzsTmSVi>{|6%-`4h;o$@Xao-1O#TeBA!+>08;3n7o&bh z8dhFIzz#!0LT}UFFr03%;}TwJVu8S53U+;xUJ~~mk8+}!9p`nhN!e8f)w?e|vY=SQ zXiwkFx=?j3J()y*6X07`fOzO@z?cP6^pX`Mz`CXbBz3oo7AR^9MB{(u6 zG5R;rSln%?skAQfT=Gv6S0K$Yqugo?qjd-&Q+pp|$r>)#j$Ybee%~>ceB@Ijw|rpv z{=;{Yq~u@#|F3&a1OWWc zJ(sw5&&~gDQNYqqy7~X-D4>9F)gGs((U8Hi_5bglBYpvfDZ&4rd#hXN+M0h<0n%7xAJCkpkJq>d~aHFU>V$ zQ?IAZk_aQ>W90jQm{>#wg_bS>>l=*-2n~g%aH_@p&y2@{0nd#1!+{1&DwkgB-17d! z0A$tp^`hr!BT$1CdgTD+k1N|&i_+)X&?>a=b)v{O5EQjkeDTo?ob!c{&q<*7T3SE1 z|3&(L`6imcVHO!pjqNgFv#Ye%aNUYG*utZ^LQhC^>Dxe_t7c6^Fe;zD9E282u4&Z0 z!v}~1=vs(t9z;jXu_tZX5Wjj&B)hIy>l)#J$U_ael+`pt_yNrdA=3rzvh%~Jlqd?< zMl!TFn2YKDj#A4T16eI}Yd4=uTWT`(y8Ft#INT*kY*(qsaN91>k*1qJhVr@3VG0yl zj~@N^Md(WwdUvx)9ebfFaOy>ZmjUIAT^;gh(UVji%YkSFpID@$OGka~Aa<;2$oniv;H5@q(ss|(654@~<$ z5MK(;QmAblp^jo^hYJjRv>iK4GICZpEW$(+zCU|G67bReQKrVizlyp5N7tUa!+>!K zuM0`8z*jL>D{=VWek~>SGtKf8?Ci!B+2y>x-VFG+aJ|L#l_3ZbotX4{$DaP9%(}pf z6sg_Xw{4tDr-MgZh**zhDO=cYefdARR73;u#9$wtk0K#{z=jPkGC>Y&}QQVP<6T%xr^>+a>-ezvQV zI2v98e2LxxF4>uQz8Ng%q@yB-`KhXENGVMo-KRlc1sjr%Y`r-5j0h zVV*%Ej~4;;*Wp1~lVquEo^^%}Itp!VTXJ_`(awRo`m~NNMFz@_jXHi<6$nTJhHtQQ zlWS<|HmB!iu0s>&1zO0@o@ae0>6ees9DUIgWwsb+2YFvwOLCU+lJ&d$Mq{k>aBnss zE>a)JJJz3dCfX1>rx-yzh8sT1_Hv38{frwA$FAi$nkq54kBoIupXak{=n8H&jyp83 z6}U=+9{}JwVjJn%vI7;eFDfUbd?^cma5zfS0w)|x&oTSsZi>?Gg&o7`FPyvVSH z#|~c2qU=X(@ETwz5y11{k>~mAa}Evh!xp}nYAWHx;c2Z{zSP{9$+r)PdFl7)4Kgx) zO1u86#f=fMsJcnno%@WSY-q~=dSUF81>D-t+v{g z$~2YBtRL1$Z)<$}nBqr563?aiU&l97;B(7xO?5umwVA>^&K!8Oqb_vzN%Vz8Q8=N1 z9?28aE>}p?7n@<*p--b%sO+ls&@C%te!XvsnTWeDHTL`QhE{j}-vmP{`JA#G;`3%R zUkAE9cVRC`f4!A%@jh8gAI)GM8>flwX&Wx+PB1IV%`BzXsW%rNT3QdJtqK23;Jm9| z^0589YLGC&I<4ku+ks7oTg{v$#ebAR;dNBX9LFCbLWs)MeHsr5$Ap5|i*i0aaS-jN zU6an6O<4L;mL;Ky`eQ!_h@^^Blk-$jm@$nu9H>Z>*f$s+9bYt`=WS4Wu-8TVe(CF> zi?vn}J9d994kP`}TxK&qqq+SZ6Gtz3-asIe%iM0MNxRmr2SatoGwg<%?c0K7RU)-# z8#iBur(Fe2iXMFB`lI~F;Hn^z5F{gRa8%jPC=@l~O>~exdp9Pa;gxG6Kv7^__U2y! zjpc~Uf8!?ax!o#|g;u2>?`0;=T&znn)caYJC`TXpxA=z)@=jS!lhcAC&z&{ajl<4l zSktp=qduQ}(tNM{Xh}=rci+&S@rTaJgbLp5IoNaXw#2NQ4OfQFYl_bj(?LSNqf8!+ zPO-CZ3|BH;rk{@N$2`B7JB0ch(Yfl}UM+lMHK_>xfm?BK%!r@{&~BMpwrxZ1osO z){70^v&$FDWME#1i>+jmwh4GrSlEtnmvQ`OnI^R>5{KVm+<E?Uzzx zhCk2-rcm_@|NBEZ^YPk1)U`USo3wP5gv<;2z7g6900nV-z_uw{-@1&)gl%TA1ht0c zo=~&QD90lGKC%Uj6A-2AdlJx*zdw1oAZfu)r1OC&{Bb&S;wm`amkCK1DSWN|LWEc% zFj71>QnE5qf`>R3?jjT69f1Xvfxy$hi0T0(M6?lXfzT`*xNHuhZ%Q15B?|p!Md5Fe zSrO4!#%l@YwF1Z3#}#@pc#->0U+rxg*K!nj(b9h3=-RL;FVVUr7H|Dk80%9!+jb&)Se1b!}RGxLE%s& zFZ7TH+J=h)8YI5DLxGFl*_-cpv+q)BX4z|Vg8Hzj{@gH)opeIHjC(iwuo7B^B?4lVRcgReXDWJ@HG71Ok_s_GAI$>AgcmSY)(Ye=I8M= zPiM9hM~vO1;eO)coCW;Et-inQ2(pE_CSx8~}h# z-K8aJ$HS8J3;i(=IDl|^71C%Li-9MY?oj-@h7+3Q%*Hd4ITZYr30TNWdLIXiM*!eh zSj+tvndVw~gYZ^?1H1sa6G+!d(fia4GmYXqX>uNJr{D1u9@{?uMzpiAnRX-4K3;$j z4y**gL#Dn4ot9x08^C1WA9TXnk7(7|BxHQxe$LE{er=F2MQ$fCeN~ zt`XmNwW5Ou8ovrF;(>2eWw-IbKu?Het6m7t6cg^kgLw<=pI5MDl@#3#6(^h&D-9LU z#^=V$kd&b^oIA2b%rNhf*)xrA8nRwARCyPH$hG|Z<7Jf+pO-zudAG~JGn~q!tEz$^ zX`0TtDe4&iC!jN#glI@X-D1W{PPOE_;@}Q*)|=|a&H@uiej6%Z?j-7CNA@T$Y*7a0 zj`j4?2M3=J)zcH%=1|+MIz*||QW_N4w;5SY6KM{_6OdOmSm#c4;v@ANkkb&?yu>s0 z_z@mL>s7+U>AW%&1l*qSQ??$@x&DuG+0bI879qI6GqDTBf4mngxSRew4}4|baIIN1 zs2)Fe17<5AJ`T)&1y3*!s!gwIBr$L;PpExs4wYKWZ0@Xez00o>(P%)T8mcREbvkO( zMl&mrxjml5rw)yv#7cogI6A2Ip<`;Eb#5~*n6S4Ny8uDnqt^h!h1K{X)67n1PuJ?~ zSHtnIJX@U%QZ+xcCOOm&C)5@qAREImr?kWp&>AVZns!rY9e{8WN9-C8wXJ$h!_cn7 z3r)Z@yMC)4Q>}1?rZ_EPHZBOg8xy*4#NnNR5QFTHy|$u6Xg{jSf7?$20x05v4$B1J zw${@>pke5YcCF#HT1*VvB#gH1)FB2NVzsO1Du{buzuxJn0h3TMytAYwCa(1Pd+pql z-;8e%*Q8~pBAb&*NR*1p1OVb{_KClB!tIGky6$91O8#r}4|tKhM>D}+JM*7JVt#ke zXuBN%jP^;aJOP`p>gCsvzu|}ZBZ}*4lJDJT7p+Jn-H$H?&8G%I++Z=(yz4-b_TryG(+(Q z-mek~9JIdlDh3(X$KU7+CiM=P3@}RNu#OUjBA`W(fstXb<>DJbZ94Gx$5l5at@{IZ zzgkHTATRd@M|L1CxXw^lI-qd{Qy1pJ9lA0c(b9(tcI$fmN*?yAFj2LpKGu=W!Q#1M z{xDl_u@x3v;+a@94DCZf?&Ay9<6vJ5s5-ZyEEN=l1^wO8QL&(Vo8OqR+gy6{E)h0b zCEfD8>H}*wZgMZa4Aa4}MfZ-jOn9#KnQOr#$hh??IOad7%u=NxfcSGlO}jPZ`AK2^ z()fpQ9UITd9ma|6+GGb9PKU9hG#}SGo89h7?2qiQN}VKJXu$?$b90BS%1-QQ_wSBl z{N#h!gPz@lc4s6`K_8mnO$=$>KlB(g2=}LRYr%Qb6FTuwnuL+}^3!a~W3_U#?~|sG zHiKGi%~5OP+R(wUCXg`yN9{Y;S;^N#37*8~Nr`2Rujt$gtg#?h=j;kpUuOB^M*F9~ z$2*sIX5)t`;xJ(Q69S|ADBwQ=gaOf6xQ~W_^`pZv_(XW>`zN;>M5(DHCv;u=uqmxN z!UP0_A`$w8Hz7R)M|Dbgp#9;lVAc}@e)4b5H2Et)9K2_?}UI4g-6o(zbN4NA$d9pfDifAg5*Pl z0nYv}p`Jcb&&2%7-SYD4zvUUhWd_7T>O-*O?}_xoWuVA1kN)iMTF*(dF`Lm!YP?wq zk{K7KdgPy8<|ZR+1UT_UMAnfDpG$c(RQ@4KQ-sa@0+S z?f;m)`|yg-8aP_FB;LK0Qokglur4dKZtcEHNeUpd28Nz&xpf1Qo_^P`{7h20L2mFF zypsbAxw zwoF&Hx^DqKEBhZ(wnJ97!`%176~0Ef57~I_h&_b=F(rg|FRfc1Z3wN)E3Dw-9e4^I ze!bnM!U9Wg_vBpnsPI6TlbEq-$Ydj|%#-9kInca%Jaz)ELlG%yA4~q-NQ4m;x$VC! z+I~^L?QeN{pDv|6+BFh7c(SsDs9*i`qMlUYXkvM7!hN%wd7EtY=u7=JCD{&U1+aMc z(nwdQ;ETo}sAPu+btcHXr9iedxpE}vvCoACdZyyn)SM{07i)Ge%)(E`FeHg584#PII3;>(|p^6`NwhwTcdRAJj)mfQSy`@NF~%wzH+-1htxgWFvRIR>9HRCR|Hj()%|;kbZu(|kjS!}aKBS``{ll}?<9O0W_fW}ee&0A z16TqsM34ZiF8_63{u3fuNF}KVy8$#1{ddr))ic~mdiw3?SCIQDZNo2Dk4?toQ-0>N z?fe73sZ(?Vz^D6{Z^{*5^$bIHj*r6o@^LkqH1obM*<=Zq4Lf4~v6T91H|MT?&A8}n z$m%dO<#&C`53-39(iuo0hGfq3a%>e=!E#ekd{c3Eo3IMg5Z>q{(KiIZ^)LuJeVjEO z0RbhK5e8cVj3Z|i(r;Yt1t!wbiqE$<^$xv4VGed5&u(aBz5v`;3unv69_bai0*IU6 zs3y}=15$Zr))cXXbaVusseP1GFAaqxe$Vbct~4muHSUZZsRa^37~+cZXcR!^7x zZmL}%5;v=Mi>G8C0Fg&hFj^}T<}y0B#;kpx^T@5zZ5mADf)=#6%x25BLc-;PxLK;oTK-{p2)2oU^D3+@vE%J4h_skFT>(VoK?`Eg;_T>!>TG-W6 zr2Pgr7tXo$399s17*QqT8S=&+Z^oZ4-#C^#O7~psomJCH^G&8SELd}XC*hyK_pG60 z^WO6R8o2O%p~bKE0;=_4OIzgGSaupAV3ZFZ`^ZsreY|_J{?A@DBix`w{4ZTpK{; zRiQ=nkHSz4xrYkxD50{&4sK9cBl_EYM|s|@^5iz-K`@xR$)R*zBM2bfdwA{5{iF~e z8pN#53QFRe5Uv69 zFI+EMya8t$m_>2`50FgXju-n-@OJJgW2ia;kI}(iyxihh_Vc-$`aktxWnNPRAr+5K zNqAAfB)X1@24VVHBY^8N{NbisrJ)H_-8w;NyzP$cDFC;m_h10{_iEhbhLX0xWr<_% zxp3rCQUbGSRzNhd`5`*C;>XH)3^QHesvB?aRd1}ePwM+)&{nta<7ln%tTG|@`^qYH zN-C{~k<1`EVI(p4ZwxhuZU-nx@HWsVD6#C)p3>fgiK~XDm7bq7@S8Xh3)^7$Hlwm7 z+L6Is&E^>kvio7Irl8Poe<+(eI?;Ju`^>M-zC`=G>!d}6=p))1Ot**b zM5gIl^wbN)i|7?U{o)rBkFy{7q~cxw^_uW$y!KUncDoK`X!mdr{KJ3;x|Ra09&$>l zBk&1#B8loZFy5;ydnWf6AlvHE(;o^4PE_yYM~O*aA})G2%T78*zIwcnXe{2Y=IZXQ zOoq*T&lWSsqu;mhXK+r}mc+7>sMyt6AUCw?CHtFzT&Ea_xHW!ADvFqSIv$u*Nx4nn!!m;5>Hf<0d?h@p@(}V=mBI`-w57uJVmmk+k0B!4Ajwu< z5uLhGPTqmMpQ#tkvg5Gk^>9{!-o=RK8*-GBUJQ?D?lpmH4y^c%)mo&9G_t=hmEk+) z4gFUn8sE9ZS$}p;WNq86Y7QO*9yDnu|9*$-!{WR{7PL}_j@r`s=u9}6VH*v9D z!o4Lk;j|(ep@)9MDfXM_KOOGGEsH`To2qwyLI&mE3T@?k=~RqFJ#x}A*>mlhD*hk7 z?y4!SE?O6GGyMU1Yl7VzZMK*ah%e%6Oo1bpp6Nrhn+CnSe?K)x!pePl=wql@y zLZ}~7HIw~vu1UByoZ_@t>z+ZU>iF=r!t)2jMRya(>qxOQ+*e1>DmEv}O%sw>KOb%r zZN<3`R2N$N5%Sz%ZR&ZJ`jd?c&pR599AF5?>8|EtY+-FUi-$cLqErykDQt{eJZb5w z;&Ro0smdTjJh69HO8szQmH@jpQoPu(Ge9GLO1qN2_Zw$!#L~kb31CyGjx&U3!GKj4 z6nN&^9CUf*f`zO^h^OwT`e6HWxJ9iJ9Q5QYDtjG*@x*1(q{HU+P8Do%W3f^9F#wFn!N zRN(Uv3<(7nu?#kEtniRwm_x?7d+(lnq?jQbo2%?A95)x9y`5maGHs<&3Jq@*KG$-H zCch~$mDT`Yg$&^P+pQO1u zx6_JVa+!Bko1^8dDuVCV6qQ&Y6?Yf*vh2^JA`x4y#8=TN4%TV$f^)S=XLf?5e@)A& z*ks;w?SssTcA%OUd%k`-kWzjfuf^d|(aI)t2we{=E)8xaMRQDk+mnqA$#Y|xx|LPH zSzYP+Arq9DL<#tJ$X1a4d{l{Py{yScyzSa-t~gv_P7G++Z$oW+cc~2hNPa{$gp8^e zip4?`g6(Yc>F*+c(vh!xS>97;L9@>bZODgxf+1{55U!%sy)fE--5K_E?+@)f-7DZC zM0hXdd?TLDR4rdb)py6Ie82JEt-I^W=i&y4c!kYweXZ$@cc>abzQ@=;_DPzV(sT0* z+kQJUiVe!k5!eu8`~JcK`QdP*mxTYyvlk9IhErQP9JK#uR~8#K zYyR_oPYcP6=KaYPS^uq{x*Ihj)~f(_b8mj}_gz1e57}hT)~#v(Ji^p_l4ADCKDzJA zVa;MaeZ%G)GCvqrL^9|TdyhDu5I0m{>!+r-^{-DEEGO+~FYRCMy<#H*v3&T+-xKib zz1Y~?nPC66r1w_B-*pqT2;szo*R;cNV5{-Ncy9=WIwfIv+Jrktx+}vv4=Xs15`=cO znNSwm$LBgxWeY3~o3QWOs22FJqxz^PY6_vFy1>*b>?IemymiuiYwH~o*5P&Z0&LDA z>=OdiuzpmfO#cG2A=&%TBn>9oHv=ja8M1mXaBB?JNq=g+4Mo4@S{{8#| z5bbKt!gfBJj$(_V5Y0xtv<|+?0dQsn)`BQ|P%p>DSJ4g88f`IVFJhU70m?!S9+O6k zwEkzUZ;=IJ(kdB*LSkA`_|zBu?4lU9kv&4P@glI_YLUeah=yvk1*U)Zo!_#a-tc^- zfi?FQw+I?4vw%$o!Sb|-^MnDHjGKEv9SUzltPN;JQT{KYG&3_OH$6kv3otGnL&+mU z$?hd=7-09jGi6L>ScwG6;W)x?Wi{6IqmC+=I(P9oUZeWjIoOH=Y{#_9Y*dlG%n~O>VW8p89hca$Ikb8G0dUDJ2 zme9ZQo4@T%EEyo%d(SsPKhet}Ryx2rBUzB3h*g1=oDqf^wSzP^5gW>brmEymJ>stx zHCFQ`Q#X)1pdzd19YG{1bI=1CUjQw~%0}&kiSj1ihK;l&%1pIO%uIB!pu{V5$PDxG zjV6pi;Ks#fyrucX26+wwxK1#@G=aBavZD*J_?BS{Du_p5;N-ys6TOTq?07BFcyRl` zTLLsvUM#Q-6k>olZX-7e88aNC)?l4BG6R6#a}4k(~RhlNdOM}ek2AS-ADg&m~75P93PmVuaiGg^sBm%u7O2; z*O`TM%#?s(SU`w(4YBAhh(d;wkBO7%rO|{{!mo+5ESXA9}&sf7W| zd={u`4ppQ>nO?kw>xP-7AK%nu$B0G(QAaS&3%@@!d=IynMC(Q3>y!qUPU>}v@vN$d zTrRNrDCs|7>)J|lxhTtUF7hmh(*gozUJ!j>5Q|@+RuGd=R}=F8Bw&pw`Ed>PgPR8N|?c&Mw5)nBB zAUs3Ctz}GU`hVX|O+q9lascG0)+4fLsYwM)5w7|u^Frx<$6*nxsM4z3Y^&JRsyx)H zxm^2{rTJN@pU}at=n~vY8z7C8g}s8?VF-vdBqh2bWWgjN%1y<3&OiWXV~<1xxP0TO zlt?&KvmTU5L|iO#)=Xtott-;xlg|0Lh*&x0PfO+A*O3ZbfdG!v0iQP z+EkUqt5!a;b*ZMYUeeie_qT8B4>G&Nx zB+B)(&w7u#`jwsj$40>Je;fSH+cO<{+MQ^OCtIPfRJ2Z|6%pidU-WDTwO|ByxDFT7 ziu9rW1zbimB#+TaN6=1PPE65h{+(PS2o`1o&?oe$X-@3SP3r%3YPJLF-}unU0`(E9 zcb>oNz{VJIp=v`?Vc>^*X$cXP{mjAPU=qa#2DWV zIpqzsH~2m~>=iCdr>y9I(yJUuH`u+cf~5;!7~0`2-lriwSeJ zp)6K_8d~*NHA7G3U4|Ir&x58v%=~|F9VZEy^O+s@3>>=InY$-z&Ua4QxyEWFcNte7 zw@#RvCxacVH5uE?Y=*X(n|9q~T1LwcedWzv)yzX2l;jdQ=Nr0ohl2S73i5)3LaMa9_cQf6`5IjOgC99p3x}HOGS(WyfbT>67*_~zKoOc`@ z*T_<6>y1k9ofhrOLB{6JQ@N~$)w1SsEVT*8e$rpu zH6EEXZG?AK2_{nRTh{Y;SGg`!vr#EFsdcq~cRiY~*2g{& zlOqzp)3f`h=Wr!x-z#)QyD=bfbve!Q^^wcYR@NT5#%`_2?Ck0~66eTAcHr-o&CI4f zev0i)@eOm)U>oHGn~k*hg+E9F7qj`2D#lJT(=oC7&y<`)OoRi~vSUp<6y7gKim(2( z+t+hlx7AZl4Bbx8A`Tea#;6G5h}U9&+w30UogmN%y)>kjWW%EFZGIDbcdn0UMrJ-!#4c9GbA zP(E_ey>`Joar*MrZZqocQ0vDG*d>0;iP7HGEL3=*&tb}|SZ@1Xy!%mN+r?JGd149L z9^z{6Ht#75R=ob<@b&4(u$X15ztys{9fE7MubX`6lVr)QfP|a#&o5pKPckVA-U@ER za@X2FpM($|g;SD$B0TxqJ@MCExfDC659&fnP#j=!B`^`8@Q2-_yPqR}IY&P|#~?g{ z055T&PhQuC+FNci)7Zq4?*8%~{^rjT%!ieN&k+c{{?zWuCD!B;_P*05G*7qjo9=1L z&dR@Bw3DB!u&qSC#wm__c&MMRA6Zp4-KsZxD5;ydGQY-BzjRS~+BLh$N~ji5>*}I; z=HW`$9=qow_{A~52;n|vTF<-6cy^$a_v%?<5ju(nwj$& zPwJiG_jj=7$?oZX{ohNWxR>P<+JL#&e+setob*q;90HUd(8|vaC`q5+PZ^n^k}bt;`-vC z?zOr7CfR-2VsH2y>VeVam4bi>_|HA(aX<#(kjXPp?#7Z0gkb!Sd!E9m#pQIdG7BDw zg>D4w810jdC8EReVV&0RAbrN?oU1JR^I4LSOJiW?^f$F44pJcIKg$LhrC(gOdkpRr zunVQ%3+iEo`mE+-$tuS(TN5qk)A-{^u+tmMqHC-$vWd%P^2bu>tMoefSj13@tXG>D zNB$I!^{8vFU3%dPEq8LSL(Uky7H(v+Jr~U;5qC}(CKSoKWhz?b=|;lCj9yK zGMwR@fuu3x3m2gF-4$@#u;X{;kFaY`lcc^bO^_{wtE*C{2o6V1Pt5fJ`>ud&P#Sr( z!!$TcaV@l?KJPkWWsB#3pZ=DT8^A|yX6Puody){FBFB~X6A5aSOtJx^i9AVLl`}t> zvhJ89wz_d(E`>F~5>n(V@Tid%Cy`!6;Vw-B$B<8l|iUWqnFaK zXa-U>mR~KAfX>D%$%Kw)p@=pt8tp?$)Y76YPO(a-Ey?)aw(pipmTC|$N`7XpvFp-i z74JnK~I}K&_QMfhEn$#6C-j7+Q>PxYi(fXxq~+ew!ejB=is zLpt^EKU?**9>CnUIcj6<*RGu&_Y~k*{ifad(QV+h*W+wiO0hzr5$NHsihJ#8c#2#|i;1itm;(l+<#cY|_Ni0IS!v zJMme<1M+@tsV&_31nBWki;mR!%(}B}w$pjwZ~r46sOJFwp7f@q`1AYTc3KQ>Pgy7P z_mwhIL<&5-H&)od@OToydPxbxjI0t+X9u9(To@Uw7%(uex0d@`=rKAxP9VATB4H1t2UPP?<#!(?cQ0{%0kASm(M zILMb@vikuMwL`xF(k!oD`>?vkrF{A2ns|tZ*b=<`f_x@|sfp2WdEq&rFD5Bb!juTH zQXJo$s9_o?iztL!MNOr@n-`lLBC_+Q(sIt*?Q|4yJ>W^9hZG^{cTh)O?U5VF*JrPw zfVs=|C%tX|s5PtX3Vd3e9;q$P3XU&8C2NcAzq#Wb?w}E89}}K=Q8ua%m>uAenz-y` z%Z9?HLDJDA;vjFxDCS!eISicw>0$oN&@4%GRabI1Ybe13Q-6^QozCO?QMf}(%ap_} zlVrt`P3WU4`)%%H@ARa&wvH|_HwfFUi``W4fmV@yW!5YkxsZ@AQa36>B*DzUiWb62 zalG=XlKN;`Zqi7Xcdwb+s&QDXqg%|{T|OI>UCZM%KB0PjreqPrQC{;_!j*8p6tE?o zNtH!UON<;}M&1;aSe0)I=QUA_<660UYeNx9qprz>UG0usrEK{$S1qWhR$5i0{>@8i z4s*7_%Q&4AwOwni@$vV1AS2r;mv&En`0x2vM%y2y>zkNO%_3R4{i$auR6zzUsq}VM z%^aJvR&mvnjkcKm89jgA?@JUou8e0hbf4AYfScbk?OdGwN6VY*F9sQY(EnIDF2-#> zC$`7gUf+JDQ?qjZ`*ET8v3+`$(hdK}959}-D(H$<_o;o08-`&MWjefIImsTvO~$Z9 zAg9qFvR32zFLa{@I#nwDVcZW%rxs82q@)`9!Ua3g*Onb(_VFeA=IBqNb-{1jfL{MIeKCQm$_F|QkR z;n>J+)G@s^Zz;u9eE{=>0sZg{%-ugH`CG15;5SEzBs!xbJVe99=Se{`%$xjnxmw~CTdN;?1-! zxHigEVQl(ju)`E_b&T4^ZhdcCjJInjpk}v@lJ{IE7Y}P*M@@5!^xD{mF>P4XxH02i zcN~s6B!AjF=P~bHt(51HMz;84bc?y(z%DY}6>Q^8v9|iRxH<**q6G$JcH3t4-nrU0+vw=B-cYj|J0Tu2Hz&dSUbfsUsXH46l{!x?(at^ik?xq>{)Pk-dKOu2J^Vxy&@kS1`2_P`FFDQK z;D2qk%AL*H$lbhv>}CQK)hlB_;@*{;aybL*-5NA~kw3_0(4hW#G9lsP!w)%fIuq<( zbZg!a?J-VJ0lfK~`p!f$+nj$Yd|1lrda2vGcp1EdGr0dkeA22PP`CMjvAwjauf4N< z-1(hLIA^>U_O@3q9W{5bOutD<_iyXU->l6yvP?Lq9GEj*I0EoBEH2<``-N;L%Z7A) zH~VQ)`%rNkI^F=tr}r-_*GY2cNC^zf^-cSQG`3CygTV0mA7uLx3yg9^v`<3@(o;a1 z%e6zyyIx!disu!y?94G5K64sk8bu@cX5I%ICLrZFjp*Mk65}|9;PB|Qb|Am*8JhbUx;W?Uyy(6M!;yBa5#s1!qiqn)?H;I-o3xO< z&XSV14SYV!d*?Jd{E|;l559KHea+0n$|n&f`<_xqX6}%Was>}25T_AI`^`#Tz?)CI zWJoz=@OYR^_4sXlQEcgR0h<}|M~e=@cSJ^}0uHSO>WCl^O)v*rK{YQ09f1*-*}f87 zLBqFwZmWI#O(Sh03NCqL_P)KD(LJha3Lbbu+JJ#ge8>RY0Y%`*J{!Th_|4ueE6G4@|s2E3Ri{APFpL;HPc6s$m;_!SDk0mT^7fN$M69LfMESD|P*A-C&3 z16m;)jtOfqg@|u~NdCTNX@R5`lyRa7g}8}+!+`)W_0|*%Ls1JoOkdpd6JXPLg{3z= z=s@;$9}{rU`9jXWRLJAIEBn1rn6XgkpNZ<+0hosi>3^3i&yaX)qllR%+BC z2(!f)$LEu?3Sh5HLE5fBc`8#Vzfd~;Kx#-^WoS`)s8EgRkTY&YJ%17F+4QTl0#4#* z@gg`aJ6J^y;hz@%m^Aubi30_+y|z&YW?G*IIU%2A&EW6@j%Yo}+z#?IoI)+&k2GnD zNS!j|JU?@=LA_3{2OS2R*=4Gm6k{J2I9yQa&gId(PwH|JtM~>nUF8e!8KVd3Ok(vq z+8xMvo4E8*J(^NucaVrJQAwMb^*J1^=SIlP9ZC)OnOl^2mYX{^6kBtBv$Uf=?8$a% z8!&XD{84G%f*oyav^Bh7F08X)FmyCDS)8#+ZTX!_g|Vcls@PXB-3fk^h3(j@kNTx- z>uQC<1yh=dN=hR3a{wyH4>)7nP^5(R8Q!48ckGzHDBEx@CZL)oG8q`1KJqoDI5_0c z`+Z0K%Q4oCkQ+vjiz}I+nF-?ai5q5Oj1DBjfVd2kMi{*#L{?A7FJ1^`1@KAiDDW&R za%hid=pGeTMR zU`RZbMjUCd3v}}2QC2{C^zmT}L_)mssnD15`!7$8t;{5zE!8cKGR?5^wvKqM3jLfE zS{QqcfUreIeuQI38CWHbT^9LAC>31gl}7{4*%rulrmZSgtUfeF#6h`ebU_4k4J{N% z_W-mAY&mG!J<5=BV2PnaO2uu=C-<{TwzGmI3f1owgV9PTK~%AhQ08i2J&m)VrHKrI zGMCz8D9w!o!Sr^!lKAR#t+XV8l zk?&PW7dhxsDZa67|NX_fQ~o^vjDF}ljlOhY;S}ANkj+pCgO|`byDx1|1j7(KUAHt& z`V`Gr7sJFH&1lo99d$peVh62Wcd^=P%C%~%*Lo?L{BIiL`a1)%)P)?T zt!fivTDi>+OzH8ts;#bzqFzSZF-F5H+nzPX&hNHcK&HJT>+LOD;ixKeDyBI~#zN2i zQIYDyBg>aro9?aSGu5&|c*xZu*M6fBy#$)+3VbO^nb}Eob?S!_j3J}y&DU!Vo%|d^2t$E#&*U?)*@eV@USr(e9P8Njw1AVN3X8x7! z`jslZ-YD^x2u&Xn^QEU)v#*IDx#jC4GmJ9YV_ea_l~fCvdQR~9da0Ezm&2=Jgsj7Q zF;1;VvZ6ZAiM&-Ul6Hnt2nIleQ*`kvpZs>>p z!it|#ho8erP*V3Ho)b3L5q7f@4c8G(vl1`Y5pT1S9M_Rtvywj5eQ@VsgnBSK8yRjr z87Uh%bv-#V8wGbg#aA{;iF!%}w$JMIpY_?O%seiK3gx1siVxvu|r_Eub zE2*ceVWV%Zr|)KC7_MiSW@B8gXWV9EI<9BBW@CP;XNIt`ApB`Sm0w>b=Qk=8 z8{wW_4sCkLOvqiV``s+O@Puoh43;SIOt=$60M>oqID!9{iaPX`AVP32%^N%5AV7#l z1mi%si#!0!o&8hIwdNxn7z-9nQbZC9CYXmq64#lMv`@%6P)NnOfKHTnq8y8XLn?t) znh+MPqd0~}R91qG<)DH3iG8rAQV4xO@;r?1&Uv}IPje<TuCGw#KOZkxkVrB>O|_YaT>J!mz+a5{pZlzSKd!*Wi-@*VBV$?Zd3rV*n-B zks6ngB7|$twbp#T9?QVhqMxmdtJfsuk=DA&s=3L!o6Ban$!40%cDc!Ro6GLF$?lrV z{;A0x!sUR_?10Ygh}-N)%I!qm?8MCdgS+{Meib1etNPa`@*I~h%G?y|(5|BObhVGJ zKe^qN!w3f&4MMreehU)@`Abm@X=OBnOZ+?9n!Tspvh$&Ql-US3ntiXie{c_v=x)>V&-h-4u5_7Br%Br5HV{K^zep{?Q3#ntLp;EzirLc;;)ZR`0JAT5eeAVpmlPK^|^Yh0~n05A-oQX~`dIzs4O01quJAfj~6N$KaEFz(ewCz`n|%z7Y# z8`QP{18BqbC{t+^0`yHIa{^$Y>#YBd*F#eZiKtQktwe_~zX`4nq$jylKNlhn-a(UMCc1CF+XqhGkq4A!fMWMfQk*fyS5Q* z``d}V9EuJRdJFb{8mM;b@=0k6O7JZ1b|(b=6*B3HMHEP&=4qeqN(l7`oA(WcG&?y5 zDldEYLx254`t_E&`(rqM$K8GR_3OPv_r1c`2leg;{jZPaKjV+P9{0s~YJ8s}2dF3R zJGyuP8Wt>tMbM$bU|L0-(Lt_uXDbd zXH?B`3%v7JQDkqk(zJX<%b`|6D4P$?o}v%tUYFEa}HHm-ACN zOhj2AfP_b63?`^vBf1B`;tnzt2}b-1rP!oMmd}iY{Ly?3!uOLgn-GHBKVz6k#!*Nm zb9i8yN+;2y*YmA}n98P6EoVa2!W-i8IxTEewt`ScauGf1TaoT3@ws?Vov@7Wj&O^Z zo8P=goz2v$v|C*{PY10v5^>LkP$S_lmBP%H$yHMyP10i>2A3MWaP6g9Jzn%aCmh-9 zr#Zvna(Ux9?zOl&<`b9WIhl+m(5g3iI?e3lk0rrzxPg_GuDy%nZr zme||<&;DqNzSMxX=R@4DN;ilei|6y*soN!4x3BL%y6~NC2q{D;?CKMF4>T&Q5F#|X zPHZncu{Wp>@pEQuACR#F)Q`fs5!;XUZj7Of<76nv zy%b|&U;xTsf@PASa)SMT6Y6)lG9>w*rsE?<5){6y^IPQnyT@0_5mfych(^`HXQ&-)l>tUac*4;|E>Z=la&=1k{?AW^Ob@n7L?);MxQYSOlek4f zKAfkz1TgUK#le3$dDajT%JBB1IFqq)Y#^H}vP7VGJQMD(OszxAE{M>F$-2JyN2#Li z3P&s+Jd3$tiz@uQ|8GUZ&EM6|}{#^~>o=^P;s5}1>Yg8Q6>|j@XQw~x z)6dKUNdqQ8B>W>I9*WSRe^MkijGslRP*U0g9f{nUb&WwrVAV&z(E_zh91;OMXx!ma zqYe;t=3VM`Ef)g?NKk2O`BPLXToy1Gkz8+7k@h>Cgn`?yX&LIkavevBNv*?&6mrI? z7+<`9GXErysP&`HF1di)UjDDLjlc8V6UG8j{PWf?e5_ng*!ZD1*+}nzSgUzXNg0<) zx$lT>uMc?$4k>SLl2j=eK~nzU5X5+jf?6j6HX58eBF1u#)G@lwgL(q%tOZp=QV+4> zh>&0&%t$uqqWG*ZF&tiua3(5VT{@FLFX2Hpk76sOsn-oj!3B<$FK8=gq ztfVC$cZ8Y`s-LJlbg15IITzwU|LB>R4x+IfNdD zvP>WZzG4D1ax^L;gHBXMu#%KKK8*Y~ zO^S)d;m|Wi#GN`x=*8W%ef5MQO~}M5i2@>w7qlD zmS@Y8x@&7Y%HC&oES)FdYL}bN?nU05dy7XhP&wxQFqcBZg*qLEDK@~apjwf-1h+vd zDSI9N^@2L?8R@k7SGCtwvzHhjpwOPpShM~2xxc34?Ks6mD(ewh z{~bOI)CE`bDMKh1`qM}c93O~>;$?gGLZSzVL-`rqCKsN2LoNKlKu6;y!G7N58o-BOLzvuwCLmk>nRE*n?q%5e6b6W>Lfh zaTY~xQbw3=1I8pDMvmZF+%J%05XQ7SG4qro$0u3IKfsrGB#|-k*r-Cv&%a}7zTd>c zN{?;+M^L!WC1mMr`{Q_E62;q-6&Hq)v8JVFxXdM3OTrMC(T;1))uZNM9nxuz%7k0g ze{@v#@#ZtBO2s!s7 zy8&cc(TXxT+hpfdENrlJ)f|po?R`lRSRS`i3bRP@N1^o!m2h>MtTj_oA*S4!u&kD7 z{?$E=6t9^0t}{)wXJb)dqA|tOjAE$tA{d=mQfx6|GN96>+%hb1yqW;Js{FLV{ji*B zk7g;Jp`j9OvRGxlZK5cbB^_v~-Or-r-zV~uin%AtR3+L!VM4MV>tONW^#7j4b(25Ta@LsxSiozVTQ z(a5hxt*xvx+DehZL4-NLU>EI2s;pz}1vsjs3&Xk(s2w%~zZaG{v_LNYua?c+BN4sg z#{lIO;~GHCa8r1|n#pY27oB|5itDg{9M<5_X#?Za6P|-^g+sFELG>n;^T={qS?Kgx zqUIRRxU9HjK=#G{Fx0PHx**9=7-Z~wHBQI`Za8Tg@o^ma*_^{IrL{+qlWbkDW|DC> zd)9enJO@4H5R%@Fay-HE{ktZ)yzACg_EWp`@a0@je?t*_mL)$r_GgLBTkR^R5JKha z+1Uvai2JdC{L|H9Wng24v7Ghh2yP*)WmTM|4u;-(;q2=-7axz7v&)yoF?Y1%?CCNU z^!b5tX*AN*w2lfRLPAgB?2Ao+wk%x6Lu0tSgNmlnII?aC8YaORNB z{dUa1&D(1Gwv&Qx63RxsD+%jiJ~sGw=l+Oc!GG&!M`V3kyjy-Ep-VX4#J$w?bKpue z?L(ct@`Z&$``Yr9E1Lj+H`8=m_bSg_tYqz}3;i?WXpCC?*MHaI?=A#HSuP_pS^h#7 zBOW-UTL3G~ODg;J1M2HX)~LKP`)jjZ*0AS(>sboMu9tg~?xzu$_xpHU?*V!(cK~?v zPVho<-*M_PeGTiOrKIR^cq>_`0cscBt({eU`ZYy+)Hv0^_%>zwjX^FbG@eIH<1lP` z^PK%@rR0=07bDtYha9uXn;+5}+4b^`r%&Lfui*2-^!t7L&wn@2La)C$${yx(-Y2Yr z?*EW*1!$9AnoD><)A+f9ftzlAlOMT9urs@`O!~4X{DacZ9?2UO|4$zyU`hW^Je0U6 z@^?Xs;FX`6;welYF<*5<$(2R{T!pmVOK+Aw_3vS-l%M;DettGK6eXn+8oeTf4K z!-`LREaLNk8!C?sx@4e0k$Ks2pgfICH6TcM1lb!9$c61KWhN@!5@ZJFH);}~K;xI# z<0C8ybaPPAw{RIySI}O;3WN7p#SOJyhIbYMPWJ@#=OVg-Tmw>qd6q(C|2SG7yUCX# zc!H3Ua*?ZqkgC9lA2uEQ5-hymhY3N05(kEpKm4Tr6zZpe6`&DdnCj|j04)CK`E!V9 zc0g{=jpzmdvH^&GvG6)O@O~hqH~_qXLD2Ccy#7+Sc-)ViZ>~;=2*J6?*?tl2u~B0! zQB|eL5g&`R@K_GGZe68{yN{ZVCvd@Fl)l`E@#p9<4Nw~Z(as=P4-w0HBxDiqyFrVW zoTFx6!|6f7n~umY6b{e1%9OY0Z2|L#jcF%-tet@h^H|b4?pW+;iLc4GEj+I zQTqHs@gQk&+hL%pT;yVKLOlQhnI=|%%$1tgmX=q~!%u|*L7iqfwh@%nl8Zb63Mwm2 z;P(Kjgd?{oA`9~-vIxf`kr@vpC9?P%FnM@nAI2+cBJ1*^OoD>?ViQJ3BGl88;FMBy zG(W27V-3rafl40i7RkQYzbKJ@)ja%+rAg`l1wD>L6iX&W&>+_v0PA~DCU&Ad%A!7u zlKdXTB5r3iGS|Q2sZ@D^C@HCyqevg72RDAu zlaUFCW}!(BFiq4jPapXm-xum3U*`G?40Je6ed5We=}G!fH|k@v8d*T~ipXiF(L0b4 zlwXQ5S=ioz8bVs7nU#%+Hp6ORFDjNVaCQzzfSuG|AHoDUsl@=)JQ}Bi1i+Vy)QN?+ zdPs?AO_nH&xsVc+Mf5mIT|3C$tyvuoDdUKMIK|vU6D*6AAW;I0Z=Sh`2oVXxh+RE}h^1Ne z-~=VQB7kBM2nO^L-;QM0A6oK^H>rKZ6rJ>LKO)`Ez{|M6{xI! z)iWr~R=@gL%0B!JkRnnq04`1l)b#;tfT7OlpcEC6KAeypcjUeucu`ANPAdG#h4N5% z`_tCgrQ@22^eT8(ls*7pg9R2k7ZG!&EXfb}FFcD(3aIn~tl7!f)=0X04TDcF|NIIU zI9&dk9$3bmzTydjwW09qRqtA*V4p(>mvvqhqUX%m*y@;Z@fDtJ(mPT-F$bG_BlziL+@d1OXJxPFrX zNzhlW;3r91H|eHjRp%l%gH!H-rMlwqfoqL5uQfp42HR#8tsSIc1CXh8ftM!o7ir+O zWz&QK(B3*}Izom-8+-2ccSxCob$B5RnR=8bXtD=6AQCym3xNdy^8t>$ttK@pR>Z8L zWXDFbydeGpBYJ}1i7LXakB!LAwT)ui+cMg3N8o>`t>>{k9<+BLL&$mqo<-Bx(?1m5g9EK8OPHPt~a`9 zJSlg*!z~u|tt{jDrL?aHDbt}Skrp{DwoyVn{h%aMuOivqtLhF3F|DUn*P}z22jriT zR}5+^I7i8^OOQCF=oaBt9l3|8;h)Ov}=FK}@WsFwjUr3)$BV3+BJ)+fJ%;q0V;CX8r?Ip|%OEuN3_gyu+Tka`%w|1~ z4j?19r7YZKEjaMVOQ zb@5=FG}x(c()4x9m?e?fM*zX!oRR$)0)ZggQ1a5+f;HDz#K zH%hB;X)*b_A@8lmbfbNL9AtD1p9Vnf@B=0Z!M%?m)H_T++f3TQVRXsPl0yAj z*3mnptg@&yW2^!xfacl0%qu`Z7}~u*b6{|DO6TU`FrM!bBW}7cPvG?Y+Q5t{&b6Uh ze_KBLR8i=9^xT-7LnU zE`2x=iT@VkiI?bvK$f;knYy4bMTD>kZQ@w~st{D6?ONd`03ZYf-Ma?6y9S>J%^E$= z`w#m74%QU3+UB#`LA)CO1!P6M(G$HyrwGp*>trK=n8dQuW)uDsxXAxJJ=ie`V4O8X zPQ{3GHTV!8{MJw*wNPczYkNLxMOkYlUqH3Gpi@-9AS!IbWFvv$7HTb^tP=n**nale zMy}m{tJ?nC3B|f;M|gxSjUn@)P26Vf0JC>$qPNhlcH$Y~OQbzMY>o5vjlWVrw5;Eg zkJG$fD^xTUN}J<#Kn&g)L_(qMx6Zx0sy#Zv?LxV2E-jet9R9kRP<&7d@Cd z01$8hWH}HMJoq?ih_MIK*#~fb0Jxh27)1b${hX&UF*t;DO&7LVDXJk_E$uU968Nxvym zQ`syKjt7@PvFFYo8V)fCjk87g8!od+7Y%3Y0%e(2OW_{oAPuT=i9Ucu6*gj7Mf1C< zq4lBc8r$#H>Y_<1#`Sd@i!6+`^u|-&4v#xuXW&sdQUDwr+Gipx8tB|`pIe<9gJb#3 zI9q7pUBx}q2^?YH4Vcn6ZObXVJ6Rn9R>S;2RGeHz@w~%{IzqJ#o%KhE?Ud6+v5Nnm znOr)TA@t9;mV3i|IQ&!qG(5^uN0Qa(>lpH4LE+4wfLUewat-Bf5q=%+wC^h z^NCK~&Oe8N&gliSAw4h;1%f_0z0daA$oj**U?zRxf;YbFHHShPk)wtxUr6cVHBsBHl1~5j3MX z`HmuUF*IZ|L0f`gl@HDf7K^$Zh~)FCt+FNoCHiB1-zl3xVb_6>!Q}xYd!f)iY4k$- zlLP(;ePOSVWEbTB5=VB~bpnlsr3koE*)dr-ts_J?7AloQ71<4^Xp6O%{qFEmjw7CZ z#}-v3rn(;|jb&)^rJ)vSQu=-*P=@L04}y=&KB@M9%GYDRI}Q=W5bpX4; zNqXG~&(^VXWcVWtP3=O#+uaDy5RLf!g=!@gG7KhS8FVA}`Ddb#j$H^|zUcSS5Wc`Z zC`Lpe1{iEOB72Wqq4K^pY0O9QcSjc{w5UlV!7GlC1>-v8=K2#l;Nk1Gs&nJP1vy%v z+y=r8`9qEB{>oLPi<%m5l{QhLw0`C?l15|LOrYXuYH+rf@fieypqP?-*e%&jd87iA9+v; z;Q9caUf}_{ebnEcZuOwQ?NJtU1UjEYZy`UGaJON}I=IViAtHhx0GG%qXIh%=UF=fW zi=k30?~_s0)Ft*7s}ufN-48b*u-N+JE>cG|WT|->bKR;K41qR6cM~3jV2K0}%bP%r zjfj)+=9~N-ARY$%5~4ssi@c;K!$ikz$2ze7rr~PzS*)O-OI$hHR^0>}{#cwEqYi{~ zvjwm6B=%(=J!Tx59QUp_hoKnWTXSGuJ3uA+Z_#yl3y%zb>?pK!yGoMo#~RU6BOyAM zD5balUGg)K6w%<^53Q$pJnU9#wh|2WMbR~!>8t>@%*t}<}U`%rSLfJ2?Kh15y~CG1{hNiK{0h;7Di zJ~6&jT!b%*PKuubmO808g$_uB1zjT>_Df#V(?h+-kC4+F%Xpx1s$4DhQ!Zl;$ajwC z!Z(w0^gjIt`#fViicbj~jg=$k&&37-n{a;2iV@7Bsd}@j7s~lr@r#`-pti>sET8|u zV)GWSa#v4wovZ+uw+pyP4i@D=>&t$rpZ6$Pgm-qeq4Z*z$soGOdHzE!1WhY%Ef0;m zv2APk+>R*KE0VaNN~g9Ml_>4<5YdorBLTh4{OB1BDaQ}oXJ8|nCeEqPHoZ`f3TZ)a ztWjy)ZwN${J<}YrL9cOcN>#YXRP#T?#8>?`BmB+_7HQoN_pRsPv!5dY_ ztc|5ub=I_c#^Ckd=%Ls@x>)?xYpqN8M@_bN3fZyNG{N}QBx~V*gVft5=^fhoX#VuP z_zDIdrq)ljx-N8kdz)0*OwG|2cLzp)8h5@DK{8kp0?+k#;gpjrDQ{KVn;X$b+y}Kc zS<@P_k+dfzGBld&BU`s6sZF1{pWW=@9D}Ec_U`*JndTD4I+MAbP{vSwZ=^E$Ern-3 z|Jq!vljQe3Vs#9w=@NHT!dEb{N`}pka7UcaeC`ppeCemu>5tubJB;Ny=;1yv%)9a# zg!$TryzqXX^H)Q&!|re)bztlBLx+<8x zkR+s?9dftN_3zs0zRcela60e`45RDg6f5S7Qny1POQPzHmTz)M+}iyLX<_whmI02L z`)5UWJdK+sNQ}f@BDbLdyUnnl9S<(ZlMJdhz5=tSgo_qrC3=@CtGW8%YC0fatE<3oR&--Q?Vnh^gZ5{rEbE-SwqKEpjS-<@rw5MN30`fDx{AhsVY z+@!wa+Y%1ix#-s;-2N!jvrNGyBzu7cM>UVxfsTxC83wN#TmD=Cviu!npHnG+zcAwAa=;CPXsX(~%X3w+*T-1SQaM<%wlhj*2qAbzx!hyzKRx{^7PUG$^y^%KEOe~Utnx(g03m&Jc@-(&7>w=BLNx) zaWVcu+GM_apDwmeG1-ZMC7V7bUvaZSF>!V=c~{~NqdLes(#;+bX%e(VZT!0p#fpKAw`o=Hi(ikf_8o@sr z+-E{X-7euZI3%Afv;<6L%Ii-CjPL@azQ0KY_(I191Ygp&K8xnDX17v>w8EkTVPEhq zzX`Gw(fWlzd;bxF*ojF*0ieZ|q2kq{3ISvBm@-L7GKDJu0QXpOCn&iHl;SG$0mZTj zCt<61d3DNUcaHHkNNqPz>p}&wqRIRq7|Z9E$;Xt96_&xuizv2}1(ZP>=6{Sdq(iI5 z&-jG+CJ^D(6AoX+!@vW&6JtM-1Y$ni3uP>InTZS<^un@W0#7NlhOz8yxt~?Pkkx6r z_oT6u<+}N?nyY}A+cJX_Vhl!n?fjFxcS+URpwUW6L`*@6WT>%h`LWK3u^9Qum@d+f zqncPCtMWv)78VqG0s?6)A_C%qG62hIVxY23hhKgryJPUTG)pV$0w&^sFcO4jDhF3# zG$1AoGzC%5N9sfB5T+PdDUv_Xn_dIt8t#byvXSTF7uabiZENIPPY8sql8N#Jk|dyS zF~lL<#Q&z5A<&M60t77jPAu(rFUwD#QE;twqTXZ1yyHgw`7?D*fVLBYu#3cF!XWeLP6)e>cwhNo)dBj&HEGvq6aIT7DO#IG2nzyrOVN5%aEvylAEX@SB0Eo>)zm z1D#mxG?@*)lB0Y=3^JdM2S9*kI9>fJNya3$CAV zE~Z!ylz`=tkaJv9zX1+&DD@Qejz3F8+VYk@f=~;=Ax0=}ut9F-aoQX$M3G;eQ&^~w&Q7snPhFd0Tm3qAnL^%=?uJq_{%)eNQ8Y#l?4hKZ;J2sl}W zzYZ#^T8U3tz88~reAm=?U;VN@=pw+UG8Ra^GSO`p;DP+5@aLNMfrN_)6r5-AJUTu> z!Ut;+h~y3U#SwYXBip>ymi_`PtM zmnIlqYwk@wpiF~(@?C4xx5Vj=n81qWcThG@62XKj8G$D)r0q{FtB%-&E@XRgz4Ksw z5mslGwIJ}Bc9k8LCNJnEh(?T@Dg6|xRo`%LXeA%n;C*A=zHzIfi!#J_OU9&pE=>$3P12HRAfi46|73!Qm;QKT znULq~(PA4=#M+^?R~ZY(p&Tauxl8n>o~~jxc=#W@!!XJ+(xzN z>sP0zHl;5EmU7kT_z;>%hnX=5Kp_n4;Ul4gH8Tmyg0*AW!{*peWxJT #RqGxr8`0RKLW`e~) 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

UDB3VPyYn{PB-07 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 z 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 z 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ªO2>rReq@^88?&x0Q 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/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

i+t8S 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 z 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/src/test-setup.ts'], + coverageDirectory: '../../coverage/libs/rive-angular-webgl2', + transform: { + '^.+\\.(ts|mjs|js|html)$': [ + 'jest-preset-angular', + { + tsconfig: '/tsconfig.spec.json', + stringifyContentPathRegex: '\\.(html|svg)$', + }, + ], + }, + transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'], + snapshotSerializers: [ + 'jest-preset-angular/build/serializers/no-ng-attributes', + 'jest-preset-angular/build/serializers/ng-snapshot', + 'jest-preset-angular/build/serializers/html-comment', + ] +}; diff --git a/libs/rive-angular-webgl2/ng-package.json b/libs/rive-angular-webgl2/ng-package.json new file mode 100644 index 0000000..1eb62b9 --- /dev/null +++ b/libs/rive-angular-webgl2/ng-package.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", + "dest": "../../dist/libs/rive-angular-webgl2", + "assets": [ + { + "glob": "docs/**/*", + "input": ".", + "output": "." + } + ], + "lib": { + "entryFile": "src/index.ts" + } +} diff --git a/libs/rive-angular-webgl2/package.json b/libs/rive-angular-webgl2/package.json new file mode 100644 index 0000000..3c7395b --- /dev/null +++ b/libs/rive-angular-webgl2/package.json @@ -0,0 +1,50 @@ +{ + "name": "@grandgular/rive-angular-webgl2", + "version": "2.0.0", + "description": "Angular wrapper for Rive using the @rive-app/webgl2 runtime (Rive Renderer) — recommended for quality and performance.", + "keywords": [ + "angular", + "rive", + "animation", + "webgl2", + "graphics", + "state-machine", + "standalone", + "signals", + "typescript", + "ng", + "interactive", + "reactive", + "ng-rive", + "zoneless", + "rive-angular", + "angular-animation", + "rive-renderer", + "data-binding", + "viewmodel" + ], + "author": "Andrei Shpileuski", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/Grandgular/rive.git", + "directory": "libs/rive-angular-webgl2" + }, + "homepage": "https://github.com/Grandgular/rive/tree/main/libs/rive-angular-webgl2#readme", + "bugs": { + "url": "https://github.com/Grandgular/rive/issues" + }, + "engines": { + "node": ">=20.0.0", + "npm": ">=10.0.0" + }, + "peerDependencies": { + "@angular/common": ">=18.0.0 <22.0.0", + "@angular/core": ">=18.0.0 <22.0.0", + "@rive-app/webgl2": "^2.35.0" + }, + "publishConfig": { + "access": "public" + }, + "sideEffects": false +} diff --git a/libs/rive-angular-webgl2/project.json b/libs/rive-angular-webgl2/project.json new file mode 100644 index 0000000..e768a2c --- /dev/null +++ b/libs/rive-angular-webgl2/project.json @@ -0,0 +1,57 @@ +{ + "name": "rive-angular-webgl2", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/rive-angular-webgl2/src", + "prefix": "lib", + "projectType": "library", + "release": { + "version": { + "manifestRootsToUpdate": [ + "dist/{projectRoot}" + ], + "currentVersionResolver": "git-tag", + "fallbackCurrentVersionResolver": "disk" + } + }, + "tags": [], + "targets": { + "build": { + "executor": "@nx/angular:package", + "outputs": [ + "{workspaceRoot}/dist/{projectRoot}" + ], + "options": { + "project": "libs/rive-angular-webgl2/ng-package.json", + "tsConfig": "libs/rive-angular-webgl2/tsconfig.lib.json" + }, + "configurations": { + "production": { + "tsConfig": "libs/rive-angular-webgl2/tsconfig.lib.prod.json" + }, + "development": {} + }, + "defaultConfiguration": "production" + }, + "nx-release-publish": { + "options": { + "packageRoot": "dist/{projectRoot}" + } + }, + "test": { + "executor": "@nx/jest:jest", + "outputs": [ + "{workspaceRoot}/coverage/{projectRoot}" + ], + "options": { + "jestConfig": "libs/rive-angular-webgl2/jest.config.cts", + "tsConfig": "libs/rive-angular-webgl2/tsconfig.spec.json" + } + }, + "lint": { + "executor": "@nx/eslint:lint", + "options": { + "maxWarnings": 200 + } + } + } +} diff --git a/libs/rive-angular-webgl2/src/index.ts b/libs/rive-angular-webgl2/src/index.ts new file mode 100644 index 0000000..511d85d --- /dev/null +++ b/libs/rive-angular-webgl2/src/index.ts @@ -0,0 +1,63 @@ +/* + * Public API Surface of @grandgular/rive-angular-webgl2 + */ + +// Component +export { RiveCanvasComponent } from './lib/components'; + +// Services +export { + RiveFileService, + type RiveFileState, + type RiveFileParams, + type FileStatus, +} from './lib/services'; + +// Re-exported Rive SDK types and error classes +export { + Fit, + Alignment, + RiveLoadError, + EventType, + LoopType, + RiveValidationError, + RiveErrorCode, + type RiveErrorOptions, + type RiveEvent, + type LoopEvent, + type RiveColor, + type DataBindingValue, + type DataBindingChangeEvent, + type DataBindingPropertyType, +} from './lib/models'; + +// Debug Configuration +export { + provideRiveDebug, + type RiveDebugConfig, + type LogLevel, +} from './rive-angular-core'; + +export { + provideRiveRuntime, + type RiveRuntimeConfig, +} from './lib/utils/runtime-config'; + +// Color utilities for data binding +export { + parseRiveColor, + riveColorToArgb, + riveColorToHex, +} from './rive-angular-core'; + +// Re-export commonly used types from the WebGL2 runtime +export { + Rive, + RiveFile, + Layout, + StateMachineInput, + ViewModelInstance, + type LayoutParameters, + type RiveParameters, + type RiveFileParameters, +} from './lib/rive-sdk'; diff --git a/libs/rive-angular-webgl2/src/lib/components/index.ts b/libs/rive-angular-webgl2/src/lib/components/index.ts new file mode 100644 index 0000000..653042a --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/components/index.ts @@ -0,0 +1 @@ +export * from './rive-canvas.component'; diff --git a/libs/rive-angular-webgl2/src/lib/components/rive-canvas.component.spec.ts b/libs/rive-angular-webgl2/src/lib/components/rive-canvas.component.spec.ts new file mode 100644 index 0000000..4e2ae4f --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/components/rive-canvas.component.spec.ts @@ -0,0 +1,1638 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { RiveCanvasComponent } from './rive-canvas.component'; +import { + Rive, + RiveFile, + Fit, + Alignment, + EventType, + LoopType, + type RiveParameters, +} from '../rive-sdk'; + +// Mock Rive +jest.mock('@rive-app/webgl2', () => ({ + Rive: jest.fn(), + RiveFile: jest.fn(), + Layout: jest.fn(), + Fit: { + Contain: 'contain', + Cover: 'cover', + Fill: 'fill', + FitWidth: 'fitWidth', + FitHeight: 'fitHeight', + None: 'none', + ScaleDown: 'scaleDown', + }, + Alignment: { + Center: 'center', + TopLeft: 'topLeft', + TopCenter: 'topCenter', + TopRight: 'topRight', + CenterLeft: 'centerLeft', + CenterRight: 'centerRight', + BottomLeft: 'bottomLeft', + BottomCenter: 'bottomCenter', + BottomRight: 'bottomRight', + }, + StateMachineInput: jest.fn(), + EventType: { + Load: 'load', + LoadError: 'loaderror', + Play: 'play', + Pause: 'pause', + Stop: 'stop', + Loop: 'loop', + Advance: 'advance', + StateChange: 'statechange', + RiveEvent: 'riveevent', + }, + LoopType: { + OneShot: 'oneshot', + Loop: 'loop', + PingPong: 'pingpong', + }, + RuntimeLoader: { + awaitInstance: jest.fn().mockResolvedValue(undefined), + setWasmUrl: jest.fn(), + }, +})); + +// Mock IntersectionObserver +class MockIntersectionObserver { + observe = jest.fn(); + unobserve = jest.fn(); + disconnect = jest.fn(); +} + +global.IntersectionObserver = MockIntersectionObserver as any; + +// Mock ResizeObserver +class MockResizeObserver { + observe = jest.fn(); + unobserve = jest.fn(); + disconnect = jest.fn(); +} + +global.ResizeObserver = MockResizeObserver as any; + +describe('RiveCanvasComponent', () => { + let component: RiveCanvasComponent; + let fixture: ComponentFixture; + let mockRive: jest.Mocked; + const createMockViewModel = () => { + const viewModelInstance = createMockViewModelInstance(); + return { + name: 'MainViewModel', + instance: jest.fn(() => viewModelInstance), + }; + }; + const createMockProperty = (initialValue: T) => { + let currentValue = initialValue; + const listeners: Array<() => void> = []; + const property = { + on: jest.fn((...args: unknown[]) => { + const callback = + typeof args[0] === 'function' + ? (args[0] as () => void) + : typeof args[1] === 'function' + ? (args[1] as () => void) + : undefined; + + if (callback) { + listeners.push(callback); + } + + return { + unsubscribe: () => { + if (callback) { + const idx = listeners.indexOf(callback); + if (idx >= 0) { + listeners.splice(idx, 1); + } + } + }, + }; + }), + off: jest.fn(), + get value() { + return currentValue; + }, + set value(nextValue: T) { + currentValue = nextValue; + }, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + rgba: jest.fn((...args: any[]) => { + const [r, g, b, a] = args; + (property as any).value = + (((a ?? 255) << 24) | (r << 16) | (g << 8) | b) >>> 0; + }), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + opacity: jest.fn((opacity: any) => { + const value = (property as any).value as number; + (property as any).value = + (((opacity * 255) << 24) | (value & 0x00ffffff)) >>> 0; + }), + trigger: jest.fn(), + emitChange: () => { + listeners.forEach((listener) => listener()); + }, + }; + + return property as typeof property & { + on: jest.Mock; + off: jest.Mock; + value: T; + rgba: jest.Mock; + opacity: jest.Mock; + trigger: jest.Mock; + emitChange: () => void; + }; + }; + + const createMockViewModelInstance = () => { + const colorValue = createMockProperty(0xffffffff); + const numberValue = createMockProperty(0); + const stringValue = createMockProperty('initial'); + const booleanValue = createMockProperty(false); + const enumValue = createMockProperty('idle'); + const triggerValue = createMockProperty('trigger'); + + return { + properties: [ + { name: 'backgroundColor', type: 'color' }, + { name: 'score', type: 'number' }, + { name: 'playerName', type: 'string' }, + { name: 'isActive', type: 'boolean' }, + { name: 'gameState', type: 'enum' }, + { name: 'onComplete', type: 'trigger' }, + ], + color: jest.fn((path: string) => { + if (path === 'backgroundColor') return colorValue; + return undefined; + }), + number: jest.fn((path: string) => { + if (path === 'score') return numberValue; + return undefined; + }), + string: jest.fn((path: string) => { + if (path === 'playerName') return stringValue; + return undefined; + }), + boolean: jest.fn((path: string) => { + if (path === 'isActive') return booleanValue; + return undefined; + }), + enum: jest.fn((path: string) => { + if (path === 'gameState') return enumValue; + return undefined; + }), + trigger: jest.fn((path: string) => { + if (path === 'onComplete') return triggerValue; + return undefined; + }), + cleanup: jest.fn(), + get colorValue() { + return colorValue; + }, + get numberValue() { + return numberValue; + }, + get stringValue() { + return stringValue; + }, + get booleanValue() { + return booleanValue; + }, + get enumValue() { + return enumValue; + }, + get triggerValue() { + return triggerValue; + }, + } as const; + }; + + beforeEach(async () => { + mockRive = { + cleanup: jest.fn(), + play: jest.fn(), + pause: jest.fn(), + stop: jest.fn(), + reset: jest.fn(), + resizeDrawingSurfaceToCanvas: jest.fn(), + startRendering: jest.fn(), + stopRendering: jest.fn(), + stateMachineInputs: jest.fn(() => []), + setTextRunValue: jest.fn(), + setTextRunValueAtPath: jest.fn(), + bindViewModelInstance: jest.fn(), + defaultViewModel: jest.fn(createMockViewModel), + viewModelByName: jest.fn((name: string) => + name === 'MainViewModel' ? createMockViewModel() : undefined, + ), + viewModelByIndex: jest.fn(() => createMockViewModel()), + viewModelCount: 1, + artboardNames: [], + animationNames: [], + stateMachineNames: [], + } as unknown as jest.Mocked; + + (Rive as jest.MockedClass).mockImplementation(() => mockRive); + + await TestBed.configureTestingModule({ + imports: [RiveCanvasComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(RiveCanvasComponent); + component = fixture.componentInstance; + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + it('should initialize with default values', () => { + expect(component.autoplay()).toBe(true); + expect(component.fit()).toBe(Fit.Contain); + expect(component.alignment()).toBe(Alignment.Center); + expect(component.useOffscreenRenderer()).toBe(false); + expect(component.shouldUseIntersectionObserver()).toBe(true); + expect(component.shouldDisableRiveListeners()).toBe(false); + expect(component.automaticallyHandleEvents()).toBe(false); + }); + + it('should load animation from src after view init', () => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + expect(Rive).toHaveBeenCalledWith( + expect.objectContaining({ + src: 'test.riv', + autoplay: true, + }), + ); + }); + + it('should emit loaded event on successful load', (done) => { + let onLoadCallback: (() => void) | undefined; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRive; + }, + ); + + let loadedEmitted = false; + let riveReadyEmitted = false; + + component.loaded.subscribe(() => { + loadedEmitted = true; + expect(component.isLoaded()).toBe(true); + if (loadedEmitted && riveReadyEmitted) done(); + }); + + component.riveReady.subscribe(() => { + riveReadyEmitted = true; + expect(component.riveInstance()).toBe(mockRive); + if (loadedEmitted && riveReadyEmitted) done(); + }); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + onLoadCallback!(); + }); + + it('should emit loadError event on load failure', (done) => { + let onLoadErrorCallback: (() => void) | undefined; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadErrorCallback = config.onLoadError; + return mockRive; + }, + ); + + component.loadError.subscribe((error) => { + expect(error).toBeDefined(); + expect(error.name).toBe('RiveLoadError'); + done(); + }); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + onLoadErrorCallback!(); + }); + + it('should cleanup Rive instance on destroy', () => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + fixture.destroy(); + + expect(mockRive.cleanup).toHaveBeenCalled(); + }); + + it('should reload animation when src changes', () => { + fixture.componentRef.setInput('src', 'test1.riv'); + fixture.detectChanges(); + + expect(Rive).toHaveBeenCalledTimes(1); + + fixture.componentRef.setInput('src', 'test2.riv'); + fixture.detectChanges(); + + expect(Rive).toHaveBeenCalledTimes(2); + expect(mockRive.cleanup).toHaveBeenCalledTimes(1); + }); + + it('should prioritize riveFile over src and buffer', () => { + const mockRiveFile = {} as RiveFile; + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('buffer', new ArrayBuffer(100)); + fixture.componentRef.setInput('riveFile', mockRiveFile); + fixture.detectChanges(); + + expect(Rive).toHaveBeenCalledWith( + expect.objectContaining({ + riveFile: mockRiveFile, + }), + ); + expect(Rive).toHaveBeenCalledWith( + expect.not.objectContaining({ + src: expect.anything(), + buffer: expect.anything(), + }), + ); + }); + + describe('Public API methods', () => { + beforeEach(() => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + }); + + it('should play animation', () => { + component.playAnimation(); + expect(mockRive.play).toHaveBeenCalled(); + }); + + it('should play specific animations', () => { + component.playAnimation(['anim1', 'anim2']); + expect(mockRive.play).toHaveBeenCalledWith(['anim1', 'anim2']); + }); + + it('should pause animation', () => { + component.pauseAnimation(); + expect(mockRive.pause).toHaveBeenCalled(); + }); + + it('should stop animation', () => { + component.stopAnimation(); + expect(mockRive.stop).toHaveBeenCalled(); + }); + + it('should reset animation', () => { + component.reset(); + expect(mockRive.reset).toHaveBeenCalled(); + }); + + it('should set state machine input', () => { + const mockInput = { name: 'testInput', value: 0 }; + mockRive.stateMachineInputs.mockReturnValue([mockInput] as any); + + component.setInput('StateMachine', 'testInput', 42); + + expect(mockRive.stateMachineInputs).toHaveBeenCalledWith('StateMachine'); + expect(mockInput.value).toBe(42); + }); + + it('should fire state machine trigger', () => { + const mockTrigger = { name: 'testTrigger', fire: jest.fn() }; + mockRive.stateMachineInputs.mockReturnValue([mockTrigger] as any); + + component.fireTrigger('StateMachine', 'testTrigger'); + + expect(mockRive.stateMachineInputs).toHaveBeenCalledWith('StateMachine'); + expect(mockTrigger.fire).toHaveBeenCalled(); + }); + }); + + describe('Signals', () => { + it('should update isPlaying signal on play', (done) => { + let onPlayCallback: (() => void) | undefined; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onPlayCallback = config.onPlay; + return mockRive; + }, + ); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + onPlayCallback!(); + + setTimeout(() => { + expect(component.isPlaying()).toBe(true); + expect(component.isPaused()).toBe(false); + done(); + }, 0); + }); + + it('should update isPaused signal on pause', (done) => { + let onPauseCallback: (() => void) | undefined; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onPauseCallback = config.onPause; + return mockRive; + }, + ); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + onPauseCallback!(); + + setTimeout(() => { + expect(component.isPaused()).toBe(true); + expect(component.isPlaying()).toBe(false); + done(); + }, 0); + }); + + it('should expose riveInstance signal after load', (done) => { + let onLoadCallback: (() => void) | undefined; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRive; + }, + ); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + // Before load, instance is set but not ready + setTimeout(() => { + expect(component.riveInstance()).toBe(mockRive); + + // After load, riveReady should emit + component.riveReady.subscribe((rive) => { + expect(rive).toBe(mockRive); + done(); + }); + + onLoadCallback!(); + }, 0); + }); + }); + + describe('Animation lifecycle events', () => { + it('should pass onLoop and onAdvance callbacks to Rive', () => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + expect(Rive).toHaveBeenCalledWith( + expect.objectContaining({ + onLoop: expect.any(Function), + onAdvance: expect.any(Function), + }), + ); + }); + + it('should emit animationPlay and keep isPlaying in sync', (done) => { + let onPlayCallback: RiveParameters['onPlay']; + + (Rive as jest.MockedClass).mockImplementation( + (config: RiveParameters) => { + onPlayCallback = config.onPlay; + return mockRive; + }, + ); + + const playSpy = jest.fn(); + component.animationPlay.subscribe(playSpy); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + onPlayCallback?.({ type: EventType.Play }); + + setTimeout(() => { + expect(playSpy).toHaveBeenCalledWith({ type: EventType.Play }); + expect(component.isPlaying()).toBe(true); + expect(component.isPaused()).toBe(false); + done(); + }, 0); + }); + + it('should emit animationPause and keep isPaused in sync', (done) => { + let onPauseCallback: RiveParameters['onPause']; + + (Rive as jest.MockedClass).mockImplementation( + (config: RiveParameters) => { + onPauseCallback = config.onPause; + return mockRive; + }, + ); + + const pauseSpy = jest.fn(); + component.animationPause.subscribe(pauseSpy); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + onPauseCallback?.({ type: EventType.Pause }); + + setTimeout(() => { + expect(pauseSpy).toHaveBeenCalledWith({ type: EventType.Pause }); + expect(component.isPaused()).toBe(true); + expect(component.isPlaying()).toBe(false); + done(); + }, 0); + }); + + it('should emit animationStop and reset playing state', (done) => { + let onStopCallback: RiveParameters['onStop']; + + (Rive as jest.MockedClass).mockImplementation( + (config: RiveParameters) => { + onStopCallback = config.onStop; + return mockRive; + }, + ); + + const stopSpy = jest.fn(); + component.animationStop.subscribe(stopSpy); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + onStopCallback?.({ type: EventType.Stop }); + + setTimeout(() => { + expect(stopSpy).toHaveBeenCalledWith({ type: EventType.Stop }); + expect(component.isPlaying()).toBe(false); + expect(component.isPaused()).toBe(false); + done(); + }, 0); + }); + + it('should emit animationLoop with loop event data', (done) => { + let onLoopCallback: RiveParameters['onLoop']; + + (Rive as jest.MockedClass).mockImplementation( + (config: RiveParameters) => { + onLoopCallback = config.onLoop; + return mockRive; + }, + ); + + const loopSpy = jest.fn(); + component.animationLoop.subscribe(loopSpy); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + const loopPayload = { + type: EventType.Loop, + data: { animation: 'idle', type: LoopType.OneShot }, + }; + onLoopCallback?.(loopPayload); + + setTimeout(() => { + expect(loopSpy).toHaveBeenCalledWith(loopPayload); + done(); + }, 0); + }); + + it('should emit animationAdvance when Rive advances a frame', (done) => { + let onAdvanceCallback: RiveParameters['onAdvance']; + + (Rive as jest.MockedClass).mockImplementation( + (config: RiveParameters) => { + onAdvanceCallback = config.onAdvance; + return mockRive; + }, + ); + + const advanceSpy = jest.fn(); + component.animationAdvance.subscribe(advanceSpy); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + const advancePayload = { type: EventType.Advance }; + onAdvanceCallback?.(advancePayload); + + setTimeout(() => { + expect(advanceSpy).toHaveBeenCalledWith(advancePayload); + done(); + }, 0); + }); + }); + + describe('Configuration', () => { + it('should pass artboard to Rive config', () => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('artboard', 'MyArtboard'); + fixture.detectChanges(); + + expect(Rive).toHaveBeenCalledWith( + expect.objectContaining({ + artboard: 'MyArtboard', + }), + ); + }); + + it('should pass animations to Rive config', () => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('animations', ['anim1', 'anim2']); + fixture.detectChanges(); + + expect(Rive).toHaveBeenCalledWith( + expect.objectContaining({ + animations: ['anim1', 'anim2'], + }), + ); + }); + + it('should pass stateMachines to Rive config', () => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('stateMachines', 'StateMachine1'); + fixture.detectChanges(); + + expect(Rive).toHaveBeenCalledWith( + expect.objectContaining({ + stateMachines: 'StateMachine1', + }), + ); + }); + + it('should pass fit and alignment to Rive config', () => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('fit', Fit.Cover); + fixture.componentRef.setInput('alignment', Alignment.TopLeft); + fixture.detectChanges(); + + expect(Rive).toHaveBeenCalledWith( + expect.objectContaining({ + layout: expect.anything(), + }), + ); + }); + }); + + describe('Phase 2: Debug Mode', () => { + it('should use debug level when debugMode is true', () => { + fixture.componentRef.setInput('debugMode', true); + fixture.detectChanges(); + + // Logger should be initialized with debug level + // We can verify this by checking console output in integration tests + expect(component.debugMode()).toBe(true); + }); + + it('should use global config when debugMode is undefined', () => { + // Without debugMode input, should fall back to global config (or error level) + expect(component.debugMode()).toBeUndefined(); + }); + + it('should update logger level when debugMode changes', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('debugMode', false); + fixture.detectChanges(); + + setTimeout(() => { + fixture.componentRef.setInput('debugMode', true); + fixture.detectChanges(); + + expect(component.debugMode()).toBe(true); + done(); + }, 0); + }); + }); + + describe('Phase 2: Validation', () => { + it('should emit RiveValidationError for invalid artboard name', (done) => { + let onLoadCallback: (() => void) | undefined; + + const mockRiveWithArtboards = { + ...mockRive, + artboardNames: ['Artboard1', 'Artboard2'], + }; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRiveWithArtboards as any; + }, + ); + + const errors: Error[] = []; + component.loadError.subscribe((error) => { + errors.push(error); + }); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('artboard', 'InvalidArtboard'); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(errors.length).toBeGreaterThan(0); + const validationError = errors.find( + (e) => e.name === 'RiveValidationError', + ); + expect(validationError).toBeDefined(); + done(); + }, 0); + }); + + it('should emit RiveValidationError for invalid animation name', (done) => { + let onLoadCallback: (() => void) | undefined; + + const mockRiveWithAnimations = { + ...mockRive, + animationNames: ['Animation1', 'Animation2'], + }; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRiveWithAnimations as any; + }, + ); + + const errors: Error[] = []; + component.loadError.subscribe((error) => { + errors.push(error); + }); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('animations', 'InvalidAnimation'); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(errors.length).toBeGreaterThan(0); + const validationError = errors.find( + (e) => e.name === 'RiveValidationError', + ); + expect(validationError).toBeDefined(); + done(); + }, 0); + }); + + it('should emit RiveValidationError for invalid state machine name', (done) => { + let onLoadCallback: (() => void) | undefined; + + const mockRiveWithStateMachines = { + ...mockRive, + stateMachineNames: ['SM1', 'SM2'], + }; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRiveWithStateMachines as any; + }, + ); + + const errors: Error[] = []; + component.loadError.subscribe((error) => { + errors.push(error); + }); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('stateMachines', 'InvalidSM'); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(errors.length).toBeGreaterThan(0); + const validationError = errors.find( + (e) => e.name === 'RiveValidationError', + ); + expect(validationError).toBeDefined(); + done(); + }, 0); + }); + + it('should emit RiveValidationError with RIVE_204 for invalid input', (done) => { + let onLoadCallback: (() => void) | undefined; + + mockRive.stateMachineInputs.mockReturnValue([ + { name: 'validInput', value: 0 }, + ] as any); + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRive; + }, + ); + + const errors: Error[] = []; + component.loadError.subscribe((error) => { + errors.push(error); + }); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + component.setInput('StateMachine', 'invalidInput', 42); + + setTimeout(() => { + const validationError = errors.find( + (e) => e.name === 'RiveValidationError', + ); + expect(validationError).toBeDefined(); + done(); + }, 0); + }, 0); + }); + + it('should emit RiveValidationError with RIVE_204 for invalid trigger', (done) => { + let onLoadCallback: (() => void) | undefined; + + mockRive.stateMachineInputs.mockReturnValue([ + { name: 'validTrigger', fire: jest.fn() }, + ] as any); + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRive; + }, + ); + + const errors: Error[] = []; + component.loadError.subscribe((error) => { + errors.push(error); + }); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + component.fireTrigger('StateMachine', 'invalidTrigger'); + + setTimeout(() => { + const validationError = errors.find( + (e) => e.name === 'RiveValidationError', + ); + expect(validationError).toBeDefined(); + done(); + }, 0); + }, 0); + }); + + it('should not crash when runtime metadata is unavailable', (done) => { + let onLoadCallback: (() => void) | undefined; + + // Mock Rive instance without metadata properties + const mockRiveWithoutMetadata = { + ...mockRive, + artboardNames: undefined, + animationNames: undefined, + stateMachineNames: undefined, + }; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRiveWithoutMetadata as any; + }, + ); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('artboard', 'SomeArtboard'); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + // Should complete without throwing + expect(component.isLoaded()).toBe(true); + done(); + }, 0); + }); + }); + + describe('Text Runs', () => { + beforeEach(() => { + mockRive.getTextRunValue = jest.fn((name: string) => `value-${name}`); + mockRive.setTextRunValue = jest.fn(); + mockRive.getTextRunValueAtPath = jest.fn( + (name: string, path: string) => `value-${name}-${path}`, + ); + mockRive.setTextRunValueAtPath = jest.fn(); + }); + + describe('textRuns input (controlled keys)', () => { + it('should apply text runs after load', (done) => { + let onLoadCallback: (() => void) | undefined; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRive; + }, + ); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('textRuns', { + title: 'Hello', + subtitle: 'World', + }); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'Hello', + ); + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'subtitle', + 'World', + ); + done(); + }, 0); + }); + + it('should reactively update when textRuns values change', (done) => { + let onLoadCallback: (() => void) | undefined; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRive; + }, + ); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('textRuns', { title: 'Hello' }); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'Hello', + ); + + // Clear mock and update input + jest.clearAllMocks(); + fixture.componentRef.setInput('textRuns', { title: 'Updated' }); + fixture.detectChanges(); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'Updated', + ); + done(); + }, 0); + }, 0); + }); + + it('should emit error for non-existent text run', (done) => { + let onLoadCallback: (() => void) | undefined; + + mockRive.setTextRunValue = jest.fn((textRunName: string, textRunValue: string) => { + throw new Error('Text run not found'); + }); + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRive; + }, + ); + + const errors: Error[] = []; + component.loadError.subscribe((error) => { + errors.push(error); + }); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('textRuns', { invalid: 'value' }); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + const validationError = errors.find( + (e) => e.name === 'RiveValidationError', + ); + expect(validationError).toBeDefined(); + done(); + }, 0); + }); + + it('should make key uncontrolled when removed from input', (done) => { + let onLoadCallback: (() => void) | undefined; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRive; + }, + ); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('textRuns', { + title: 'Hello', + subtitle: 'World', + }); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'Hello', + ); + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'subtitle', + 'World', + ); + + // Remove subtitle from input + jest.clearAllMocks(); + fixture.componentRef.setInput('textRuns', { title: 'Hello' }); + fixture.detectChanges(); + + setTimeout(() => { + // Only title should be set now + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'Hello', + ); + expect(mockRive.setTextRunValue).not.toHaveBeenCalledWith( + 'subtitle', + expect.anything(), + ); + done(); + }, 0); + }, 0); + }); + }); + + describe('Imperative methods', () => { + beforeEach(() => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + }); + + it('should get text run value', () => { + const value = component.getTextRunValue('greeting'); + expect(mockRive.getTextRunValue).toHaveBeenCalledWith('greeting'); + expect(value).toBe('value-greeting'); + }); + + it('should return undefined when getting text run value with no rive instance', () => { + fixture.destroy(); + const value = component.getTextRunValue('greeting'); + expect(value).toBeUndefined(); + }); + + it('should set text run value on uncontrolled key', () => { + component.setTextRunValue('dynamicText', 'New value'); + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'dynamicText', + 'New value', + ); + }); + + it('should no-op when setting text run value with no rive instance', () => { + fixture.destroy(); + component.setTextRunValue('greeting', 'Hello'); + // Should not throw + }); + + it('should get text run value at path', () => { + const value = component.getTextRunValueAtPath( + 'button_text', + 'Nested/Button', + ); + expect(mockRive.getTextRunValueAtPath).toHaveBeenCalledWith( + 'button_text', + 'Nested/Button', + ); + expect(value).toBe('value-button_text-Nested/Button'); + }); + + it('should set text run value at path', () => { + component.setTextRunValueAtPath( + 'button_text', + 'Click Me', + 'Nested/Button', + ); + expect(mockRive.setTextRunValueAtPath).toHaveBeenCalledWith( + 'button_text', + 'Click Me', + 'Nested/Button', + ); + }); + }); + + describe('Controlled vs Uncontrolled scenarios', () => { + let onLoadCallback: (() => void) | undefined; + + beforeEach(() => { + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRive; + }, + ); + }); + + it('scenario 1: controlled key + imperative call -> input wins', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('textRuns', { title: 'Hello' }); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'Hello', + ); + + // Imperative call on controlled key + jest.clearAllMocks(); + component.setTextRunValue('title', 'World'); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'World', + ); + + // Input updates with same value - should reapply + jest.clearAllMocks(); + fixture.componentRef.setInput('textRuns', { title: 'Hello' }); + fixture.detectChanges(); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'Hello', + ); + done(); + }, 0); + }, 0); + }, 0); + }); + + it('scenario 2: controlled key changes value', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('textRuns', { title: 'Hello' }); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'Hello', + ); + + // Input changes + jest.clearAllMocks(); + fixture.componentRef.setInput('textRuns', { title: 'Updated' }); + fixture.detectChanges(); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'Updated', + ); + done(); + }, 0); + }, 0); + }); + + it('scenario 3: uncontrolled key + imperative call -> both preserved', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('textRuns', { title: 'Hello' }); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'Hello', + ); + + // Imperative call on uncontrolled key + jest.clearAllMocks(); + component.setTextRunValue('subtitle', 'World'); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'subtitle', + 'World', + ); + + // Input updates - should only set controlled key + jest.clearAllMocks(); + fixture.componentRef.setInput('textRuns', { title: 'Hello' }); + fixture.detectChanges(); + + setTimeout(() => { + expect(mockRive.setTextRunValue).toHaveBeenCalledWith( + 'title', + 'Hello', + ); + expect(mockRive.setTextRunValue).not.toHaveBeenCalledWith( + 'subtitle', + expect.anything(), + ); + done(); + }, 0); + }, 0); + }, 0); + }); + }); + + describe('Warning logging', () => { + it('should log warning when setting controlled key imperatively', (done) => { + let onLoadCallback: (() => void) | undefined; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRive; + }, + ); + + const warnSpy = jest.spyOn(console, 'warn').mockImplementation(); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('textRuns', { title: 'Hello' }); + fixture.componentRef.setInput('debugMode', true); // Enable debug logging to see warnings + fixture.detectChanges(); + + onLoadCallback!(); + + // Wait for the component to be fully loaded + setTimeout(() => { + // Call setTextRunValue - this should log a warning immediately + component.setTextRunValue('title', 'World'); + + // Verify the warning was logged + expect(warnSpy).toHaveBeenCalledWith( + expect.stringContaining('controlled by textRuns input'), + ); + warnSpy.mockRestore(); + done(); + }, 0); + }); + }); + }); + + describe('Data Binding (ViewModel)', () => { + let onLoadCallback: (() => void) | undefined; + let mockViewModelInstance: ReturnType; + let mockViewModel: { name: string; instance: () => ReturnType }; + + beforeEach(() => { + mockViewModelInstance = createMockViewModelInstance(); + mockViewModel = { + name: 'MainViewModel', + instance: () => mockViewModelInstance, + }; + + mockRive.defaultViewModel = jest.fn(() => mockViewModel as any) as any; + mockRive.viewModelByName = jest.fn((name: string) => { + return name === 'MainViewModel' ? (mockViewModel as any) : undefined; + }) as any; + mockRive.viewModelByIndex = jest.fn(() => mockViewModel as any) as any; + + (Rive as jest.MockedClass).mockImplementation( + (config: any) => { + onLoadCallback = config.onLoad; + return mockRive; + }, + ); + }); + + it('should apply dataBindings on load with auto-detected types', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('dataBindings', { + backgroundColor: '#FF5733', + score: 42, + playerName: 'Alice', + isActive: true, + gameState: 'running', + }); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(mockViewModelInstance.colorValue.rgba).toHaveBeenCalledWith( + 255, + 87, + 51, + 255, + ); + expect(mockViewModelInstance.numberValue.value).toBe(42); + expect(mockViewModelInstance.stringValue.value).toBe('Alice'); + expect(mockViewModelInstance.booleanValue.value).toBe(true); + expect(mockViewModelInstance.enumValue.value).toBe('running'); + expect(mockRive.bindViewModelInstance).toHaveBeenCalledWith( + mockViewModelInstance, + ); + done(); + }, 0); + }); + + it('should emit dataBindingChange on callback from ViewModel property updates', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + const emitted: Array<{ + path: string; + propertyType: string; + value: unknown; + }> = []; + component.dataBindingChange.subscribe((event) => emitted.push(event)); + + onLoadCallback!(); + + setTimeout(() => { + mockViewModelInstance.numberValue.value = 13; + mockViewModelInstance.numberValue.emitChange(); + + setTimeout(() => { + expect(emitted).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + path: 'score', + propertyType: 'number', + value: 13, + }), + ]), + ); + done(); + }, 0); + }, 0); + }); + + it('should support get/set helpers and fireTrigger', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('dataBindings', { isActive: true }); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(component.getDataBinding('score')).toBe(0); + + component.setDataBinding('score', 5); + expect(mockViewModelInstance.numberValue.value).toBe(5); + expect(component.getDataBinding('score')).toBe(5); + component.setDataBinding('playerName', 'Bob'); + expect(mockViewModelInstance.stringValue.value).toBe('Bob'); + expect(component.getDataBinding('playerName')).toBe('Bob'); + component.fireViewModelTrigger('onComplete'); + expect(mockViewModelInstance.triggerValue.trigger).toHaveBeenCalled(); + done(); + }, 0); + }); + + it('should mark controlled keys warning and keep uncontrolled path mutable', (done) => { + const warnSpy = jest.spyOn(console, 'warn').mockImplementation(); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('dataBindings', { score: 1 }); + fixture.componentRef.setInput('debugMode', true); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + component.setDataBinding('score', 2); + component.setDataBinding('gameState', 'paused'); + expect(warnSpy).toHaveBeenCalledWith( + expect.stringContaining('controlled by dataBindings input'), + ); + expect(mockViewModelInstance.numberValue.value).toBe(2); + expect(mockViewModelInstance.enumValue.value).toBe('paused'); + warnSpy.mockRestore(); + done(); + }, 0); + }); + + it('should emit type mismatch validation error', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + const errors: Error[] = []; + component.loadError.subscribe((error) => errors.push(error)); + onLoadCallback!(); + + setTimeout(() => { + component.setDataBinding('score', 'invalid'); + setTimeout(() => { + expect(errors.some((error) => error.name === 'RiveValidationError')).toBe( + true, + ); + done(); + }, 0); + }, 0); + }); + + it('should cleanup property subscriptions on destroy', (done) => { + const onDisposalSpy = jest.fn(); + const unsubscribe = () => { + onDisposalSpy(); + }; + + const trackedProperty = createMockProperty(10); + trackedProperty.on.mockImplementationOnce(() => ({ unsubscribe })); + + const localViewModelInstance = { + properties: [{ name: 'score', type: 'number' }], + number: jest.fn((path: string) => (path === 'score' ? trackedProperty : undefined)), + string: jest.fn(), + boolean: jest.fn(), + color: jest.fn(), + enum: jest.fn(), + trigger: jest.fn(), + cleanup: jest.fn(), + }; + const localViewModel = { + name: 'MainViewModel', + instance: jest.fn(() => localViewModelInstance), + }; + mockRive.defaultViewModel = jest.fn(() => localViewModel as any); + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + fixture.destroy(); + expect(onDisposalSpy).toHaveBeenCalled(); + done(); + }, 0); + }); + + it('should emit dataBindingChange when trigger fires', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + const emitted: Array<{ + path: string; + propertyType: string; + value: unknown; + }> = []; + component.dataBindingChange.subscribe((event) => emitted.push(event)); + + onLoadCallback!(); + + setTimeout(() => { + mockViewModelInstance.triggerValue.emitChange(); + + setTimeout(() => { + expect(emitted).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + path: 'onComplete', + propertyType: 'trigger', + value: true, + }), + ]), + ); + done(); + }, 0); + }, 0); + }); + + it('should reinitialize ViewModel when viewModelName changes', (done) => { + const alternateVM = createMockViewModel(); + alternateVM.name = 'AlternateViewModel'; + mockRive.viewModelByName = jest.fn((name: string) => { + if (name === 'MainViewModel') return mockViewModel as any; + if (name === 'AlternateViewModel') return alternateVM as any; + return null; + }) as any; + + fixture.componentRef.setInput('src', 'test.riv'); + fixture.componentRef.setInput('viewModelName', 'MainViewModel'); + fixture.detectChanges(); + + onLoadCallback!(); + + setTimeout(() => { + expect(mockRive.viewModelByName).toHaveBeenCalledWith('MainViewModel'); + + fixture.componentRef.setInput('viewModelName', 'AlternateViewModel'); + fixture.detectChanges(); + + setTimeout(() => { + expect(mockRive.viewModelByName).toHaveBeenCalledWith('AlternateViewModel'); + done(); + }, 0); + }, 0); + }); + + it('should emit validation error for invalid opacity value', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + const errors: Error[] = []; + component.loadError.subscribe((error) => errors.push(error)); + + onLoadCallback!(); + + setTimeout(() => { + component.setColorOpacity('backgroundColor', 1.5); + + setTimeout(() => { + expect(errors.some((error) => + error.name === 'RiveValidationError' && + error.message.includes('opacity') + )).toBe(true); + done(); + }, 0); + }, 0); + }); + + it('should emit validation error for non-existent property in imperative API', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + const errors: Error[] = []; + component.loadError.subscribe((error) => errors.push(error)); + + onLoadCallback!(); + + setTimeout(() => { + component.setDataBinding('nonExistentProperty', 42); + + setTimeout(() => { + expect(errors.some((error) => + error.name === 'RiveValidationError' && + error.message.includes('not found') + )).toBe(true); + done(); + }, 0); + }, 0); + }); + + it('should emit validation error for invalid color format', (done) => { + fixture.componentRef.setInput('src', 'test.riv'); + fixture.detectChanges(); + + const errors: Error[] = []; + component.loadError.subscribe((error) => errors.push(error)); + + onLoadCallback!(); + + setTimeout(() => { + component.setColor('backgroundColor', 'invalid-color'); + + setTimeout(() => { + expect(errors.some((error) => + error.name === 'RiveValidationError' + )).toBe(true); + done(); + }, 0); + }, 0); + }); + }); +}); diff --git a/libs/rive-angular-webgl2/src/lib/components/rive-canvas.component.ts b/libs/rive-angular-webgl2/src/lib/components/rive-canvas.component.ts new file mode 100644 index 0000000..bd2a55d --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/components/rive-canvas.component.ts @@ -0,0 +1,1849 @@ +import { + Component, + ChangeDetectionStrategy, + ElementRef, + input, + output, + signal, + effect, + inject, + DestroyRef, + PLATFORM_ID, + AfterViewInit, + NgZone, + viewChild, + untracked, +} from '@angular/core'; +import { isPlatformBrowser } from '@angular/common'; +import { + Rive, + RiveFile, + Layout, + Fit, + Alignment, + StateMachineInput, + type LayoutParameters, + type RiveEvent, + EventType, + ViewModelInstance, +} from '../rive-sdk'; +import { RiveLoadError, type RiveColor } from '../models'; +import type { + DataBindingValue, + DataBindingChangeEvent, + DataBindingPropertyType, +} from '../models'; +import { + ElementObserver, + RiveLogger, + RIVE_DEBUG_CONFIG, + RIVE_RUNTIME_CONFIG, + validateConfiguration, + validateInput, + RiveErrorCode, + formatErrorMessage, + parseRiveColor, +} from '../utils'; +import { ensureRiveRuntimeReady } from '../utils/rive-runtime'; +import { RiveValidationError } from '../models'; + +/** + * Standalone Angular component for Rive animations + * + * Features: + * - Signal-based inputs for reactive updates + * - Automatic canvas sizing via ResizeObserver with DPR support + * - OnPush change detection strategy + * - SSR compatible + * - Zoneless architecture ready + * - Automatic resource cleanup + * - Runs outside Angular zone for optimal performance + * + * @example + * ```html + * + * ``` + */ +@Component({ + // eslint-disable-next-line @angular-eslint/component-selector + selector: 'rive-canvas', + standalone: true, + changeDetection: ChangeDetectionStrategy.OnPush, + template: ` + + `, + styles: [ + ` + :host { + display: block; + width: 100%; + height: 100%; + } + + canvas { + display: block; + } + `, + ], +}) +export class RiveCanvasComponent implements AfterViewInit { + private readonly canvas = + viewChild.required>('canvas'); + + readonly #destroyRef = inject(DestroyRef); + readonly #platformId = inject(PLATFORM_ID); + readonly #ngZone = inject(NgZone); + readonly #globalDebugConfig = inject(RIVE_DEBUG_CONFIG, { optional: true }); + readonly #runtimeConfig = inject(RIVE_RUNTIME_CONFIG, { optional: true }); + readonly #elementObserver = inject(ElementObserver); + + public readonly src = input(); + public readonly buffer = input(); + /** + * Preloaded RiveFile instance (from RiveFileService). + * If provided, this takes precedence over src/buffer. + */ + public readonly riveFile = input(); + public readonly artboard = input(); + public readonly animations = input(); + public readonly stateMachines = input(); + public readonly autoplay = input(true); + public readonly fit = input(Fit.Contain); + public readonly alignment = input(Alignment.Center); + public readonly useOffscreenRenderer = input(false); + /** + * Enable IntersectionObserver to automatically stop rendering when canvas is not visible. + * This optimizes performance by pausing animations that are off-screen. + */ + public readonly shouldUseIntersectionObserver = input(true); + /** + * Disable Rive event listeners on the canvas (pointer events, touch events). + * Useful for decorative animations without interactivity. + */ + public readonly shouldDisableRiveListeners = input(false); + /** + * Allow Rive to automatically handle Rive Events (e.g., OpenUrlEvent opens URLs). + * Default is false for security - events must be handled manually via riveEvent output. + */ + public readonly automaticallyHandleEvents = input(false); + + /** + * Enable debug mode for this specific instance. + * Overrides global configuration if set. + * - true: 'debug' level + * - false/undefined: use global level + */ + public readonly debugMode = input(); + + /** + * Record of text run names to values for declarative text setting. + * Keys present in this input are CONTROLLED — the input is the source of truth. + * Keys absent from this input are UNCONTROLLED — managed imperatively. + * Values are applied reactively when input changes. + */ + public readonly textRuns = input>(); + + /** + * Name of the ViewModel to use for data binding. + * If not provided, uses the default ViewModel for the artboard. + * Only relevant if the .riv file contains ViewModels. + */ + public readonly viewModelName = input(); + + /** + * Record of ViewModel property paths to values for declarative data binding. + * Keys present in this input are CONTROLLED — the input is the source of truth. + * Keys absent from this input are UNCONTROLLED — managed imperatively. + * Values are applied reactively when input changes. + * + * Supports multiple data types: number, string, boolean, RiveColor. + * The component auto-detects the property type from the ViewModel. + * + * @example + * [dataBindings]="{ + * backgroundColor: '#FF5733', + * score: 42, + * playerName: 'Alice', + * isActive: true + * }" + */ + public readonly dataBindings = input>(); + + // Outputs (Events) + public readonly loaded = output(); + public readonly loadError = output(); + /** + * Emitted when state machine state changes. + * Contains information about the state change event. + */ + public readonly stateChange = output(); + /** + * Emitted for Rive Events (custom events defined in the .riv file). + * Use this to handle custom events like OpenUrlEvent, etc. + */ + public readonly riveEvent = output(); + /** + * Emitted when Rive instance is fully loaded and ready. + * Provides direct access to the Rive instance for advanced use cases. + * Note: This fires AFTER the animation is loaded, not just instantiated. + */ + public readonly riveReady = output(); + /** + * Emitted when a ViewModel property changes from within the animation. + * Enables two-way data binding between the animation and Angular application. + * Only fires if the .riv file uses ViewModels with callbacks. + */ + public readonly dataBindingChange = output(); + + /** + * Emitted when animation starts playing. + * Payload uses {@link EventType.Play}; the Rive constructor callback does not pass `data`. + */ + public readonly animationPlay = output(); + /** + * Emitted when animation is paused. + * Payload uses {@link EventType.Pause}. + */ + public readonly animationPause = output(); + /** + * Emitted when animation stops (distinct from pause — typically resets to the start). + * Payload uses {@link EventType.Stop}. + */ + public readonly animationStop = output(); + /** + * Emitted when an animation completes a loop iteration. + * `event.data` contains loop details (see `LoopEvent` exported from this package). + */ + public readonly animationLoop = output(); + /** + * Emitted on every animation frame advance. + * **Performance:** Fires very frequently (often 60+ times per second). Use only for advanced cases. + * Emitted **outside** the Angular zone to avoid triggering change detection every frame; call `ChangeDetectorRef.markForCheck()` / `detectChanges()` in the handler if the view must update. + */ + public readonly animationAdvance = output(); + + // Private writable signals + readonly #isPlaying = signal(false); + readonly #isPaused = signal(false); + readonly #isLoaded = signal(false); + readonly #riveInstance = signal(null); + readonly #viewModelInstance = signal(null); + + // Public readonly signals + public readonly isPlaying = this.#isPlaying.asReadonly(); + public readonly isPaused = this.#isPaused.asReadonly(); + public readonly isLoaded = this.#isLoaded.asReadonly(); + /** + * Public signal providing access to the Rive instance. + * Use this to access advanced Rive SDK features. + */ + public readonly riveInstance = this.#riveInstance.asReadonly(); + /** + * Public signal providing access to the ViewModel instance. + * Use this to access advanced ViewModel features for data binding. + * Returns null if the .riv file doesn't use ViewModels. + */ + public readonly viewModelInstance = this.#viewModelInstance.asReadonly(); + + // Private state + #rive: Rive | null = null; + private readonly logger: RiveLogger; + private resizeObserver: ResizeObserver | null = null; + private isInitialized = false; + private isPausedByIntersectionObserver = false; + readonly #viewModelSubscriptionDisposers = new Set<() => void>(); + readonly #localMutationSuppressions = new Map(); + private retestIntersectionTimeoutId: ReturnType | null = + null; + private resizeRafId: number | null = null; + private lastWidth = 0; + private lastHeight = 0; + private loadRequestId = 0; + + constructor() { + this.logger = new RiveLogger(this.#globalDebugConfig, this.debugMode()); + + // Effect to update logger level when debugMode changes + effect(() => { + this.logger.update(this.#globalDebugConfig, this.debugMode()); + }); + + // Effect to reload animation when src, buffer, riveFile, or configuration changes + effect(() => { + const src = this.src(); + const buffer = this.buffer(); + const riveFile = this.riveFile(); + // Track configuration changes to trigger reload + this.artboard(); + this.animations(); + this.stateMachines(); + untracked(() => { + if ( + (src || buffer || riveFile) && + isPlatformBrowser(this.#platformId) && + this.isInitialized + ) + this.loadAnimation(); + }); + }); + + // Effect to update layout when fit or alignment changes + effect(() => { + const fit = this.fit(); + const alignment = this.alignment(); + untracked(() => { + if (this.#rive && isPlatformBrowser(this.#platformId)) { + const layoutParams: LayoutParameters = { fit, alignment }; + this.#rive.layout = new Layout(layoutParams); + } + }); + }); + + // Effect to apply text runs when input changes or animation loads + effect(() => { + const runs = this.textRuns(); + const isLoaded = this.#isLoaded(); + untracked(() => { + if (runs && isLoaded && this.#rive) { + this.applyTextRuns(runs); + } + }); + }); + + // Effect to apply data bindings when input changes or animation loads + effect(() => { + const bindings = this.dataBindings(); + const isLoaded = this.#isLoaded(); + const vmi = this.#viewModelInstance(); + untracked(() => { + if (bindings && isLoaded && vmi) { + this.applyDataBindings(bindings); + } + }); + }); + + // Effect to reinitialize ViewModel when viewModelName changes after load + effect(() => { + this.viewModelName(); + const isLoaded = this.#isLoaded(); + untracked(() => { + if (isLoaded && this.#rive) { + this.initializeViewModel(); + } + }); + }); + + // Auto cleanup on destroy + this.#destroyRef.onDestroy(() => { + this.loadRequestId++; + this.cleanupRive(); + this.disconnectResizeObserver(); + this.disconnectIntersectionObserver(); + }); + } + + public ngAfterViewInit(): void { + if (isPlatformBrowser(this.#platformId)) { + this.isInitialized = true; + this.setupResizeObserver(); + this.setupIntersectionObserver(); + this.loadAnimation(); + } + } + + /** + * Setup ResizeObserver for automatic canvas sizing with DPR support + */ + private setupResizeObserver(): void { + const canvas = this.canvas().nativeElement; + + this.resizeObserver = new ResizeObserver((entries) => { + // Cancel any pending resize frame + if (this.resizeRafId) { + cancelAnimationFrame(this.resizeRafId); + } + + for (const entry of entries) { + const { width, height } = entry.contentRect; + + // Skip if dimensions haven't changed (prevents unnecessary updates) + if (width === this.lastWidth && height === this.lastHeight) { + continue; + } + + this.lastWidth = width; + this.lastHeight = height; + + // Defer resize to next animation frame to prevent excessive updates in Safari + this.resizeRafId = requestAnimationFrame(() => { + // Read current DPR to support monitor changes and zoom + const dpr = window.devicePixelRatio || 1; + + // Set canvas size with device pixel ratio for sharp rendering + canvas.width = width * dpr; + canvas.height = height * dpr; + + // Resize Rive instance if it exists + if (this.#rive) this.#rive.resizeDrawingSurfaceToCanvas(); + }); + } + }); + + this.resizeObserver.observe(canvas); + } + + /** + * Disconnect ResizeObserver + */ + private disconnectResizeObserver(): void { + if (this.resizeRafId) { + cancelAnimationFrame(this.resizeRafId); + this.resizeRafId = null; + } + if (this.resizeObserver) { + this.resizeObserver.disconnect(); + this.resizeObserver = null; + } + } + + /** + * Setup IntersectionObserver to stop rendering when canvas is not visible + */ + private setupIntersectionObserver(): void { + if (!this.shouldUseIntersectionObserver()) return; + + const canvas = this.canvas().nativeElement; + + const onIntersectionChange = (entry: IntersectionObserverEntry): void => { + if (entry.isIntersecting) { + // Canvas is visible - start rendering + if (this.#rive) { + this.#rive.startRendering(); + } + this.isPausedByIntersectionObserver = false; + } else { + // Canvas is not visible - stop rendering + if (this.#rive) { + this.#rive.stopRendering(); + } + this.isPausedByIntersectionObserver = true; + + // Workaround for Chrome bug with insertBefore + // Retest after 10ms if boundingClientRect.width is 0 + if (this.retestIntersectionTimeoutId) { + clearTimeout(this.retestIntersectionTimeoutId); + } + + if (entry.boundingClientRect.width === 0) { + this.retestIntersectionTimeoutId = setTimeout(() => { + this.retestIntersection(); + }, 10); + } + } + }; + + this.#elementObserver.registerCallback(canvas, onIntersectionChange); + } + + /** + * Retest intersection - workaround for Chrome bug + */ + private retestIntersection(): void { + if (!this.isPausedByIntersectionObserver) return; + + const canvas = this.canvas().nativeElement; + const rect = canvas.getBoundingClientRect(); + + const isIntersecting = + rect.width > 0 && + rect.height > 0 && + rect.top < + (window.innerHeight || document.documentElement.clientHeight) && + rect.bottom > 0 && + rect.left < (window.innerWidth || document.documentElement.clientWidth) && + rect.right > 0; + + if (isIntersecting && this.#rive) { + this.#rive.startRendering(); + this.isPausedByIntersectionObserver = false; + } + } + + /** + * Disconnect IntersectionObserver + */ + private disconnectIntersectionObserver(): void { + if (this.retestIntersectionTimeoutId) { + clearTimeout(this.retestIntersectionTimeoutId); + this.retestIntersectionTimeoutId = null; + } + + if (this.shouldUseIntersectionObserver()) { + const canvas = this.canvas().nativeElement; + this.#elementObserver.removeCallback(canvas); + } + } + + /** + * Load animation from src or buffer + */ + private loadAnimation(): void { + // Run outside Angular zone for better performance + this.#ngZone.runOutsideAngular(() => { + const requestId = ++this.loadRequestId; + try { + // Clean up existing Rive instance only + this.cleanupRive(); + + const canvas = this.canvas().nativeElement; + const src = this.src(); + const buffer = this.buffer(); + const riveFile = this.riveFile(); + + if (!src && !buffer && !riveFile) { + this.logger.warn( + 'No animation source provided (src, buffer, or riveFile)', + ); + this.#ngZone.run(() => + this.loadError.emit( + new RiveLoadError({ + message: 'No animation source provided', + code: RiveErrorCode.NoSource, + }), + ), + ); + return; + } + + this.logger.info(`Loading animation`, { + src: src || (buffer ? 'buffer' : 'riveFile'), + canvasWidth: canvas.width, + canvasHeight: canvas.height, + dpr: window.devicePixelRatio, + }); + + // Build layout configuration + const layoutParams: LayoutParameters = { + fit: this.fit(), + alignment: this.alignment(), + }; + + // Build typed Rive configuration + const baseConfig = { + canvas, + autoplay: this.autoplay(), + layout: new Layout(layoutParams), + useOffscreenRenderer: this.useOffscreenRenderer(), + shouldDisableRiveListeners: this.shouldDisableRiveListeners(), + automaticallyHandleEvents: this.automaticallyHandleEvents(), + onLoad: () => this.onLoad(), + onLoadError: (error?: unknown) => this.onLoadError(error), + onPlay: () => this.onPlay(), + onPause: () => this.onPause(), + onStop: () => this.onStop(), + onLoop: (event: RiveEvent) => this.onLoop(event), + onAdvance: (event: RiveEvent) => this.onAdvance(event), + onStateChange: (event: RiveEvent) => this.onStateChange(event), + onRiveEvent: (event: RiveEvent) => this.onRiveEvent(event), + }; + + // Add source (priority: riveFile > src > buffer) + const sourceConfig = riveFile + ? { riveFile } + : src + ? { src } + : buffer + ? { buffer } + : {}; + + // Add optional configuration + const optionalConfig = { + ...(this.artboard() ? { artboard: this.artboard() } : {}), + ...(this.animations() ? { animations: this.animations() } : {}), + ...(this.stateMachines() + ? { stateMachines: this.stateMachines() } + : {}), + }; + + // Combine all configurations + const config = { ...baseConfig, ...sourceConfig, ...optionalConfig }; + + const createRiveInstance = () => { + if (requestId !== this.loadRequestId) { + return; + } + + const rive = new Rive(config); + + if (requestId !== this.loadRequestId) { + try { + rive.cleanup(); + } catch (cleanupError) { + this.logger.warn('Error during stale Rive cleanup:', cleanupError); + } + return; + } + + this.#rive = rive; + + // Update public signal (riveReady will be emitted in onLoad) + this.#ngZone.run(() => { + this.#riveInstance.set(this.#rive); + }); + }; + + if (!this.#runtimeConfig) { + createRiveInstance(); + return; + } + + void ensureRiveRuntimeReady(this.#runtimeConfig) + .then(() => { + createRiveInstance(); + }) + .catch((error) => { + if (requestId !== this.loadRequestId) { + return; + } + this.logger.error('Failed to initialize Rive instance:', error); + this.#ngZone.run(() => + this.loadError.emit( + new RiveLoadError({ + message: 'Failed to initialize Rive instance', + code: RiveErrorCode.InvalidFormat, + cause: error instanceof Error ? error : undefined, + }), + ), + ); + }); + } catch (error) { + this.logger.error('Failed to initialize Rive instance:', error); + this.#ngZone.run(() => + this.loadError.emit( + new RiveLoadError({ + message: 'Failed to initialize Rive instance', + code: RiveErrorCode.InvalidFormat, + cause: error instanceof Error ? error : undefined, + }), + ), + ); + } + }); + } + + // Event handlers (run inside Angular zone for change detection) + private onLoad(): void { + // Validate loaded configuration + if (this.#rive) { + const validationErrors = validateConfiguration( + this.#rive, + { + artboard: this.artboard(), + animations: this.animations(), + stateMachines: this.stateMachines(), + }, + this.logger, + ); + + // Emit validation errors via loadError output + if (validationErrors.length > 0) { + this.#ngZone.run(() => { + validationErrors.forEach((err) => this.loadError.emit(err)); + }); + } + + // Log available assets in debug mode + // Note: These properties exist at runtime but may not be in type definitions + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const riveWithMetadata = this.#rive as any; + this.logger.debug('Animation loaded successfully. Available assets:', { + artboards: riveWithMetadata.artboardNames, + animations: riveWithMetadata.animationNames, + stateMachines: riveWithMetadata.stateMachineNames, + }); + + // Initialize ViewModel if available + this.initializeViewModel(); + } + + this.#ngZone.run(() => { + this.#isLoaded.set(true); + this.loaded.emit(); + // Emit riveReady after animation is fully loaded + if (this.#rive) { + this.riveReady.emit(this.#rive); + } + }); + } + + private onLoadError(originalError?: unknown): void { + this.#ngZone.run(() => { + // Determine probable cause and code + let code = RiveErrorCode.NetworkError; + let message = 'Failed to load Rive animation'; + + if (originalError instanceof Error) { + if (originalError.message.includes('404')) { + code = RiveErrorCode.FileNotFound; + message = `File not found: ${this.src()}`; + } else if (originalError.message.includes('format')) { + code = RiveErrorCode.InvalidFormat; + message = 'Invalid .riv file format'; + } + } + + const error = new RiveLoadError({ + message, + code, + cause: originalError instanceof Error ? originalError : undefined, + }); + + this.logger.error('Rive load error:', error); + this.loadError.emit(error); + }); + } + + private onPlay(): void { + this.#ngZone.run(() => { + this.#isPlaying.set(true); + this.#isPaused.set(false); + this.animationPlay.emit({ type: EventType.Play }); + }); + } + + private onPause(): void { + this.#ngZone.run(() => { + this.#isPlaying.set(false); + this.#isPaused.set(true); + this.animationPause.emit({ type: EventType.Pause }); + }); + } + + private onStop(): void { + this.#ngZone.run(() => { + this.#isPlaying.set(false); + this.#isPaused.set(false); + this.animationStop.emit({ type: EventType.Stop }); + }); + } + + private onLoop(event: RiveEvent): void { + this.#ngZone.run(() => { + this.animationLoop.emit(event); + }); + } + + /** + * Forwarded from Rive `onAdvance`; kept outside the Angular zone intentionally. + */ + private onAdvance(event: RiveEvent): void { + this.animationAdvance.emit(event); + } + + private onStateChange(event: RiveEvent): void { + this.#ngZone.run(() => this.stateChange.emit(event)); + } + + private onRiveEvent(event: RiveEvent): void { + this.#ngZone.run(() => this.riveEvent.emit(event)); + } + + // Public API methods + + /** + * Play animation(s) + */ + public playAnimation(animations?: string | string[]): void { + if (!this.#rive) return; + + this.#ngZone.runOutsideAngular(() => { + if (animations) { + this.#rive!.play(animations); + } else { + this.#rive!.play(); + } + }); + } + + /** + * Pause animation(s) + */ + public pauseAnimation(animations?: string | string[]): void { + if (!this.#rive) return; + + this.#ngZone.runOutsideAngular(() => { + if (animations) { + this.#rive!.pause(animations); + } else { + this.#rive!.pause(); + } + }); + } + + /** + * Stop animation(s) + */ + public stopAnimation(animations?: string | string[]): void { + if (!this.#rive) return; + + this.#ngZone.runOutsideAngular(() => { + if (animations) { + this.#rive!.stop(animations); + } else { + this.#rive!.stop(); + } + }); + } + + /** + * Reset the animation to the beginning + */ + public reset(): void { + if (!this.#rive) return; + + this.#ngZone.runOutsideAngular(() => { + this.#rive!.reset(); + }); + } + + /** + * Set a state machine input value + */ + public setInput( + stateMachineName: string, + inputName: string, + value: number | boolean, + ): void { + if (!this.#rive) return; + + this.#ngZone.runOutsideAngular(() => { + // Validate input existence first + const error = validateInput(this.#rive!, stateMachineName, inputName); + if (error) { + this.logger.warn(error.message); + this.#ngZone.run(() => this.loadError.emit(error)); + return; + } + + const inputs = this.#rive!.stateMachineInputs(stateMachineName); + const input = inputs.find((i: StateMachineInput) => i.name === inputName); + + if (input && 'value' in input) { + input.value = value; + } + }); + } + + /** + * Fire a state machine trigger + */ + public fireTrigger(stateMachineName: string, triggerName: string): void { + if (!this.#rive) return; + + this.#ngZone.runOutsideAngular(() => { + // Validate trigger (input) existence first + const error = validateInput(this.#rive!, stateMachineName, triggerName); + if (error) { + this.logger.warn(error.message); + this.#ngZone.run(() => this.loadError.emit(error)); + return; + } + + const inputs = this.#rive!.stateMachineInputs(stateMachineName); + const input = inputs.find( + (i: StateMachineInput) => i.name === triggerName, + ); + + if (input && 'fire' in input && typeof input.fire === 'function') { + input.fire(); + } + }); + } + + /** + * Get the current value of a text run. + * Returns undefined if the text run doesn't exist or Rive instance is not loaded. + */ + public getTextRunValue(textRunName: string): string | undefined { + if (!this.#rive) return undefined; + + try { + return this.#ngZone.runOutsideAngular(() => { + return this.#rive!.getTextRunValue(textRunName); + }); + } catch (error) { + this.logger.warn(`Failed to get text run "${textRunName}":`, error); + return undefined; + } + } + + /** + * Set a text run value. + * Warning: If the text run is controlled by textRuns input, this change will be overwritten + * on the next input update. + */ + public setTextRunValue(textRunName: string, textRunValue: string): void { + if (!this.#rive) return; + + // Check if this key is controlled by textRuns input + const controlledRuns = this.textRuns(); + if (controlledRuns && textRunName in controlledRuns) { + this.logger.warn( + `Text run "${textRunName}" is controlled by textRuns input. This change will be overwritten on next input update.`, + ); + } + + this.#ngZone.runOutsideAngular(() => { + try { + this.#rive!.setTextRunValue(textRunName, textRunValue); + this.logger.debug(`Text run "${textRunName}" set to "${textRunValue}"`); + } catch (error) { + this.logger.warn(`Failed to set text run "${textRunName}":`, error); + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + formatErrorMessage(RiveErrorCode.TextRunNotFound, { + name: textRunName, + }), + RiveErrorCode.TextRunNotFound, + ), + ), + ); + } + }); + } + + /** + * Get the current value of a text run at a specific path (for nested artboards/components). + * Returns undefined if the text run doesn't exist or Rive instance is not loaded. + */ + public getTextRunValueAtPath( + textRunName: string, + path: string, + ): string | undefined { + if (!this.#rive) return undefined; + + try { + return this.#ngZone.runOutsideAngular(() => { + return this.#rive!.getTextRunValueAtPath(textRunName, path); + }); + } catch (error) { + this.logger.warn( + `Failed to get text run "${textRunName}" at path "${path}":`, + error, + ); + return undefined; + } + } + + /** + * Set a text run value at a specific path (for nested artboards/components). + * Note: AtPath text runs are always uncontrolled (not managed by textRuns input). + */ + public setTextRunValueAtPath( + textRunName: string, + textRunValue: string, + path: string, + ): void { + if (!this.#rive) return; + + this.#ngZone.runOutsideAngular(() => { + try { + this.#rive!.setTextRunValueAtPath(textRunName, textRunValue, path); + this.logger.debug( + `Text run "${textRunName}" at path "${path}" set to "${textRunValue}"`, + ); + } catch (error) { + this.logger.warn( + `Failed to set text run "${textRunName}" at path "${path}":`, + error, + ); + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + formatErrorMessage(RiveErrorCode.TextRunNotFound, { + name: textRunName, + }), + RiveErrorCode.TextRunNotFound, + ), + ), + ); + } + }); + } + + // ======================================================================== + // Data Binding (ViewModel) Methods + // ======================================================================== + + /** + * Set a data binding value in the ViewModel. + * Auto-detects the property type and applies the value accordingly. + * Warning: If the property is controlled by dataBindings input, this change + * will be overwritten on the next input update. + */ + public setDataBinding(path: string, value: DataBindingValue): void { + const vmi = this.#viewModelInstance(); + if (!vmi) { + this.logger.warn('No ViewModel instance available'); + return; + } + + // Check if this key is controlled by dataBindings input + const controlledBindings = this.dataBindings(); + if (controlledBindings && path in controlledBindings) { + this.logger.warn( + `Data binding "${path}" is controlled by dataBindings input. This change will be overwritten on next input update.`, + ); + } + + this.#ngZone.runOutsideAngular(() => { + this.withLocalMutation(path, () => { + const resolved = this.resolveViewModelProperty(vmi, path); + if (!resolved) { + this.logger.warn(`Data binding property "${path}" not found in ViewModel`); + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + formatErrorMessage(RiveErrorCode.DataBindingPropertyNotFound, { + path, + }), + RiveErrorCode.DataBindingPropertyNotFound, + ), + ), + ); + return; + } + this.tryApplyBinding(path, value, resolved); + }); + }); + } + + /** + * Get a data binding value from the ViewModel. + * Auto-detects the property type and returns the value accordingly. + * Returns undefined if the property doesn't exist or ViewModel is not loaded. + */ + public getDataBinding(path: string): DataBindingValue | undefined { + const vmi = this.#viewModelInstance(); + if (!vmi) return undefined; + + return this.#ngZone.runOutsideAngular(() => { + // Try each property type + const colorProp = vmi.color(path); + if (colorProp) { + const argb = colorProp.value; + const a = (argb >> 24) & 0xff; + const r = (argb >> 16) & 0xff; + const g = (argb >> 8) & 0xff; + const b = argb & 0xff; + return { r, g, b, a } as RiveColor; + } + + const numberProp = vmi.number(path); + if (numberProp) return numberProp.value; + + const stringProp = vmi.string(path); + if (stringProp) return stringProp.value; + + const boolProp = vmi.boolean(path); + if (boolProp) return boolProp.value; + + const enumProp = vmi.enum(path); + if (enumProp) return enumProp.value; + + return undefined; + }); + } + + /** + * Fire a trigger property in the ViewModel. + * Use this for ViewModel-based triggers (data binding). + * For state machine triggers, use fireTrigger(stateMachineName, triggerName). + */ + public fireViewModelTrigger(path: string): void { + const vmi = this.#viewModelInstance(); + if (!vmi) { + this.logger.warn('No ViewModel instance available'); + return; + } + + this.#ngZone.runOutsideAngular(() => { + const triggerProp = vmi.trigger(path); + if (triggerProp) { + triggerProp.trigger(); + this.logger.debug(`ViewModel trigger "${path}" fired`); + } else { + this.logger.warn(`ViewModel trigger "${path}" not found`); + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + formatErrorMessage(RiveErrorCode.DataBindingPropertyNotFound, { + path, + }), + RiveErrorCode.DataBindingPropertyNotFound, + ), + ), + ); + } + }); + } + + /** + * Set a color value in the ViewModel. + * Accepts hex string ('#RRGGBB' or '#RRGGBBAA'), ARGB integer, or RiveColor object. + * Warning: If the property is controlled by dataBindings input, this change + * will be overwritten on the next input update. + */ + public setColor(path: string, color: string | number | RiveColor): void { + const vmi = this.#viewModelInstance(); + if (!vmi) { + this.logger.warn('No ViewModel instance available'); + return; + } + + // Check if this key is controlled by dataBindings input + const controlledBindings = this.dataBindings(); + if (controlledBindings && path in controlledBindings) { + this.logger.warn( + `Color "${path}" is controlled by dataBindings input. This change will be overwritten on next input update.`, + ); + } + + this.#ngZone.runOutsideAngular(() => { + this.withLocalMutation(path, () => { + const colorProp = vmi.color(path); + if (!colorProp) { + this.logger.warn(`Color property "${path}" not found in ViewModel`); + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + formatErrorMessage(RiveErrorCode.DataBindingPropertyNotFound, { + path, + }), + RiveErrorCode.DataBindingPropertyNotFound, + ), + ), + ); + return; + } + + try { + const parsedColor = parseRiveColor(color); + colorProp.rgba(parsedColor.r, parsedColor.g, parsedColor.b, parsedColor.a); + this.logger.debug(`Color "${path}" set to:`, parsedColor); + } catch (error) { + this.logger.warn(`Failed to set color "${path}":`, error); + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + `Failed to parse color value for "${path}": ${error instanceof Error ? error.message : String(error)}`, + RiveErrorCode.DataBindingTypeMismatch, + ), + ), + ); + } + }); + }); + } + + /** + * Get a color value from the ViewModel. + * Returns undefined if the property doesn't exist or ViewModel is not loaded. + */ + public getColor(path: string): RiveColor | undefined { + const vmi = this.#viewModelInstance(); + if (!vmi) return undefined; + + return this.#ngZone.runOutsideAngular(() => { + const colorProp = vmi.color(path); + if (!colorProp) return undefined; + + const argb = colorProp.value; + const a = (argb >> 24) & 0xff; + const r = (argb >> 16) & 0xff; + const g = (argb >> 8) & 0xff; + const b = argb & 0xff; + + return { r, g, b, a }; + }); + } + + /** + * Set a color value using RGBA components (0-255). + * Warning: If the property is controlled by dataBindings input, this change + * will be overwritten on the next input update. + */ + public setColorRgba( + path: string, + r: number, + g: number, + b: number, + a = 255, + ): void { + this.setColor(path, { r, g, b, a }); + } + + /** + * Set the opacity of a color (0.0-1.0) while preserving RGB values. + * Warning: If the property is controlled by dataBindings input, this change + * will be overwritten on the next input update. + */ + public setColorOpacity(path: string, opacity: number): void { + const vmi = this.#viewModelInstance(); + if (!vmi) { + this.logger.warn('No ViewModel instance available'); + return; + } + + // Validate opacity range + if (opacity < 0 || opacity > 1) { + this.logger.warn(`Invalid opacity value ${opacity}: must be between 0.0 and 1.0`); + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + `Invalid opacity value for "${path}": ${opacity}. Expected value between 0.0 and 1.0.`, + RiveErrorCode.DataBindingTypeMismatch, + ), + ), + ); + return; + } + + // Check if this key is controlled by dataBindings input + const controlledBindings = this.dataBindings(); + if (controlledBindings && path in controlledBindings) { + this.logger.warn( + `Color "${path}" is controlled by dataBindings input. This change will be overwritten on next input update.`, + ); + } + + this.#ngZone.runOutsideAngular(() => { + this.withLocalMutation(path, () => { + const colorProp = vmi.color(path); + if (!colorProp) { + this.logger.warn(`Color property "${path}" not found in ViewModel`); + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + formatErrorMessage(RiveErrorCode.DataBindingPropertyNotFound, { + path, + }), + RiveErrorCode.DataBindingPropertyNotFound, + ), + ), + ); + return; + } + + colorProp.opacity(opacity); + this.logger.debug(`Color "${path}" opacity set to ${opacity}`); + }); + }); + } + + /** + * Apply all text runs from input (controlled keys). + * Called on every input change or load. + */ + private applyTextRuns(runs: Record): void { + this.#ngZone.runOutsideAngular(() => { + for (const [name, value] of Object.entries(runs)) { + try { + this.#rive!.setTextRunValue(name, value); + this.logger.debug(`Text run "${name}" set to "${value}"`); + } catch (error) { + this.logger.warn(`Failed to set text run "${name}":`, error); + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + formatErrorMessage(RiveErrorCode.TextRunNotFound, { name }), + RiveErrorCode.TextRunNotFound, + ), + ), + ); + } + } + }); + } + + /** + * Initialize ViewModel instance if available in the loaded file. + * Called once after animation loads successfully. + */ + private initializeViewModel(): void { + if (!this.#rive) return; + + this.#ngZone.runOutsideAngular(() => { + try { + const viewModelName = this.viewModelName(); + let viewModel; + + // Get ViewModel by name or use default + if (viewModelName) { + viewModel = this.#rive!.viewModelByName(viewModelName); + if (!viewModel) { + this.logger.warn( + `ViewModel "${viewModelName}" not found. Available ViewModels:`, + this.getAvailableViewModelNames(), + ); + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + formatErrorMessage(RiveErrorCode.ViewModelNotFound, { + name: viewModelName, + }), + RiveErrorCode.ViewModelNotFound, + this.getAvailableViewModelNames(), + ), + ), + ); + return; + } + } else { + viewModel = this.#rive!.defaultViewModel(); + } + + // If no ViewModel found (file doesn't use ViewModels), that's OK + if (!viewModel) { + this.logger.debug('No ViewModel found in file (file may not use ViewModels)'); + return; + } + + // Get ViewModel instance + const viewModelInstance = viewModel.instance(); + if (!viewModelInstance) { + this.logger.warn('Failed to create ViewModel instance'); + return; + } + + // Bind to artboard + this.#rive!.bindViewModelInstance(viewModelInstance); + + // Update signal + this.#ngZone.run(() => { + this.#viewModelInstance.set(viewModelInstance); + }); + + // Log ViewModel info in debug mode + this.logger.debug('ViewModel initialized:', { + name: viewModel.name, + properties: this.getViewModelPropertyInfo(viewModelInstance), + }); + + // Subscribe to ViewModel property changes for two-way binding + this.subscribeToViewModelChanges(viewModelInstance); + } catch (error) { + this.logger.error('Error initializing ViewModel:', error); + } + }); + } + + /** + * Get list of available ViewModel names for error messages. + */ + private getAvailableViewModelNames(): string[] { + if (!this.#rive) return []; + const names: string[] = []; + const count = this.#rive.viewModelCount; + for (let i = 0; i < count; i++) { + const vm = this.#rive.viewModelByIndex(i); + if (vm) names.push(vm.name); + } + return names; + } + + /** + * Get ViewModel property information for debug logging. + */ + private getViewModelPropertyInfo(vmi: ViewModelInstance): Record { + const info: Record = {}; + try { + const properties = vmi.properties; + for (const prop of properties) { + // Property has name and type + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const propAny = prop as any; + const propertyType = this.normalizeViewModelPropertyType(propAny?.type); + info[propAny.name || 'unknown'] = propertyType ?? (propAny.type || 'unknown'); + } + } catch (error) { + this.logger.warn('Failed to get ViewModel property info:', error); + } + return info; + } + + /** + * Subscribe to ViewModel property changes for two-way data binding. + * Emits dataBindingChange output when properties change from within the animation. + */ + private subscribeToViewModelChanges(vmi: ViewModelInstance): void { + this.cleanupViewModelSubscriptions(); + + const properties = vmi.properties ?? []; + if (!Array.isArray(properties)) { + return; + } + + for (const property of properties) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const propertyAny = property as any; + const path = propertyAny?.name; + if (typeof path !== 'string') { + continue; + } + + const resolved = this.resolveViewModelProperty(vmi, path); + if (!resolved) { + continue; + } + + const subscription = this.subscribeToPropertyChanges( + path, + resolved.type, + resolved.accessor, + ); + + if (subscription) { + this.#viewModelSubscriptionDisposers.add(subscription); + } + } + } + + /** + * Subscribe to changes for a specific ViewModel property. + * Uses multiple event APIs to maximize compatibility with Rive Web runtime versions. + */ + private subscribeToPropertyChanges( + path: string, + propertyType: DataBindingPropertyType, + property: unknown, + ): (() => void) | undefined { + const propertyAny = property as any; + if (!propertyAny) { + return undefined; + } + + const callback = (): void => { + if (this.shouldSuppressLocalMutation(path)) { + return; + } + + const value = this.readPropertyValue(propertyType, propertyAny); + if (value === undefined) return; + + this.#ngZone.run(() => { + this.dataBindingChange.emit({ + path, + value, + propertyType, + }); + }); + }; + + let unsubscribe: (() => void) | undefined; + try { + if (typeof propertyAny.on === 'function') { + try { + const handler = propertyAny.on(callback); + unsubscribe = this.buildUnsubscribeFromHandler( + propertyAny, + callback, + handler, + ); + } catch { + const handler = propertyAny.on('change', callback); + unsubscribe = this.buildUnsubscribeFromHandler( + propertyAny, + callback, + handler, + true, + ); + } + } else if (typeof propertyAny.subscribe === 'function') { + const handler = propertyAny.subscribe(callback); + unsubscribe = this.buildUnsubscribeFromHandler(propertyAny, callback, handler); + } else if (typeof propertyAny.addEventListener === 'function') { + propertyAny.addEventListener('change', callback); + unsubscribe = () => propertyAny.removeEventListener?.('change', callback); + } else if (typeof propertyAny.addListener === 'function') { + propertyAny.addListener('change', callback); + unsubscribe = () => propertyAny.removeListener?.('change', callback); + } else if (typeof propertyAny.onChange === 'function') { + const handler = propertyAny.onChange(callback); + unsubscribe = this.buildUnsubscribeFromHandler(propertyAny, callback, handler); + } + } catch (error) { + this.logger.warn(`Failed to subscribe to ViewModel property "${path}":`, error); + } + + if (!unsubscribe) { + this.logger.warn( + `No supported subscription API found for ViewModel property "${path}"`, + ); + } + + return unsubscribe; + } + + private buildUnsubscribeFromHandler( + property: any, + callback: () => void, + handler: unknown, + useLegacyEventApi?: boolean, + ): (() => void) | undefined { + if (typeof handler === 'function') { + return handler as () => void; + } + + if (handler && typeof handler === 'object' && 'unsubscribe' in handler && typeof handler.unsubscribe === 'function') { + return () => (handler as { unsubscribe: () => void }).unsubscribe(); + } + + if (handler && typeof handler === 'object' && 'dispose' in handler && typeof handler.dispose === 'function') { + return () => (handler as { dispose: () => void }).dispose(); + } + + if (typeof property.off === 'function') { + return useLegacyEventApi + ? () => property.off('change', callback) + : () => property.off(callback); + } + + if (typeof property.remove === 'function') { + return useLegacyEventApi + ? () => property.remove('change', callback) + : () => property.remove(callback); + } + + if (typeof property.removeListener === 'function') { + return useLegacyEventApi + ? () => property.removeListener('change', callback) + : () => property.removeListener(callback); + } + + if (typeof property.unsubscribe === 'function') { + return () => property.unsubscribe(); + } + + return undefined; + } + + private withLocalMutation(path: string, fn: () => void): void { + const previous = this.#localMutationSuppressions.get(path) ?? 0; + this.#localMutationSuppressions.set(path, previous + 1); + + try { + fn(); + } finally { + setTimeout(() => { + const current = this.#localMutationSuppressions.get(path) ?? 0; + if (current <= 1) { + this.#localMutationSuppressions.delete(path); + } else { + this.#localMutationSuppressions.set(path, current - 1); + } + }); + } + } + + private shouldSuppressLocalMutation(path: string): boolean { + const current = this.#localMutationSuppressions.get(path); + if (current === undefined || current <= 0) { + return false; + } + + if (current <= 1) { + this.#localMutationSuppressions.delete(path); + } else { + this.#localMutationSuppressions.set(path, current - 1); + } + + return true; + } + + private readPropertyValue( + propertyType: DataBindingPropertyType, + property: any, + ): DataBindingValue | undefined { + if (propertyType === 'color') { + if (!property || typeof property.value !== 'number') return undefined; + const argb = property.value; + const a = (argb >> 24) & 0xff; + const r = (argb >> 16) & 0xff; + const g = (argb >> 8) & 0xff; + const b = argb & 0xff; + return { r, g, b, a }; + } + + if (propertyType === 'number' && typeof property.value === 'number') { + return property.value; + } + + if (propertyType === 'string' && typeof property.value === 'string') { + return property.value; + } + + if (propertyType === 'boolean' && typeof property.value === 'boolean') { + return property.value; + } + + if (propertyType === 'enum' && typeof property.value === 'string') { + return property.value; + } + + if (propertyType === 'trigger') { + // Triggers don't have a meaningful value, but we return true to indicate the trigger fired + return true; + } + + return undefined; + } + + private normalizeViewModelPropertyType(type: unknown): DataBindingPropertyType | null { + if (typeof type !== 'string') { + return null; + } + + const normalized = type.toLowerCase(); + if (normalized.includes('color')) return 'color'; + if (normalized.includes('number')) return 'number'; + if (normalized.includes('string')) return 'string'; + if (normalized.includes('boolean')) return 'boolean'; + if (normalized.includes('enum')) return 'enum'; + if (normalized.includes('trigger')) return 'trigger'; + + return null; + } + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + private resolveViewModelProperty( + vmi: ViewModelInstance, + path: string, + ): { accessor: any; type: DataBindingPropertyType } | null { + const color = vmi.color(path); + if (color) return { accessor: color, type: 'color' }; + + const number = vmi.number(path); + if (number) return { accessor: number, type: 'number' }; + + const string = vmi.string(path); + if (string) return { accessor: string, type: 'string' }; + + const bool = vmi.boolean(path); + if (bool) return { accessor: bool, type: 'boolean' }; + + const enumProp = vmi.enum(path); + if (enumProp) return { accessor: enumProp, type: 'enum' }; + + const trigger = vmi.trigger(path); + if (trigger) return { accessor: trigger, type: 'trigger' }; + + return null; + } + + private emitDataBindingTypeMismatch( + path: string, + expectedType: DataBindingPropertyType, + actualType: string, + ): void { + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + formatErrorMessage(RiveErrorCode.DataBindingTypeMismatch, { + path, + expected: expectedType, + actual: actualType, + }), + RiveErrorCode.DataBindingTypeMismatch, + ), + ), + ); + } + + private cleanupViewModelSubscriptions(): void { + this.#viewModelSubscriptionDisposers.forEach((disposer) => { + try { + disposer(); + } catch (error) { + this.logger.warn('Error during ViewModel subscription cleanup:', error); + } + }); + this.#viewModelSubscriptionDisposers.clear(); + } + + /** + * Apply all data bindings from input (controlled keys). + * Called on every input change or load. + * Auto-detects property type from ViewModel and applies the value accordingly. + */ + private applyDataBindings(bindings: Record): void { + const vmi = this.#viewModelInstance(); + if (!vmi) return; + + this.#ngZone.runOutsideAngular(() => { + for (const [path, value] of Object.entries(bindings)) { + try { + const resolved = this.resolveViewModelProperty(vmi, path); + if (!resolved) { + this.logger.warn( + `Data binding property "${path}" not found in ViewModel`, + ); + this.#ngZone.run(() => + this.loadError.emit( + new RiveValidationError( + formatErrorMessage(RiveErrorCode.DataBindingPropertyNotFound, { + path, + }), + RiveErrorCode.DataBindingPropertyNotFound, + ), + ), + ); + continue; + } + + let applied = false; + this.withLocalMutation(path, () => { + applied = this.tryApplyBinding(path, value, resolved); + }); + if (applied) { + this.logger.debug(`Data binding "${path}" set to:`, value); + } else { + this.logger.warn( + `Data binding property "${path}" has a type mismatch for value type ${typeof value}`, + ); + } + } catch (error) { + this.logger.warn(`Failed to set data binding "${path}":`, error); + } + } + }); + } + + /** + * Try to apply a binding value to a resolved ViewModel property. + * Returns true if successful, false on type mismatch. + */ + private tryApplyBinding( + path: string, + value: DataBindingValue, + resolved: { accessor: any; type: DataBindingPropertyType }, + ): boolean { + const { accessor, type } = resolved; + + if (type === 'color') { + if (typeof value === 'object' && value !== null && 'r' in value) { + // RiveColor object + const color = value as RiveColor; + accessor.rgba(color.r, color.g, color.b, color.a); + return true; + } + if (typeof value === 'string' || typeof value === 'number') { + // Hex string or ARGB integer + const color = parseRiveColor(value); + accessor.rgba(color.r, color.g, color.b, color.a); + return true; + } + this.logger.warn( + `Invalid color value for "${path}": expected string, number, or RiveColor`, + ); + this.emitDataBindingTypeMismatch(path, type, typeof value); + return false; + } + + if (type === 'number') { + if (typeof value === 'number') { + accessor.value = value; + return true; + } + this.logger.warn( + `Invalid number value for "${path}": expected number, got ${typeof value}`, + ); + this.emitDataBindingTypeMismatch(path, type, typeof value); + return false; + } + + if (type === 'string') { + if (typeof value === 'string') { + accessor.value = value; + return true; + } + this.logger.warn( + `Invalid string value for "${path}": expected string, got ${typeof value}`, + ); + this.emitDataBindingTypeMismatch(path, type, typeof value); + return false; + } + + if (type === 'boolean') { + if (typeof value === 'boolean') { + accessor.value = value; + return true; + } + this.logger.warn( + `Invalid boolean value for "${path}": expected boolean, got ${typeof value}`, + ); + this.emitDataBindingTypeMismatch(path, type, typeof value); + return false; + } + + if (type === 'enum') { + if (typeof value === 'string') { + accessor.value = value; + return true; + } + this.logger.warn( + `Invalid enum value for "${path}": expected string, got ${typeof value}`, + ); + this.emitDataBindingTypeMismatch(path, type, typeof value); + return false; + } + + if (type === 'trigger') { + this.logger.warn(`Cannot set trigger property "${path}" via setDataBinding`); + return false; + } + + return false; + } + + /** + * Clean up Rive instance only + */ + private cleanupRive(): void { + this.cleanupViewModelSubscriptions(); + this.#localMutationSuppressions.clear(); + + const vmi = this.#viewModelInstance(); + if (vmi) { + try { + vmi.cleanup(); + } catch (error) { + this.logger.warn('Error during ViewModel cleanup:', error); + } + } + + if (this.#rive) { + try { + this.#rive.cleanup(); + } catch (error) { + this.logger.warn('Error during Rive cleanup:', error); + } + this.#rive = null; + } + + // Reset signals + this.#riveInstance.set(null); + this.#viewModelInstance.set(null); + this.#isLoaded.set(false); + this.#isPlaying.set(false); + this.#isPaused.set(false); + } +} diff --git a/libs/rive-angular-webgl2/src/lib/models/index.ts b/libs/rive-angular-webgl2/src/lib/models/index.ts new file mode 100644 index 0000000..ad16581 --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/models/index.ts @@ -0,0 +1,8 @@ +export * from './rive.model'; +export type { + DataBindingValue, + DataBindingChangeEvent, + DataBindingPropertyType, + RiveColor, +} from '../../rive-angular-core/lib/models/data-binding.types'; +export { RiveErrorCode } from '../../rive-angular-core/lib/utils/error-codes'; diff --git a/libs/rive-angular-webgl2/src/lib/models/rive.model.ts b/libs/rive-angular-webgl2/src/lib/models/rive.model.ts new file mode 100644 index 0000000..60095be --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/models/rive.model.ts @@ -0,0 +1,10 @@ +/** + * Re-export Rive SDK types and shared error types for this renderer package. + */ +export { Fit, Alignment, EventType, LoopType } from '../rive-sdk'; +export type { RiveEvent, LoopEvent } from '../rive-sdk'; +export { + RiveLoadError, + RiveValidationError, + type RiveErrorOptions, +} from '../../rive-angular-core/lib/models/rive-errors'; diff --git a/libs/rive-angular-webgl2/src/lib/rive-sdk.ts b/libs/rive-angular-webgl2/src/lib/rive-sdk.ts new file mode 100644 index 0000000..12fb1e8 --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/rive-sdk.ts @@ -0,0 +1,22 @@ +/** + * Rive Web (WebGL2) runtime — single import surface for this package. + */ +export { + Rive, + RiveFile, + Layout, + Fit, + Alignment, + StateMachineInput, + EventType, + ViewModelInstance, + RuntimeLoader, + LoopType, +} from '@rive-app/webgl2'; +export type { + Event as RiveEvent, + LayoutParameters, + RiveParameters, + RiveFileParameters, + LoopEvent, +} from '@rive-app/webgl2'; diff --git a/libs/rive-angular-webgl2/src/lib/services/index.ts b/libs/rive-angular-webgl2/src/lib/services/index.ts new file mode 100644 index 0000000..ab75295 --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/services/index.ts @@ -0,0 +1 @@ +export * from './rive-file.service'; diff --git a/libs/rive-angular-webgl2/src/lib/services/rive-file.service.spec.ts b/libs/rive-angular-webgl2/src/lib/services/rive-file.service.spec.ts new file mode 100644 index 0000000..facc8a5 --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/services/rive-file.service.spec.ts @@ -0,0 +1,276 @@ +import { TestBed } from '@angular/core/testing'; +import { RiveFileService } from './rive-file.service'; +import { RiveFile, EventType, RuntimeLoader } from '../rive-sdk'; + +// Mock RiveFile +jest.mock('@rive-app/webgl2', () => ({ + RiveFile: jest.fn(), + EventType: { + Load: 'load', + LoadError: 'loaderror', + }, + RuntimeLoader: { + awaitInstance: jest.fn(), + setWasmUrl: jest.fn(), + }, +})); + +describe('RiveFileService', () => { + let service: RiveFileService; + let mockRiveFile: jest.Mocked; + let eventHandlers: Map void>; + let methodCallOrder: string[]; + + beforeEach(() => { + eventHandlers = new Map(); + methodCallOrder = []; + + // Create mock RiveFile instance + mockRiveFile = { + init: jest.fn().mockImplementation(() => { + methodCallOrder.push('init'); + return Promise.resolve(); + }), + on: jest.fn((event: string, handler: () => void) => { + methodCallOrder.push(`on:${event}`); + eventHandlers.set(event, handler); + }), + getInstance: jest.fn(), + cleanup: jest.fn(), + } as unknown as jest.Mocked; + + (RiveFile as jest.MockedClass).mockImplementation( + () => mockRiveFile, + ); + (RuntimeLoader.awaitInstance as jest.Mock).mockResolvedValue(undefined); + + TestBed.configureTestingModule({ + providers: [RiveFileService], + }); + + service = TestBed.inject(RiveFileService); + }); + + afterEach(() => { + jest.clearAllMocks(); + eventHandlers.clear(); + methodCallOrder = []; + }); + + describe('loadFile', () => { + it('should subscribe to events BEFORE calling init (fix race condition)', async () => { + const params = { src: 'test.riv' }; + service.loadFile(params); + + // Wait for async loadRiveFile to execute + await Promise.resolve(); + + // Check order: on(Load) -> on(LoadError) -> init + const loadIndex = methodCallOrder.indexOf(`on:${EventType.Load}`); + const errorIndex = methodCallOrder.indexOf(`on:${EventType.LoadError}`); + const initIndex = methodCallOrder.indexOf('init'); + + expect(loadIndex).toBeGreaterThan(-1); + expect(errorIndex).toBeGreaterThan(-1); + expect(initIndex).toBeGreaterThan(-1); + + expect(loadIndex).toBeLessThan(initIndex); + expect(errorIndex).toBeLessThan(initIndex); + }); + + it('should load file from src and cache it', (done) => { + const params = { src: 'test.riv' }; + const state = service.loadFile(params); + + expect(state().status).toBe('loading'); + + // Wait for init to be called + setTimeout(() => { + // Simulate successful load + const loadHandler = eventHandlers.get(EventType.Load); + expect(loadHandler).toBeDefined(); + loadHandler!(); + + expect(state().status).toBe('success'); + expect(state().riveFile).toBe(mockRiveFile); + expect(mockRiveFile.getInstance).toHaveBeenCalled(); + done(); + }, 0); + }); + + it('should handle load errors', (done) => { + const params = { src: 'test.riv' }; + const state = service.loadFile(params); + + setTimeout(() => { + // Simulate load error + const errorHandler = eventHandlers.get(EventType.LoadError); + expect(errorHandler).toBeDefined(); + errorHandler!(); + + expect(state().status).toBe('failed'); + expect(state().riveFile).toBeNull(); + done(); + }, 0); + }); + + it('should handle init() failure (catch block)', (done) => { + // Mock init to reject + mockRiveFile.init.mockRejectedValue(new Error('Init failed')); + + const params = { src: 'fail.riv' }; + const state = service.loadFile(params); + + setTimeout(() => { + expect(state().status).toBe('failed'); + // Should clear pending load so retry is possible + const state2 = service.loadFile(params); + expect(state2().status).toBe('loading'); // New loading state, not cached failed state + done(); + }, 0); + }); + + it('should accept debug parameter but not pass it to RiveFile', async () => { + const params = { src: 'debug.riv', debug: true }; + service.loadFile(params); + await Promise.resolve(); + await Promise.resolve(); + // debug should be excluded from SDK params + expect(RiveFile).toHaveBeenCalledWith({ src: 'debug.riv' }); + }); + }); + + describe('releaseFile', () => { + it('should decrement ref count and cleanup when count reaches 0', (done) => { + const params = { src: 'test.riv' }; + + // Load and complete + service.loadFile(params); + + setTimeout(() => { + const loadHandler = eventHandlers.get(EventType.Load); + loadHandler!(); + + // Release + service.releaseFile(params); + + expect(mockRiveFile.cleanup).toHaveBeenCalled(); + done(); + }, 0); + }); + }); + + describe('Phase 2: Race Condition Fix', () => { + it('should call finalizePendingLoadOnce exactly once on success', (done) => { + const params = { src: 'test.riv' }; + service.loadFile(params); + + setTimeout(() => { + // Simulate successful load + const loadHandler = eventHandlers.get(EventType.Load); + loadHandler!(); + + // Try to call load handler again (should be no-op due to guard) + loadHandler!(); + + // Verify pending load was cleared (only one cleanup) + const state2 = service.loadFile(params); + + // Should return cached state, not create new pending load + expect(state2().status).toBe('success'); + done(); + }, 0); + }); + + it('should call finalizePendingLoadOnce exactly once on error', (done) => { + const params = { src: 'error.riv' }; + service.loadFile(params); + + setTimeout(() => { + // Simulate load error + const errorHandler = eventHandlers.get(EventType.LoadError); + errorHandler!(); + + // Try to call error handler again (should be no-op due to guard) + errorHandler!(); + + // Verify pending load was cleared + const state2 = service.loadFile(params); + + // Should create new loading state since previous failed + expect(state2().status).toBe('loading'); + done(); + }, 0); + }); + + it('should call finalizePendingLoadOnce exactly once on init() exception', (done) => { + // Mock init to throw + mockRiveFile.init.mockRejectedValue(new Error('Init failed')); + + const params = { src: 'fail.riv' }; + service.loadFile(params); + + setTimeout(() => { + // Verify pending load was cleared after exception + const state2 = service.loadFile(params); + + // Should create new loading state (retry possible) + expect(state2().status).toBe('loading'); + done(); + }, 0); + }); + }); + + describe('Phase 2: Debug Parameter', () => { + it('should not break cache when debug parameter differs', (done) => { + const params1 = { src: 'test.riv', debug: false }; + const params2 = { src: 'test.riv', debug: true }; + + // Load with debug: false + const state1 = service.loadFile(params1); + + setTimeout(() => { + const loadHandler = eventHandlers.get(EventType.Load); + loadHandler!(); + + expect(state1().status).toBe('success'); + + // Load same file with debug: true (should use cache) + const state2 = service.loadFile(params2); + + // Should return same cached state + expect(state2().status).toBe('success'); + expect(state2().riveFile).toBe(state1().riveFile); + done(); + }, 0); + }); + + it('should maintain correct refCount with debug parameter', (done) => { + const params1 = { src: 'test.riv', debug: false }; + const params2 = { src: 'test.riv', debug: true }; + + service.loadFile(params1); + + setTimeout(() => { + const loadHandler = eventHandlers.get(EventType.Load); + loadHandler!(); + + // Load again with different debug + service.loadFile(params2); + + // Release first + service.releaseFile(params1); + + // File should NOT be cleaned up (refCount = 1) + expect(mockRiveFile.cleanup).not.toHaveBeenCalled(); + + // Release second + service.releaseFile(params2); + + // Now file should be cleaned up (refCount = 0) + expect(mockRiveFile.cleanup).toHaveBeenCalled(); + done(); + }, 0); + }); + }); +}); diff --git a/libs/rive-angular-webgl2/src/lib/services/rive-file.service.ts b/libs/rive-angular-webgl2/src/lib/services/rive-file.service.ts new file mode 100644 index 0000000..77f7f23 --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/services/rive-file.service.ts @@ -0,0 +1,279 @@ +import { Injectable, signal, Signal, inject } from '@angular/core'; +import { RiveFile, EventType } from '../rive-sdk'; +import { RIVE_DEBUG_CONFIG, RIVE_RUNTIME_CONFIG } from '../utils'; +import { RiveLogger } from '../utils'; +import { ensureRiveRuntimeReady } from '../utils/rive-runtime'; + +/** + * Status of RiveFile loading + */ +export type FileStatus = 'idle' | 'loading' | 'success' | 'failed'; + +/** + * State of a loaded RiveFile + */ +export interface RiveFileState { + riveFile: RiveFile | null; + status: FileStatus; +} + +/** + * Parameters for loading a RiveFile + */ +export interface RiveFileParams { + src?: string; + buffer?: ArrayBuffer; + debug?: boolean; +} + +/** + * Cache entry for a loaded RiveFile + */ +interface CacheEntry { + file: RiveFile; + state: Signal; + refCount: number; +} + +/** + * Pending load entry to prevent duplicate loads + */ +interface PendingLoad { + stateSignal: ReturnType>; + promise: Promise; +} + +/** + * Service for preloading and caching Rive files. + * + * This service allows you to: + * - Preload .riv files before they're needed + * - Share the same file across multiple components + * - Cache files to avoid redundant network requests + * - Deduplicate concurrent loads of the same file + * + * @example + * ```typescript + * export class MyComponent { + * private riveFileService = inject(RiveFileService); + * private destroyRef = inject(DestroyRef); + * + * fileState = this.riveFileService.loadFile({ + * src: 'assets/animation.riv' + * }); + * + * constructor() { + * // Auto-release on component destroy + * this.destroyRef.onDestroy(() => { + * this.riveFileService.releaseFile({ src: 'assets/animation.riv' }); + * }); + * } + * } + * ``` + */ +@Injectable({ + providedIn: 'root', +}) +export class RiveFileService { + private cache = new Map(); + private pendingLoads = new Map(); + private bufferIdMap = new WeakMap(); + private bufferIdCounter = 0; + + // Optional debug configuration + private readonly globalDebugConfig = inject(RIVE_DEBUG_CONFIG, { + optional: true, + }); + private readonly runtimeConfig = inject(RIVE_RUNTIME_CONFIG, { + optional: true, + }); + + /** + * Load a RiveFile from URL or ArrayBuffer. + * Returns a signal with the file state and loading status. + * Files are cached by src URL to avoid redundant loads. + * Concurrent loads of the same file are deduplicated. + * + * @param params - Parameters containing src URL or buffer + * @returns Signal with RiveFileState + */ + public loadFile(params: RiveFileParams): Signal { + const cacheKey = this.getCacheKey(params); + + // Initialize logger for this request + const logger = new RiveLogger(this.globalDebugConfig, params.debug); + logger.debug(`RiveFileService: Request to load file`, { cacheKey }); + + // Return cached entry if exists + const cached = this.cache.get(cacheKey); + if (cached) { + cached.refCount++; + logger.debug(`RiveFileService: Cache hit for ${cacheKey}`); + return cached.state; + } + + // Return pending load if already in progress + const pending = this.pendingLoads.get(cacheKey); + if (pending) { + logger.debug(`RiveFileService: Reuse pending load for ${cacheKey}`); + return pending.stateSignal.asReadonly(); + } + + // Create new loading state + const stateSignal = signal({ + riveFile: null, + status: 'loading', + }); + + // Start loading and track as pending + const promise = this.loadRiveFile(params, stateSignal, cacheKey, logger); + this.pendingLoads.set(cacheKey, { stateSignal, promise }); + + return stateSignal.asReadonly(); + } + + /** + * Release a cached file. Decrements reference count and cleans up if no longer used. + * + * @param params - Parameters used to load the file + */ + public releaseFile(params: RiveFileParams): void { + const cacheKey = this.getCacheKey(params); + const cached = this.cache.get(cacheKey); + + if (cached) { + cached.refCount--; + if (cached.refCount <= 0) { + try { + cached.file.cleanup(); + } catch (error) { + console.warn('Error cleaning up RiveFile:', error); + } + this.cache.delete(cacheKey); + } + } + } + + /** + * Clear all cached files and abort pending loads + */ + public clearCache(): void { + // Clear pending loads first to prevent them from populating the cache + this.pendingLoads.forEach((pending) => { + pending.stateSignal.set({ + riveFile: null, + status: 'failed', + }); + }); + this.pendingLoads.clear(); + + // Clean up cached files + this.cache.forEach((entry) => { + try { + entry.file.cleanup(); + } catch (error) { + console.warn('Error cleaning up RiveFile:', error); + } + }); + this.cache.clear(); + } + + /** + * Get cache key from params + */ + private getCacheKey(params: RiveFileParams): string { + if (params.src) { + return `src:${params.src}`; + } + if (params.buffer) { + // For buffers, use WeakMap to track unique IDs without mutating the buffer + let bufferId = this.bufferIdMap.get(params.buffer); + if (bufferId === undefined) { + bufferId = ++this.bufferIdCounter; + this.bufferIdMap.set(params.buffer, bufferId); + } + return `buffer:${bufferId}`; + } + return 'unknown'; + } + + /** + * Load RiveFile and update state signal. + * Addresses race condition by setting up listeners BEFORE init. + */ + private async loadRiveFile( + params: RiveFileParams, + stateSignal: ReturnType>, + cacheKey: string, + logger: RiveLogger, + ): Promise { + // Guard to ensure pending load is cleaned up exactly once + let pendingCleanupDone = false; + const finalizePendingLoadOnce = () => { + if (!pendingCleanupDone) { + this.pendingLoads.delete(cacheKey); + pendingCleanupDone = true; + } + }; + + try { + if (this.runtimeConfig) { + await ensureRiveRuntimeReady(this.runtimeConfig); + } + + // Extract debug parameter - it's not part of RiveFile SDK API + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { debug, ...sdkParams } = params; + const file = new RiveFile(sdkParams); + + // Listeners must be attached BEFORE calling init() to avoid race conditions + // where init() completes or fails synchronously/immediately. + file.on(EventType.Load, () => { + logger.debug(`RiveFileService: File loaded successfully`, { cacheKey }); + + // Request an instance to increment reference count + // This prevents the file from being destroyed while in use + file.getInstance(); + + stateSignal.set({ + riveFile: file, + status: 'success', + }); + + // Cache the successfully loaded file + this.cache.set(cacheKey, { + file, + state: stateSignal.asReadonly(), + refCount: 1, + }); + + finalizePendingLoadOnce(); + }); + + file.on(EventType.LoadError, () => { + logger.warn(`RiveFileService: Failed to load file`, { cacheKey }); + + stateSignal.set({ + riveFile: null, + status: 'failed', + }); + + finalizePendingLoadOnce(); + }); + + logger.debug(`RiveFileService: Initializing file`, { cacheKey }); + + // Await init() to catch initialization errors (e.g. WASM issues) + await file.init(); + } catch (error) { + logger.error('RiveFileService: Unexpected error loading file', error); + + stateSignal.set({ + riveFile: null, + status: 'failed', + }); + + finalizePendingLoadOnce(); + } + } +} diff --git a/libs/rive-angular-webgl2/src/lib/utils/index.ts b/libs/rive-angular-webgl2/src/lib/utils/index.ts new file mode 100644 index 0000000..9fbbff4 --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/utils/index.ts @@ -0,0 +1,2 @@ +export * from '../../rive-angular-core'; +export * from './runtime-config'; diff --git a/libs/rive-angular-webgl2/src/lib/utils/rive-runtime.ts b/libs/rive-angular-webgl2/src/lib/utils/rive-runtime.ts new file mode 100644 index 0000000..79e0d24 --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/utils/rive-runtime.ts @@ -0,0 +1,47 @@ +import { RuntimeLoader } from '../rive-sdk'; +import type { RiveRuntimeResolvedConfig } from './runtime-config'; + +let runtimeInitPromise: Promise | null = null; +let isRuntimeReady = false; +let configuredWasmUrl: string | undefined; + +function applyWasmUrl(config?: RiveRuntimeResolvedConfig | null): void { + const wasmUrl = config?.wasmUrl; + if (!wasmUrl || configuredWasmUrl === wasmUrl) return; + + RuntimeLoader.setWasmUrl(wasmUrl); + configuredWasmUrl = wasmUrl; +} + +/** + * Ensure Rive WASM runtime is initialized once across the app. + * Safe to call from multiple concurrent code paths. + */ +export function ensureRiveRuntimeReady( + config?: RiveRuntimeResolvedConfig | null, +): Promise { + if (typeof window === 'undefined') { + return Promise.resolve(); + } + + applyWasmUrl(config); + + if (isRuntimeReady) { + return Promise.resolve(); + } + + if (runtimeInitPromise) { + return runtimeInitPromise; + } + + runtimeInitPromise = RuntimeLoader.awaitInstance() + .then(() => { + isRuntimeReady = true; + }) + .catch((error) => { + runtimeInitPromise = null; + throw error; + }); + + return runtimeInitPromise; +} diff --git a/libs/rive-angular-webgl2/src/lib/utils/runtime-config.ts b/libs/rive-angular-webgl2/src/lib/utils/runtime-config.ts new file mode 100644 index 0000000..dc4607d --- /dev/null +++ b/libs/rive-angular-webgl2/src/lib/utils/runtime-config.ts @@ -0,0 +1,75 @@ +import { + EnvironmentProviders, + InjectionToken, + Provider, + makeEnvironmentProviders, + provideAppInitializer, +} from '@angular/core'; +import { ensureRiveRuntimeReady } from './rive-runtime'; + +/** + * Public configuration for Rive runtime setup. + * - lazy omitted: eager initialization on app startup + * - lazy true: defer runtime init until first component/service usage + */ +export interface RiveRuntimeConfig { + wasmUrl?: string; + lazy?: true; +} + +/** + * Internal normalized config used by runtime helpers. + */ +export interface RiveRuntimeResolvedConfig { + wasmUrl?: string; + lazy: boolean; +} + +/** + * Internal DI token used by component/service to read runtime options. + */ +export const RIVE_RUNTIME_CONFIG = + new InjectionToken('RIVE_RUNTIME_CONFIG'); + +function resolveRuntimeConfig( + config?: RiveRuntimeConfig, +): RiveRuntimeResolvedConfig { + return { + wasmUrl: config?.wasmUrl, + lazy: config?.lazy === true, + }; +} + +/** + * Configure Rive runtime behavior globally. + * + * @example + * providers: [ + * provideRiveRuntime({ wasmUrl: 'assets/rive/rive.wasm' }), + * ] + * + * @example + * providers: [ + * provideRiveRuntime({ wasmUrl: 'assets/rive/rive.wasm', lazy: true }), + * ] + */ +export function provideRiveRuntime( + config?: RiveRuntimeConfig, +): EnvironmentProviders { + const resolvedConfig = resolveRuntimeConfig(config); + + const providers: Array = [ + { + provide: RIVE_RUNTIME_CONFIG, + useValue: resolvedConfig, + }, + ]; + + if (!resolvedConfig.lazy) { + providers.push( + provideAppInitializer(() => ensureRiveRuntimeReady(resolvedConfig)), + ); + } + + return makeEnvironmentProviders(providers); +} diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/index.ts b/libs/rive-angular-webgl2/src/rive-angular-core/index.ts new file mode 100644 index 0000000..fafbe57 --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/index.ts @@ -0,0 +1,12 @@ +/** + * @grandgular/rive-angular-core — internal shared code for Rive Angular renderer packages. + * Not part of the public API; use `@grandgular/rive-angular-canvas` or `@grandgular/rive-angular-webgl2`. + */ +export * from './lib/utils/element-observer'; +export * from './lib/utils/error-codes'; +export * from './lib/utils/debug-config'; +export * from './lib/utils/logger'; +export * from './lib/utils/validator'; +export * from './lib/utils/color-parser'; +export * from './lib/models/rive-errors'; +export * from './lib/models/data-binding.types'; diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/lib/models/data-binding.types.ts b/libs/rive-angular-webgl2/src/rive-angular-core/lib/models/data-binding.types.ts new file mode 100644 index 0000000..431fbf4 --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/lib/models/data-binding.types.ts @@ -0,0 +1,45 @@ +/** + * Represents a color value in RGBA format for Rive animations. + * All components are in the range 0-255. + */ +export interface RiveColor { + /** Red component (0-255) */ + r: number; + /** Green component (0-255) */ + g: number; + /** Blue component (0-255) */ + b: number; + /** Alpha component (0-255), defaults to 255 (fully opaque) */ + a: number; +} + +/** + * Union type representing all possible data binding values. + * Used in the dataBindings input to support multiple property types. + */ +export type DataBindingValue = number | string | boolean | RiveColor; + +/** + * Enum representing the type of a ViewModel property. + * Used for type detection and validation. + */ +export type DataBindingPropertyType = + | 'number' + | 'string' + | 'boolean' + | 'color' + | 'enum' + | 'trigger'; + +/** + * Event emitted when a ViewModel property changes from within the animation. + * This enables two-way data binding between the animation and Angular application. + */ +export interface DataBindingChangeEvent { + /** Path to the property in the ViewModel */ + path: string; + /** New value of the property */ + value: DataBindingValue; + /** Type of the property that changed */ + propertyType: DataBindingPropertyType; +} diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/lib/models/rive-errors.spec.ts b/libs/rive-angular-webgl2/src/rive-angular-core/lib/models/rive-errors.spec.ts new file mode 100644 index 0000000..b4e2a2b --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/lib/models/rive-errors.spec.ts @@ -0,0 +1,48 @@ +import { RiveLoadError, RiveValidationError } from './rive-errors'; +import { RiveErrorCode } from '../utils/error-codes'; + +describe('RiveLoadError', () => { + it('should support legacy constructor (backward compatibility)', () => { + const originalError = new Error('Original cause'); + const error = new RiveLoadError('Legacy message', originalError); + + expect(error.message).toBe('Legacy message'); + expect(error.originalError).toBe(originalError); + expect(error.code).toBeUndefined(); + expect(error.name).toBe('RiveLoadError'); + }); + + it('should support new options constructor', () => { + const cause = new Error('Cause'); + const error = new RiveLoadError({ + message: 'New message', + code: RiveErrorCode.FileNotFound, + suggestion: 'Check path', + docsUrl: 'http://docs', + cause, + }); + + expect(error.message).toBe('New message'); + expect(error.code).toBe(RiveErrorCode.FileNotFound); + expect(error.suggestion).toBe('Check path'); + expect(error.docsUrl).toBe('http://docs'); + expect(error.originalError).toBe(cause); + }); +}); + +describe('RiveValidationError', () => { + it('should construct correctly', () => { + const error = new RiveValidationError( + 'Validation failed', + RiveErrorCode.ArtboardNotFound, + ['Option1', 'Option2'], + 'Try Option1', + ); + + expect(error.message).toBe('Validation failed'); + expect(error.code).toBe(RiveErrorCode.ArtboardNotFound); + expect(error.availableOptions).toEqual(['Option1', 'Option2']); + expect(error.suggestion).toBe('Try Option1'); + expect(error.name).toBe('RiveValidationError'); + }); +}); diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/lib/models/rive-errors.ts b/libs/rive-angular-webgl2/src/rive-angular-core/lib/models/rive-errors.ts new file mode 100644 index 0000000..3c6de8d --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/lib/models/rive-errors.ts @@ -0,0 +1,62 @@ +import { RiveErrorCode } from '../utils/error-codes'; + +/** + * Options for constructing a RiveLoadError with detailed context. + */ +export interface RiveErrorOptions { + message: string; + code?: RiveErrorCode; + suggestion?: string; + docsUrl?: string; + cause?: unknown; +} + +/** + * Error thrown when Rive animation fails to load. + * Supports legacy constructor for backward compatibility. + */ +export class RiveLoadError extends Error { + public readonly code?: RiveErrorCode; + public readonly suggestion?: string; + public readonly docsUrl?: string; + public readonly originalError?: Error; + + constructor( + messageOrOptions: string | RiveErrorOptions, + originalError?: unknown, + ) { + if (typeof messageOrOptions === 'string') { + // Legacy constructor: new RiveLoadError(message, originalError) + super(messageOrOptions); + this.originalError = + originalError instanceof Error ? originalError : undefined; + } else { + // New constructor: new RiveLoadError(options) + super(messageOrOptions.message); + this.code = messageOrOptions.code; + this.suggestion = messageOrOptions.suggestion; + this.docsUrl = messageOrOptions.docsUrl; + this.originalError = + messageOrOptions.cause instanceof Error + ? messageOrOptions.cause + : undefined; + } + this.name = 'RiveLoadError'; + } +} + +/** + * Error thrown when validation fails (e.g. missing artboard/animation/input). + * These errors are typically non-fatal but indicate a configuration mismatch. + */ +export class RiveValidationError extends Error { + constructor( + message: string, + public readonly code: RiveErrorCode, + public readonly availableOptions?: string[], + public readonly suggestion?: string, + ) { + super(message); + this.name = 'RiveValidationError'; + } +} diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/color-parser.spec.ts b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/color-parser.spec.ts new file mode 100644 index 0000000..dfebeb2 --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/color-parser.spec.ts @@ -0,0 +1,267 @@ +import { + parseRiveColor, + riveColorToArgb, + riveColorToHex, +} from './color-parser'; +import { RiveColor } from '../models/data-binding.types'; + +describe('color-parser', () => { + describe('parseRiveColor', () => { + describe('hex string parsing', () => { + it('should parse 6-digit hex color (#RRGGBB)', () => { + const result = parseRiveColor('#FF5733'); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 255 }); + }); + + it('should parse 8-digit hex color (#RRGGBBAA)', () => { + const result = parseRiveColor('#FF573380'); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 128 }); + }); + + it('should parse hex without # prefix', () => { + const result = parseRiveColor('FF5733'); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 255 }); + }); + + it('should parse lowercase hex', () => { + const result = parseRiveColor('#ff5733'); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 255 }); + }); + + it('should parse black color', () => { + const result = parseRiveColor('#000000'); + expect(result).toEqual({ r: 0, g: 0, b: 0, a: 255 }); + }); + + it('should parse white color', () => { + const result = parseRiveColor('#FFFFFF'); + expect(result).toEqual({ r: 255, g: 255, b: 255, a: 255 }); + }); + + it('should parse transparent black', () => { + const result = parseRiveColor('#00000000'); + expect(result).toEqual({ r: 0, g: 0, b: 0, a: 0 }); + }); + + it('should throw on invalid hex format', () => { + expect(() => parseRiveColor('#GGGGGG')).toThrow( + 'Invalid hex color format', + ); + expect(() => parseRiveColor('#FFF')).toThrow( + 'Invalid hex color format', + ); + expect(() => parseRiveColor('#FFFFFFFFFF')).toThrow( + 'Invalid hex color format', + ); + }); + }); + + describe('ARGB integer parsing', () => { + it('should parse ARGB integer (red with full alpha)', () => { + const result = parseRiveColor(0xffff0000); + expect(result).toEqual({ r: 255, g: 0, b: 0, a: 255 }); + }); + + it('should parse ARGB integer (green with half alpha)', () => { + const result = parseRiveColor(0x8000ff00); + expect(result).toEqual({ r: 0, g: 255, b: 0, a: 128 }); + }); + + it('should parse ARGB integer (blue with full alpha)', () => { + const result = parseRiveColor(0xff0000ff); + expect(result).toEqual({ r: 0, g: 0, b: 255, a: 255 }); + }); + + it('should parse ARGB integer (transparent)', () => { + const result = parseRiveColor(0x00000000); + expect(result).toEqual({ r: 0, g: 0, b: 0, a: 0 }); + }); + + it('should parse ARGB integer (custom color)', () => { + const result = parseRiveColor(0x80ff5733); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 128 }); + }); + }); + + describe('RiveColor object parsing', () => { + it('should normalize RiveColor with all components', () => { + const result = parseRiveColor({ r: 255, g: 87, b: 51, a: 128 }); + expect(result).toEqual({ r: 255, g: 87, b: 51, a: 128 }); + }); + + it('should default alpha to 255 if missing', () => { + const result = parseRiveColor({ r: 255, g: 0, b: 0 } as RiveColor); + expect(result).toEqual({ r: 255, g: 0, b: 0, a: 255 }); + }); + + it('should clamp values above 255', () => { + const result = parseRiveColor({ r: 300, g: 400, b: 500, a: 600 }); + expect(result).toEqual({ r: 255, g: 255, b: 255, a: 255 }); + }); + + it('should clamp values below 0', () => { + const result = parseRiveColor({ r: -10, g: -20, b: -30, a: -40 }); + expect(result).toEqual({ r: 0, g: 0, b: 0, a: 0 }); + }); + + it('should handle floating point values', () => { + const result = parseRiveColor({ + r: 255.7, + g: 87.3, + b: 51.9, + a: 128.5, + }); + expect(result).toEqual({ r: 255, g: 87, b: 52, a: 129 }); + }); + }); + + describe('invalid inputs', () => { + it('should throw on null', () => { + expect(() => parseRiveColor(null as unknown as string)).toThrow( + 'Invalid color format', + ); + }); + + it('should throw on undefined', () => { + expect(() => parseRiveColor(undefined as unknown as string)).toThrow( + 'Invalid color format', + ); + }); + + it('should throw on boolean', () => { + expect(() => parseRiveColor(true as unknown as string)).toThrow( + 'Invalid color format', + ); + }); + }); + }); + + describe('riveColorToArgb', () => { + it('should convert red to ARGB', () => { + const result = riveColorToArgb({ r: 255, g: 0, b: 0, a: 255 }); + expect(result).toBe(0xffff0000); + }); + + it('should convert green to ARGB', () => { + const result = riveColorToArgb({ r: 0, g: 255, b: 0, a: 255 }); + expect(result).toBe(0xff00ff00); + }); + + it('should convert blue to ARGB', () => { + const result = riveColorToArgb({ r: 0, g: 0, b: 255, a: 255 }); + expect(result).toBe(0xff0000ff); + }); + + it('should convert transparent black to ARGB', () => { + const result = riveColorToArgb({ r: 0, g: 0, b: 0, a: 0 }); + expect(result).toBe(0x00000000); + }); + + it('should convert semi-transparent color to ARGB', () => { + const result = riveColorToArgb({ r: 255, g: 87, b: 51, a: 128 }); + expect(result).toBe(0x80ff5733); + }); + + it('should handle floating point values', () => { + const result = riveColorToArgb({ + r: 255.7, + g: 87.3, + b: 51.9, + a: 128.5, + }); + expect(result).toBe(0x81ff5734); + }); + + it('should clamp values above 255', () => { + const result = riveColorToArgb({ r: 300, g: 400, b: 500, a: 600 }); + expect(result).toBe(0xffffffff); + }); + + it('should clamp values below 0', () => { + const result = riveColorToArgb({ r: -10, g: -20, b: -30, a: -40 }); + expect(result).toBe(0x00000000); + }); + }); + + describe('riveColorToHex', () => { + it('should convert red to hex', () => { + const result = riveColorToHex({ r: 255, g: 0, b: 0, a: 255 }); + expect(result).toBe('#FF0000FF'); + }); + + it('should convert green to hex', () => { + const result = riveColorToHex({ r: 0, g: 255, b: 0, a: 255 }); + expect(result).toBe('#00FF00FF'); + }); + + it('should convert blue to hex', () => { + const result = riveColorToHex({ r: 0, g: 0, b: 255, a: 255 }); + expect(result).toBe('#0000FFFF'); + }); + + it('should convert transparent black to hex', () => { + const result = riveColorToHex({ r: 0, g: 0, b: 0, a: 0 }); + expect(result).toBe('#00000000'); + }); + + it('should convert semi-transparent color to hex', () => { + const result = riveColorToHex({ r: 255, g: 87, b: 51, a: 128 }); + expect(result).toBe('#FF573380'); + }); + + it('should pad single-digit hex values', () => { + const result = riveColorToHex({ r: 1, g: 2, b: 3, a: 4 }); + expect(result).toBe('#01020304'); + }); + + it('should handle floating point values', () => { + const result = riveColorToHex({ + r: 255.7, + g: 87.3, + b: 51.9, + a: 128.5, + }); + expect(result).toBe('#FF573481'); + }); + + it('should clamp values above 255', () => { + const result = riveColorToHex({ r: 300, g: 400, b: 500, a: 600 }); + expect(result).toBe('#FFFFFFFF'); + }); + + it('should clamp values below 0', () => { + const result = riveColorToHex({ r: -10, g: -20, b: -30, a: -40 }); + expect(result).toBe('#00000000'); + }); + }); + + describe('round-trip conversions', () => { + it('should round-trip hex -> RiveColor -> hex', () => { + const original = '#FF5733AA'; + const parsed = parseRiveColor(original); + const converted = riveColorToHex(parsed); + expect(converted).toBe(original); + }); + + it('should round-trip ARGB -> RiveColor -> ARGB', () => { + const original = 0x80ff5733; + const parsed = parseRiveColor(original); + const converted = riveColorToArgb(parsed); + expect(converted).toBe(original); + }); + + it('should round-trip RiveColor -> hex -> RiveColor', () => { + const original: RiveColor = { r: 255, g: 87, b: 51, a: 128 }; + const hex = riveColorToHex(original); + const parsed = parseRiveColor(hex); + expect(parsed).toEqual(original); + }); + + it('should round-trip RiveColor -> ARGB -> RiveColor', () => { + const original: RiveColor = { r: 255, g: 87, b: 51, a: 128 }; + const argb = riveColorToArgb(original); + const parsed = parseRiveColor(argb); + expect(parsed).toEqual(original); + }); + }); +}); diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/color-parser.ts b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/color-parser.ts new file mode 100644 index 0000000..326ecc0 --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/color-parser.ts @@ -0,0 +1,139 @@ +import { RiveColor } from '../models/data-binding.types'; + +/** + * Parses various color input formats into a normalized RiveColor object. + * + * Supported formats: + * - Hex string: '#RRGGBB' or '#RRGGBBAA' + * - ARGB integer: 0xAARRGGBB (32-bit integer) + * - RiveColor object: { r, g, b, a? } + * + * @param input - Color in any supported format + * @returns Normalized RiveColor object with all components in 0-255 range + * @throws Error if the input format is invalid + * + * @example + * parseRiveColor('#FF5733') // { r: 255, g: 87, b: 51, a: 255 } + * parseRiveColor('#FF573380') // { r: 255, g: 87, b: 51, a: 128 } + * parseRiveColor(0x80FF5733) // { r: 255, g: 87, b: 51, a: 128 } + * parseRiveColor({ r: 255, g: 0, b: 0 }) // { r: 255, g: 0, b: 0, a: 255 } + */ +export function parseRiveColor( + input: string | number | RiveColor, +): RiveColor { + // If already a RiveColor object, normalize it + if (typeof input === 'object' && input !== null) { + return { + r: clamp(Math.round(input.r), 0, 255), + g: clamp(Math.round(input.g), 0, 255), + b: clamp(Math.round(input.b), 0, 255), + a: clamp(Math.round(input.a ?? 255), 0, 255), + }; + } + + // If hex string + if (typeof input === 'string') { + return parseHexColor(input); + } + + // If ARGB integer + if (typeof input === 'number') { + return parseArgbInteger(input); + } + + throw new Error( + `Invalid color format: ${input}. Expected hex string, ARGB integer, or RiveColor object.`, + ); +} + +/** + * Converts a RiveColor object to an ARGB 32-bit integer. + * + * @param color - RiveColor object + * @returns ARGB integer in format 0xAARRGGBB + * + * @example + * riveColorToArgb({ r: 255, g: 0, b: 0, a: 255 }) // 0xFFFF0000 + * riveColorToArgb({ r: 0, g: 128, b: 255, a: 128 }) // 0x800080FF + */ +export function riveColorToArgb(color: RiveColor): number { + const a = clamp(Math.round(color.a), 0, 255); + const r = clamp(Math.round(color.r), 0, 255); + const g = clamp(Math.round(color.g), 0, 255); + const b = clamp(Math.round(color.b), 0, 255); + + return ((a << 24) | (r << 16) | (g << 8) | b) >>> 0; +} + +/** + * Converts a RiveColor object to a hex string. + * + * @param color - RiveColor object + * @returns Hex string in format '#RRGGBBAA' + * + * @example + * riveColorToHex({ r: 255, g: 0, b: 0, a: 255 }) // '#FF0000FF' + * riveColorToHex({ r: 0, g: 128, b: 255, a: 128 }) // '#0080FF80' + */ +export function riveColorToHex(color: RiveColor): string { + const r = clamp(Math.round(color.r), 0, 255) + .toString(16) + .padStart(2, '0'); + const g = clamp(Math.round(color.g), 0, 255) + .toString(16) + .padStart(2, '0'); + const b = clamp(Math.round(color.b), 0, 255) + .toString(16) + .padStart(2, '0'); + const a = clamp(Math.round(color.a), 0, 255) + .toString(16) + .padStart(2, '0'); + + return `#${r}${g}${b}${a}`.toUpperCase(); +} + +/** + * Parses a hex color string into a RiveColor object. + * Supports both '#RRGGBB' and '#RRGGBBAA' formats. + */ +function parseHexColor(hex: string): RiveColor { + // Remove '#' if present + const cleanHex = hex.startsWith('#') ? hex.slice(1) : hex; + + // Validate hex string + if (!/^[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$/.test(cleanHex)) { + throw new Error( + `Invalid hex color format: ${hex}. Expected '#RRGGBB' or '#RRGGBBAA'.`, + ); + } + + const r = parseInt(cleanHex.slice(0, 2), 16); + const g = parseInt(cleanHex.slice(2, 4), 16); + const b = parseInt(cleanHex.slice(4, 6), 16); + const a = cleanHex.length === 8 ? parseInt(cleanHex.slice(6, 8), 16) : 255; + + return { r, g, b, a }; +} + +/** + * Parses an ARGB 32-bit integer into a RiveColor object. + * Format: 0xAARRGGBB + */ +function parseArgbInteger(argb: number): RiveColor { + // Ensure it's a valid 32-bit unsigned integer + const value = argb >>> 0; + + const a = (value >> 24) & 0xff; + const r = (value >> 16) & 0xff; + const g = (value >> 8) & 0xff; + const b = value & 0xff; + + return { r, g, b, a }; +} + +/** + * Clamps a value between min and max. + */ +function clamp(value: number, min: number, max: number): number { + return Math.max(min, Math.min(max, value)); +} diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/debug-config.ts b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/debug-config.ts new file mode 100644 index 0000000..b558dbe --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/debug-config.ts @@ -0,0 +1,40 @@ +import { InjectionToken, Provider } from '@angular/core'; + +/** + * Log levels for Rive debugging. + * - 'none': No output + * - 'error': Only errors (default) + * - 'warn': Errors and warnings + * - 'info': High-level info (loaded, played) + * - 'debug': Detailed logs (internal state, events) + */ +export type LogLevel = 'none' | 'error' | 'warn' | 'info' | 'debug'; + +/** + * Configuration for Rive debug mode. + */ +export interface RiveDebugConfig { + logLevel: LogLevel; +} + +/** + * Injection token for global Rive debug configuration. + * Can be provided via provideRiveDebug(). + */ +export const RIVE_DEBUG_CONFIG = new InjectionToken('RIVE_DEBUG_CONFIG'); + +/** + * Provides global configuration for Rive debugging. + * Use this in your app.config.ts or module providers. + * + * @example + * providers: [ + * provideRiveDebug({ logLevel: 'debug' }) + * ] + */ +export function provideRiveDebug(config: RiveDebugConfig): Provider { + return { + provide: RIVE_DEBUG_CONFIG, + useValue: config, + }; +} diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/element-observer.ts b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/element-observer.ts new file mode 100644 index 0000000..9bff311 --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/element-observer.ts @@ -0,0 +1,89 @@ +import { Injectable, inject, PLATFORM_ID } from '@angular/core'; +import { isPlatformBrowser } from '@angular/common'; + +/** + * Fake IntersectionObserver for environments where it's not available (e.g., SSR) + */ +class FakeIntersectionObserver implements IntersectionObserver { + readonly root: Element | Document | null = null; + readonly rootMargin: string = ''; + readonly thresholds: ReadonlyArray = []; + + observe(): void { + // Intentionally empty for SSR compatibility + } + unobserve(): void { + // Intentionally empty for SSR compatibility + } + disconnect(): void { + // Intentionally empty for SSR compatibility + } + takeRecords(): IntersectionObserverEntry[] { + return []; + } +} + +const MyIntersectionObserver = + (typeof globalThis !== 'undefined' && globalThis.IntersectionObserver) || + FakeIntersectionObserver; + +/** + * Singleton IntersectionObserver wrapper for observing multiple elements + * with individual callbacks. This avoids creating multiple IntersectionObserver + * instances which is more efficient. + * + * Provided as an Angular service for better testability and DI integration. + */ +@Injectable({ + providedIn: 'root', +}) +export class ElementObserver { + private observer: IntersectionObserver; + private elementsMap: Map void> = new Map(); + private readonly platformId = inject(PLATFORM_ID); + + constructor() { + // Only create real observer in browser environment + if (isPlatformBrowser(this.platformId)) { + this.observer = new MyIntersectionObserver( + this.onObserved, + ) as IntersectionObserver; + } else { + this.observer = new FakeIntersectionObserver(); + } + } + + private onObserved = (entries: IntersectionObserverEntry[]): void => { + entries.forEach((entry) => { + const elementCallback = this.elementsMap.get(entry.target as Element); + if (elementCallback) { + elementCallback(entry); + } + }); + }; + + public registerCallback(element: Element, callback: (entry: IntersectionObserverEntry) => void): void { + this.observer.observe(element); + this.elementsMap.set(element, callback); + } + + public removeCallback(element: Element): void { + this.observer.unobserve(element); + this.elementsMap.delete(element); + } +} + +// Legacy function for backward compatibility +// New code should inject ElementObserver directly +let legacyObserverInstance: ElementObserver | null = null; + +/** + * @deprecated Use dependency injection instead: `inject(ElementObserver)` + * Get the singleton ElementObserver instance + */ +export function getElementObserver(): ElementObserver { + if (!legacyObserverInstance) { + legacyObserverInstance = new ElementObserver(); + } + return legacyObserverInstance; +} diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/error-codes.ts b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/error-codes.ts new file mode 100644 index 0000000..3eedcea --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/error-codes.ts @@ -0,0 +1,73 @@ +/** + * Error codes used throughout the Rive Angular library. + * + * Ranges: + * - RIVE_1xx: Load errors (file not found, network, bad format) + * - RIVE_2xx: Validation errors (artboard, animation, state machine mismatch) + * - RIVE_3xx: Configuration/Usage errors (missing source, bad canvas) + * - RIVE_4xx: Data Binding errors (ViewModel, property not found, type mismatch) + */ +export enum RiveErrorCode { + // Load Errors + FileNotFound = 'RIVE_101', + InvalidFormat = 'RIVE_102', + NetworkError = 'RIVE_103', + + // Validation Errors + ArtboardNotFound = 'RIVE_201', + AnimationNotFound = 'RIVE_202', + StateMachineNotFound = 'RIVE_203', + InputNotFound = 'RIVE_204', + TextRunNotFound = 'RIVE_205', + + // Configuration Errors + NoSource = 'RIVE_301', + InvalidCanvas = 'RIVE_302', + + // Data Binding Errors + ViewModelNotFound = 'RIVE_401', + DataBindingPropertyNotFound = 'RIVE_402', + DataBindingTypeMismatch = 'RIVE_403', +} + +/** + * Template messages for each error code. + * Used by formatErrorMessage to generate user-friendly descriptions. + */ +export const ERROR_MESSAGES: Record = { + [RiveErrorCode.FileNotFound]: 'File not found: {url}', + [RiveErrorCode.InvalidFormat]: 'Invalid .riv file format', + [RiveErrorCode.NetworkError]: 'Network error while loading file', + [RiveErrorCode.ArtboardNotFound]: 'Artboard "{name}" not found', + [RiveErrorCode.AnimationNotFound]: 'Animation "{name}" not found', + [RiveErrorCode.StateMachineNotFound]: 'State machine "{name}" not found', + [RiveErrorCode.InputNotFound]: 'Input "{name}" not found in "{stateMachine}"', + [RiveErrorCode.TextRunNotFound]: 'Text run "{name}" not found', + [RiveErrorCode.NoSource]: 'No animation source provided', + [RiveErrorCode.InvalidCanvas]: 'Invalid canvas element', + [RiveErrorCode.ViewModelNotFound]: 'ViewModel "{name}" not found', + [RiveErrorCode.DataBindingPropertyNotFound]: + 'Data binding property "{path}" not found in ViewModel', + [RiveErrorCode.DataBindingTypeMismatch]: + 'Data binding type mismatch for "{path}": expected {expected}, got {actual}', +}; + +/** + * Formats an error message by replacing placeholders with actual values. + * + * @param code - The error code + * @param params - Record of values to replace in the template (e.g. { name: 'MyAnim' }) + * @returns The formatted error string + */ +export function formatErrorMessage( + code: RiveErrorCode, + params: Record = {}, +): string { + let message = ERROR_MESSAGES[code] || 'Unknown Rive error'; + + for (const [key, value] of Object.entries(params)) { + message = message.replace(`{${key}}`, value); + } + + return message; +} diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/logger.ts b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/logger.ts new file mode 100644 index 0000000..22afb79 --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/logger.ts @@ -0,0 +1,74 @@ +import { LogLevel, RiveDebugConfig } from './debug-config'; + +/** + * Internal logger for Rive Angular library. + * Handles log levels and formatting. + * Not exported publicly. + */ +export class RiveLogger { + private level: LogLevel; + + constructor(globalConfig?: RiveDebugConfig | null, localDebug?: boolean) { + this.level = this.resolveLogLevel(globalConfig, localDebug); + } + + /** + * Resolve effective log level based on precedence rules: + * 1. Local debug=true -> 'debug' + * 2. Local debug=false/undefined -> Use global config + * 3. No config -> 'error' (default) + */ + private resolveLogLevel( + globalConfig?: RiveDebugConfig | null, + localDebug?: boolean, + ): LogLevel { + if (localDebug === true) { + return 'debug'; + } + if (globalConfig?.logLevel) { + return globalConfig.logLevel; + } + return 'error'; + } + + /** + * Update log level dynamically (e.g. when input changes) + */ + public update( + globalConfig?: RiveDebugConfig | null, + localDebug?: boolean, + ): void { + this.level = this.resolveLogLevel(globalConfig, localDebug); + } + + public debug(message: string, ...args: unknown[]): void { + if (this.shouldLog('debug')) { + console.debug(`[Rive] ${message}`, ...args); + } + } + + public info(message: string, ...args: unknown[]): void { + if (this.shouldLog('info')) { + console.info(`[Rive] ${message}`, ...args); + } + } + + public warn(message: string, ...args: unknown[]): void { + if (this.shouldLog('warn')) { + console.warn(`[Rive] ${message}`, ...args); + } + } + + public error(message: string, ...args: unknown[]): void { + if (this.shouldLog('error')) { + console.error(`[Rive] ${message}`, ...args); + } + } + + private shouldLog(level: LogLevel): boolean { + const levels: LogLevel[] = ['none', 'error', 'warn', 'info', 'debug']; + const currentIdx = levels.indexOf(this.level); + const targetIdx = levels.indexOf(level); + return currentIdx >= targetIdx; + } +} diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/validator.ts b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/validator.ts new file mode 100644 index 0000000..0882401 --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/lib/utils/validator.ts @@ -0,0 +1,182 @@ +import { RiveValidationError } from '../models/rive-errors'; +import { RiveErrorCode, formatErrorMessage } from './error-codes'; +import { RiveLogger } from './logger'; + +/** Minimal Rive instance shape used for validation; works for canvas and webgl2 runtimes. */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type RiveLike = any; + +/** + * Validates requested artboard name against available artboards. + * Returns error if not found. + */ +export function validateArtboard( + rive: RiveLike, + requestedName?: string, +): RiveValidationError | null { + if (!requestedName) return null; + + try { + // Safe check: ensure artboardNames exist on runtime + // Note: These properties exist at runtime but may not be in type definitions + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const available = (rive as any).artboardNames; + if (!available || !available.includes(requestedName)) { + return new RiveValidationError( + formatErrorMessage(RiveErrorCode.ArtboardNotFound, { + name: requestedName, + }), + RiveErrorCode.ArtboardNotFound, + available || [], + available && available.length > 0 + ? `Available artboards: ${available.join(', ')}` + : 'No artboards found in file', + ); + } + } catch { + // Graceful fallback if runtime metadata is not accessible + // Return null silently to avoid breaking validation flow + } + return null; +} + +/** + * Validates requested animation names against available animations. + * Returns first error found. + */ +export function validateAnimations( + rive: RiveLike, + requestedNames?: string | string[], +): RiveValidationError | null { + if (!requestedNames) return null; + + const names = Array.isArray(requestedNames) + ? requestedNames + : [requestedNames]; + + try { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const available = (rive as any).animationNames; + for (const name of names) { + if (!available || !available.includes(name)) { + return new RiveValidationError( + formatErrorMessage(RiveErrorCode.AnimationNotFound, { name }), + RiveErrorCode.AnimationNotFound, + available || [], + available && available.length > 0 + ? `Available animations: ${available.join(', ')}` + : 'No animations found in file', + ); + } + } + } catch { + // Graceful fallback if runtime metadata is not accessible + // Return null silently to avoid breaking validation flow + } + return null; +} + +/** + * Validates requested state machine names against available state machines. + * Returns first error found. + */ +export function validateStateMachines( + rive: RiveLike, + requestedNames?: string | string[], +): RiveValidationError | null { + if (!requestedNames) return null; + + const names = Array.isArray(requestedNames) + ? requestedNames + : [requestedNames]; + + try { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const available = (rive as any).stateMachineNames; + for (const name of names) { + if (!available || !available.includes(name)) { + return new RiveValidationError( + formatErrorMessage(RiveErrorCode.StateMachineNotFound, { name }), + RiveErrorCode.StateMachineNotFound, + available || [], + available && available.length > 0 + ? `Available state machines: ${available.join(', ')}` + : 'No state machines found in file', + ); + } + } + } catch { + // Graceful fallback if runtime metadata is not accessible + // Return null silently to avoid breaking validation flow + } + return null; +} + +/** + * Validates if an input exists within a specific state machine. + */ +export function validateInput( + rive: RiveLike, + stateMachineName: string, + inputName: string, +): RiveValidationError | null { + try { + const inputs = rive.stateMachineInputs(stateMachineName); + if (!inputs) return null; // Should not happen if SM exists + + const found = inputs.find((i: { name: string }) => i.name === inputName); + if (!found) { + const available = inputs.map((i: { name: string }) => i.name); + return new RiveValidationError( + formatErrorMessage(RiveErrorCode.InputNotFound, { + name: inputName, + stateMachine: stateMachineName, + }), + RiveErrorCode.InputNotFound, + available, + available.length > 0 + ? `Available inputs in "${stateMachineName}": ${available.join(', ')}` + : `No inputs found in state machine "${stateMachineName}"`, + ); + } + } catch { + // Graceful fallback if runtime metadata is not accessible + // Return null silently to avoid breaking validation flow + } + return null; +} + +/** + * Runs full configuration validation. + * Logs warnings and returns array of errors. + */ +export function validateConfiguration( + rive: RiveLike, + config: { + artboard?: string; + animations?: string | string[]; + stateMachines?: string | string[]; + }, + logger: RiveLogger, +): RiveValidationError[] { + const errors: RiveValidationError[] = []; + + const artboardError = validateArtboard(rive, config.artboard); + if (artboardError) errors.push(artboardError); + + const animError = validateAnimations(rive, config.animations); + if (animError) errors.push(animError); + + const smError = validateStateMachines(rive, config.stateMachines); + if (smError) errors.push(smError); + + if (errors.length > 0) { + logger.warn(`Validation failed with ${errors.length} errors:`); + errors.forEach((err) => { + logger.warn(`- ${err.message}`); + if (err.suggestion) logger.warn(` Suggestion: ${err.suggestion}`); + }); + } + + return errors; +} diff --git a/libs/rive-angular-webgl2/src/rive-angular-core/test-setup.ts b/libs/rive-angular-webgl2/src/rive-angular-core/test-setup.ts new file mode 100644 index 0000000..ca20f51 --- /dev/null +++ b/libs/rive-angular-webgl2/src/rive-angular-core/test-setup.ts @@ -0,0 +1,6 @@ +import { setupZonelessTestEnv } from 'jest-preset-angular/setup-env/zoneless'; + +setupZonelessTestEnv({ + errorOnUnknownElements: true, + errorOnUnknownProperties: true +}); diff --git a/libs/rive-angular-webgl2/src/test-setup.ts b/libs/rive-angular-webgl2/src/test-setup.ts new file mode 100644 index 0000000..434a70b --- /dev/null +++ b/libs/rive-angular-webgl2/src/test-setup.ts @@ -0,0 +1,6 @@ +import { setupZonelessTestEnv } from 'jest-preset-angular/setup-env/zoneless'; + +setupZonelessTestEnv({ + errorOnUnknownElements: true, + errorOnUnknownProperties: true, +}); diff --git a/libs/rive-angular-webgl2/tsconfig.json b/libs/rive-angular-webgl2/tsconfig.json new file mode 100644 index 0000000..67ecfd1 --- /dev/null +++ b/libs/rive-angular-webgl2/tsconfig.json @@ -0,0 +1,31 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "isolatedModules": true, + "target": "es2022", + "moduleResolution": "bundler", + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "emitDecoratorMetadata": false, + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/libs/rive-angular-webgl2/tsconfig.lib.json b/libs/rive-angular-webgl2/tsconfig.lib.json new file mode 100644 index 0000000..5bfe57f --- /dev/null +++ b/libs/rive-angular-webgl2/tsconfig.lib.json @@ -0,0 +1,20 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "declaration": true, + "declarationMap": true, + "inlineSources": true, + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "jest.config.ts", + "jest.config.cts", + "src/test-setup.ts" + ] +} diff --git a/libs/rive-angular-webgl2/tsconfig.lib.prod.json b/libs/rive-angular-webgl2/tsconfig.lib.prod.json new file mode 100644 index 0000000..2a2faa8 --- /dev/null +++ b/libs/rive-angular-webgl2/tsconfig.lib.prod.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.lib.json", + "compilerOptions": { + "declarationMap": false + }, + "angularCompilerOptions": { + "compilationMode": "partial" + } +} diff --git a/libs/rive-angular-webgl2/tsconfig.spec.json b/libs/rive-angular-webgl2/tsconfig.spec.json new file mode 100644 index 0000000..0fae7d0 --- /dev/null +++ b/libs/rive-angular-webgl2/tsconfig.spec.json @@ -0,0 +1,22 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "target": "es2016", + "types": [ + "jest", + "node" + ], + "moduleResolution": "node10" + }, + "files": [ + "src/test-setup.ts" + ], + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/libs/rive-angular/README.md b/libs/rive-angular/README.md deleted file mode 100644 index 953b6f7..0000000 --- a/libs/rive-angular/README.md +++ /dev/null @@ -1,871 +0,0 @@ -# @grandgular/rive-angular - -[![npm version](https://img.shields.io/npm/v/@grandgular/rive-angular.svg)](https://www.npmjs.com/package/@grandgular/rive-angular) -[![npm downloads](https://img.shields.io/npm/dm/@grandgular/rive-angular.svg)](https://www.npmjs.com/package/@grandgular/rive-angular) -[![Bundle Size](https://img.shields.io/bundlephobia/minzip/@grandgular/rive-angular)](https://bundlephobia.com/package/@grandgular/rive-angular) -[![Angular](https://img.shields.io/badge/Angular-18%2B-red)](https://angular.dev) -[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) - -![Rive Angular showcase preview](https://raw.githubusercontent.com/Grandgular/rive/main/libs/rive-angular/docs/showcase-afi.gif) - -Modern Angular wrapper for [Rive](https://rive.app) animations with reactive state management, built with Angular signals and zoneless architecture. - -**1.x** is the stable major line: the public API follows [Semantic Versioning](https://semver.org/). - -## What is Rive? - -[Rive](https://rive.app) is a real-time interactive design and animation tool. It allows designers and developers to create animations that respond to different states and user inputs. Rive animations are lightweight, interactive, and can be used in apps, games, and websites. - -## Why @grandgular/rive-angular? - -This library provides a **modern, Angular-native** way to integrate Rive animations into your Angular applications: - -- 🚀 **Modern Angular**: Built with Angular 18+ signals, standalone components, and zoneless architecture -- ⚡ **Performance-first**: Runs outside Angular zone, uses OnPush change detection, and IntersectionObserver for automatic rendering optimization -- 🎯 **Type-safe**: Full TypeScript support with strict typing -- 🔄 **Reactive**: Signal-based API for reactive state management -- 🌐 **SSR-ready**: Full server-side rendering support -- 🧹 **Automatic cleanup**: Proper resource management and lifecycle handling -- 📦 **File caching**: Built-in service for preloading and caching .riv files -- 🛠️ **Developer Experience**: Built-in debug mode, validation, and detailed error codes - -### Comparison with alternatives - -#### vs. ng-rive (unmaintained) - -[ng-rive](https://www.npmjs.com/package/ng-rive) was the previous Angular wrapper for Rive, but it has been **unmaintained since 2021** and is incompatible with modern Angular versions: - -| Feature | ng-rive | @grandgular/rive-angular | -|---------|---------|--------------------------| -| Angular version | 9-12 (legacy) | 18+ (modern) | -| Architecture | Modules, Zone.js | Signals, standalone | -| Maintenance | ❌ Abandoned (3+ years) | ✅ Active | -| TypeScript | Partial | Strict typing | -| SSR support | ⚠️ Limited | ✅ Full | -| Performance | Standard | Optimized (zoneless) | -| File caching | ❌ Manual | ✅ Built-in service | -| Validation | ❌ None | ✅ Built-in | - -#### vs. rive-react - -This library follows the design principles of the official [rive-react](https://github.com/rive-app/rive-react) library but adapts them to Angular's reactive paradigm: - -| Aspect | rive-react | @grandgular/rive-angular | -|--------|------------|--------------------------| -| Component API | `` component | `` | -| Reactivity | Hooks (useState, useEffect) | Signals | -| File preloading | `useRiveFile` hook | `RiveFileService` | -| State access | Hook return values | Public signals | -| Lifecycle | useEffect cleanup | DestroyRef | - -Both libraries provide similar features and follow the same philosophy of providing a thin, reactive wrapper around the core Rive runtime. - -## Migration from ng-rive - -[ng-rive](https://www.npmjs.com/package/ng-rive) has been unmaintained since 2021 and does not support Angular 13+. If you're upgrading your Angular project, here's how to migrate. - -### 1. Replace the package - -```bash -npm uninstall ng-rive -npm install @grandgular/rive-angular @rive-app/canvas -``` - -### 2. Update imports - -| ng-rive | @grandgular/rive-angular | -|---------|--------------------------| -| `import { RiveModule } from 'ng-rive'` | `import { RiveCanvasComponent } from '@grandgular/rive-angular'` | -| Add `RiveModule` to `NgModule.imports` | Add `RiveCanvasComponent` to `imports` of standalone component | - -### 3. Update templates - -**ng-rive:** - -```html - - - - -``` - -**@grandgular/rive-angular:** - -```html - - -``` - -### 4. State machines - -**ng-rive:** - -```html - - - - - -``` - -**@grandgular/rive-angular:** - -```html - -``` - -```typescript -onLoaded() { - this.riveCanvas().setInput('StateMachine', 'isHover', this.hover); -} -``` - -## Installation - -```bash -npm install @grandgular/rive-angular @rive-app/canvas -``` - -Or with yarn: - -```bash -yarn add @grandgular/rive-angular @rive-app/canvas -``` - -## Quick Start - -### Basic usage - -```typescript -import { Component } from '@angular/core'; -import { RiveCanvasComponent, Fit, Alignment } from '@grandgular/rive-angular'; - -@Component({ - selector: 'app-root', - standalone: true, - imports: [RiveCanvasComponent], - template: ` - - `, - styles: [` - rive-canvas { - width: 100%; - height: 400px; - } - `] -}) -export class AppComponent { - Fit = Fit; - Alignment = Alignment; - - onLoaded() { - console.log('Animation loaded!'); - } - - onError(error: Error) { - console.error('Failed to load animation:', error); - } -} -``` - -### With state machines - -```typescript -import { Component, viewChild } from '@angular/core'; -import { RiveCanvasComponent } from '@grandgular/rive-angular'; - -@Component({ - selector: 'app-interactive', - standalone: true, - imports: [RiveCanvasComponent], - template: ` - - - ` -}) -export class InteractiveComponent { - riveCanvas = viewChild.required(RiveCanvasComponent); - - onLoaded() { - // Set initial state - this.riveCanvas().setInput('StateMachine', 'isActive', true); - } - - triggerAction() { - // Fire a trigger - this.riveCanvas().fireTrigger('StateMachine', 'onClick'); - } -} -``` - -### Text Runs - -Rive text runs allow you to update text content at runtime. The library provides two approaches: - -#### Declarative (Controlled Keys) - -Use the `textRuns` input for reactive, template-driven text updates: - -```html - -``` - -Keys present in `textRuns` are **controlled** — the input is the source of truth and will override any imperative changes. - -#### Imperative (Uncontrolled Keys) - -Use methods for reading values or managing keys not in `textRuns`: - -```typescript -riveRef = viewChild.required(RiveCanvasComponent); - -// Read current value -const greeting = this.riveRef().getTextRunValue('greeting'); - -// Set uncontrolled key -this.riveRef().setTextRunValue('dynamicText', 'New value'); -``` - -#### Nested Text Runs - -For text runs inside nested components, use the `AtPath` variants: - -```typescript -this.riveRef().setTextRunValueAtPath( - 'button_text', - 'Click Me', - 'NestedArtboard/ButtonComponent' -); -``` - -#### Controlled vs Uncontrolled - -- **Controlled**: Keys in `textRuns` input — managed by Angular, input is source of truth -- **Uncontrolled**: Keys not in `textRuns` — managed imperatively via methods -- **Warning**: Calling `setTextRunValue()` on a controlled key logs a warning and the change will be overwritten on next input update - -### Data Binding (ViewModel) - -Rive's ViewModel system allows you to bind dynamic data (colors, numbers, strings, booleans, etc.) to your animations. ViewModels are created in the Rive editor and provide a structured way to control animation properties at runtime. - -#### What is a ViewModel? - -A ViewModel in Rive is a data structure that: -- Is created by designers in the Rive editor -- Contains typed properties (color, number, string, boolean, enum, trigger) -- Can be bound to animation elements (fills, strokes, transforms, etc.) -- Supports two-way data binding (changes in code affect animation, changes in animation can trigger events) - -#### When to use Data Binding vs Text Runs? - -- **Text Runs**: Simple text updates, no ViewModel setup required in editor -- **Data Binding**: Dynamic colors, numbers, complex data structures, two-way reactivity - -#### Declarative (Controlled) Approach - -Use the `dataBindings` input for reactive, template-driven data binding: - -```typescript -import { Component, signal } from '@angular/core'; -import { RiveCanvasComponent } from '@grandgular/rive-angular'; - -@Component({ - selector: 'app-data-binding', - standalone: true, - imports: [RiveCanvasComponent], - template: ` - - - - - ` -}) -export class DataBindingComponent { - themeColor = signal('#FF5733'); - playerScore = signal(0); - userName = signal('Player 1'); - isGameActive = signal(true); - - changeTheme() { - const colors = ['#FF5733', '#33FF57', '#3357FF', '#F333FF']; - const randomColor = colors[Math.floor(Math.random() * colors.length)]; - this.themeColor.set(randomColor); - } - - incrementScore() { - this.playerScore.update(score => score + 10); - } - - onDataChange(event: DataBindingChangeEvent) { - console.log('Property changed from animation:', event); - // event.path: property path - // event.value: new value (for triggers, value is always true) - // event.propertyType: 'color' | 'number' | 'string' | 'boolean' | 'enum' | 'trigger' - - if (event.propertyType === 'trigger') { - console.log(`Trigger "${event.path}" fired from animation`); - // Handle trigger event (e.g., show popup, play sound, etc.) - } - } -} -``` - -#### Imperative (Uncontrolled) Approach - -Use methods for direct, programmatic control: - -```typescript -import { Component, viewChild } from '@angular/core'; -import { RiveCanvasComponent } from '@grandgular/rive-angular'; - -@Component({ - selector: 'app-imperative', - standalone: true, - imports: [RiveCanvasComponent], - template: ` - - - - - - ` -}) -export class ImperativeComponent { - riveRef = viewChild.required(RiveCanvasComponent); - - updateColor() { - // Set color using hex string - this.riveRef().setColor('backgroundColor', '#00FF00'); - - // Or using RGBA components - this.riveRef().setColorRgba('backgroundColor', 0, 255, 0, 255); - - // Or change only opacity - this.riveRef().setColorOpacity('backgroundColor', 0.5); - } - - updateScore() { - // Set any data binding value (auto-detects type) - this.riveRef().setDataBinding('score', 100); - this.riveRef().setDataBinding('playerName', 'Winner'); - this.riveRef().setDataBinding('isActive', false); - } - - triggerAnimation() { - // Fire a trigger property - this.riveRef().fireViewModelTrigger('onComplete'); - } - - readValues() { - // Read current values - const color = this.riveRef().getColor('backgroundColor'); - // color: { r: 0, g: 255, b: 0, a: 255 } - - const score = this.riveRef().getDataBinding('score'); - // score: 100 (auto-detected as number) - } -} -``` - -#### Color Utilities - -The library exports color conversion utilities for advanced use cases: - -```typescript -import { parseRiveColor, riveColorToArgb, riveColorToHex } from '@grandgular/rive-angular'; - -// Parse various color formats -const color1 = parseRiveColor('#FF5733'); // { r: 255, g: 87, b: 51, a: 255 } -const color2 = parseRiveColor('#FF573380'); // { r: 255, g: 87, b: 51, a: 128 } -const color3 = parseRiveColor(0x80FF5733); // { r: 255, g: 87, b: 51, a: 128 } -const color4 = parseRiveColor({ r: 255, g: 0, b: 0, a: 255 }); - -// Convert to ARGB integer -const argb = riveColorToArgb({ r: 255, g: 0, b: 0, a: 255 }); // 0xFFFF0000 - -// Convert to hex string -const hex = riveColorToHex({ r: 255, g: 0, b: 0, a: 255 }); // '#FF0000FF' -``` - -#### Selecting a ViewModel - -If your `.riv` file contains multiple ViewModels, specify which one to use: - -```typescript - -``` - -If `viewModelName` is not provided, the default ViewModel for the artboard is used. - -#### Controlled vs Uncontrolled - -Same semantics as Text Runs: - -- **Controlled**: Keys in `dataBindings` input — managed by Angular, input is source of truth -- **Uncontrolled**: Keys not in `dataBindings` — managed imperatively via methods -- **Warning**: Calling `setDataBinding()` or `setColor()` on a controlled key logs a warning and the change will be overwritten on next input update - -#### Validation and Error Handling - -Imperative methods (`setDataBinding`, `setColor`, `setColorOpacity`, `fireViewModelTrigger`) emit validation errors via the `loadError` output when: - -- Property path doesn't exist in the ViewModel (`RIVE_402`) -- Value type doesn't match property type (`RIVE_403`) -- Color format is invalid (hex string, ARGB integer, or RiveColor object expected) -- Opacity value is out of range (must be between 0.0 and 1.0) - -```typescript - - -handleError(error: Error) { - if (error instanceof RiveValidationError) { - console.error('Validation error:', error.code, error.message); - } -} -``` - -#### Advanced: Direct ViewModel Access - -For advanced scenarios, access the ViewModel instance directly: - -```typescript -riveRef = viewChild.required(RiveCanvasComponent); - -advancedUsage() { - const vmi = this.riveRef().viewModelInstance(); - if (vmi) { - // Direct access to ViewModel SDK methods - const colorProp = vmi.color('backgroundColor'); - if (colorProp) { - colorProp.rgba(255, 0, 0, 255); - } - } -} -``` - -### Preloading files with RiveFileService - -For better performance, you can preload and cache .riv files: - -```typescript -import { Component, inject, DestroyRef } from '@angular/core'; -import { RiveCanvasComponent, RiveFileService } from '@grandgular/rive-angular'; - -@Component({ - selector: 'app-preload', - standalone: true, - imports: [RiveCanvasComponent], - template: ` - @if (fileState().status === 'success') { - - } - @if (fileState().status === 'loading') { -

Loading animation...

- } - @if (fileState().status === 'failed') { -

Failed to load animation

- } - ` -}) -export class PreloadComponent { - private riveFileService = inject(RiveFileService); - private destroyRef = inject(DestroyRef); - - // Load and cache the file - fileState = this.riveFileService.loadFile({ - src: 'assets/animation.riv' - }); - - constructor() { - // Auto-release on component destroy - this.destroyRef.onDestroy(() => { - this.riveFileService.releaseFile({ src: 'assets/animation.riv' }); - }); - } -} -``` - -## Debug Mode - -The library provides a built-in debug mode to help you troubleshoot animations. - -### Global Configuration - -Enable debug mode globally in your `app.config.ts`: - -```typescript -import { provideRiveDebug } from '@grandgular/rive-angular'; - -export const appConfig: ApplicationConfig = { - providers: [ - provideRiveDebug({ logLevel: 'debug' }) - ] -}; -``` - -Available log levels: `'none' | 'error' | 'warn' | 'info' | 'debug'` - -### Local Override - -Enable debug mode for a specific component instance: - -```typescript - -``` - -When debug mode is enabled, the library will log: -- Loading progress and file details -- Available artboards, animations, and state machines -- Validation warnings (e.g., misspelled animation names) - -## Runtime Initialization (WASM) - -Use `provideRiveRuntime()` to control when the Rive WASM runtime initializes. - -### Eager mode (default) - -Initializes runtime on app startup: - -```typescript -import { ApplicationConfig } from '@angular/core'; -import { provideRiveRuntime } from '@grandgular/rive-angular'; - -export const appConfig: ApplicationConfig = { - providers: [ - provideRiveRuntime({ wasmUrl: 'assets/rive/rive.v1.wasm' }), - ], -}; -``` - -### Lazy mode - -Initializes runtime only when first needed (first `rive-canvas` init or `RiveFileService.loadFile()` call): - -```typescript -import { ApplicationConfig } from '@angular/core'; -import { provideRiveRuntime } from '@grandgular/rive-angular'; - -export const appConfig: ApplicationConfig = { - providers: [ - provideRiveRuntime({ - wasmUrl: 'assets/rive/rive.v1.wasm', - lazy: true, - }), - ], -}; -``` - -### Migration from `provideAppInitializer` - -If you used: - -```typescript -provideAppInitializer(() => RuntimeLoader.setWasmUrl('assets/rive/rive.v1.wasm')) -``` - -you can now use: - -```typescript -provideRiveRuntime({ wasmUrl: 'assets/rive/rive.v1.wasm' }) -``` - -## Error Handling & Validation - -The library validates your configuration against the loaded Rive file and provides structured error codes. - -### Validation - -Validation errors (e.g., missing artboard or animation) are **non-fatal**. They are emitted via the `loadError` output but do not crash the application. - -```typescript - -``` - -In this case, `onError` receives a `RiveValidationError` with code `RIVE_201`, and the library logs a warning with available artboard names. - -### Error Codes - -| Code | Type | Description | -|------|------|-------------| -| `RIVE_101` | Load | File not found (404) | -| `RIVE_102` | Load | Invalid .riv file format | -| `RIVE_103` | Load | Network error | -| `RIVE_201` | Validation | Artboard not found | -| `RIVE_202` | Validation | Animation not found | -| `RIVE_203` | Validation | State machine not found | -| `RIVE_204` | Validation | Input/Trigger not found in State Machine | -| `RIVE_205` | Validation | Text run not found | -| `RIVE_301` | Config | No animation source provided | -| `RIVE_302` | Config | Invalid canvas element | -| `RIVE_401` | Data Binding | ViewModel not found | -| `RIVE_402` | Data Binding | Property not found in ViewModel | -| `RIVE_403` | Data Binding | Type mismatch (value doesn't match property type) | - -## API Reference - -### Runtime Provider - -```typescript -interface RiveRuntimeConfig { - wasmUrl?: string; - lazy?: true; -} -``` - -- `provideRiveRuntime(config?: RiveRuntimeConfig)` - configures Rive runtime initialization strategy. -- `lazy` omitted - eager initialization on startup. -- `lazy: true` - deferred initialization at first runtime usage. - -### RiveCanvasComponent - -#### Inputs - -| Input | Type | Default | Description | -|-------|------|---------|-------------| -| `src` | `string` | - | URL to the .riv file | -| `buffer` | `ArrayBuffer` | - | ArrayBuffer containing .riv file data | -| `riveFile` | `RiveFile` | - | Preloaded RiveFile instance (from RiveFileService) | -| `artboard` | `string` | - | Name of the artboard to display | -| `animations` | `string \| string[]` | - | Animation(s) to play | -| `stateMachines` | `string \| string[]` | - | State machine(s) to use | -| `autoplay` | `boolean` | `true` | Auto-play animations on load | -| `fit` | `Fit` | `Fit.Contain` | How the animation fits in the canvas | -| `alignment` | `Alignment` | `Alignment.Center` | Alignment of the animation | -| `useOffscreenRenderer` | `boolean` | `false` | Use offscreen rendering | -| `shouldUseIntersectionObserver` | `boolean` | `true` | Auto-pause when off-screen | -| `shouldDisableRiveListeners` | `boolean` | `false` | Disable Rive event listeners | -| `automaticallyHandleEvents` | `boolean` | `false` | Auto-handle Rive events (e.g., OpenUrlEvent) | -| `debugMode` | `boolean` | `undefined` | Enable verbose logging for this instance | -| `textRuns` | `Record` | - | Declarative text run values. Keys present are controlled by input. | -| `viewModelName` | `string` | - | ViewModel to use for data binding (if the `.riv` file defines ViewModels) | -| `dataBindings` | `Record` | - | Declarative ViewModel property values. Keys present are controlled by input. | - -#### Outputs - -| Output | Type | Description | -|--------|------|-------------| -| `loaded` | `void` | Emitted when animation loads successfully | -| `loadError` | `Error` | Emitted when animation fails to load or validation errors occur | -| `stateChange` | `RiveEvent` | Emitted on state machine state changes | -| `riveEvent` | `RiveEvent` | Emitted for custom Rive events | -| `riveReady` | `Rive` | Emitted when Rive instance is **fully loaded** and ready (after `loaded`) | -| `dataBindingChange` | `DataBindingChangeEvent` | Emitted when a ViewModel property changes (two-way binding) | -| `animationPlay` | `RiveEvent` | Emitted when playback starts (`type: EventType.Play`) | -| `animationPause` | `RiveEvent` | Emitted when playback pauses (`type: EventType.Pause`) | -| `animationStop` | `RiveEvent` | Emitted when playback stops (`type: EventType.Stop`) | -| `animationLoop` | `RiveEvent` | Emitted when a loop iteration completes; `event.data` is a `LoopEvent` (animation name + `LoopType`) | -| `animationAdvance` | `RiveEvent` | Emitted every frame while advancing; **high frequency** — use sparingly. Not wrapped in `NgZone.run`; trigger change detection manually if the view must update | - -#### Animation lifecycle events - -Listen for play/pause/stop/loop/advance without subscribing to the raw Rive instance: - -```typescript -import { Component } from '@angular/core'; -import { - RiveCanvasComponent, - type RiveEvent, - EventType, - LoopType, - type LoopEvent, -} from '@grandgular/rive-angular'; - -@Component({ - imports: [RiveCanvasComponent], - template: ` - - `, -}) -export class LifecycleDemoComponent { - onAnimationPlay(_event: RiveEvent) { - // event.type === EventType.Play - } - - onAnimationPause(_event: RiveEvent) { - // event.type === EventType.Pause - } - - onAnimationStop(_event: RiveEvent) { - // event.type === EventType.Stop - } - - onAnimationLoop(event: RiveEvent) { - const loopData = event.data as LoopEvent; - // e.g. one-shot completion: - if (loopData.type === LoopType.OneShot) { - // animation finished its single run - } - } -} -``` - -`LoopType` and `LoopEvent` are re-exported from `@grandgular/rive-angular` for convenience. - -#### Public Signals (Readonly) - -All signals are **readonly** and cannot be mutated externally. Use the public methods to control the animation. - -| Signal | Type | Description | -|--------|------|-------------| -| `isPlaying` | `Signal` | Whether animation is playing | -| `isPaused` | `Signal` | Whether animation is paused | -| `isLoaded` | `Signal` | Whether animation is loaded | -| `riveInstance` | `Signal` | Direct access to Rive instance | -| `viewModelInstance` | `Signal` | Active ViewModel instance after load, if the file uses ViewModels | - -**Note:** Signals are readonly to prevent external mutation. Use component methods (`playAnimation()`, `pauseAnimation()`, etc.) to control the animation state. - -#### Public Methods - -| Method | Description | -|--------|-------------| -| `playAnimation(animations?: string \| string[])` | Play animation(s) | -| `pauseAnimation(animations?: string \| string[])` | Pause animation(s) | -| `stopAnimation(animations?: string \| string[])` | Stop animation(s) | -| `reset()` | Reset animation to beginning | -| `setInput(stateMachine: string, input: string, value: number \| boolean)` | Set state machine input value | -| `fireTrigger(stateMachine: string, trigger: string)` | Fire state machine trigger | -| `getTextRunValue(name: string): string \| undefined` | Get text run value | -| `setTextRunValue(name: string, value: string)` | Set text run value (warns if key is controlled) | -| `getTextRunValueAtPath(name: string, path: string): string \| undefined` | Get nested text run value | -| `setTextRunValueAtPath(name: string, value: string, path: string)` | Set nested text run | - -### RiveFileService - -Service for preloading and caching .riv files. - -#### Methods - -| Method | Description | -|--------|-------------| -| `loadFile(params: RiveFileParams): Signal` | Load and cache a .riv file | -| `releaseFile(params: RiveFileParams): void` | Release cached file (decrements ref count) | -| `clearCache(): void` | Clear all cached files | - -#### Types - -```typescript -interface RiveFileParams { - src?: string; - buffer?: ArrayBuffer; - debug?: boolean; -} - -interface RiveFileState { - riveFile: RiveFile | null; - status: 'idle' | 'loading' | 'success' | 'failed'; -} -``` - -## SSR Support - -The library is fully compatible with Angular Universal and server-side rendering: - -- Canvas rendering is automatically disabled on the server -- IntersectionObserver and ResizeObserver use safe fallbacks -- No runtime errors in SSR environments - -## Performance Tips - -1. **Use IntersectionObserver**: Keep `shouldUseIntersectionObserver` enabled (default) to automatically pause animations when off-screen -2. **Preload files**: Use `RiveFileService` to preload and cache .riv files for instant display -3. **Disable unnecessary listeners**: Set `shouldDisableRiveListeners` to `true` for decorative animations without interactivity -4. **Use OnPush**: The component already uses `OnPush` change detection for optimal performance -5. **Reactive updates**: The component now reactively updates layout when `fit` or `alignment` change without full reload - -## Recent Improvements (v0.2.0) - -### Quality & Stability -- ✅ **Readonly signals** prevent accidental state mutation -- ✅ **Dynamic DPR** support for multi-monitor setups -- ✅ **Reactive configuration** - all inputs trigger appropriate updates -- ✅ **Type-safe configuration** - eliminated unsafe type assertions -- ✅ **Fixed race conditions** in file service and cache management -- ✅ **Proper timing** - `riveReady` emits after full load - -### Developer Experience -- 🛠️ **Enhanced validation** with detailed error messages -- 🐛 **Comprehensive debugging** via `provideRiveDebug()` -- 📝 **Better error codes** for programmatic error handling -- 🧪 **Improved testability** with DI-based services - -See [CHANGELOG.md](./CHANGELOG.md) for complete details, migration guide, and all improvements. - -## Requirements - -- Angular 18.0.0 or higher -- @rive-app/canvas 2.35.0 or higher -- TypeScript 5.4 or higher - -## Contributing - -Contributions are welcome! Please feel free to submit issues or pull requests. - -## License - -MIT - -## Resources - -- [Rive Homepage](https://rive.app) -- [Rive Documentation](https://help.rive.app) -- [Rive Community](https://rive.app/community) -- [Angular Documentation](https://angular.dev) - -## Maintainer - -This library is maintained by the community and is not officially supported by Rive. For official Rive support, please visit the [Rive Community](https://rive.app/community). diff --git a/libs/rive-angular/docs/ng-rive-issues-analysis.md b/libs/rive-angular/docs/ng-rive-issues-analysis.md deleted file mode 100644 index a0b9224..0000000 --- a/libs/rive-angular/docs/ng-rive-issues-analysis.md +++ /dev/null @@ -1,543 +0,0 @@ -# ng-rive Issues Analysis Report - -> **Purpose**: This document analyzes all 31 issues (12 open + 19 closed) from the [ng-rive](https://github.com/dappsnation/ng-rive) library to understand common pain points and ensure @grandgular/rive-angular prevents these issues from occurring. - -## Executive Summary - -The ng-rive library, while pioneering Angular support for Rive animations, has been unmaintained since 2023 and accumulated significant technical debt. After analyzing all 31 GitHub issues, we categorized them into **5 main problem areas**: - -| Category | Issues Count | Status in @grandgular/rive-angular | -|----------|--------------|-------------------------------------| -| Version Compatibility | 8 | ✅ Fully resolved | -| Memory Management | 5 | ✅ Fully resolved | -| Dependency Injection / Module Setup | 4 | ✅ Fully resolved | -| Missing Features | 6 | ⏳ Partially addressed (4/6 done) | -| Documentation / DX | 2 | ✅ Fully resolved (Phase 2) | - -**Result**: @grandgular/rive-angular already prevents **~90% of issues** that plagued ng-rive users. - ---- - -## Issue Categories Analysis - -### 1. Version Compatibility Issues (8 issues) - -These issues stem from ng-rive's inability to keep pace with Angular and Rive runtime updates. - -#### Issues - -| # | Title | Root Cause | -|---|-------|------------| -| [#61](https://github.com/dappsnation/ng-rive/issues/61) | Compilation errors on fresh install | Angular 18+ type definition incompatibility | -| [#60](https://github.com/dappsnation/ng-rive/issues/60) | WEBPACK_IMPORTED_MODULE TypeError | @rive-app/canvas-advanced version mismatch | -| [#45](https://github.com/dappsnation/ng-rive/issues/45) | Not compatible with Angular 14 | ɵɵDirectiveDeclaration signature changes | -| [#44](https://github.com/dappsnation/ng-rive/issues/44) | rive.load not a function | WASM/canvas-advanced version mismatch | -| [#17](https://github.com/dappsnation/ng-rive/issues/17) | Cannot read property 'apply' | Angular 11 incompatibility | -| [#16](https://github.com/dappsnation/ng-rive/issues/16) | Undefined is not an object | Old .riv file format vs new runtime | -| [#15](https://github.com/dappsnation/ng-rive/issues/15) | Missing declaration files | rive-canvas TypeScript types missing | -| [#20](https://github.com/dappsnation/ng-rive/issues/20) | State machine binding error | rive-canvas API breaking change | - -#### How @grandgular/rive-angular Prevents These - -```typescript -// package.json - Clear peer dependencies with version ranges -{ - "peerDependencies": { - "@angular/common": ">=18.0.0 <22.0.0", - "@angular/core": ">=18.0.0 <22.0.0", - "@rive-app/canvas": "^2.35.0" - } -} -``` - -**Prevention strategies:** - -1. **Modern Angular-first**: Built specifically for Angular 18+ with signals, standalone components -2. **@rive-app/canvas**: Uses the recommended official Rive package (not canvas-advanced) -3. **No WASM management**: Delegates WASM loading entirely to @rive-app/canvas -4. **Strict peer dependencies**: Clear version constraints prevent silent incompatibilities -5. **Signal-based inputs**: Uses Angular's new input() API, avoiding deprecated patterns - ---- - -### 2. Memory Management Issues (5 issues) - -Critical issues causing runtime crashes when animations are destroyed or multiple animations exist. - -#### Issues - -| # | Title | Root Cause | -|---|-------|------------| -| [#53](https://github.com/dappsnation/ng-rive/issues/53) | LinearAnimationInstance already deleted | Improper cleanup on component destroy | -| [#46](https://github.com/dappsnation/ng-rive/issues/46) | LinearAnimationInstance already deleted (v0.2.6) | Timeout-based cleanup race condition | -| [#52](https://github.com/dappsnation/ng-rive/issues/52) | Cannot have multiple artboards on same page | Shared WASM state corruption | -| [#30](https://github.com/dappsnation/ng-rive/issues/30) | Multiple rive assets cause BindingError | Concurrent initialization race condition | -| [#26](https://github.com/dappsnation/ng-rive/issues/26) | BindingError in lazy-loaded modules | File cache not properly invalidated | - -#### How @grandgular/rive-angular Prevents These - -```typescript -// rive-canvas.component.ts - Proper cleanup implementation -private cleanupRive(): void { - if (this.#rive) { - try { - this.#rive.cleanup(); // Official Rive cleanup method - } catch (error) { - console.warn('Error during Rive cleanup:', error); - } - this.#rive = null; - } - - // Reset all state signals - this.riveInstance.set(null); - this.isLoaded.set(false); - this.isPlaying.set(false); - this.isPaused.set(false); -} - -// Automatic cleanup via DestroyRef -constructor() { - this.#destroyRef.onDestroy(() => { - this.cleanupRive(); - this.disconnectResizeObserver(); - this.disconnectIntersectionObserver(); - }); -} -``` - -**Prevention strategies:** - -1. **No shared state**: Each component instance is completely independent -2. **Synchronous cleanup**: No setTimeout-based cleanup that causes race conditions -3. **Official cleanup API**: Uses `Rive.cleanup()` method from @rive-app/canvas -4. **DestroyRef integration**: Automatic cleanup tied to Angular's destruction lifecycle -5. **RiveFileService with ref counting**: Proper cache management with reference counting - -```typescript -// rive-file.service.ts - Reference counting for file cache -releaseFile(params: RiveFileParams): void { - const key = this.getCacheKey(params); - const entry = this.cache.get(key); - - if (entry) { - entry.refCount--; - if (entry.refCount <= 0) { - this.cache.delete(key); - } - } -} -``` - ---- - -### 3. Dependency Injection / Module Setup Issues (4 issues) - -Issues related to Angular's DI system and the transition to standalone components. - -#### Issues - -| # | Title | Root Cause | -|---|-------|------------| -| [#50](https://github.com/dappsnation/ng-rive/issues/50) | module vs standalone setup errors | NullInjectorError for RiveService | -| [#49](https://github.com/dappsnation/ng-rive/issues/49) | Custom WASM location in standalone | RIVE_WASM token not available | -| [#29](https://github.com/dappsnation/ng-rive/issues/29) | Cannot access RiveStateMachine before init | Circular dependency in DI | -| [#13](https://github.com/dappsnation/ng-rive/issues/13) | RiveService not in provider | Missing provider in module | - -#### How @grandgular/rive-angular Prevents These - -```typescript -// Fully standalone architecture - no modules required -@Component({ - selector: 'rive-canvas', - standalone: true, - // No dependencies on external services for basic functionality -}) -export class RiveCanvasComponent { } - -// Service uses providedIn: 'root' - always available -@Injectable({ providedIn: 'root' }) -export class RiveFileService { } -``` - -**Prevention strategies:** - -1. **100% standalone**: No NgModule required, ever -2. **Zero configuration**: Works out of the box with just component import -3. **No injection tokens**: Doesn't require RIVE_WASM, RIVE_FOLDER, RIVE_VERSION tokens -4. **Self-contained**: Component works independently without any service injection -5. **Optional service**: RiveFileService is optional, only for advanced caching use cases - ---- - -### 4. Missing Features (6 issues) - -Features users requested that were never implemented or partially implemented. - -#### Issues - -| # | Title | Feature Request | -|---|-------|-----------------| -| [#59](https://github.com/dappsnation/ng-rive/issues/59) | Angular + Rive Text | Dynamic text manipulation in animations | -| [#56](https://github.com/dappsnation/ng-rive/issues/56) | Change color | Programmatic fill/stroke color changes | -| [#57](https://github.com/dappsnation/ng-rive/issues/57) | Play when visible not working | Visibility-based playback control | -| [#51](https://github.com/dappsnation/ng-rive/issues/51) | 2-way bindings deprecated | Animation state tracking (playing/finished) | -| [#10](https://github.com/dappsnation/ng-rive/issues/10) | autoreset without "one-shot" | Auto-reset for all animation modes | -| [#4](https://github.com/dappsnation/ng-rive/issues/4) | Node/Bone support | Procedural bone/node manipulation | - -#### Current Status in @grandgular/rive-angular - -| Feature | Status | Implementation | -|---------|--------|----------------| -| Visibility-based playback | ✅ Implemented | `shouldUseIntersectionObserver` input | -| Animation state tracking | ✅ Implemented | `isPlaying`, `isPaused`, `isLoaded` signals | -| Animation lifecycle events | ✅ Implemented (v1.0.0) | `animationPlay`, `animationPause`, `animationStop`, `animationLoop`, `animationAdvance` outputs | -| Rive Text | ✅ Implemented (v0.3.0) | `textRuns` input + `getTextRunValue()` / `setTextRunValue()` / `AtPath` methods | -| Color changes | ✅ Implemented (v0.4.0) | ViewModel Data Binding: `dataBindings` input + `setColor()` / `getColor()` methods | -| Auto-reset | ⏳ Planned | Not yet implemented | -| Node/Bone | ⏳ Planned | Via `riveInstance` signal for now | - -**Rive Text — fully resolved in v0.3.0 (issue [#59](https://github.com/dappsnation/ng-rive/issues/59)):** - -```typescript -// Declarative (controlled) — reactive text via input -@Component({ - template: ` - - ` -}) -export class MyComponent { - userName = signal('World'); -} -``` - -```typescript -// Imperative (uncontrolled) — read/write text runs via methods -riveRef = viewChild.required(RiveCanvasComponent); - -readValue() { - const text = this.riveRef().getTextRunValue('greeting'); -} - -writeValue() { - this.riveRef().setTextRunValue('dynamicText', 'New value'); -} - -// Nested artboard text runs -nestedWrite() { - this.riveRef().setTextRunValueAtPath('button_text', 'Click Me', 'NestedArtboard/Button'); -} -``` - -**Current workaround for remaining advanced features:** - -```typescript -// Users can access the Rive instance directly for features not yet wrapped -@Component({ - template: ` - - ` -}) -export class MyComponent { - onRiveReady(rive: Rive) { - // Access advanced Rive SDK features directly - // - Color changes - // - Bones/nodes - } -} -``` - ---- - -### 5. Documentation / Developer Experience Issues (2 issues) - -Issues related to error messages and documentation quality. - -#### Issues - -| # | Title | Problem | -|---|-------|---------| -| [#23](https://github.com/dappsnation/ng-rive/issues/23) | Improve error messages | Generic errors hard to debug | -| [#22](https://github.com/dappsnation/ng-rive/issues/22) | Could not load animation | No guidance on animation name mismatch | -| [#58](https://github.com/dappsnation/ng-rive/issues/58) | documentation error | Typo "tigger" instead of "trigger" | - -#### How @grandgular/rive-angular Addresses These (Phase 2 Implemented) - -We have implemented a comprehensive **Developer Experience (DX)** update in Phase 2 to solve these issues permanently: - -1. **Strict Validation**: The library now validates artboard, animation, and state machine names against the loaded file. - * Mismatch errors are **non-fatal** (do not crash the app). - * Errors are emitted via `loadError` output with code `RIVE_2xx`. - * Console warnings include "Did you mean...?" suggestions listing available options. - -2. **Debug Mode**: A new `[debugMode]="true"` input enables verbose logging: - * Logs file loading progress and cache hits. - * Lists all available artboards/animations upon load. - * Shows validation warnings with suggestions. - -3. **Error Codes**: Structured error codes for programmatic handling: - * `RIVE_1xx`: Load errors (404, bad format) - * `RIVE_2xx`: Validation errors (missing assets) - * `RIVE_3xx`: Configuration errors (no source) - -This explicitly resolves issues #23 and #22 by providing actionable feedback instead of generic failures. - ---- - -## Detailed Issue Resolution Matrix - -### Open Issues (12) - -| # | Issue | Severity | @grandgular Status | Notes | -|---|-------|----------|-------------------|-------| -| #61 | Compilation errors | Critical | ✅ Resolved | Modern Angular signals API | -| #60 | WEBPACK TypeError | Critical | ✅ Resolved | Uses @rive-app/canvas | -| #59 | Rive Text | Medium | ✅ Resolved | `textRuns` input + imperative methods (v0.3.0) | -| #58 | Doc typo | Low | ✅ N/A | Fresh documentation | -| #57 | Play when visible | High | ✅ Resolved | IntersectionObserver built-in | -| #56 | Change color | Medium | ✅ Resolved | ViewModel Data Binding (v0.4.0) | -| #54 | shouldFire fails | Medium | ✅ Resolved | Different API design | -| #53 | Instance deleted | Critical | ✅ Resolved | Proper cleanup | -| #52 | Multiple artboards | Critical | ✅ Resolved | No shared state | -| #50 | Standalone errors | High | ✅ Resolved | 100% standalone | -| #23 | Error messages | Medium | ✅ Resolved | Phase 2 (Error Codes) | -| #10 | autoreset | Low | ⏳ Not yet | Planned feature | - -### Closed Issues (19) - -| # | Issue | Root Cause | @grandgular Status | -|---|-------|------------|-------------------| -| #51 | 2-way bindings | State tracking | ✅ Signals provide this | -| #49 | Custom WASM | Token injection | ✅ Not needed | -| #46 | Instance deleted | Cleanup race | ✅ Sync cleanup | -| #45 | Angular 14 compat | Type definitions | ✅ Modern Angular only | -| #44 | rive.load error | Version mismatch | ✅ Peer deps | -| #40 | Listeners not working | Missing feature | ✅ shouldDisableRiveListeners | -| #31 | Update package | Old rive-canvas | ✅ @rive-app/canvas | -| #30 | Multiple assets | Race condition | ✅ No shared state | -| #29 | Init order | Circular dep | ✅ No circular deps | -| #26 | Lazy module error | Cache issue | ✅ Ref counting | -| #25 | OffscreenCanvas | TypeScript config | ✅ Proper types | -| #24 | CSP unsafe-eval | Old WASM | ✅ Modern runtime | -| #22 | Animation load error | Bad error msg | ✅ Resolved (Validation) | -| #20 | State machine error | API change | ✅ Modern API | -| #17 | apply undefined | Angular 11 | ✅ Angular 18+ only | -| #16 | undefined object | Old .riv format | ✅ Modern format | -| #15 | Missing types | rive-canvas types | ✅ Full types | -| #13 | RiveService missing | Provider issue | ✅ providedIn: root | -| #6 | Canvas gaps | Fit/alignment | ✅ fit, alignment inputs | - ---- - -## Architecture Comparison - -### ng-rive Architecture (Problems) - -``` -┌─────────────────────────────────────────────────────────┐ -│ RiveModule │ -│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │ -│ │ RiveCanvas │ │RiveAnimation│ │ RiveStateMachine│ │ -│ │ (Directive) │ │ (Directive) │ │ (Directive) │ │ -│ └──────┬──────┘ └──────┬──────┘ └────────┬────────┘ │ -│ │ │ │ │ -│ └────────────────┼───────────────────┘ │ -│ ▼ │ -│ ┌─────────────┐ │ -│ │ RiveService │ ◄── Injection tokens │ -│ │ (Shared) │ RIVE_WASM │ -│ └──────┬──────┘ RIVE_FOLDER │ -│ │ RIVE_VERSION │ -│ ▼ │ -│ ┌────────────────────┐ │ -│ │@rive-app/canvas- │ │ -│ │ advanced │ ◄── Manual WASM │ -│ └────────────────────┘ │ -└─────────────────────────────────────────────────────────┘ -``` - -Problems: -- Shared state causes race conditions -- Multiple directives must coordinate -- Injection tokens complicate setup -- Manual WASM management -- Module-based architecture - -### @grandgular/rive-angular Architecture (Solution) - -``` -┌─────────────────────────────────────────────────────────┐ -│ RiveCanvasComponent (Standalone) │ -│ ┌─────────────────────────────────────────────────────┐│ -│ │ ││ -│ │ Inputs (Signals) │ Outputs │ State ││ -│ │ ───────────────── │ ─────────── │ ────── ││ -│ │ src │ loaded │ isPlaying ││ -│ │ buffer │ loadError │ isPaused ││ -│ │ riveFile │ stateChange │ isLoaded ││ -│ │ artboard │ riveEvent │ riveInst ││ -│ │ animations │ riveReady │ ││ -│ │ stateMachines │ │ ││ -│ │ autoplay │ Methods │ ││ -│ │ fit, alignment │ ─────────── │ ││ -│ │ textRuns │ get/setText │ ││ -│ │ │ RunValue() │ ││ -│ │ ││ -│ └─────────────────────────────────────────────────────┘│ -│ │ │ -│ ▼ │ -│ ┌────────────────────┐ │ -│ │ @rive-app/canvas │ ◄── Auto WASM │ -│ │ (High-level API) │ │ -│ └────────────────────┘ │ -└─────────────────────────────────────────────────────────┘ - -┌─────────────────────────────────────────────────────────┐ -│ RiveFileService (Optional, providedIn: root) │ -│ ┌─────────────────────────────────────────────────────┐│ -│ │ loadFile() ──► Signal ││ -│ │ releaseFile() ──► Decrements ref count ││ -│ │ clearCache() ──► Clears all cached files ││ -│ └─────────────────────────────────────────────────────┘│ -└─────────────────────────────────────────────────────────┘ -``` - -Benefits: -✓ Single self-contained component -✓ No shared mutable state -✓ Zero configuration required -✓ Signal-based reactivity -✓ Automatic resource cleanup -✓ Optional caching service - ---- - -## Roadmap: Remaining Features - -Based on ng-rive issues analysis, here are features to consider: - -### Phase 1: Core Stability ✅ Complete - -- [x] Proper cleanup without race conditions -- [x] Multiple animations on same page -- [x] Standalone component architecture -- [x] IntersectionObserver for visibility -- [x] State signals (isPlaying, isPaused, isLoaded) -- [x] File caching with reference counting - -### Phase 2: Enhanced Developer Experience ✅ Complete - -- [x] Improved error messages with codes and suggestions -- [x] Validation of animation/state machine names -- [x] Debug mode with verbose logging -- [x] Race condition fixes in RiveFileService - -### Phase 3: Text Run Support ✅ Complete (v0.3.0) - -- [x] `textRuns` input for declarative, reactive text setting (controlled keys) -- [x] `getTextRunValue()` / `setTextRunValue()` for imperative text control (uncontrolled keys) -- [x] `getTextRunValueAtPath()` / `setTextRunValueAtPath()` for nested artboard text runs -- [x] Controlled/uncontrolled semantics with warning on misuse -- [x] Error code `RIVE_205` (`TextRunNotFound`) for text run validation - -### Phase 4: Data Binding (ViewModel) Support ✅ Complete (v0.4.0) - -- [x] `viewModelName` input to select ViewModel -- [x] `dataBindings` input for declarative data binding (controlled keys) -- [x] `dataBindingChange` output for two-way reactivity -- [x] `viewModelInstance` signal for advanced access -- [x] Auto-detect property types (color, number, string, boolean, enum, trigger) -- [x] `setDataBinding()` / `getDataBinding()` for imperative control (uncontrolled keys) -- [x] `fireViewModelTrigger()` for trigger properties -- [x] Color convenience methods: `setColor()`, `getColor()`, `setColorRgba()`, `setColorOpacity()` -- [x] Color utilities: `parseRiveColor()`, `riveColorToArgb()`, `riveColorToHex()` -- [x] Error codes `RIVE_4xx` for Data Binding validation -- [x] Controlled/uncontrolled semantics (same pattern as textRuns) - -**Why ViewModel instead of `setFillColor()`?** - -The Rive SDK doesn't provide a direct `setFillColor(shapeName, color)` method. Instead, Rive uses a **ViewModel / Data Binding** system where designers create ViewModels in the editor with typed properties (color, number, string, etc.) and bind them to animation elements. This is the official, recommended approach for dynamic data in Rive. - -**Usage Examples:** - -```typescript -// Declarative (controlled) — reactive via input -@Component({ - template: ` - - ` -}) -export class MyComponent { - playerScore = signal(42); - userName = signal('Alice'); -} -``` - -```typescript -// Imperative (uncontrolled) — direct method calls -riveRef = viewChild.required(RiveCanvasComponent); - -updateColor() { - this.riveRef().setColor('backgroundColor', '#00FF00'); - this.riveRef().setColorOpacity('backgroundColor', 0.5); -} - -updateData() { - this.riveRef().setDataBinding('score', 100); - this.riveRef().fireViewModelTrigger('onComplete'); -} - -// Read values -readData() { - const color = this.riveRef().getColor('backgroundColor'); - const score = this.riveRef().getDataBinding('score'); -} -``` - -### Phase 5: Advanced Features (partial — v1.0.0) - -- [x] Animation lifecycle outputs (`animationPlay`, `animationPause`, `animationStop`, `animationLoop`, `animationAdvance`) — **v1.0.0** -- [ ] `autoReset` input for animation reset -- [ ] Bone/node manipulation helpers (via ViewModel if supported by Rive SDK) - ---- - -## Conclusion - -The @grandgular/rive-angular library was designed with the explicit goal of **preventing the issues that plagued ng-rive users**. Through: - -1. **Modern architecture**: Standalone components, signals, zoneless-ready -2. **Proper resource management**: Synchronous cleanup, no shared state -3. **Zero configuration**: Works out of the box without injection tokens -4. **Clear API boundaries**: Single component with well-defined inputs/outputs -5. **Official SDK patterns**: Uses ViewModel for data binding (not workarounds) - -We have successfully prevented **~90% of the issues** that ng-rive users faced. With v0.4.0 adding full Data Binding (ViewModel) support — including the most requested color manipulation feature (issue #56) — the library now provides feature parity with React's `@rive-app/react-webgl2` hooks while maintaining Angular's reactive patterns. **v1.0.0** marks the first stable, production-ready release under semantic versioning, including animation lifecycle outputs for play/pause/stop/loop/advance. - -**Note on Feature Parity**: While we achieve functional parity with React's ViewModel hooks, the API surface differs by design: -- React uses composable hooks (`useViewModelInstanceString`, `useViewModelInstanceColor`, etc.) with individual state management -- Angular uses a unified component API with `dataBindings` input (declarative) and imperative methods (uncontrolled) -- Both approaches support two-way data binding, but Angular's output-based model (`dataBindingChange`) differs from React's hook-based reactivity -- Trigger events: React uses `onTrigger` callbacks in hooks; Angular emits via `dataBindingChange` output with `propertyType: 'trigger'` and `value: true` - ---- - -## References - -- [ng-rive GitHub Issues](https://github.com/dappsnation/ng-rive/issues) -- [Rive Web Runtime Documentation](https://help.rive.app/runtimes/overview/web-js) -- [@rive-app/canvas NPM](https://www.npmjs.com/package/@rive-app/canvas) -- [Angular Signals Documentation](https://angular.dev/guide/signals) diff --git a/libs/rive-angular/eslint.config.mjs b/libs/rive-angular/eslint.config.mjs deleted file mode 100644 index 96ac4a8..0000000 --- a/libs/rive-angular/eslint.config.mjs +++ /dev/null @@ -1,48 +0,0 @@ -import nx from '@nx/eslint-plugin'; -import baseConfig from '../../eslint.config.mjs'; - -export default [ - ...baseConfig, - { - files: ['**/*.json'], - rules: { - '@nx/dependency-checks': [ - 'error', - { - ignoredFiles: ['{projectRoot}/eslint.config.{js,cjs,mjs,ts,cts,mts}'], - }, - ], - }, - languageOptions: { - parser: await import('jsonc-eslint-parser'), - }, - }, - ...nx.configs['flat/angular'], - ...nx.configs['flat/angular-template'], - { - files: ['**/*.ts'], - rules: { - '@angular-eslint/directive-selector': [ - 'error', - { - type: 'attribute', - prefix: 'lib', - style: 'camelCase', - }, - ], - '@angular-eslint/component-selector': [ - 'error', - { - type: 'element', - prefix: 'lib', - style: 'kebab-case', - }, - ], - }, - }, - { - files: ['**/*.html'], - // Override or add rules here - rules: {}, - }, -]; diff --git a/libs/rive-angular/ng-package.json b/libs/rive-angular/ng-package.json deleted file mode 100644 index 639d402..0000000 --- a/libs/rive-angular/ng-package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", - "dest": "../../dist/libs/rive-angular", - "lib": { - "entryFile": "src/index.ts" - } -} diff --git a/libs/rive-angular/project.json b/libs/rive-angular/project.json deleted file mode 100644 index 291accd..0000000 --- a/libs/rive-angular/project.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "rive-angular", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "libs/rive-angular/src", - "prefix": "lib", - "projectType": "library", - "release": { - "version": { - "manifestRootsToUpdate": ["dist/{projectRoot}"], - "currentVersionResolver": "git-tag", - "fallbackCurrentVersionResolver": "disk" - } - }, - "tags": [], - "targets": { - "build": { - "executor": "@nx/angular:package", - "outputs": ["{workspaceRoot}/dist/{projectRoot}"], - "options": { - "project": "libs/rive-angular/ng-package.json", - "tsConfig": "libs/rive-angular/tsconfig.lib.json" - }, - "configurations": { - "production": { - "tsConfig": "libs/rive-angular/tsconfig.lib.prod.json" - }, - "development": {} - }, - "defaultConfiguration": "production" - }, - "nx-release-publish": { - "options": { - "packageRoot": "dist/{projectRoot}" - } - }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "libs/rive-angular/jest.config.cts", - "tsConfig": "libs/rive-angular/tsconfig.spec.json" - } - }, - "lint": { - "executor": "@nx/eslint:lint" - } - } -} diff --git a/libs/rive-angular/src/lib/models/index.ts b/libs/rive-angular/src/lib/models/index.ts deleted file mode 100644 index 2c5984c..0000000 --- a/libs/rive-angular/src/lib/models/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './rive.model'; -export * from './data-binding.types'; -export { RiveErrorCode } from '../utils/error-codes'; diff --git a/libs/rive-angular/src/lib/utils/index.ts b/libs/rive-angular/src/lib/utils/index.ts deleted file mode 100644 index 3e3c829..0000000 --- a/libs/rive-angular/src/lib/utils/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './element-observer'; -export * from './error-codes'; -export * from './debug-config'; -export * from './logger'; -export * from './validator'; -export * from './color-parser'; -export * from './runtime-config'; diff --git a/nx.json b/nx.json index c488014..a9b0832 100644 --- a/nx.json +++ b/nx.json @@ -1,7 +1,10 @@ { "$schema": "./node_modules/nx/schemas/nx-schema.json", "namedInputs": { - "default": ["{projectRoot}/**/*", "sharedGlobals"], + "default": [ + "{projectRoot}/**/*", + "sharedGlobals" + ], "production": [ "default", "!{projectRoot}/.eslintrc.json", @@ -17,8 +20,13 @@ "targetDefaults": { "@angular/build:application": { "cache": true, - "dependsOn": ["^build"], - "inputs": ["production", "^production"] + "dependsOn": [ + "^build" + ], + "inputs": [ + "production", + "^production" + ] }, "@nx/eslint:lint": { "cache": true, @@ -31,7 +39,11 @@ }, "@nx/jest:jest": { "cache": true, - "inputs": ["default", "^production", "{workspaceRoot}/jest.preset.js"], + "inputs": [ + "default", + "^production", + "{workspaceRoot}/jest.preset.js" + ], "options": { "passWithNoTests": true }, @@ -44,8 +56,13 @@ }, "@nx/angular:package": { "cache": true, - "dependsOn": ["^build"], - "inputs": ["production", "^production"] + "dependsOn": [ + "^build" + ], + "inputs": [ + "production", + "^production" + ] } }, "generators": { diff --git a/package-lock.json b/package-lock.json index 3cf2a4f..93284b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@angular/platform-browser-dynamic": "~21.1.0", "@angular/router": "~21.1.0", "@rive-app/canvas": "^2.35.0", + "@rive-app/webgl2": "^2.37.4", "rxjs": "~7.8.0" }, "devDependencies": { @@ -1087,24 +1088,6 @@ "node": ">=10.13.0" } }, - "node_modules/@angular/build/node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - }, - "funding": { - "url": "https://github.com/sponsors/eemeli" - } - }, "node_modules/@angular/cli": { "version": "21.1.4", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.1.4.tgz", @@ -9983,6 +9966,12 @@ "integrity": "sha512-aBFgoM11X/YgpSKZDxOvt3P9EZz8siJ+AZ5aevwaiLwu9K1nHSumXDCdmJPp+9FWhW9Ssk9Le14BptnlCR1m7w==", "license": "MIT" }, + "node_modules/@rive-app/webgl2": { + "version": "2.37.4", + "resolved": "https://registry.npmjs.org/@rive-app/webgl2/-/webgl2-2.37.4.tgz", + "integrity": "sha512-7RPKURqHbwVGOBMwbyVosKMZ+6D2Idf3RXQz4hnEpG9xb9uRUVUw/+5AMADkOJ2qI+ZDwmBscGGkJEg3c4b4fw==", + "license": "MIT" + }, "node_modules/@rolldown/binding-android-arm64": { "version": "1.0.0-beta.58", "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.58.tgz", @@ -15911,21 +15900,6 @@ } } }, - "node_modules/data-urls/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/data-urls/node_modules/tr46": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", @@ -20909,21 +20883,6 @@ } } }, - "node_modules/jsdom/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/jsdom/node_modules/entities": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", diff --git a/package.json b/package.json index cfc2473..f48c962 100644 --- a/package.json +++ b/package.json @@ -3,11 +3,15 @@ "version": "0.0.0", "license": "MIT", "scripts": { - "build:lib": "nx build rive-angular", - "test:lib": "nx test rive-angular", - "lint:lib": "nx lint rive-angular", - "pack:lib": "cd dist/libs/rive-angular && npm pack --dry-run", - "publish:lib": "cd dist/libs/rive-angular && npm publish --access public" + "build:lib": "nx run-many -t build -p rive-angular-canvas,rive-angular-webgl2", + "test:lib": "nx run-many -t test -p rive-angular-core,rive-angular-canvas,rive-angular-webgl2", + "lint:lib": "nx run-many -t lint -p rive-angular-canvas,rive-angular-webgl2,rive-angular-core", + "pack:lib": "npm run pack:lib:canvas && npm run pack:lib:webgl2", + "pack:lib:canvas": "cd dist/libs/rive-angular-canvas && npm pack --dry-run", + "pack:lib:webgl2": "cd dist/libs/rive-angular-webgl2 && npm pack --dry-run", + "publish:lib:canvas": "cd dist/libs/rive-angular-canvas && npm publish --access public", + "publish:lib:webgl2": "cd dist/libs/rive-angular-webgl2 && npm publish --access public", + "sync:rive-angular-core": "node scripts/sync-rive-angular-core-embedded.mjs" }, "private": true, "devDependencies": { @@ -62,6 +66,7 @@ "@angular/platform-browser-dynamic": "~21.1.0", "@angular/router": "~21.1.0", "@rive-app/canvas": "^2.35.0", + "@rive-app/webgl2": "^2.37.4", "rxjs": "~7.8.0" }, "nx": { diff --git a/scripts/sync-rive-angular-core-embedded.mjs b/scripts/sync-rive-angular-core-embedded.mjs new file mode 100644 index 0000000..87cc9f8 --- /dev/null +++ b/scripts/sync-rive-angular-core-embedded.mjs @@ -0,0 +1,46 @@ +/** + * Keep embedded shared sources and renderer-agnostic implementation files in sync. + * Runtime-specific adapters, README/package metadata, and spec mocks stay package-local. + * + * Run after changing shared code: + * node scripts/sync-rive-angular-core-embedded.mjs + */ +import { cp, copyFile, rm } from 'node:fs/promises'; +import { fileURLToPath } from 'node:url'; +import { dirname, join } from 'node:path'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const root = join(__dirname, '..'); +const src = join(root, 'libs/rive-angular-core/src'); +const targets = [ + join(root, 'libs/rive-angular-canvas/src/rive-angular-core'), + join(root, 'libs/rive-angular-webgl2/src/rive-angular-core'), +]; + +for (const t of targets) { + await rm(t, { recursive: true, force: true }); + await cp(src, t, { recursive: true }); +} + +const rendererSharedFiles = [ + 'src/lib/components/index.ts', + 'src/lib/components/rive-canvas.component.ts', + 'src/lib/models/index.ts', + 'src/lib/models/rive.model.ts', + 'src/lib/services/index.ts', + 'src/lib/services/rive-file.service.ts', + 'src/lib/utils/index.ts', + 'src/lib/utils/rive-runtime.ts', + 'src/lib/utils/runtime-config.ts', +]; + +const canvasRoot = join(root, 'libs/rive-angular-canvas'); +const webgl2Root = join(root, 'libs/rive-angular-webgl2'); + +for (const file of rendererSharedFiles) { + await copyFile(join(canvasRoot, file), join(webgl2Root, file)); +} + +console.log( + 'Embedded rive-angular-core and shared renderer sources synced to canvas and webgl2 packages.', +); diff --git a/tsconfig.base.json b/tsconfig.base.json index 7306535..13321c9 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -10,13 +10,27 @@ "importHelpers": true, "target": "es2015", "module": "esnext", - "lib": ["es2020", "dom"], + "lib": [ + "es2020", + "dom" + ], "skipLibCheck": true, "skipDefaultLibCheck": true, "baseUrl": ".", "paths": { - "@grandgular/rive-angular": ["libs/rive-angular/src/index.ts"] + "@grandgular/rive-angular-canvas": [ + "libs/rive-angular-canvas/src/index.ts" + ], + "@grandgular/rive-angular-core": [ + "libs/rive-angular-core/src/index.ts" + ], + "@grandgular/rive-angular-webgl2": [ + "libs/rive-angular-webgl2/src/index.ts" + ] } }, - "exclude": ["node_modules", "tmp"] + "exclude": [ + "node_modules", + "tmp" + ] } From a49056b3ac9e1d32e3e6be32524eecbeeec82798 Mon Sep 17 00:00:00 2001 From: Andrei Shpileuski Date: Sun, 26 Apr 2026 22:34:48 +0300 Subject: [PATCH 2/2] chore: regenerate package-lock.json for npm ci on CI Sync lockfile with current dependency tree (yaml, @noble/hashes) so GitHub Actions npm install step succeeds on Node 20/22. --- package-lock.json | 32349 +++++++++++++++++++++++++------------------- 1 file changed, 18316 insertions(+), 14033 deletions(-) diff --git a/package-lock.json b/package-lock.json index 93284b5..cae8bb8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64,14 +64,6 @@ "verdaccio": "^6.0.5" } }, - "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", - "peer": true - }, "node_modules/@algolia/abtesting": { "version": "1.12.2", "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.12.2.tgz", @@ -296,13 +288,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.2101.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.4.tgz", - "integrity": "sha512-3yyebORk+ovtO+LfDjIGbGCZhCMDAsyn9vkCljARj3sSshS4blOQBar0g+V3kYAweLT5Gf+rTKbN5jneOkBAFQ==", + "version": "0.2101.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.5.tgz", + "integrity": "sha512-eTo6wWzUW5AyBBLTbaUTpBHhGbZhzteErtNGklWkhjicCr/soNH+2mVtvg8bqA8sNreYffK1VXKFsq5NyMh5qg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.1.4", + "@angular-devkit/core": "21.1.5", "rxjs": "7.8.2" }, "bin": { @@ -315,13 +307,13 @@ } }, "node_modules/@angular-devkit/core": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.4.tgz", - "integrity": "sha512-ObPTI5gYCB1jGxTRhcqZ6oQVUBFVJ8GH4LksVuAiz0nFX7xxpzARWvlhq943EtnlovVlUd9I8fM3RQqjfGVVAQ==", + "version": "21.1.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.5.tgz", + "integrity": "sha512-KUKbllHvHefkAbTBjWNpRPyrpBqecW+6HBBAR+XNbKBuFTHkG+gxtuwMXNsvO5KECKwQphvQt5h3g05Xtaf0LQ==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "8.17.1", + "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", "picomatch": "4.0.3", @@ -342,44 +334,14 @@ } } }, - "node_modules/@angular-devkit/core/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/@angular-devkit/core/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/@angular-devkit/core/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/@angular-devkit/schematics": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.4.tgz", - "integrity": "sha512-Nqq0ioCUxrbEX+L4KOarETcZZJNnJ1mAJ0ubO4VM91qnn8RBBM9SnQ91590TfC34Szk/wh+3+Uj6KUvTJNuegQ==", + "version": "21.1.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.5.tgz", + "integrity": "sha512-CGmoorQL5+mVCJEHwHWOrhSd1hFxB3h66i9wUDizJAEQUM3mSml5SiglHArpWY/G4GmFwi6XVe+Jm3U8J/mcFg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.1.4", + "@angular-devkit/core": "21.1.5", "jsonc-parser": "3.3.1", "magic-string": "0.30.21", "ora": "9.0.0", @@ -391,218 +353,10 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@angular-devkit/schematics/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/@angular-devkit/schematics/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/@angular-devkit/schematics/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/@angular-devkit/schematics/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/@angular-devkit/schematics/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/@angular-devkit/schematics/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/@angular-devkit/schematics/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/@angular-devkit/schematics/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/@angular-devkit/schematics/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/@angular-devkit/schematics/node_modules/ora": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.0.0.tgz", - "integrity": "sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==", - "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.2.2", - "string-width": "^8.1.0", - "strip-ansi": "^7.1.2" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular-devkit/schematics/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/@angular-devkit/schematics/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/@angular-devkit/schematics/node_modules/string-width": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.1.tgz", - "integrity": "sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-east-asian-width": "^1.3.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/@angular-eslint/builder": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-21.2.0.tgz", - "integrity": "sha512-wcp3J9cbrDwSeI/o1D/DSvMQa8zpKjc5WhRGTx33omhWijCfiVNEAiBLWiEx5Sb/dWcoX8yFNWY5jSgFVy9Sjw==", + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-21.3.1.tgz", + "integrity": "sha512-1f1Lyp5e7OH6txiV224HaY3G1uRCj91OSKq7hT2Vw9NRw6zWFc1anBpDeLVjpL9ptUxzUGIQR5jEV54hOPayoQ==", "dev": true, "license": "MIT", "dependencies": { @@ -611,67 +365,67 @@ }, "peerDependencies": { "@angular/cli": ">= 21.0.0 < 22.0.0", - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": "*" } }, "node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-21.2.0.tgz", - "integrity": "sha512-J0DWL+j6t9ItFIyIADvzHGqwDA1qfVJ9bx+oTmJ/Hlo7cUpIRoXpcTXpug0CEEABFH0RfDu6PDG2b0FoZ1+7bg==", + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-21.3.1.tgz", + "integrity": "sha512-jjbnJPUXQeQBJ8RM+ahlbt4GH2emVN8JvG3AhFbPci1FrqXi9cOOfkbwLmvpoyTli4LF8gy7g4ctFqnlRgqryw==", "dev": true, "license": "MIT" }, "node_modules/@angular-eslint/eslint-plugin": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-21.2.0.tgz", - "integrity": "sha512-X2Qn2viDsjm91CEMxNrxDH3qkKpp6un0C1F1BW2p/m9J4AUVfOcXwWz9UpHFSHTRQ+YlTJbiH1ZwwAPeKhFaxA==", + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-21.3.1.tgz", + "integrity": "sha512-08NNTxwawRLTWPLl8dg1BnXMwimx93y4wMEwx2aWQpJbIt4pmNvwJzd+NgoD/Ag2VdLS/gOMadhJH5fgaYKsPQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "21.2.0", - "@angular-eslint/utils": "21.2.0", + "@angular-eslint/bundled-angular-compiler": "21.3.1", + "@angular-eslint/utils": "21.3.1", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": "*" } }, "node_modules/@angular-eslint/eslint-plugin-template": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-21.2.0.tgz", - "integrity": "sha512-lJ13Dj0DjR6YiceQR0sRbyWzSzOQ6uZPwK9CJUF3wuZjYAUvL1D61zaU9QrVLtf89NVOxv+dYZHDdu3IDeIqbA==", + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-21.3.1.tgz", + "integrity": "sha512-ndPWJodkcEOu2PVUxlUwyz4D2u3r9KO7veWmStVNOLeNrICJA+nQvrz2BWCu0l48rO0K5ezsy0JFcQDVwE/5mw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "21.2.0", - "@angular-eslint/utils": "21.2.0", + "@angular-eslint/bundled-angular-compiler": "21.3.1", + "@angular-eslint/utils": "21.3.1", "aria-query": "5.3.2", "axobject-query": "4.1.0" }, "peerDependencies": { - "@angular-eslint/template-parser": "21.2.0", + "@angular-eslint/template-parser": "21.3.1", "@typescript-eslint/types": "^7.11.0 || ^8.0.0", "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": "*" } }, "node_modules/@angular-eslint/schematics": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-21.2.0.tgz", - "integrity": "sha512-WtT4fPKIUQ/hswy+l2GF/rKOdD+42L3fUzzcwRzNutQbe2tU9SimoSOAsay/ylWEuhIOQTs7ysPB8fUgFQoLpA==", + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-21.3.1.tgz", + "integrity": "sha512-1U2u4ZsZvwT30aXRLsIJf6tULIiioo9BtASNsldpYecU3/m/1+F61lCYG79qt7YWbif9KABPYZlFTJUFGN8HWA==", "dev": true, "license": "MIT", "dependencies": { "@angular-devkit/core": ">= 21.0.0 < 22.0.0", "@angular-devkit/schematics": ">= 21.0.0 < 22.0.0", - "@angular-eslint/eslint-plugin": "21.2.0", - "@angular-eslint/eslint-plugin-template": "21.2.0", + "@angular-eslint/eslint-plugin": "21.3.1", + "@angular-eslint/eslint-plugin-template": "21.3.1", "ignore": "7.0.5", - "semver": "7.7.3", + "semver": "7.7.4", "strip-json-comments": "3.1.1" }, "peerDependencies": { @@ -689,9 +443,9 @@ } }, "node_modules/@angular-eslint/schematics/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -702,63 +456,44 @@ } }, "node_modules/@angular-eslint/template-parser": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-21.2.0.tgz", - "integrity": "sha512-TCb3qYOC/uXKZCo56cJ6N9sHeWdFhyVqrbbYfFjTi09081T6jllgHDZL5Ms7gOMNY8KywWGGbhxwvzeA0RwTgA==", + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-21.3.1.tgz", + "integrity": "sha512-moERVCTekQKOvR8RMuEOtWSO3VS1qrzA3keI1dPto/JVB8Nqp9w3R5ZpEoXHzh4zgEryosxmPgdi6UczJe2ouQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "21.2.0", - "eslint-scope": "^9.0.0" + "@angular-eslint/bundled-angular-compiler": "21.3.1", + "eslint-scope": "9.1.2" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": "*" } }, - "node_modules/@angular-eslint/template-parser/node_modules/eslint-scope": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.0.tgz", - "integrity": "sha512-CkWE42hOJsNj9FJRaoMX9waUFYhqY4jmyLFdAdzZr6VaCg3ynLYx4WnOdkaIifGfH4gsUcBTn4OZbHXkpLD0FQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@angular-eslint/utils": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-21.2.0.tgz", - "integrity": "sha512-E19/hkuvHoNFvctBkmEiGWpy2bbC6cgbr3GNVrn2nGtbI4jnwnDFCGHv50I4LBfvj0PA9E6TWe73ejJ5qoMJWQ==", + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-21.3.1.tgz", + "integrity": "sha512-Q3SGA1/36phZhmsp1mYrKzp/jcmqofRr861MYn46FaWIKSYXBYRzl+H3FIJKBu5CE36Bggu6hbNpwGPuUp+MCg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "21.2.0" + "@angular-eslint/bundled-angular-compiler": "21.3.1" }, "peerDependencies": { "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": "*" } }, "node_modules/@angular/build": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.1.4.tgz", - "integrity": "sha512-7CAAQPWFMMqod40ox5MOVB/CnoBXFDehyQhs0hls6lu7bOy/M0EDy0v6bERkyNGRz1mihWWBiCV8XzEinrlq1A==", + "version": "21.1.5", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.1.5.tgz", + "integrity": "sha512-v2eDinWKlSKuk5pyMMY8j5TMFW8HA9B1l13TrDDpxsRGAAzekg7TFNyuh1x9Y6Rq4Vn+8/8pCjMUPZigzWbMhQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2101.4", + "@angular-devkit/architect": "0.2101.5", "@babel/core": "7.28.5", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", @@ -801,7 +536,7 @@ "@angular/platform-browser": "^21.0.0", "@angular/platform-server": "^21.0.0", "@angular/service-worker": "^21.0.0", - "@angular/ssr": "^21.1.4", + "@angular/ssr": "^21.1.5", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^21.0.0", @@ -850,500 +585,296 @@ } } }, - "node_modules/@angular/build/node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "node_modules/@angular/cli": { + "version": "21.1.5", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.1.5.tgz", + "integrity": "sha512-ljqvAzSk8FKMaYW/aZhR+SXjudbQViYYkMlJvJUClGpokjDM9KfJWPX+QZfr2J+piW5yaaHmFaIMddO9QxkUDQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", - "@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" + "@angular-devkit/architect": "0.2101.5", + "@angular-devkit/core": "21.1.5", + "@angular-devkit/schematics": "21.1.5", + "@inquirer/prompts": "7.10.1", + "@listr2/prompt-adapter-inquirer": "3.0.5", + "@modelcontextprotocol/sdk": "1.26.0", + "@schematics/angular": "21.1.5", + "@yarnpkg/lockfile": "1.1.0", + "algoliasearch": "5.46.2", + "ini": "6.0.0", + "jsonc-parser": "3.3.1", + "listr2": "9.0.5", + "npm-package-arg": "13.0.2", + "pacote": "21.0.4", + "parse5-html-rewriting-stream": "8.0.0", + "resolve": "1.22.11", + "semver": "7.7.3", + "yargs": "18.0.0", + "zod": "4.3.5" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@angular/build/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" + "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/build/node_modules/@vitejs/plugin-basic-ssl": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", - "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", - "dev": true, + "node_modules/@angular/common": { + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.1.6.tgz", + "integrity": "sha512-qEfwyJhebl2tHwFhKHE/ZzsCLMWnQ0u/UDS23KUA4tTWaOKH8Usu7DS1B3KnUravII8R6ZpYn86L+B903v9WxA==", "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "vite": "^6.0.0 || ^7.0.0" + "@angular/core": "21.1.6", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "node_modules/@angular/build/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, + "node_modules/@angular/compiler": { + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.1.6.tgz", + "integrity": "sha512-8RFdfbWTyx+OiRkiK2LsYPuhv8b65S3x/4+98kZRCrzP6YNjq/qsuqpfMUIKwnjok78FfhGyEx4I5LOV3Vkabw==", "license": "MIT", "dependencies": { - "readdirp": "^4.0.1" + "tslib": "^2.3.0" }, "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, - "node_modules/@angular/build/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/@angular/build/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "node_modules/@angular/compiler-cli": { + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.1.6.tgz", + "integrity": "sha512-0JU2cBDMSB4hU4KwDS2ThrkGh+Njf8Yfm11CKR0NWbHGwW1xHa7whlcpUzX/USqL+FNGXQ75R0fOcZrT86YvrA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "@babel/core": "7.28.5", + "@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" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@angular/build/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" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "@angular/compiler": "21.1.6", + "typescript": ">=5.9 <6.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@angular/build/node_modules/sass": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.1.tgz", - "integrity": "sha512-uf6HoO8fy6ClsrShvMgaKUn14f2EHQLQRtpsZZLeU/Mv0Q1K5P0+x2uvH6Cub39TVVbWNSrraUhDAoFph6vh0A==", - "dev": true, + "node_modules/@angular/core": { + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.1.6.tgz", + "integrity": "sha512-c+n9Ynq1Ar+4SOaL10C/arqBje0dUFFUaDyErXp3jPXU/L29fsFTlmKM2EWunM1RhJckYonJ/xtH0gwwrH6W9Q==", "license": "MIT", "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" + "tslib": "^2.3.0" }, "engines": { - "node": ">=14.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" + "peerDependencies": { + "@angular/compiler": "21.1.6", + "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/build/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/@angular/forms": { + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.1.6.tgz", + "integrity": "sha512-Bw3nVDWihGUGyys7oq2zdJ2MjvJvU1x1WaExYmp3rKU3S7rQXGq6IxY8bopTtHirTANrY2KUEnJ2IlK+xVg9OA==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=10" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "21.1.6", + "@angular/core": "21.1.6", + "@angular/platform-browser": "21.1.6", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "node_modules/@angular/build/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==", + "node_modules/@angular/language-service": { + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-21.1.6.tgz", + "integrity": "sha512-I2gYI9cKP/B/rUz8WVaWNpuULSdq4W+ZUm6YQyUXdGEh3dDEssK1xLucPBfUT7RAr6h7+w5/RS+zKWC1q9g24w==", "dev": true, "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, - "node_modules/@angular/build/node_modules/vite": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz", - "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", - "dev": true, + "node_modules/@angular/platform-browser": { + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.1.6.tgz", + "integrity": "sha512-im6aNcgYdIYIVW2262ATkC39WUmhc+KVNVKwKtO5jlOsq9TWmxT1/esncEAlokMe5os6eeb/Ga4D6Ghj0gj4Ig==", "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" + "tslib": "^2.3.0" }, "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "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" + "@angular/animations": "21.1.6", + "@angular/common": "21.1.6", + "@angular/core": "21.1.6" }, "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": { + "@angular/animations": { "optional": true } } }, - "node_modules/@angular/build/node_modules/watchpack": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz", - "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==", - "dev": true, + "node_modules/@angular/platform-browser-dynamic": { + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.1.6.tgz", + "integrity": "sha512-lVtHkhK/jnrGdX+4S8ItfMO+5buHAU9NMHeDq+QqalnXznMaC7Qd4BPLcRWW4QAI177zG0NE1Bet5cjO75N9+w==", "license": "MIT", "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "tslib": "^2.3.0" }, "engines": { - "node": ">=10.13.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "21.1.6", + "@angular/compiler": "21.1.6", + "@angular/core": "21.1.6", + "@angular/platform-browser": "21.1.6" } }, - "node_modules/@angular/cli": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.1.4.tgz", - "integrity": "sha512-XsMHgxTvHGiXXrhYZz3zMZYhYU0gHdpoHKGiEKXwcx+S1KoYbIssyg6oF2Kq49ZaE0OYCTKjnvgDce6ZqdkJ/A==", - "dev": true, + "node_modules/@angular/router": { + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.1.6.tgz", + "integrity": "sha512-JJn0gfeRks2czbeLmtxxjIlmKtOmjYi3yAaoAwiwpbfVHPLJeJ32axLJREAU0dBkThF8YD+r18uEJ9UrvkqrtA==", "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.2101.4", - "@angular-devkit/core": "21.1.4", - "@angular-devkit/schematics": "21.1.4", - "@inquirer/prompts": "7.10.1", - "@listr2/prompt-adapter-inquirer": "3.0.5", - "@modelcontextprotocol/sdk": "1.26.0", - "@schematics/angular": "21.1.4", - "@yarnpkg/lockfile": "1.1.0", - "algoliasearch": "5.46.2", - "ini": "6.0.0", - "jsonc-parser": "3.3.1", - "listr2": "9.0.5", - "npm-package-arg": "13.0.2", - "pacote": "21.0.4", - "parse5-html-rewriting-stream": "8.0.0", - "resolve": "1.22.11", - "semver": "7.7.3", - "yargs": "18.0.0", - "zod": "4.3.5" - }, - "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/cli/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/@angular/cli/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/@angular/cli/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" + "tslib": "^2.3.0" }, "engines": { - "node": ">=20" - } - }, - "node_modules/@angular/cli/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/@angular/cli/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/@angular/cli/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/@angular/cli/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "@angular/common": "21.1.6", + "@angular/core": "21.1.6", + "@angular/platform-browser": "21.1.6", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "node_modules/@angular/cli/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==", + "node_modules/@asamuzakjp/css-color": { + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz", + "integrity": "sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "@asamuzakjp/generational-cache": "^1.0.1", + "@csstools/css-calc": "^3.2.0", + "@csstools/css-color-parser": "^4.1.0", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, - "node_modules/@angular/cli/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "node_modules/@asamuzakjp/dom-selector": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz", + "integrity": "sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "ansi-regex": "^6.0.1" + "@asamuzakjp/generational-cache": "^1.0.1", + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.2.1", + "is-potential-custom-element-name": "^1.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, - "node_modules/@angular/cli/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==", + "node_modules/@asamuzakjp/generational-cache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz", + "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, + "peer": true, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, - "node_modules/@angular/cli/node_modules/yargs": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", - "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "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", - "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" - } + "peer": true }, - "node_modules/@angular/cli/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==", + "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==", "dev": true, - "license": "ISC", - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" - } - }, - "node_modules/@angular/common": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.1.4.tgz", - "integrity": "sha512-1uOxPrHO9PFZBU/JavzYzjxAm+5x7vD2z6AeUndqdT4LjqOBIePswxFDRqM9dlfF8FIwnnfmNFipiC/yQjJSnA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/core": "21.1.4", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/compiler": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.1.4.tgz", - "integrity": "sha512-H0qtASeqOTaS44ioF4DYE/yNqwzUmEJpMYrcNEUFEwA20/DkLzyoaEx4y1CjIxtXxuhtge95PNymDBOLWSjIdg==", "license": "MIT", "dependencies": { - "tslib": "^2.3.0" + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": ">=6.9.0" } }, - "node_modules/@angular/compiler-cli": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.1.4.tgz", - "integrity": "sha512-Uw8KmpVCo58/f5wf6pY8ZS5fodv65hn5jxms8Nv/K7/LVe3i1nNFrHyneBx5+a7qkz93nSV4rdwBVnMvjIyr+g==", + "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", - "dependencies": { - "@babel/core": "7.28.5", - "@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.1.4", - "typescript": ">=5.9 <6.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=6.9.0" } }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core": { + "node_modules/@babel/core": { "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", @@ -1374,14 +905,14 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": { + "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/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": { + "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==", @@ -1391,501 +922,433 @@ "semver": "bin/semver.js" } }, - "node_modules/@angular/compiler-cli/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "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", - "engines": { - "node": ">=12" + "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" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@angular/compiler-cli/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": ">=6.9.0" } }, - "node_modules/@angular/compiler-cli/node_modules/cliui": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", - "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "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": "ISC", + "license": "MIT", "dependencies": { - "string-width": "^7.2.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" + "@babel/types": "^7.27.3" }, "engines": { - "node": ">=20" + "node": ">=6.9.0" } }, - "node_modules/@angular/compiler-cli/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/@angular/compiler-cli/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==", + "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" + "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/@angular/compiler-cli/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==", + "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-create-class-features-plugin": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", + "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.6", + "semver": "^6.3.1" }, "engines": { - "node": ">=18" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@angular/compiler-cli/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "node_modules/@babel/helper-create-class-features-plugin/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-create-regexp-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" }, "engines": { - "node": ">=12" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@angular/compiler-cli/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==", + "node_modules/@babel/helper-create-regexp-features-plugin/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-define-polyfill-provider": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", + "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.11" }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "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": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=6.9.0" } }, - "node_modules/@angular/compiler-cli/node_modules/yargs": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", - "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", "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" + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" + "node": ">=6.9.0" } }, - "node_modules/@angular/compiler-cli/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==", + "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": "ISC", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" + "node": ">=6.9.0" } }, - "node_modules/@angular/core": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.1.4.tgz", - "integrity": "sha512-QBDO5SaVYTVQ0fIN9Qd7US9cUCgs2vM9x6K18PTUKmygIkHVHTFdzwm4MO5gpCOFzJseGbS+dNzqn+v0PaKf9g==", + "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": { - "tslib": "^2.3.0" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "@angular/compiler": "21.1.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 - } + "@babel/core": "^7.0.0" } }, - "node_modules/@angular/forms": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.1.4.tgz", - "integrity": "sha512-duVT/eOncmFNBYRlK/F7WDg6GD1vL1mxUrDdnp7M9J8JvNrKH0PvdfzuOAmjbB8/bsvUNTLFXCV4+43Mc2Hqsw==", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, "license": "MIT", "dependencies": { - "@standard-schema/spec": "^1.0.0", - "tslib": "^2.3.0" + "@babel/types": "^7.27.1" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/common": "21.1.4", - "@angular/core": "21.1.4", - "@angular/platform-browser": "21.1.4", - "rxjs": "^6.5.3 || ^7.4.0" + "node": ">=6.9.0" } }, - "node_modules/@angular/language-service": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-21.1.4.tgz", - "integrity": "sha512-E0OKcbYMJPaWlDsz4clPoFJRCgpWBSmMZtgzd4Py3C6yxTyPCZYgA43UyzUDiQI7rHHjD5V6d5EvocgSq6uBfQ==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", "dev": true, "license": "MIT", "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": ">=6.9.0" } }, - "node_modules/@angular/platform-browser": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.1.4.tgz", - "integrity": "sha512-S6Iw5CkORih5omh+MQY35w0bUBxdSFAPLDg386S6/9fEUjDClo61hvXNKxaNh9g7tnh1LD7zmTmKrqufnhnFDQ==", + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.3.0" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "@angular/animations": "21.1.4", - "@angular/common": "21.1.4", - "@angular/core": "21.1.4" - }, - "peerDependenciesMeta": { - "@angular/animations": { - "optional": true - } + "@babel/core": "^7.0.0" } }, - "node_modules/@angular/platform-browser-dynamic": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.1.4.tgz", - "integrity": "sha512-lThgNDFHPQyrx0liNX3x8wHcgp1sd/Dym19zm1PSQ67k6J4snwxZFhNlwFHVr1K86XvX/vilyeR2edPLe9lF3Q==", + "node_modules/@babel/helper-replace-supers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.3.0" + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "@angular/common": "21.1.4", - "@angular/compiler": "21.1.4", - "@angular/core": "21.1.4", - "@angular/platform-browser": "21.1.4" + "@babel/core": "^7.0.0" } }, - "node_modules/@angular/router": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.1.4.tgz", - "integrity": "sha512-nPYuRJ8ub/X8GK55U2KqYy/ducVRn6HSoDmZz0yiXtI6haFsZlv9R1j5zi0EDIqrrN0HGARMs6jNDXZC1Ded3w==", + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.3.0" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/common": "21.1.4", - "@angular/core": "21.1.4", - "@angular/platform-browser": "21.1.4", - "rxjs": "^6.5.3 || ^7.4.0" + "node": ">=6.9.0" } }, - "node_modules/@asamuzakjp/css-color": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-4.1.2.tgz", - "integrity": "sha512-NfBUvBaYgKIuq6E/RBLY1m0IohzNHAYyaJGuTK79Z23uNwmz2jl1mPsC5ZxCCxylinKhT1Amn5oNTlx1wN8cQg==", + "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", - "peer": true, "dependencies": { - "@csstools/css-calc": "^3.0.0", - "@csstools/css-color-parser": "^4.0.1", - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0", - "lru-cache": "^11.2.5" + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "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": "BlueOak-1.0.0", - "peer": true, + "license": "MIT", "engines": { - "node": "20 || >=22" + "node": ">=6.9.0" } }, - "node_modules/@asamuzakjp/dom-selector": { - "version": "6.7.8", - "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.7.8.tgz", - "integrity": "sha512-stisC1nULNc9oH5lakAj8MH88ZxeGxzyWNDfbdCxvJSJIvDsHNZqYvscGTgy/ysgXWLJPt6K/4t0/GjvtKcFJQ==", - "dev": true, - "license": "MIT", - "peer": true, - "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.5" - } - }, - "node_modules/@asamuzakjp/dom-selector/node_modules/css-tree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", - "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "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==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "peer": true, "engines": { - "node": "20 || >=22" + "node": ">=6.9.0" } }, - "node_modules/@asamuzakjp/dom-selector/node_modules/mdn-data": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", - "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", - "dev": true, - "license": "CC0-1.0", - "peer": true - }, - "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", - "peer": true - }, - "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==", + "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", - "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==", + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", + "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, "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==", + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", "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" + "@babel/types": "^7.29.0" }, "engines": { "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" } }, - "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==", + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, "bin": { - "semver": "bin/semver.js" + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "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==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", "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" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.27.3" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", "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" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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-create-class-features-plugin": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", - "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-member-expression-to-functions": "^7.28.5", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.28.6", - "semver": "^6.3.1" + "@babel/plugin-transform-optional-chaining": "^7.27.1" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/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" + "@babel/core": "^7.13.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", - "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", + "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "regexpu-core": "^6.3.1", - "semver": "^6.3.1" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1894,326 +1357,317 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin/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-define-polyfill-provider": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz", - "integrity": "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==", + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.29.0.tgz", + "integrity": "sha512-CVBVv3VY/XRMxRYq5dwr2DS7/MvqPm23cOCjbwNnVrfOqcWlnefua1uUs0sjdKOGjvPUG633o07uWzJq4oI6dA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6", - "debug": "^4.4.3", - "lodash.debounce": "^4.0.8", - "resolve": "^1.22.11" + "@babel/plugin-syntax-decorators": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "@babel/core": "^7.0.0-0" } }, - "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==", + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", - "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-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", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "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" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", - "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.27.1" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-plugin-utils": { + "node_modules/@babel/plugin-syntax-decorators": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.28.6.tgz", + "integrity": "sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", - "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", + "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-wrap-function": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-replace-supers": { + "node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", - "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.28.5", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.28.6" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", - "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.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==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", - "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", - "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", - "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", - "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", - "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.13.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", - "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/traverse": "^7.28.6" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -2222,16 +1676,14 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.29.0.tgz", - "integrity": "sha512-CVBVv3VY/XRMxRYq5dwr2DS7/MvqPm23cOCjbwNnVrfOqcWlnefua1uUs0sjdKOGjvPUG633o07uWzJq4oI6dA==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/plugin-syntax-decorators": "^7.28.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2240,12 +1692,17 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", + "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.29.0" + }, "engines": { "node": ">=6.9.0" }, @@ -2253,53 +1710,48 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", + "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -2308,13 +1760,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-decorators": { + "node_modules/@babel/plugin-transform-class-properties": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.28.6.tgz", - "integrity": "sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", + "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { @@ -2324,30 +1777,36 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { + "node_modules/@babel/plugin-transform-class-static-block": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", - "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", + "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.12.0" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { + "node_modules/@babel/plugin-transform-classes": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", - "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", + "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -2356,39 +1815,48 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", + "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/template": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-jsx": { + "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", - "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", + "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { @@ -2398,92 +1866,113 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", + "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", + "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2492,14 +1981,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2508,11 +1999,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-typescript": { + "node_modules/@babel/plugin-transform-json-strings": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", - "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", - "dev": true, + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", + "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" @@ -2524,31 +2015,30 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", - "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", + "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -2557,16 +2047,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", - "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.29.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2575,16 +2063,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", - "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-remap-async-to-generator": "^7.27.1" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2593,14 +2080,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", - "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -2609,14 +2097,17 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", - "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", + "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.29.0" }, "engines": { "node": ">=6.9.0" @@ -2625,15 +2116,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", - "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2642,36 +2133,31 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", - "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-create-regexp-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.12.0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", - "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-globals": "^7.28.0", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-replace-supers": "^7.28.6", - "@babel/traverse": "^7.28.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2680,15 +2166,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", - "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", + "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/template": "^7.28.6" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -2697,15 +2182,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", - "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", + "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.5" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -2714,15 +2198,18 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { + "node_modules/@babel/plugin-transform-object-rest-spread": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", - "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", + "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -2731,14 +2218,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { + "node_modules/@babel/plugin-transform-object-super": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", - "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2747,31 +2235,31 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", - "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", + "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", - "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", + "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2780,15 +2268,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-explicit-resource-management": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", - "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/plugin-transform-destructuring": "^7.28.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2797,13 +2284,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { + "node_modules/@babel/plugin-transform-private-methods": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", - "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", + "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { @@ -2813,14 +2301,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", - "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", + "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -2829,15 +2319,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-for-of": { + "node_modules/@babel/plugin-transform-property-literals": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", - "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2846,16 +2335,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", - "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", + "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -2864,26 +2351,27 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-json-strings": { + "node_modules/@babel/plugin-transform-regexp-modifiers": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", - "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", + "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-literals": { + "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", - "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", "dev": true, "license": "MIT", "dependencies": { @@ -2896,26 +2384,41 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", - "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", + "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { + "node_modules/@babel/plugin-transform-runtime/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/plugin-transform-shorthand-properties": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", - "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2928,15 +2431,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", - "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", + "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2945,15 +2448,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", - "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2962,17 +2464,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", - "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.29.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2981,14 +2480,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { + "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", - "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { @@ -2998,27 +2496,30 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", - "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz", + "integrity": "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.28.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-new-target": { + "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", - "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", "dev": true, "license": "MIT", "dependencies": { @@ -3031,13 +2532,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "node_modules/@babel/plugin-transform-unicode-property-regex": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", - "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", + "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { @@ -3047,14 +2549,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", - "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -3063,35 +2566,100 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-rest-spread": { + "node_modules/@babel/plugin-transform-unicode-sets-regex": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", - "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", + "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/plugin-transform-destructuring": "^7.28.5", - "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/traverse": "^7.28.6" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", - "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "node_modules/@babel/preset-env": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.2.tgz", + "integrity": "sha512-DYD23veRYGvBFhcTY1iUvJnDNpuqNd/BzBwCvzOTKUnJjKg5kpUBh3/u9585Agdkgj+QuygG7jLfOPWMa2KVNw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1" + "@babel/compat-data": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.28.6", + "@babel/plugin-syntax-import-attributes": "^7.28.6", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.29.0", + "@babel/plugin-transform-async-to-generator": "^7.28.6", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.6", + "@babel/plugin-transform-class-properties": "^7.28.6", + "@babel/plugin-transform-class-static-block": "^7.28.6", + "@babel/plugin-transform-classes": "^7.28.6", + "@babel/plugin-transform-computed-properties": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.28.6", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.6", + "@babel/plugin-transform-exponentiation-operator": "^7.28.6", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.28.6", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.28.6", + "@babel/plugin-transform-modules-systemjs": "^7.29.0", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", + "@babel/plugin-transform-numeric-separator": "^7.28.6", + "@babel/plugin-transform-object-rest-spread": "^7.28.6", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.28.6", + "@babel/plugin-transform-optional-chaining": "^7.28.6", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.28.6", + "@babel/plugin-transform-private-property-in-object": "^7.28.6", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.29.0", + "@babel/plugin-transform-regexp-modifiers": "^7.28.6", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.28.6", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.28.6", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.15", + "babel-plugin-polyfill-corejs3": "^0.14.0", + "babel-plugin-polyfill-regenerator": "^0.6.6", + "core-js-compat": "^3.48.0", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -3100,47 +2668,57 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", - "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", + "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz", + "integrity": "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-define-polyfill-provider": "^0.6.8", + "core-js-compat": "^3.48.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", - "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", + "node_modules/@babel/preset-env/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/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.27.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", - "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "node_modules/@babel/preset-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -3149,882 +2727,678 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", - "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-private-property-in-object": { + "node_modules/@babel/template": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", - "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", + "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/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", - "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "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/helper-plugin-utils": "^7.27.1" + "@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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regenerator": { + "node_modules/@babel/types": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", - "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", - "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } + "license": "MIT" }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", - "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "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", + "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "css-tree": "^3.0.0" }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "specificity": "bin/cli.js" } }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", - "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==", + "node_modules/@bufbuild/protobuf": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.12.0.tgz", + "integrity": "sha512-B/XlCaFIP8LOwzo+bz5uFzATYokcwCKQcghqnlfwSmM5eX/qTkvDBnDPs+gXtX/RyjxJ4DRikECcPJbyALA8FA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "babel-plugin-polyfill-corejs2": "^0.4.14", - "babel-plugin-polyfill-corejs3": "^0.13.0", - "babel-plugin-polyfill-regenerator": "^0.6.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "license": "(Apache-2.0 AND BSD-3-Clause)" }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/@colordx/core": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@colordx/core/-/core-5.4.2.tgz", + "integrity": "sha512-oC//VDid7CrDg+iXE/8RBq1s+MP+EFh5ggJOkpM9+ZathjC736A67Yg9LMAQULQ1blj9E0m0g8PubOu1/HniaQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } + "license": "MIT" }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", - "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", - "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "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", + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=20.19.0" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", - "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "node_modules/@csstools/css-calc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.0.tgz", + "integrity": "sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, + "peer": true, "engines": { - "node": ">=6.9.0" + "node": ">=20.19.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" } }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", - "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "node_modules/@csstools/css-color-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.0.tgz", + "integrity": "sha512-U0KhLYmy2GVj6q4T3WaAe6NPuFYCPQoE3b0dRGxejWDgcPp8TP7S5rVdM5ZrFaqu4N67X8YaPBw14dQSYx3IyQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", + "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@csstools/color-helpers": "^6.0.2", + "@csstools/css-calc": "^3.2.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.19.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", - "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "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", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, + "peer": true, "engines": { - "node": ">=6.9.0" + "node": ">=20.19.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@csstools/css-tokenizer": "^4.0.0" } }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz", - "integrity": "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==", + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.3.tgz", + "integrity": "sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/plugin-syntax-typescript": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peer": true, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", - "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "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", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=20.19.0" } }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", - "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", + "node_modules/@cypress/request": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.10.tgz", + "integrity": "sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~4.0.4", + "http-signature": "~1.4.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.14.1", + "safe-buffer": "^5.1.2", + "tough-cookie": "^5.0.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 6" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", - "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "node_modules/@cypress/request/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 0.6" } }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", - "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", + "node_modules/@cypress/request/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" + "mime-db": "1.52.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">= 0.6" } }, - "node_modules/@babel/preset-env": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.0.tgz", - "integrity": "sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==", + "node_modules/@cypress/request/node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@babel/compat-data": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.28.6", - "@babel/plugin-syntax-import-attributes": "^7.28.6", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.29.0", - "@babel/plugin-transform-async-to-generator": "^7.28.6", - "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.28.6", - "@babel/plugin-transform-class-properties": "^7.28.6", - "@babel/plugin-transform-class-static-block": "^7.28.6", - "@babel/plugin-transform-classes": "^7.28.6", - "@babel/plugin-transform-computed-properties": "^7.28.6", - "@babel/plugin-transform-destructuring": "^7.28.5", - "@babel/plugin-transform-dotall-regex": "^7.28.6", - "@babel/plugin-transform-duplicate-keys": "^7.27.1", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", - "@babel/plugin-transform-dynamic-import": "^7.27.1", - "@babel/plugin-transform-explicit-resource-management": "^7.28.6", - "@babel/plugin-transform-exponentiation-operator": "^7.28.6", - "@babel/plugin-transform-export-namespace-from": "^7.27.1", - "@babel/plugin-transform-for-of": "^7.27.1", - "@babel/plugin-transform-function-name": "^7.27.1", - "@babel/plugin-transform-json-strings": "^7.28.6", - "@babel/plugin-transform-literals": "^7.27.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", - "@babel/plugin-transform-member-expression-literals": "^7.27.1", - "@babel/plugin-transform-modules-amd": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.28.6", - "@babel/plugin-transform-modules-systemjs": "^7.29.0", - "@babel/plugin-transform-modules-umd": "^7.27.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", - "@babel/plugin-transform-new-target": "^7.27.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", - "@babel/plugin-transform-numeric-separator": "^7.28.6", - "@babel/plugin-transform-object-rest-spread": "^7.28.6", - "@babel/plugin-transform-object-super": "^7.27.1", - "@babel/plugin-transform-optional-catch-binding": "^7.28.6", - "@babel/plugin-transform-optional-chaining": "^7.28.6", - "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/plugin-transform-private-methods": "^7.28.6", - "@babel/plugin-transform-private-property-in-object": "^7.28.6", - "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.29.0", - "@babel/plugin-transform-regexp-modifiers": "^7.28.6", - "@babel/plugin-transform-reserved-words": "^7.27.1", - "@babel/plugin-transform-shorthand-properties": "^7.27.1", - "@babel/plugin-transform-spread": "^7.28.6", - "@babel/plugin-transform-sticky-regex": "^7.27.1", - "@babel/plugin-transform-template-literals": "^7.27.1", - "@babel/plugin-transform-typeof-symbol": "^7.27.1", - "@babel/plugin-transform-unicode-escapes": "^7.27.1", - "@babel/plugin-transform-unicode-property-regex": "^7.28.6", - "@babel/plugin-transform-unicode-regex": "^7.27.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.15", - "babel-plugin-polyfill-corejs3": "^0.14.0", - "babel-plugin-polyfill-regenerator": "^0.6.6", - "core-js-compat": "^3.48.0", - "semver": "^6.3.1" + "side-channel": "^1.1.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=0.6" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.0.tgz", - "integrity": "sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==", + "node_modules/@cypress/request/node_modules/tldts": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.6", - "core-js-compat": "^3.48.0" + "tldts-core": "^6.1.86" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "bin": { + "tldts": "bin/cli.js" } }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/@cypress/request/node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT" + }, + "node_modules/@cypress/request/node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^6.1.32" + }, + "engines": { + "node": ">=16" } }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" } }, - "node_modules/@babel/preset-typescript": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", - "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-typescript": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "tslib": "^2.4.0" } }, - "node_modules/@babel/runtime": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "tslib": "^2.4.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==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "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==", + "node_modules/@esbuild/android-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "cpu": [ + "arm" + ], "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" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "node_modules/@esbuild/android-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@bufbuild/protobuf": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.11.0.tgz", - "integrity": "sha512-sBXGT13cpmPR5BMgHE6UEEfEaShh5Ror6rfN3yEK5si7QVrtZg8LEPQb0VVhiLRUslD2yLnXtnRzG035J/mZXQ==", - "dev": true, - "license": "(Apache-2.0 AND BSD-3-Clause)" - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "node_modules/@esbuild/android-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@csstools/color-helpers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.1.tgz", - "integrity": "sha512-NmXRccUJMk2AWA5A7e5a//3bCIMyOu2hAtdRYrhPPHjDxINuCwX1w6rnIZ4xjLcp0ayv6h8Pc3X0eJUGiAAXHQ==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "cpu": [ + "x64" + ], "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" ], - "license": "MIT-0", - "peer": true, "engines": { - "node": ">=20.19.0" + "node": ">=18" } }, - "node_modules/@csstools/css-calc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.1.0.tgz", - "integrity": "sha512-JWouqB5za07FUA2iXZWq4gPXNGWXjRwlfwEXNr7cSsGr7OKgzhDVwkJjlsrbqSyFmDGSi1Rt7zs8ln87jX9yRg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "cpu": [ + "arm64" ], + "dev": true, "license": "MIT", - "peer": true, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0" + "node": ">=18" } }, - "node_modules/@csstools/css-color-parser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.0.1.tgz", - "integrity": "sha512-vYwO15eRBEkeF6xjAno/KQ61HacNhfQuuU/eGwH67DplL0zD5ZixUa563phQvUelA07yDczIXdtmYojCphKJcw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "cpu": [ + "x64" ], + "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "@csstools/color-helpers": "^6.0.1", - "@csstools/css-calc": "^3.0.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0" + "node": ">=18" } }, - "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" - } + "node_modules/@esbuild/linux-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "cpu": [ + "arm" ], + "dev": true, "license": "MIT", - "peer": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^4.0.0" + "node": ">=18" } }, - "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.0.27", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.27.tgz", - "integrity": "sha512-sxP33Jwg1bviSUXAV43cVYdmjt2TLnLXNqCWl9xmxHawWVjGz/kEbdkr7F9pxJNBN2Mh+dq0crgItbW6tQvyow==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "cpu": [ + "arm64" ], - "license": "MIT-0", - "peer": 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", - "peer": true, - "engines": { - "node": ">=20.19.0" - } - }, - "node_modules/@cypress/request": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.9.tgz", - "integrity": "sha512-I3l7FdGRXluAS44/0NguwWlO83J18p0vlr2FYHrJkWdNYhgVoiYo61IXPqaOsL+vNxU1ZqMACzItGK3/KKDsdw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~4.0.4", - "http-signature": "~1.4.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "performance-now": "^2.1.0", - "qs": "6.14.0", - "safe-buffer": "^5.1.2", - "tough-cookie": "^5.0.0", - "tunnel-agent": "^0.6.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@cypress/request/node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=18" } }, - "node_modules/@cypress/request/node_modules/tldts": { - "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", - "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "tldts-core": "^6.1.86" - }, - "bin": { - "tldts": "bin/cli.js" - } - }, - "node_modules/@cypress/request/node_modules/tldts-core": { - "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", - "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@cypress/request/node_modules/tough-cookie": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", - "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tldts": "^6.1.32" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=16" - } - }, - "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.4.0" + "node": ">=18" } }, - "node_modules/@esbuild/aix-ppc64": { + "node_modules/@esbuild/linux-loong64": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", - "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", "cpu": [ - "ppc64" + "loong64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "aix" + "linux" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/android-arm": { + "node_modules/@esbuild/linux-mips64el": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", - "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", "cpu": [ - "arm" + "mips64el" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "android" + "linux" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/android-arm64": { + "node_modules/@esbuild/linux-ppc64": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", - "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", "cpu": [ - "arm64" + "ppc64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "android" + "linux" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/android-x64": { + "node_modules/@esbuild/linux-riscv64": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", - "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", "cpu": [ - "x64" + "riscv64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "android" + "linux" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/darwin-arm64": { + "node_modules/@esbuild/linux-s390x": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", - "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", "cpu": [ - "arm64" + "s390x" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "darwin" + "linux" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/darwin-x64": { + "node_modules/@esbuild/linux-x64": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", - "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", "cpu": [ "x64" ], @@ -4032,16 +3406,16 @@ "license": "MIT", "optional": true, "os": [ - "darwin" + "linux" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/freebsd-arm64": { + "node_modules/@esbuild/netbsd-arm64": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", - "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", "cpu": [ "arm64" ], @@ -4049,16 +3423,16 @@ "license": "MIT", "optional": true, "os": [ - "freebsd" + "netbsd" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/freebsd-x64": { + "node_modules/@esbuild/netbsd-x64": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", - "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", "cpu": [ "x64" ], @@ -4066,256 +3440,69 @@ "license": "MIT", "optional": true, "os": [ - "freebsd" + "netbsd" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/linux-arm": { + "node_modules/@esbuild/openbsd-arm64": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", - "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", "cpu": [ - "arm" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" + "openbsd" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/linux-arm64": { + "node_modules/@esbuild/openbsd-x64": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", - "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", "cpu": [ - "arm64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" + "openbsd" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/linux-ia32": { + "node_modules/@esbuild/openharmony-arm64": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", - "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", "cpu": [ - "ia32" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" + "openharmony" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/linux-loong64": { + "node_modules/@esbuild/sunos-x64": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", - "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", - "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", - "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", - "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", - "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", - "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", - "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", - "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", - "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", - "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", - "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", - "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", - "cpu": [ - "x64" + "x64" ], "dev": true, "license": "MIT", @@ -4408,24 +3595,31 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", "dev": true, "license": "Apache-2.0", "dependencies": { "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", - "minimatch": "^3.1.2" + "minimatch": "^3.1.5" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/config-array/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -4434,9 +3628,9 @@ } }, "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -4473,20 +3667,20 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^6.12.4", + "ajv": "^6.14.0", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.1", - "minimatch": "^3.1.2", + "minimatch": "^3.1.5", "strip-json-comments": "^3.1.1" }, "engines": { @@ -4497,9 +3691,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -4513,10 +3707,17 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/@eslint/eslintrc/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -4524,6 +3725,19 @@ "concat-map": "0.0.1" } }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", @@ -4545,9 +3759,9 @@ "license": "MIT" }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -4558,9 +3772,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", "dev": true, "license": "MIT", "engines": { @@ -4594,10 +3808,39 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "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", + "peer": true, + "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.3", + "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", + "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/@hono/node-server": { - "version": "1.19.9", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz", - "integrity": "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==", + "version": "1.19.14", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.14.tgz", + "integrity": "sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==", "dev": true, "license": "MIT", "engines": { @@ -4608,29 +3851,43 @@ } }, "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, "engines": { "node": ">=18.18.0" } }, "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanfs/core": "^0.19.1", + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" }, "engines": { "node": ">=18.18.0" } }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -4744,38 +4001,10 @@ } } }, - "node_modules/@inquirer/core/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/@inquirer/core/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/@inquirer/editor": { - "version": "4.2.23", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz", - "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==", + "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": { @@ -4840,23 +4069,6 @@ } } }, - "node_modules/@inquirer/external-editor/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/@inquirer/figures": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", @@ -5121,39 +4333,14 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "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.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -5210,76 +4397,10 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "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==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", + "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", "dev": true, "license": "MIT", "engines": { @@ -5287,67 +4408,56 @@ } }, "node_modules/@jest/console": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.2.0.tgz", - "integrity": "sha512-+O1ifRjkvYIkBqASKWgLxrpEhQAAE7hY77ALLUufSk5717KfOShg6IbqLmdsLMPdUiFvA2kTs0R7YZy+l0IzZQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.3.0.tgz", + "integrity": "sha512-PAwCvFJ4696XP2qZj+LAn1BWjZaJ6RjG6c7/lkMaUJnkyMS34ucuIsfqYvfskVNvUI27R/u4P1HMYFnlVXG/Ww==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "@types/node": "*", "chalk": "^4.1.2", - "jest-message-util": "30.2.0", - "jest-util": "30.2.0", + "jest-message-util": "30.3.0", + "jest-util": "30.3.0", "slash": "^3.0.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/console/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/core": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.2.0.tgz", - "integrity": "sha512-03W6IhuhjqTlpzh/ojut/pDB2LPRygyWX8ExpgHtQA8H/3K7+1vKmcINx5UzeOX1se6YEsBsOHQ1CRzf3fOwTQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.3.0.tgz", + "integrity": "sha512-U5mVPsBxLSO6xYbf+tgkymLx+iAhvZX43/xI1+ej2ZOPnPdkdO1CzDmFKh2mZBn2s4XZixszHeQnzp1gm/DIxw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.2.0", + "@jest/console": "30.3.0", "@jest/pattern": "30.0.1", - "@jest/reporters": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", + "@jest/reporters": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", "@types/node": "*", "ansi-escapes": "^4.3.2", "chalk": "^4.1.2", "ci-info": "^4.2.0", "exit-x": "^0.2.2", "graceful-fs": "^4.2.11", - "jest-changed-files": "30.2.0", - "jest-config": "30.2.0", - "jest-haste-map": "30.2.0", - "jest-message-util": "30.2.0", + "jest-changed-files": "30.3.0", + "jest-config": "30.3.0", + "jest-haste-map": "30.3.0", + "jest-message-util": "30.3.0", "jest-regex-util": "30.0.1", - "jest-resolve": "30.2.0", - "jest-resolve-dependencies": "30.2.0", - "jest-runner": "30.2.0", - "jest-runtime": "30.2.0", - "jest-snapshot": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", - "jest-watcher": "30.2.0", - "micromatch": "^4.0.8", - "pretty-format": "30.2.0", + "jest-resolve": "30.3.0", + "jest-resolve-dependencies": "30.3.0", + "jest-runner": "30.3.0", + "jest-runtime": "30.3.0", + "jest-snapshot": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", + "jest-watcher": "30.3.0", + "pretty-format": "30.3.0", "slash": "^3.0.0" }, "engines": { @@ -5362,20 +4472,10 @@ } } }, - "node_modules/@jest/core/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/diff-sequences": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", - "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.3.0.tgz", + "integrity": "sha512-cG51MVnLq1ecVUaQ3fr6YuuAOitHK1S4WUJHnsPFE/quQr33ADUx1FfrTCpMCRxvy0Yr9BThKpDjSlcTi91tMA==", "dev": true, "license": "MIT", "engines": { @@ -5383,35 +4483,35 @@ } }, "node_modules/@jest/environment": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.2.0.tgz", - "integrity": "sha512-/QPTL7OBJQ5ac09UDRa3EQes4gt1FTEG/8jZ/4v5IVzx+Cv7dLxlVIvfvSVRiiX2drWyXeBjkMSR8hvOWSog5g==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.3.0.tgz", + "integrity": "sha512-SlLSF4Be735yQXyh2+mctBOzNDx5s5uLv88/j8Qn1wH679PDcwy67+YdADn8NJnGjzlXtN62asGH/T4vWOkfaw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "30.2.0", - "@jest/types": "30.2.0", + "@jest/fake-timers": "30.3.0", + "@jest/types": "30.3.0", "@types/node": "*", - "jest-mock": "30.2.0" + "jest-mock": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/environment-jsdom-abstract": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.2.0.tgz", - "integrity": "sha512-kazxw2L9IPuZpQ0mEt9lu9Z98SqR74xcagANmMBU16X0lS23yPc0+S6hGLUz8kVRlomZEs/5S/Zlpqwf5yu6OQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.3.0.tgz", + "integrity": "sha512-0hNFs5N6We3DMCwobzI0ydhkY10sT1tZSC0AAiy+0g2Dt/qEWgrcV5BrMxPczhe41cxW4qm6X+jqZaUdpZIajA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/fake-timers": "30.2.0", - "@jest/types": "30.2.0", + "@jest/environment": "30.3.0", + "@jest/fake-timers": "30.3.0", + "@jest/types": "30.3.0", "@types/jsdom": "^21.1.7", "@types/node": "*", - "jest-mock": "30.2.0", - "jest-util": "30.2.0" + "jest-mock": "30.3.0", + "jest-util": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -5427,23 +4527,23 @@ } }, "node_modules/@jest/expect": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.2.0.tgz", - "integrity": "sha512-V9yxQK5erfzx99Sf+7LbhBwNWEZ9eZay8qQ9+JSC0TrMR1pMDHLMY+BnVPacWU6Jamrh252/IKo4F1Xn/zfiqA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.3.0.tgz", + "integrity": "sha512-76Nlh4xJxk2D/9URCn3wFi98d2hb19uWE1idLsTt2ywhvdOldbw3S570hBgn25P4ICUZ/cBjybrBex2g17IDbg==", "dev": true, "license": "MIT", "dependencies": { - "expect": "30.2.0", - "jest-snapshot": "30.2.0" + "expect": "30.3.0", + "jest-snapshot": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.2.0.tgz", - "integrity": "sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.3.0.tgz", + "integrity": "sha512-j0+W5iQQ8hBh7tHZkTQv3q2Fh/M7Je72cIsYqC4OaktgtO7v1So9UTjp6uPBHIaB6beoF/RRsCgMJKvti0wADA==", "dev": true, "license": "MIT", "dependencies": { @@ -5454,18 +4554,18 @@ } }, "node_modules/@jest/fake-timers": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.2.0.tgz", - "integrity": "sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.3.0.tgz", + "integrity": "sha512-WUQDs8SOP9URStX1DzhD425CqbN/HxUYCTwVrT8sTVBfMvFqYt/s61EK5T05qnHu0po6RitXIvP9otZxYDzTGQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.2.0", - "@sinonjs/fake-timers": "^13.0.0", + "@jest/types": "30.3.0", + "@sinonjs/fake-timers": "^15.0.0", "@types/node": "*", - "jest-message-util": "30.2.0", - "jest-mock": "30.2.0", - "jest-util": "30.2.0" + "jest-message-util": "30.3.0", + "jest-mock": "30.3.0", + "jest-util": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -5482,16 +4582,16 @@ } }, "node_modules/@jest/globals": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.2.0.tgz", - "integrity": "sha512-b63wmnKPaK+6ZZfpYhz9K61oybvbI1aMcIs80++JI1O1rR1vaxHUCNqo3ITu6NU0d4V34yZFoHMn/uoKr/Rwfw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.3.0.tgz", + "integrity": "sha512-+owLCBBdfpgL3HU+BD5etr1SvbXpSitJK0is1kiYjJxAAJggYMRQz5hSdd5pq1sSggfxPbw2ld71pt4x5wwViA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/expect": "30.2.0", - "@jest/types": "30.2.0", - "jest-mock": "30.2.0" + "@jest/environment": "30.3.0", + "@jest/expect": "30.3.0", + "@jest/types": "30.3.0", + "jest-mock": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -5512,32 +4612,32 @@ } }, "node_modules/@jest/reporters": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.2.0.tgz", - "integrity": "sha512-DRyW6baWPqKMa9CzeiBjHwjd8XeAyco2Vt8XbcLFjiwCOEKOvy82GJ8QQnJE9ofsxCMPjH4MfH8fCWIHHDKpAQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.3.0.tgz", + "integrity": "sha512-a09z89S+PkQnL055bVj8+pe2Caed2PBOaczHcXCykW5ngxX9EWx/1uAwncxc/HiU0oZqfwseMjyhxgRjS49qPw==", "dev": true, "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", + "@jest/console": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", "@jridgewell/trace-mapping": "^0.3.25", "@types/node": "*", "chalk": "^4.1.2", "collect-v8-coverage": "^1.0.2", "exit-x": "^0.2.2", - "glob": "^10.3.10", + "glob": "^10.5.0", "graceful-fs": "^4.2.11", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-instrument": "^6.0.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^5.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "30.2.0", - "jest-util": "30.2.0", - "jest-worker": "30.2.0", + "jest-message-util": "30.3.0", + "jest-util": "30.3.0", + "jest-worker": "30.3.0", "slash": "^3.0.0", "string-length": "^4.0.2", "v8-to-istanbul": "^9.0.1" @@ -5554,49 +4654,6 @@ } } }, - "node_modules/@jest/reporters/node_modules/jest-worker": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.2.0.tgz", - "integrity": "sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@ungap/structured-clone": "^1.3.0", - "jest-util": "30.2.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.1.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/@jest/schemas": { "version": "30.0.5", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", @@ -5611,13 +4668,13 @@ } }, "node_modules/@jest/snapshot-utils": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.2.0.tgz", - "integrity": "sha512-0aVxM3RH6DaiLcjj/b0KrIBZhSX1373Xci4l3cW5xiUWPctZ59zQ7jj4rqcJQ/Z8JuN/4wX3FpJSa3RssVvCug==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.3.0.tgz", + "integrity": "sha512-ORbRN9sf5PP82v3FXNSwmO1OTDR2vzR2YTaR+E3VkSBZ8zadQE6IqYdYEeFH1NIkeB2HIGdF02dapb6K0Mj05g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", "natural-compare": "^1.4.0" @@ -5642,14 +4699,14 @@ } }, "node_modules/@jest/test-result": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.2.0.tgz", - "integrity": "sha512-RF+Z+0CCHkARz5HT9mcQCBulb1wgCP3FBvl9VFokMX27acKphwyQsNuWH3c+ojd1LeWBLoTYoxF0zm6S/66mjg==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.3.0.tgz", + "integrity": "sha512-e/52nJGuD74AKTSe0P4y5wFRlaXP0qmrS17rqOMHeSwm278VyNyXE3gFO/4DTGF9w+65ra3lo3VKj0LBrzmgdQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.2.0", - "@jest/types": "30.2.0", + "@jest/console": "30.3.0", + "@jest/types": "30.3.0", "@types/istanbul-lib-coverage": "^2.0.6", "collect-v8-coverage": "^1.0.2" }, @@ -5658,50 +4715,39 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.2.0.tgz", - "integrity": "sha512-wXKgU/lk8fKXMu/l5Hog1R61bL4q5GCdT6OJvdAFz1P+QrpoFuLU68eoKuVc4RbrTtNnTL5FByhWdLgOPSph+Q==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.3.0.tgz", + "integrity": "sha512-dgbWy9b8QDlQeRZcv7LNF+/jFiiYHTKho1xirauZ7kVwY7avjFF6uTT0RqlgudB5OuIPagFdVtfFMosjVbk1eA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "30.2.0", + "@jest/test-result": "30.3.0", "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", + "jest-haste-map": "30.3.0", "slash": "^3.0.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/test-sequencer/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/transform": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.2.0.tgz", - "integrity": "sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.3.0.tgz", + "integrity": "sha512-TLKY33fSLVd/lKB2YI1pH69ijyUblO/BQvCj566YvnwuzoTNr648iE0j22vRvVNk2HsPwByPxATg3MleS3gf5A==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.27.4", - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "@jridgewell/trace-mapping": "^0.3.25", "babel-plugin-istanbul": "^7.0.1", "chalk": "^4.1.2", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", + "jest-haste-map": "30.3.0", "jest-regex-util": "30.0.1", - "jest-util": "30.2.0", - "micromatch": "^4.0.8", + "jest-util": "30.3.0", "pirates": "^4.0.7", "slash": "^3.0.0", "write-file-atomic": "^5.0.1" @@ -5710,20 +4756,17 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/transform/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/@jest/transform/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", - "engines": { - "node": ">=8" - } + "license": "MIT" }, "node_modules/@jest/types": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.2.0.tgz", - "integrity": "sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.3.0.tgz", + "integrity": "sha512-JHm87k7bA33hpBngtU8h6UBub/fqqA9uXfw+21j5Hmk7ooPHlboRNxHq0JcMtC+n8VJGP1mcfnD3Mk+XKe1oSw==", "dev": true, "license": "MIT", "dependencies": { @@ -5852,14 +4895,14 @@ } }, "node_modules/@jsonjoy.com/fs-core": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.56.10.tgz", - "integrity": "sha512-PyAEA/3cnHhsGcdY+AmIU+ZPqTuZkDhCXQ2wkXypdLitSpd6d5Ivxhnq4wa2ETRWFVJGabYynBWxIijOswSmOw==", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.57.2.tgz", + "integrity": "sha512-SVjwklkpIV5wrynpYtuYnfYH1QF4/nDuLBX7VXdb+3miglcAgBVZb/5y0cOsehRV/9Vb+3UqhkMq3/NR3ztdkQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-node-builtins": "4.56.10", - "@jsonjoy.com/fs-node-utils": "4.56.10", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", "thingies": "^2.5.0" }, "engines": { @@ -5874,15 +4917,15 @@ } }, "node_modules/@jsonjoy.com/fs-fsa": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.56.10.tgz", - "integrity": "sha512-/FVK63ysNzTPOnCCcPoPHt77TOmachdMS422txM4KhxddLdbW1fIbFMYH0AM0ow/YchCyS5gqEjKLNyv71j/5Q==", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.57.2.tgz", + "integrity": "sha512-fhO8+iR2I+OCw668ISDJdn1aArc9zx033sWejIyzQ8RBeXa9bDSaUeA3ix0poYOfrj1KdOzytmYNv2/uLDfV6g==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-core": "4.56.10", - "@jsonjoy.com/fs-node-builtins": "4.56.10", - "@jsonjoy.com/fs-node-utils": "4.56.10", + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", "thingies": "^2.5.0" }, "engines": { @@ -5897,17 +4940,17 @@ } }, "node_modules/@jsonjoy.com/fs-node": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.56.10.tgz", - "integrity": "sha512-7R4Gv3tkUdW3dXfXiOkqxkElxKNVdd8BDOWC0/dbERd0pXpPY+s2s1Mino+aTvkGrFPiY+mmVxA7zhskm4Ue4Q==", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.57.2.tgz", + "integrity": "sha512-nX2AdL6cOFwLdju9G4/nbRnYevmCJbh7N7hvR3gGm97Cs60uEjyd0rpR+YBS7cTg175zzl22pGKXR5USaQMvKg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-core": "4.56.10", - "@jsonjoy.com/fs-node-builtins": "4.56.10", - "@jsonjoy.com/fs-node-utils": "4.56.10", - "@jsonjoy.com/fs-print": "4.56.10", - "@jsonjoy.com/fs-snapshot": "4.56.10", + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/fs-print": "4.57.2", + "@jsonjoy.com/fs-snapshot": "4.57.2", "glob-to-regex.js": "^1.0.0", "thingies": "^2.5.0" }, @@ -5923,9 +4966,9 @@ } }, "node_modules/@jsonjoy.com/fs-node-builtins": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.56.10.tgz", - "integrity": "sha512-uUnKz8R0YJyKq5jXpZtkGV9U0pJDt8hmYcLRrPjROheIfjMXsz82kXMgAA/qNg0wrZ1Kv+hrg7azqEZx6XZCVw==", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.57.2.tgz", + "integrity": "sha512-xhiegylRmhw43Ki2HO1ZBL7DQ5ja/qpRsL29VtQ2xuUHiuDGbgf2uD4p9Qd8hJI5P6RCtGYD50IXHXVq/Ocjcg==", "dev": true, "license": "Apache-2.0", "engines": { @@ -5940,15 +4983,15 @@ } }, "node_modules/@jsonjoy.com/fs-node-to-fsa": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.56.10.tgz", - "integrity": "sha512-oH+O6Y4lhn9NyG6aEoFwIBNKZeYy66toP5LJcDOMBgL99BKQMUf/zWJspdRhMdn/3hbzQsZ8EHHsuekbFLGUWw==", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.57.2.tgz", + "integrity": "sha512-18LmWTSONhoAPW+IWRuf8w/+zRolPFGPeGwMxlAhhfY11EKzX+5XHDBPAw67dBF5dxDErHJbl40U+3IXSDRXSQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-fsa": "4.56.10", - "@jsonjoy.com/fs-node-builtins": "4.56.10", - "@jsonjoy.com/fs-node-utils": "4.56.10" + "@jsonjoy.com/fs-fsa": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2" }, "engines": { "node": ">=10.0" @@ -5962,13 +5005,13 @@ } }, "node_modules/@jsonjoy.com/fs-node-utils": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.56.10.tgz", - "integrity": "sha512-8EuPBgVI2aDPwFdaNQeNpHsyqPi3rr+85tMNG/lHvQLiVjzoZsvxA//Xd8aB567LUhy4QS03ptT+unkD/DIsNg==", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.57.2.tgz", + "integrity": "sha512-rsPSJgekz43IlNbLyAM/Ab+ouYLWGp5DDBfYBNNEqDaSpsbXfthBn29Q4muFA9L0F+Z3mKo+CWlgSCXrf+mOyQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-node-builtins": "4.56.10" + "@jsonjoy.com/fs-node-builtins": "4.57.2" }, "engines": { "node": ">=10.0" @@ -5982,13 +5025,13 @@ } }, "node_modules/@jsonjoy.com/fs-print": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.56.10.tgz", - "integrity": "sha512-JW4fp5mAYepzFsSGrQ48ep8FXxpg4niFWHdF78wDrFGof7F3tKDJln72QFDEn/27M1yHd4v7sKHHVPh78aWcEw==", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.57.2.tgz", + "integrity": "sha512-wK9NSow48i4DbDl9F1CQE5TqnyZOJ04elU3WFG5aJ76p+YxO/ulyBBQvKsessPxdo381Bc2pcEoyPujMOhcRqQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-node-utils": "4.56.10", + "@jsonjoy.com/fs-node-utils": "4.57.2", "tree-dump": "^1.1.0" }, "engines": { @@ -6003,14 +5046,14 @@ } }, "node_modules/@jsonjoy.com/fs-snapshot": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.56.10.tgz", - "integrity": "sha512-DkR6l5fj7+qj0+fVKm/OOXMGfDFCGXLfyHkORH3DF8hxkpDgIHbhf/DwncBMs2igu/ST7OEkexn1gIqoU6Y+9g==", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.57.2.tgz", + "integrity": "sha512-GdduDZuoP5V/QCgJkx9+BZ6SC0EZ/smXAdTS7PfMqgMTGXLlt/bH/FqMYaqB9JmLf05sJPtO0XRbAwwkEEPbVw==", "dev": true, "license": "Apache-2.0", "dependencies": { "@jsonjoy.com/buffers": "^17.65.0", - "@jsonjoy.com/fs-node-utils": "4.56.10", + "@jsonjoy.com/fs-node-utils": "4.57.2", "@jsonjoy.com/json-pack": "^17.65.0", "@jsonjoy.com/util": "^17.65.0" }, @@ -6393,1017 +5436,747 @@ } } }, - "node_modules/@modelcontextprotocol/sdk/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==", + "node_modules/@module-federation/bridge-react-webpack-plugin": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-2.3.3.tgz", + "integrity": "sha512-W2jQ3Wuqree9Dq3UAx8jGbYtvHuuYgzrd2j9FP8Bt6NaynaNU1yYG86MBnAhZJPTltex0CguudR1dgFpYdvLUg==", "dev": true, "license": "MIT", "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" + "@module-federation/sdk": "2.3.3", + "@types/semver": "7.5.8", + "semver": "7.6.3" + } + }, + "node_modules/@module-federation/bridge-react-webpack-plugin/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 0.6" + "node": ">=10" } }, - "node_modules/@modelcontextprotocol/sdk/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==", + "node_modules/@module-federation/cli": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/cli/-/cli-2.3.3.tgz", + "integrity": "sha512-g3f3aEruv07zK4VcUlAllswrp2ncA/jF0P0yoEWNRa9K7N+xNCfqcdzw2aVWOJ30qNMurhLWuyzYqfDIx0LpfQ==", "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" + "@module-federation/dts-plugin": "2.3.3", + "@module-federation/sdk": "2.3.3", + "commander": "11.1.0", + "jiti": "2.4.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/@modelcontextprotocol/sdk/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" + "bin": { + "mf": "bin/mf.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/@modelcontextprotocol/sdk/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": ">=16.0.0" } }, - "node_modules/@modelcontextprotocol/sdk/node_modules/express": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "node_modules/@module-federation/data-prefetch": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/data-prefetch/-/data-prefetch-2.3.3.tgz", + "integrity": "sha512-ZM1QtyjbWYnhUizHFhwYjHGXlkZek3vzTpL35d5FkAhVrOU0u0Qv6zpZjdcCm0FJznqVsUQx1w0vagUyGWQf0g==", "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" + "@module-federation/runtime": "2.3.3", + "@module-federation/sdk": "2.3.3" }, - "engines": { - "node": ">= 18" + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@modelcontextprotocol/sdk/node_modules/finalhandler": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", - "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "node_modules/@module-federation/dts-plugin": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/dts-plugin/-/dts-plugin-2.3.3.tgz", + "integrity": "sha512-VNtURt+hvieNKCBleAqHKffLAU4clKmuuqLQIbvDkFbGe4bo7hUaq5DruTnJBWWDOizZx0OQrdQYPijCnBK6UQ==", "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" + "@module-federation/error-codes": "2.3.3", + "@module-federation/managers": "2.3.3", + "@module-federation/sdk": "2.3.3", + "@module-federation/third-party-dts-extractor": "2.3.3", + "adm-zip": "0.5.10", + "ansi-colors": "4.1.3", + "isomorphic-ws": "5.0.0", + "node-schedule": "2.1.1", + "undici": "7.24.7", + "ws": "8.18.0" }, - "engines": { - "node": ">= 18.0.0" + "peerDependencies": { + "typescript": "^4.9.0 || ^5.0.0", + "vue-tsc": ">=1.0.24" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "peerDependenciesMeta": { + "vue-tsc": { + "optional": true + } } }, - "node_modules/@modelcontextprotocol/sdk/node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "node_modules/@module-federation/dts-plugin/node_modules/undici": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.7.tgz", + "integrity": "sha512-H/nlJ/h0ggGC+uRL3ovD+G0i4bqhvsDOpbDv7At5eFLlj2b41L8QliGbnl2H7SnDiYhENphh1tQFJZf+MyfLsQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=20.18.1" } }, - "node_modules/@modelcontextprotocol/sdk/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" + "node_modules/@module-federation/enhanced": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/enhanced/-/enhanced-2.3.3.tgz", + "integrity": "sha512-BJSs56lqO9NI9aC+hVhg2CU/UwG1TphVl1b7WBx6Jv6DYUyVQbgXeQpgqYVsxYVRKYOl7eDZmjXl2eA/n1IP/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/bridge-react-webpack-plugin": "2.3.3", + "@module-federation/cli": "2.3.3", + "@module-federation/data-prefetch": "2.3.3", + "@module-federation/dts-plugin": "2.3.3", + "@module-federation/error-codes": "2.3.3", + "@module-federation/inject-external-runtime-core-plugin": "2.3.3", + "@module-federation/managers": "2.3.3", + "@module-federation/manifest": "2.3.3", + "@module-federation/rspack": "2.3.3", + "@module-federation/runtime-tools": "2.3.3", + "@module-federation/sdk": "2.3.3", + "@module-federation/webpack-bundler-runtime": "2.3.3", + "schema-utils": "4.3.0", + "tapable": "2.3.0", + "upath": "2.0.1" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "mf": "bin/mf.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "peerDependencies": { + "typescript": "^4.9.0 || ^5.0.0", + "vue-tsc": ">=1.0.24", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue-tsc": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/@modelcontextprotocol/sdk/node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "node_modules/@module-federation/error-codes": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-2.3.3.tgz", + "integrity": "sha512-UVtKBoKnRDcHgByIDvPRZSxQqjqbNH7NvJm1KHLoce33+EDiIdZYs0HvvUQv43RgESpB9s7HjrqFlq3bEcAgfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@module-federation/inject-external-runtime-core-plugin": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/inject-external-runtime-core-plugin/-/inject-external-runtime-core-plugin-2.3.3.tgz", + "integrity": "sha512-ImSft6hOkMdnpZX8O+RydwkYENxhAwT92n1OAT3Xf01DXMrEpSO0PqBlPGgontxuiaV9dM2/xWSLGuIWaOtupA==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8" + "peerDependencies": { + "@module-federation/runtime-tools": "2.3.3" } }, - "node_modules/@modelcontextprotocol/sdk/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==", + "node_modules/@module-federation/managers": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/managers/-/managers-2.3.3.tgz", + "integrity": "sha512-sYL0t2guakJ+nDSQANH54uz5q1YxaNCn5C3lr+7BoRD49dX7Z6k7094yqOPEy8trzqdIoQVFpgewVA6IC/FeyQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@module-federation/sdk": "2.3.3", + "find-pkg": "2.0.0" } }, - "node_modules/@modelcontextprotocol/sdk/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==", + "node_modules/@module-federation/manifest": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/manifest/-/manifest-2.3.3.tgz", + "integrity": "sha512-mAEXuo5sGt8FUDzftU8f0ci0PbsZIDcLRYX9AkXwbXg0JRyVEvWyiBrEKF+zZuy7YM7eRdyp6JjLJPDzufhj5w==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "@module-federation/dts-plugin": "2.3.3", + "@module-federation/managers": "2.3.3", + "@module-federation/sdk": "2.3.3", + "find-pkg": "2.0.0" } }, - "node_modules/@modelcontextprotocol/sdk/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==", + "node_modules/@module-federation/node": { + "version": "2.7.41", + "resolved": "https://registry.npmjs.org/@module-federation/node/-/node-2.7.41.tgz", + "integrity": "sha512-ZaNrfX+7ua8UvnRa6qgrDtViU9Oz3oBGpFprldU8ek0NB2QWNACu9RMU7fHdTD/FKlzGVLi/LgdKnNKkmJD2TA==", "dev": true, "license": "MIT", "dependencies": { - "mime-db": "^1.54.0" + "@module-federation/enhanced": "2.3.3", + "@module-federation/runtime": "2.3.3", + "@module-federation/sdk": "2.3.3", + "encoding": "0.1.13", + "node-fetch": "2.7.0", + "tapable": "2.3.0" }, - "engines": { - "node": ">=18" + "peerDependencies": { + "webpack": "^5.40.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "peerDependenciesMeta": { + "webpack": { + "optional": true + } } }, - "node_modules/@modelcontextprotocol/sdk/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==", + "node_modules/@module-federation/node/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, "engines": { - "node": ">= 0.6" + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/@modelcontextprotocol/sdk/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==", + "node_modules/@module-federation/node/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@module-federation/node/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/@module-federation/node/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "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" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/@modelcontextprotocol/sdk/node_modules/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", - "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "node_modules/@module-federation/rspack": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/rspack/-/rspack-2.3.3.tgz", + "integrity": "sha512-4s3G+wXZ6J3rKe0EeZnGLQUM7y+qpiI5NM3U6ylZuxD8q7mAwQVHThbH6ruDYUNDVEOc6N0j/+/LdfGRw+e5xw==", "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" + "@module-federation/bridge-react-webpack-plugin": "2.3.3", + "@module-federation/dts-plugin": "2.3.3", + "@module-federation/inject-external-runtime-core-plugin": "2.3.3", + "@module-federation/managers": "2.3.3", + "@module-federation/manifest": "2.3.3", + "@module-federation/runtime-tools": "2.3.3", + "@module-federation/sdk": "2.3.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/@modelcontextprotocol/sdk/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/@modelcontextprotocol/sdk/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/@module-federation/bridge-react-webpack-plugin": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-0.21.6.tgz", - "integrity": "sha512-lJMmdhD4VKVkeg8RHb+Jwe6Ou9zKVgjtb1inEURDG/sSS2ksdZA8pVKLYbRPRbdmjr193Y8gJfqFbI2dqoyc/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/sdk": "0.21.6", - "@types/semver": "7.5.8", - "semver": "7.6.3" - } - }, - "node_modules/@module-federation/bridge-react-webpack-plugin/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "peerDependencies": { + "@rspack/core": "^0.7.0 || ^1.0.0 || ^2.0.0-0", + "typescript": "^4.9.0 || ^5.0.0", + "vue-tsc": ">=1.0.24" }, - "engines": { - "node": ">=10" + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue-tsc": { + "optional": true + } } }, - "node_modules/@module-federation/cli": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/cli/-/cli-0.21.6.tgz", - "integrity": "sha512-qNojnlc8pTyKtK7ww3i/ujLrgWwgXqnD5DcDPsjADVIpu7STaoaVQ0G5GJ7WWS/ajXw6EyIAAGW/AMFh4XUxsQ==", + "node_modules/@module-federation/runtime": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-2.3.3.tgz", + "integrity": "sha512-JYJ3qv9V85DtBtT/ppDuJNwBTUrYqqZDYcyiTzwY5+44dC5QPvgJ//F+BOhAhZ02WkZV0b4jsKTyLOC3vXKGqQ==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/dts-plugin": "0.21.6", - "@module-federation/sdk": "0.21.6", - "chalk": "3.0.0", - "commander": "11.1.0", - "jiti": "2.4.2" - }, - "bin": { - "mf": "bin/mf.js" - }, - "engines": { - "node": ">=16.0.0" + "@module-federation/error-codes": "2.3.3", + "@module-federation/runtime-core": "2.3.3", + "@module-federation/sdk": "2.3.3" } }, - "node_modules/@module-federation/cli/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/@module-federation/runtime-core": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-2.3.3.tgz", + "integrity": "sha512-B07LDH9KxhBO3GbULGW64mQFVQBtrEd3PoaCBm7XR1IbU8rMQUJQjDNVZgXYcyhRPBVP+3KWZuiaKFRiNb6PQw==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "@module-federation/error-codes": "2.3.3", + "@module-federation/sdk": "2.3.3" } }, - "node_modules/@module-federation/data-prefetch": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/data-prefetch/-/data-prefetch-0.21.6.tgz", - "integrity": "sha512-8HD7ZhtWZ9vl6i3wA7M8cEeCRdtvxt09SbMTfqIPm+5eb/V4ijb8zGTYSRhNDb5RCB+BAixaPiZOWKXJ63/rVw==", + "node_modules/@module-federation/runtime-tools": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-2.3.3.tgz", + "integrity": "sha512-XODzyLbBYcy4wnYBXKIBqaHPVfBx1HshGdjZmSctDDnx9/VYgdx9DShb6UI+WuQBKJgPzTcx4xbvbCM4SdMilQ==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/runtime": "0.21.6", - "@module-federation/sdk": "0.21.6", - "fs-extra": "9.1.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "@module-federation/runtime": "2.3.3", + "@module-federation/webpack-bundler-runtime": "2.3.3" } }, - "node_modules/@module-federation/dts-plugin": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/dts-plugin/-/dts-plugin-0.21.6.tgz", - "integrity": "sha512-YIsDk8/7QZIWn0I1TAYULniMsbyi2LgKTi9OInzVmZkwMC6644x/ratTWBOUDbdY1Co+feNkoYeot1qIWv2L7w==", + "node_modules/@module-federation/sdk": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-2.3.3.tgz", + "integrity": "sha512-mwCS+LQdqiSc6fM5iz/S60ibaFNSH6kNqlZkCRIuS4yjdZ+jgnihz+6xp1QzppvfFgKLhEHBiXOmcYOdk3Ckew==", "dev": true, "license": "MIT", - "dependencies": { - "@module-federation/error-codes": "0.21.6", - "@module-federation/managers": "0.21.6", - "@module-federation/sdk": "0.21.6", - "@module-federation/third-party-dts-extractor": "0.21.6", - "adm-zip": "^0.5.10", - "ansi-colors": "^4.1.3", - "axios": "^1.12.0", - "chalk": "3.0.0", - "fs-extra": "9.1.0", - "isomorphic-ws": "5.0.0", - "koa": "3.0.3", - "lodash.clonedeepwith": "4.5.0", - "log4js": "6.9.1", - "node-schedule": "2.1.1", - "rambda": "^9.1.0", - "ws": "8.18.0" - }, "peerDependencies": { - "typescript": "^4.9.0 || ^5.0.0", - "vue-tsc": ">=1.0.24" + "node-fetch": "^3.3.2" }, "peerDependenciesMeta": { - "vue-tsc": { + "node-fetch": { "optional": true } } }, - "node_modules/@module-federation/dts-plugin/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/@module-federation/third-party-dts-extractor": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-2.3.3.tgz", + "integrity": "sha512-rR94TjC1QVQLQPTazI0waLc76hI8dnv6aHTl+PUEIY9s5hXp8TA85XS0QJQqIf2KTjlPgZbWAwyFjOAJluTjaw==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "find-pkg": "2.0.0", + "resolve": "1.22.8" } }, - "node_modules/@module-federation/enhanced": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/enhanced/-/enhanced-0.21.6.tgz", - "integrity": "sha512-8PFQxtmXc6ukBC4CqGIoc96M2Ly9WVwCPu4Ffvt+K/SB6rGbeFeZoYAwREV1zGNMJ5v5ly6+AHIEOBxNuSnzSg==", + "node_modules/@module-federation/third-party-dts-extractor/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/bridge-react-webpack-plugin": "0.21.6", - "@module-federation/cli": "0.21.6", - "@module-federation/data-prefetch": "0.21.6", - "@module-federation/dts-plugin": "0.21.6", - "@module-federation/error-codes": "0.21.6", - "@module-federation/inject-external-runtime-core-plugin": "0.21.6", - "@module-federation/managers": "0.21.6", - "@module-federation/manifest": "0.21.6", - "@module-federation/rspack": "0.21.6", - "@module-federation/runtime-tools": "0.21.6", - "@module-federation/sdk": "0.21.6", - "btoa": "^1.2.1", - "schema-utils": "^4.3.0", - "upath": "2.0.1" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { - "mf": "bin/mf.js" - }, - "peerDependencies": { - "typescript": "^4.9.0 || ^5.0.0", - "vue-tsc": ">=1.0.24", - "webpack": "^5.0.0" + "resolve": "bin/resolve" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "vue-tsc": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/@module-federation/error-codes": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.21.6.tgz", - "integrity": "sha512-MLJUCQ05KnoVl8xd6xs9a5g2/8U+eWmVxg7xiBMeR0+7OjdWUbHwcwgVFatRIwSZvFgKHfWEiI7wsU1q1XbTRQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@module-federation/inject-external-runtime-core-plugin": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/inject-external-runtime-core-plugin/-/inject-external-runtime-core-plugin-0.21.6.tgz", - "integrity": "sha512-DJQne7NQ988AVi3QB8byn12FkNb+C2lBeU1NRf8/WbL0gmHsr6kW8hiEJCm8LYaURwtsQqtsEV7i+8+51qjSmQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@module-federation/runtime-tools": "0.21.6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@module-federation/managers": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/managers/-/managers-0.21.6.tgz", - "integrity": "sha512-BeV6m2/7kF5MDVz9JJI5T8h8lMosnXkH2bOxxFewcra7ZjvDOgQu7WIio0mgk5l1zjNPvnEVKhnhrenEdcCiWg==", + "node_modules/@module-federation/webpack-bundler-runtime": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-2.3.3.tgz", + "integrity": "sha512-W+P6ZF9J3gwnQuoF07YV0OiR1D6sI/uErUu4+c3QXxka3orANUHujkddNSsDxL1obAGoJa7Da99crZKf7u2j/w==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/sdk": "0.21.6", - "find-pkg": "2.0.0", - "fs-extra": "9.1.0" + "@module-federation/error-codes": "2.3.3", + "@module-federation/runtime": "2.3.3", + "@module-federation/sdk": "2.3.3" } }, - "node_modules/@module-federation/manifest": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/manifest/-/manifest-0.21.6.tgz", - "integrity": "sha512-yg93+I1qjRs5B5hOSvjbjmIoI2z3th8/yst9sfwvx4UDOG1acsE3HHMyPN0GdoIGwplC/KAnU5NmUz4tREUTGQ==", + "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", - "dependencies": { - "@module-federation/dts-plugin": "0.21.6", - "@module-federation/managers": "0.21.6", - "@module-federation/sdk": "0.21.6", - "chalk": "3.0.0", - "find-pkg": "2.0.0" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@module-federation/manifest/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@module-federation/node": { - "version": "2.7.32", - "resolved": "https://registry.npmjs.org/@module-federation/node/-/node-2.7.32.tgz", - "integrity": "sha512-hUj5v2GGwpNzl2gaJS4AyzCYRzJBhN8875A+ucKF9tq3jaQb5zpy3izYMISqqbN2q9a7jz3nEUgwAh3pjri+rQ==", + "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", - "dependencies": { - "@module-federation/enhanced": "2.0.1", - "@module-federation/runtime": "2.0.1", - "@module-federation/sdk": "2.0.1", - "btoa": "1.2.1", - "encoding": "^0.1.13", - "node-fetch": "2.7.0" - }, - "peerDependencies": { - "webpack": "^5.40.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@module-federation/node/node_modules/@module-federation/bridge-react-webpack-plugin": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-2.0.1.tgz", - "integrity": "sha512-D7LMW5EMAJShOMR1aZDAJ6s+MdsYDHaQyJADLQ3LaY0sne/BkVqkPikUwcO1IwOwKbXjYsDlQVOEvk9wZVRFhA==", + "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", - "dependencies": { - "@module-federation/sdk": "2.0.1", - "@types/semver": "7.5.8", - "semver": "7.6.3" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@module-federation/node/node_modules/@module-federation/cli": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/cli/-/cli-2.0.1.tgz", - "integrity": "sha512-2SL5Y8iODNX10y9T3CBLhHjSXo4afnA1BK82m4sNfZebuVO+o34bxewqwod9xfWq9xhTZmOSFZ+n+lgTKRv+CQ==", + "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", - "dependencies": { - "@module-federation/dts-plugin": "2.0.1", - "@module-federation/sdk": "2.0.1", - "chalk": "3.0.0", - "commander": "11.1.0", - "jiti": "2.4.2" - }, - "bin": { - "mf": "bin/mf.js" - }, - "engines": { - "node": ">=16.0.0" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@module-federation/node/node_modules/@module-federation/data-prefetch": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/data-prefetch/-/data-prefetch-2.0.1.tgz", - "integrity": "sha512-Kq0P1OABGt6QAvs6TaE/zY9Ut9Y/oJFrzoSF3eWaCYbUAr2KD2SpTyMsPz4ssBzjeKXTgimugh6tHHd6mpCBIQ==", + "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", - "dependencies": { - "@module-federation/runtime": "2.0.1", - "@module-federation/sdk": "2.0.1", - "fs-extra": "9.1.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@module-federation/node/node_modules/@module-federation/dts-plugin": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/dts-plugin/-/dts-plugin-2.0.1.tgz", - "integrity": "sha512-PLneTsf1fQS5/RTBedtLAAmCPRdMfIlhfJkOa8QH3WDJaQsqm8Wb3r2cTUBf2aNj/bP3aH/y6Hs9JFB/4x0l5g==", + "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", - "dependencies": { - "@module-federation/error-codes": "2.0.1", - "@module-federation/managers": "2.0.1", - "@module-federation/sdk": "2.0.1", - "@module-federation/third-party-dts-extractor": "2.0.1", - "adm-zip": "^0.5.10", - "ansi-colors": "^4.1.3", - "axios": "^1.12.0", - "chalk": "3.0.0", - "fs-extra": "9.1.0", - "isomorphic-ws": "5.0.0", - "koa": "3.0.3", - "lodash.clonedeepwith": "4.5.0", - "log4js": "6.9.1", - "node-schedule": "2.1.1", - "rambda": "^9.1.0", - "ws": "8.18.0" - }, - "peerDependencies": { - "typescript": "^4.9.0 || ^5.0.0", - "vue-tsc": ">=1.0.24" - }, - "peerDependenciesMeta": { - "vue-tsc": { - "optional": true - } - } - }, - "node_modules/@module-federation/node/node_modules/@module-federation/enhanced": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/enhanced/-/enhanced-2.0.1.tgz", - "integrity": "sha512-EZIARQ/8ScoTP6PV8+E4SsmMYWK4ErrikZJ0G/FX8wvK8mCtdoKatFtvDN9++P6Nl78kN9zHYgAV4AHKdBVjfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/bridge-react-webpack-plugin": "2.0.1", - "@module-federation/cli": "2.0.1", - "@module-federation/data-prefetch": "2.0.1", - "@module-federation/dts-plugin": "2.0.1", - "@module-federation/error-codes": "2.0.1", - "@module-federation/inject-external-runtime-core-plugin": "2.0.1", - "@module-federation/managers": "2.0.1", - "@module-federation/manifest": "2.0.1", - "@module-federation/rspack": "2.0.1", - "@module-federation/runtime-tools": "2.0.1", - "@module-federation/sdk": "2.0.1", - "btoa": "^1.2.1", - "schema-utils": "^4.3.0", - "upath": "2.0.1" - }, - "bin": { - "mf": "bin/mf.js" + "optional": true, + "engines": { + "node": ">= 10" }, - "peerDependencies": { - "typescript": "^4.9.0 || ^5.0.0", - "vue-tsc": ">=1.0.24", - "webpack": "^5.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "vue-tsc": { - "optional": true - }, - "webpack": { - "optional": true - } + "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/@module-federation/node/node_modules/@module-federation/error-codes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-2.0.1.tgz", - "integrity": "sha512-2bJF/ft+qL9L6Zvq2t/G9/f/0wFL73cM8/NJ04uyYz9BjIgvx28K5qu8/6+IwgEEKATG7vOhBBVj6wH3S+5ASA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@module-federation/node/node_modules/@module-federation/inject-external-runtime-core-plugin": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/inject-external-runtime-core-plugin/-/inject-external-runtime-core-plugin-2.0.1.tgz", - "integrity": "sha512-oAA7G+4GCHM+WRYfscR/x4GwCyM9CEqfdD9/x2L6y8mtLWK9anRLKTocsI759AvzXsbT1m3EQ5ki1O6wlwDu3g==", + "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", - "peerDependencies": { - "@module-federation/runtime-tools": "2.0.1" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@module-federation/node/node_modules/@module-federation/managers": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/managers/-/managers-2.0.1.tgz", - "integrity": "sha512-KR01lSlcYRQ9C6hW2a8CQQtAE0LvfTLgtV/6ZNUTagw8sRfeDln+ggrZsYilKu9zl0i8RPDgpv/kS60o4lcxCQ==", + "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", - "dependencies": { - "@module-federation/sdk": "2.0.1", - "find-pkg": "2.0.0", - "fs-extra": "9.1.0" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@module-federation/node/node_modules/@module-federation/manifest": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/manifest/-/manifest-2.0.1.tgz", - "integrity": "sha512-p8nYGjHWp17MsYdW/Vv0ogBDiTTsI1PHWPQbvVIqLQXDqwiesaRSRR1zziECXQoEL8lV5Bs+uSkcaJGhea9P+A==", + "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", - "dependencies": { - "@module-federation/dts-plugin": "2.0.1", - "@module-federation/managers": "2.0.1", - "@module-federation/sdk": "2.0.1", - "chalk": "3.0.0", - "find-pkg": "2.0.0" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@module-federation/node/node_modules/@module-federation/rspack": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/rspack/-/rspack-2.0.1.tgz", - "integrity": "sha512-SAlNE8iclFmzrKtx3/C2GivXYx6nPzx4MgQV01QG/a4LpnLbwlxzdZu3rqQ2swp4NNWT/t/GT7Y+7gfhyVa7mg==", + "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", - "dependencies": { - "@module-federation/bridge-react-webpack-plugin": "2.0.1", - "@module-federation/dts-plugin": "2.0.1", - "@module-federation/inject-external-runtime-core-plugin": "2.0.1", - "@module-federation/managers": "2.0.1", - "@module-federation/manifest": "2.0.1", - "@module-federation/runtime-tools": "2.0.1", - "@module-federation/sdk": "2.0.1", - "btoa": "1.2.1" - }, - "peerDependencies": { - "@rspack/core": "^0.7.0 || ^1.0.0 || ^2.0.0-0", - "typescript": "^4.9.0 || ^5.0.0", - "vue-tsc": ">=1.0.24" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "vue-tsc": { - "optional": true - } + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@module-federation/node/node_modules/@module-federation/runtime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-2.0.1.tgz", - "integrity": "sha512-UQ72P5Oo40dS6vdhHetwTtIsbGciEr+bjoYvDgh1WLPfFlTYd8zo9cLfqaf3juuPfV3cMVARAVPmh16lQYpUGA==", + "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", - "dependencies": { - "@module-federation/error-codes": "2.0.1", - "@module-federation/runtime-core": "2.0.1", - "@module-federation/sdk": "2.0.1" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@module-federation/node/node_modules/@module-federation/runtime-core": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-2.0.1.tgz", - "integrity": "sha512-gOuCPSHoQGUGwlxfSTMInFX+QvLxdEWegGGMiLdU5vqbXuva4E9M+kXBBO7/0MkcBPMmVs0wOJGm0XOLeV2f1Q==", + "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", - "dependencies": { - "@module-federation/error-codes": "2.0.1", - "@module-federation/sdk": "2.0.1" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@module-federation/node/node_modules/@module-federation/runtime-tools": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-2.0.1.tgz", - "integrity": "sha512-AStdwBtsGB3jIfDg9oP+KyVPsimdaeHsP855gqCxDp1hi2+GKjlZWZx9ThkS8NytVSXSUysxqoUL1ivDoKgcCQ==", + "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, + "libc": [ + "glibc" + ], "license": "MIT", - "dependencies": { - "@module-federation/runtime": "2.0.1", - "@module-federation/webpack-bundler-runtime": "2.0.1" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@module-federation/node/node_modules/@module-federation/sdk": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-2.0.1.tgz", - "integrity": "sha512-32PwudojGjog51cwpTali7D6ud82oVgsyvOx9JjAzhvXBX96YI4mRsursuWcthDxmigJP9ZvUTXDuRUEDh1OQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@module-federation/node/node_modules/@module-federation/third-party-dts-extractor": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-2.0.1.tgz", - "integrity": "sha512-neKSr6FNUeGRh+YR57l/QZUzPytJXuJx+babF7j5iGJG3FP+kfizr6QD0hgVis5KEoXMVbQ8yyvG0slERizeyw==", + "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, + "libc": [ + "musl" + ], "license": "MIT", - "dependencies": { - "find-pkg": "2.0.0", - "fs-extra": "9.1.0", - "resolve": "1.22.8" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@module-federation/node/node_modules/@module-federation/webpack-bundler-runtime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-2.0.1.tgz", - "integrity": "sha512-u1NId3SF4lHDTmD2CHFEszulmXmIq1TGw9JYvnLx5rKJL7xt3aNxcb1GvkaYbRNVBXhSMjJ75E5LsQlZzyBx9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/runtime": "2.0.1", - "@module-federation/sdk": "2.0.1" - } - }, - "node_modules/@module-federation/node/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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, + "libc": [ + "glibc" + ], "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/@module-federation/node/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "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, + "libc": [ + "glibc" + ], "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/@module-federation/node/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" - } - }, - "node_modules/@module-federation/rspack": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/rspack/-/rspack-0.21.6.tgz", - "integrity": "sha512-SB+z1P+Bqe3R6geZje9dp0xpspX6uash+zO77nodmUy8PTTBlkL7800Cq2FMLKUdoTZHJTBVXf0K6CqQWSlItg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/bridge-react-webpack-plugin": "0.21.6", - "@module-federation/dts-plugin": "0.21.6", - "@module-federation/inject-external-runtime-core-plugin": "0.21.6", - "@module-federation/managers": "0.21.6", - "@module-federation/manifest": "0.21.6", - "@module-federation/runtime-tools": "0.21.6", - "@module-federation/sdk": "0.21.6", - "btoa": "1.2.1" - }, - "peerDependencies": { - "@rspack/core": ">=0.7", - "typescript": "^4.9.0 || ^5.0.0", - "vue-tsc": ">=1.0.24" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "vue-tsc": { - "optional": true - } - } - }, - "node_modules/@module-federation/runtime": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.21.6.tgz", - "integrity": "sha512-+caXwaQqwTNh+CQqyb4mZmXq7iEemRDrTZQGD+zyeH454JAYnJ3s/3oDFizdH6245pk+NiqDyOOkHzzFQorKhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/error-codes": "0.21.6", - "@module-federation/runtime-core": "0.21.6", - "@module-federation/sdk": "0.21.6" - } - }, - "node_modules/@module-federation/runtime-core": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-0.21.6.tgz", - "integrity": "sha512-5Hd1Y5qp5lU/aTiK66lidMlM/4ji2gr3EXAtJdreJzkY+bKcI5+21GRcliZ4RAkICmvdxQU5PHPL71XmNc7Lsw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/error-codes": "0.21.6", - "@module-federation/sdk": "0.21.6" - } - }, - "node_modules/@module-federation/runtime-tools": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.21.6.tgz", - "integrity": "sha512-fnP+ZOZTFeBGiTAnxve+axGmiYn2D60h86nUISXjXClK3LUY1krUfPgf6MaD4YDJ4i51OGXZWPekeMe16pkd8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/runtime": "0.21.6", - "@module-federation/webpack-bundler-runtime": "0.21.6" - } - }, - "node_modules/@module-federation/sdk": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.21.6.tgz", - "integrity": "sha512-x6hARETb8iqHVhEsQBysuWpznNZViUh84qV2yE7AD+g7uIzHKiYdoWqj10posbo5XKf/147qgWDzKZoKoEP2dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@module-federation/third-party-dts-extractor": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-0.21.6.tgz", - "integrity": "sha512-Il6x4hLsvCgZNk1DFwuMBNeoxD1BsZ5AW2BI/nUgu0k5FiAvfcz1OFawRFEHtaM/kVrCsymMOW7pCao90DaX3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-pkg": "2.0.0", - "fs-extra": "9.1.0", - "resolve": "1.22.8" - } - }, - "node_modules/@module-federation/third-party-dts-extractor/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/@module-federation/webpack-bundler-runtime": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.21.6.tgz", - "integrity": "sha512-7zIp3LrcWbhGuFDTUMLJ2FJvcwjlddqhWGxi/MW3ur1a+HaO8v5tF2nl+vElKmbG1DFLU/52l3PElVcWf/YcsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/runtime": "0.21.6", - "@module-federation/sdk": "0.21.6" + "node": ">= 10" } }, - "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==", + "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": [ - "arm64" + "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ - "darwin" - ] + "linux" + ], + "engines": { + "node": ">= 10" + } }, - "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==", + "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, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ - "darwin" - ] + "linux" + ], + "engines": { + "node": ">= 10" + } }, - "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==", + "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": [ - "arm" + "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": ">= 10" + } }, - "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==", + "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" ], @@ -7411,494 +6184,290 @@ "license": "MIT", "optional": true, "os": [ - "linux" - ] + "openharmony" + ], + "engines": { + "node": ">= 10" + } }, - "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==", + "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": [ - "x64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" - ] + "win32" + ], + "engines": { + "node": ">= 10" + } }, - "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==", + "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": [ - "x64" + "ia32" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": ">= 10" + } }, - "node_modules/@napi-rs/nice": { + "node_modules/@napi-rs/nice-win32-x64-msvc": { "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==", + "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": [ - "arm" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "android" + "win32" ], "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" - ], + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", + "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" + "dependencies": { + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@tybys/wasm-util": "^0.10.1" } }, - "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, + "node_modules/@noble/hashes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", + "extraneous": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">= 10" + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "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" - ], + "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": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "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": ">= 10" + "node": "^20.17.0 || >=22.9.0" } }, - "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" - ], + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "BlueOak-1.0.0", "engines": { - "node": ">= 10" + "node": "20 || >=22" } }, - "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" - ], + "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": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, "engines": { - "node": ">= 10" + "node": "^20.17.0 || >=22.9.0" } }, - "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" - ], + "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": "MIT", - "optional": true, - "os": [ - "linux" - ], + "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": ">= 10" + "node": "^20.17.0 || >=22.9.0" } }, - "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" - ], + "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": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "BlueOak-1.0.0", "engines": { - "node": ">= 10" + "node": ">=20" } }, - "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" - ], + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "BlueOak-1.0.0", "engines": { - "node": ">= 10" + "node": "20 || >=22" } }, - "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" - ], + "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": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, "engines": { - "node": ">= 10" + "node": "^20.17.0 || >=22.9.0" } }, - "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" - ], + "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": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", + "dependencies": { + "npm-bundled": "^5.0.0", + "npm-normalize-package-bin": "^5.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, "engines": { - "node": ">= 10" + "node": "^20.17.0 || >=22.9.0" } }, - "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": "0.2.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", - "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@emnapi/core": "^1.1.0", - "@emnapi/runtime": "^1.1.0", - "@tybys/wasm-util": "^0.9.0" - } - }, - "node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "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": "MIT", + "license": "ISC", "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "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": "MIT", + "license": "ISC", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@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": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@npmcli/package-json/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": "MIT", + "license": "BlueOak-1.0.0", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": ">= 8" - } - }, - "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" + "node": "18 || 20 || >=22" }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "node_modules/@npmcli/package-json/node_modules/lru-cache": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "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==", + "node_modules/@npmcli/package-json/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": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "semver": "^7.3.5" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/git": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.1.tgz", - "integrity": "sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA==", + "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": { - "@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", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", "which": "^6.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/@npmcli/git/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/@npmcli/git/node_modules/isexe": { + "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==", @@ -7908,17 +6477,7 @@ "node": ">=20" } }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@npmcli/git/node_modules/which": { + "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==", @@ -7934,825 +6493,4477 @@ "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/@npmcli/installed-package-contents": { + "node_modules/@npmcli/redact": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz", - "integrity": "sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz", + "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==", "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==", + "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/@npmcli/package-json": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.4.tgz", - "integrity": "sha512-0wInJG3j/K40OJt/33ax47WfWMzZTm6OQxB9cDhTt5huCP2a9g2GnlsxmfN+PulItNPIpPrZ+kfwwUil7eHcZQ==", + "node_modules/@nx/angular": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/angular/-/angular-22.7.0.tgz", + "integrity": "sha512-1kiBPGif7DS4oef3O8n0JyGKwE9IiielsY21TdY5cZA0CD2e3Vez/omL33TSh57G/MA5nzfm1AambWjnLxUz5Q==", "dev": true, - "license": "ISC", + "license": "MIT", "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", - "validate-npm-package-license": "^3.0.4" + "@nx/devkit": "22.7.0", + "@nx/eslint": "22.7.0", + "@nx/js": "22.7.0", + "@nx/module-federation": "22.7.0", + "@nx/rspack": "22.7.0", + "@nx/web": "22.7.0", + "@nx/webpack": "22.7.0", + "@nx/workspace": "22.7.0", + "@phenomnomnominal/tsquery": "~6.1.4", + "@typescript-eslint/type-utils": "^8.0.0", + "enquirer": "~2.3.6", + "magic-string": "~0.30.2", + "picocolors": "^1.1.0", + "picomatch": "4.0.4", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "webpack-merge": "^5.8.0" }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@npmcli/package-json/node_modules/@isaacs/cliui": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz", - "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/@npmcli/package-json/node_modules/balanced-match": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.2.tgz", - "integrity": "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "jackspeak": "^4.2.3" + "peerDependencies": { + "@angular-devkit/build-angular": ">= 19.0.0 < 22.0.0", + "@angular-devkit/core": ">= 19.0.0 < 22.0.0", + "@angular-devkit/schematics": ">= 19.0.0 < 22.0.0", + "@angular/build": ">= 19.0.0 < 22.0.0", + "@schematics/angular": ">= 19.0.0 < 22.0.0", + "ng-packagr": ">= 19.0.0 < 22.0.0", + "rxjs": "^6.5.3 || ^7.5.0" }, - "engines": { - "node": "20 || >=22" + "peerDependenciesMeta": { + "@angular-devkit/build-angular": { + "optional": true + }, + "@angular/build": { + "optional": true + }, + "ng-packagr": { + "optional": true + } } }, - "node_modules/@npmcli/package-json/node_modules/brace-expansion": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", - "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "node_modules/@nx/angular/node_modules/@emnapi/core": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "20 || >=22" + "@emnapi/wasi-threads": "1.0.4", + "tslib": "^2.4.0" } }, - "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "13.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.3.tgz", - "integrity": "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA==", + "node_modules/@nx/angular/node_modules/@emnapi/runtime": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "minimatch": "^10.2.0", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "tslib": "^2.4.0" } }, - "node_modules/@npmcli/package-json/node_modules/jackspeak": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz", - "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==", + "node_modules/@nx/angular/node_modules/@emnapi/wasi-threads": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "@isaacs/cliui": "^9.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "tslib": "^2.4.0" } }, - "node_modules/@npmcli/package-json/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==", + "node_modules/@nx/angular/node_modules/@jest/diff-sequences": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", + "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", "dev": true, "license": "MIT", "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@npmcli/package-json/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@npmcli/package-json/node_modules/minimatch": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.0.tgz", - "integrity": "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==", + "node_modules/@nx/angular/node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", + "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "brace-expansion": "^5.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" } }, - "node_modules/@npmcli/package-json/node_modules/path-scurry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", - "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "node_modules/@nx/angular/node_modules/@nx/eslint": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-22.7.0.tgz", + "integrity": "sha512-KaGAkF8ZNdNZ6qu0Lq5aDRu6fQ6Zx4EM2Bf5b43LinPTN5l1x9U8LFLRETWoh03/kSwm6dfdGMEWOvSAuFgAdQ==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "typescript": "~5.9.2" }, - "engines": { - "node": "20 || >=22" + "peerDependencies": { + "@nx/jest": "22.7.0", + "@zkochan/js-yaml": "0.0.7", + "eslint": "^8.0.0 || ^9.0.0 || ^10.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "@nx/jest": { + "optional": true + }, + "@zkochan/js-yaml": { + "optional": true + } } }, - "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", + "node_modules/@nx/angular/node_modules/@nx/jest": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-22.7.0.tgz", + "integrity": "sha512-r30QIXb0QdUYvueWfOHrB66e544mj6q7n7kahvkyk1PrJsqhAGKkJFp+igpRNyeDcKAFLEHcpdbejhfKLTTKFw==", + "extraneous": true, + "license": "MIT", "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" + "@jest/reporters": "^30.0.2", + "@jest/test-result": "^30.0.2", + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "@phenomnomnominal/tsquery": "~6.1.4", + "identity-obj-proxy": "3.0.0", + "jest-config": "^30.0.2", + "jest-resolve": "^30.0.2", + "jest-util": "^30.0.2", + "minimatch": "10.2.4", + "picocolors": "^1.1.0", + "resolve.exports": "2.0.3", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" } }, - "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==", + "node_modules/@nx/angular/node_modules/@nx/js": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-22.7.0.tgz", + "integrity": "sha512-/ZreqwA1McpGn4kRLMnt9+UTIqCLlZp/OzVes1YOcIfzZ6LYQtL/aOVaYkpv/IB/9ojT0qHpAvLHnoHFzQtpCQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "isexe": "^4.0.0" + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nx/devkit": "22.7.0", + "@nx/workspace": "22.7.0", + "@zkochan/js-yaml": "0.0.7", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "jsonc-parser": "3.2.0", + "npm-run-path": "^4.0.1", + "picocolors": "^1.1.0", + "picomatch": "4.0.4", + "semver": "^7.6.3", + "source-map-support": "0.5.19", + "tinyglobby": "^0.2.12", + "tslib": "^2.3.0" }, - "bin": { - "node-which": "bin/which.js" + "peerDependencies": { + "verdaccio": "^6.0.5" }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } } }, - "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==", + "node_modules/@nx/angular/node_modules/@nx/nx-darwin-arm64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.7.0.tgz", + "integrity": "sha512-WczfOkv7bVSi0i4bLFmMLqdcRllJr+CLO0ibVapGHxdaOkNPCgSDxBVYC/0eg8yyMsPXQu8daaTvOlODNJw9GQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@npmcli/run-script": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz", - "integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==", + "node_modules/@nx/angular/node_modules/@nx/nx-darwin-x64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-22.7.0.tgz", + "integrity": "sha512-KGBq43lJbDjIpIAU5/sJFJQokGgCu/0KVe5pO2u9hMO2A9VaVtud5bGbDpkBiWoYBK9BLM3YpbG/RB74unxWxg==", + "cpu": [ + "x64" + ], "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", - "which": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@npmcli/run-script/node_modules/isexe": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", - "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "node_modules/@nx/angular/node_modules/@nx/nx-freebsd-x64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.7.0.tgz", + "integrity": "sha512-DKOHaFC7Ko4+nlin/us8FEfBBgnpifZie4LELgo2nI044GlazGHJArtRSdLq3qKfWXqtieOKO3R4YV09Ax37Rg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=20" - } + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", - "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "node_modules/@nx/angular/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.7.0.tgz", + "integrity": "sha512-LaZSE4FGk8KFyKF8grlhcoBWJabxkn7moO2QfULm3i1GY1AYu7bbxVZG42cAdGENqliCB8V2ARBWrMKq6mqW2g==", + "cpu": [ + "arm" + ], "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^4.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@nx/angular": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/angular/-/angular-22.5.0.tgz", - "integrity": "sha512-HKSMe1vQSCCgqe4ljbZkXcqPZS4/hbtCcRGkgbm9KJL9YH7gfXZF823Ff66MGTL2rkVixXlaJlHVWZlN7tOhVQ==", + "node_modules/@nx/angular/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.7.0.tgz", + "integrity": "sha512-g0GJ2avp0wuxHCQ2fjlMVjez4TWBtfj0jLCzO2I9M3B6ui0V+9Wh66DO5pLwyQFGbxODgwz9vwrEEZKlbDrchA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/angular/node_modules/@nx/nx-linux-arm64-musl": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.7.0.tgz", + "integrity": "sha512-xb72G+LrhZNrWXOAd6aoDQmhzO5GKq6dkAYqhtOTAklCwIo5/4dkvqvFEe5RIQ7pk6RzdD2cUZMTJTr99rSGTg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/angular/node_modules/@nx/nx-linux-x64-gnu": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.7.0.tgz", + "integrity": "sha512-win7DkwxThhGWJlJ0s9HLxPzam/wz5MbQhKTQmLehHz8mgFJOu6MqzrccDxuT1E93dODedtxJuAyW4c80mpp4A==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/angular/node_modules/@nx/nx-linux-x64-musl": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.7.0.tgz", + "integrity": "sha512-lU7yT+CsZFPCH3dZAVynhyJxa5w8rwCVtbDYbBa703DkNgb8/CQAthyE7NN2fjfzeQ0YpXoV3O/iX6sVY1sdjA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/angular/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.7.0.tgz", + "integrity": "sha512-e8P0ZSPJpaAjiIitcJAjdSCeCxAMjt5OqM6kZYUiwpHVnB31YAEe8feNvQcfvhyMjx/AXFQlBztHh8kANvdlLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/angular/node_modules/@nx/nx-win32-x64-msvc": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.7.0.tgz", + "integrity": "sha512-NWLezNDRoZpqs8DudLCGBj214fIIG3cDhkez7eKW/i+s27O3laVCO9QgaFi07P+RSnrnZVJPfOISkE0Ql7gdAw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/angular/node_modules/@nx/web": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-22.7.0.tgz", + "integrity": "sha512-YY8dS+qZc3JOefZHyt+bysOG4ggOlwEMKP/amrPsB3AlqH9nIsXTWg8VMawGoBn+SD4a8Y8wwkbYC/pMdGReEA==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "22.5.0", - "@nx/eslint": "22.5.0", - "@nx/js": "22.5.0", - "@nx/module-federation": "22.5.0", - "@nx/rspack": "22.5.0", - "@nx/web": "22.5.0", - "@nx/webpack": "22.5.0", - "@nx/workspace": "22.5.0", - "@phenomnomnominal/tsquery": "~6.1.4", - "@typescript-eslint/type-utils": "^8.0.0", - "enquirer": "~2.3.6", - "magic-string": "~0.30.2", + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "detect-port": "^1.5.1", + "http-server": "^14.1.0", "picocolors": "^1.1.0", - "picomatch": "4.0.2", - "semver": "^7.6.3", - "tslib": "^2.3.0", - "webpack-merge": "^5.8.0" + "tslib": "^2.3.0" }, "peerDependencies": { - "@angular-devkit/build-angular": ">= 19.0.0 < 22.0.0", - "@angular-devkit/core": ">= 19.0.0 < 22.0.0", - "@angular-devkit/schematics": ">= 19.0.0 < 22.0.0", - "@angular/build": ">= 19.0.0 < 22.0.0", - "@schematics/angular": ">= 19.0.0 < 22.0.0", - "ng-packagr": ">= 19.0.0 < 22.0.0", - "rxjs": "^6.5.3 || ^7.5.0" + "@nx/cypress": "22.7.0", + "@nx/eslint": "22.7.0", + "@nx/jest": "22.7.0", + "@nx/playwright": "22.7.0", + "@nx/vite": "22.7.0", + "@nx/webpack": "22.7.0" }, "peerDependenciesMeta": { - "@angular-devkit/build-angular": { + "@nx/cypress": { "optional": true }, - "@angular/build": { + "@nx/eslint": { "optional": true }, - "ng-packagr": { + "@nx/jest": { + "optional": true + }, + "@nx/playwright": { + "optional": true + }, + "@nx/vite": { + "optional": true + }, + "@nx/webpack": { "optional": true } } }, - "node_modules/@nx/devkit": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.5.0.tgz", - "integrity": "sha512-CLHu+zoZW8szUc0aoSrDc8P8UkWsCCoSJoa3mHsw1rYxyvFv8ufKBMmIN/jUKNx+q/XJmGivymcNI1z3vpql0w==", + "node_modules/@nx/angular/node_modules/@nx/workspace": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-22.7.0.tgz", + "integrity": "sha512-ZhZYOlyPt1kJBvuC8MbTVTkDJSiEnr7Fu0luTGsbVLQO+2bHjIJml5HT1vCNpn39VH4Y4ZLgclHOt6P+KJH6/g==", "dev": true, "license": "MIT", "dependencies": { + "@nx/devkit": "22.7.0", "@zkochan/js-yaml": "0.0.7", - "ejs": "^3.1.7", + "chalk": "^4.1.0", "enquirer": "~2.3.6", - "minimatch": "10.1.1", + "nx": "22.7.0", + "picomatch": "4.0.4", "semver": "^7.6.3", "tslib": "^2.3.0", "yargs-parser": "21.1.1" - }, - "peerDependencies": { - "nx": ">= 21 <= 23 || ^22.0.0-0" } }, - "node_modules/@nx/eslint": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-22.5.0.tgz", - "integrity": "sha512-kdjKN7sn855TSCjyFayZqaH6A7nxW9w2b0m+qYixs1eerql54R2xuzpthrjx4IVSZx8NoR8ym5U73BSxsJ5qYw==", + "node_modules/@nx/angular/node_modules/@nx/workspace/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@nx/angular/node_modules/@nx/workspace/node_modules/nx": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/nx/-/nx-22.7.0.tgz", + "integrity": "sha512-zjySvwwAfexdKN8utZlq5IkoRZOki/gB1KTrY7OkMjSehuiimD6A7DTySiOUkPPMDwgqxMr+eOjIIbC1uWbp8Q==", "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "@nx/devkit": "22.5.0", - "@nx/js": "22.5.0", - "semver": "^7.6.3", - "tslib": "^2.3.0", - "typescript": "~5.9.2" + "@emnapi/core": "1.4.5", + "@emnapi/runtime": "1.4.5", + "@emnapi/wasi-threads": "1.0.4", + "@jest/diff-sequences": "30.0.1", + "@napi-rs/wasm-runtime": "0.2.4", + "@tybys/wasm-util": "0.9.0", + "@yarnpkg/lockfile": "1.1.0", + "@zkochan/js-yaml": "0.0.7", + "ansi-colors": "4.1.3", + "ansi-regex": "5.0.1", + "ansi-styles": "4.3.0", + "argparse": "2.0.1", + "asynckit": "0.4.0", + "axios": "1.15.0", + "balanced-match": "4.0.3", + "base64-js": "1.5.1", + "bl": "4.1.0", + "brace-expansion": "5.0.2", + "buffer": "5.7.1", + "call-bind-apply-helpers": "1.0.2", + "chalk": "4.1.2", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "8.0.1", + "clone": "1.0.4", + "color-convert": "2.0.1", + "color-name": "1.1.4", + "combined-stream": "1.0.8", + "defaults": "1.0.4", + "define-lazy-prop": "2.0.0", + "delayed-stream": "1.0.0", + "dotenv": "16.4.7", + "dotenv-expand": "12.0.3", + "dunder-proto": "1.0.1", + "ejs": "5.0.1", + "emoji-regex": "8.0.0", + "end-of-stream": "1.4.5", + "enquirer": "2.3.6", + "es-define-property": "1.0.1", + "es-errors": "1.3.0", + "es-object-atoms": "1.1.1", + "es-set-tostringtag": "2.1.0", + "escalade": "3.2.0", + "escape-string-regexp": "1.0.5", + "figures": "3.2.0", + "flat": "5.0.2", + "follow-redirects": "1.15.11", + "form-data": "4.0.5", + "fs-constants": "1.0.0", + "function-bind": "1.1.2", + "get-caller-file": "2.0.5", + "get-intrinsic": "1.3.0", + "get-proto": "1.0.1", + "gopd": "1.2.0", + "has-flag": "4.0.0", + "has-symbols": "1.1.0", + "has-tostringtag": "1.0.2", + "hasown": "2.0.2", + "ieee754": "1.2.1", + "ignore": "7.0.5", + "inherits": "2.0.4", + "is-docker": "2.2.1", + "is-fullwidth-code-point": "3.0.0", + "is-interactive": "1.0.0", + "is-unicode-supported": "0.1.0", + "is-wsl": "2.2.0", + "json5": "2.2.3", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "log-symbols": "4.1.0", + "math-intrinsics": "1.1.0", + "mime-db": "1.52.0", + "mime-types": "2.1.35", + "mimic-fn": "2.1.0", + "minimatch": "10.2.4", + "minimist": "1.2.8", + "npm-run-path": "4.0.1", + "once": "1.4.0", + "onetime": "5.1.2", + "open": "8.4.2", + "ora": "5.3.0", + "path-key": "3.1.1", + "picocolors": "1.1.1", + "proxy-from-env": "2.1.0", + "readable-stream": "3.6.2", + "require-directory": "2.1.1", + "resolve.exports": "2.0.3", + "restore-cursor": "3.1.0", + "safe-buffer": "5.2.1", + "semver": "7.7.4", + "signal-exit": "3.0.7", + "smol-toml": "1.6.1", + "string_decoder": "1.3.0", + "string-width": "4.2.3", + "strip-ansi": "6.0.1", + "strip-bom": "3.0.0", + "supports-color": "7.2.0", + "tar-stream": "2.2.0", + "tmp": "0.2.4", + "tree-kill": "1.2.2", + "tsconfig-paths": "4.2.0", + "tslib": "2.8.1", + "util-deprecate": "1.0.2", + "wcwidth": "1.0.1", + "wrap-ansi": "7.0.0", + "wrappy": "1.0.2", + "y18n": "5.0.8", + "yaml": "2.8.0", + "yargs": "17.7.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "dist/bin/nx.js", + "nx-cloud": "dist/bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "22.7.0", + "@nx/nx-darwin-x64": "22.7.0", + "@nx/nx-freebsd-x64": "22.7.0", + "@nx/nx-linux-arm-gnueabihf": "22.7.0", + "@nx/nx-linux-arm64-gnu": "22.7.0", + "@nx/nx-linux-arm64-musl": "22.7.0", + "@nx/nx-linux-x64-gnu": "22.7.0", + "@nx/nx-linux-x64-musl": "22.7.0", + "@nx/nx-win32-arm64-msvc": "22.7.0", + "@nx/nx-win32-x64-msvc": "22.7.0" }, "peerDependencies": { - "@zkochan/js-yaml": "0.0.7", - "eslint": "^8.0.0 || ^9.0.0" + "@swc-node/register": "^1.11.1", + "@swc/core": "^1.15.8" }, "peerDependenciesMeta": { - "@zkochan/js-yaml": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { "optional": true } } }, - "node_modules/@nx/eslint-plugin": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-22.5.0.tgz", - "integrity": "sha512-20UY/HgDCDu1WOIEoKD/ZyzBylVs/zwy+2DjGO/vwD6fYHSCsDVPPpuFjdC9DqIFcnRks7qzoC3g9BG/23UGWA==", + "node_modules/@nx/angular/node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "22.5.0", - "@nx/js": "22.5.0", - "@phenomnomnominal/tsquery": "~6.1.4", - "@typescript-eslint/type-utils": "^8.0.0", - "@typescript-eslint/utils": "^8.0.0", - "chalk": "^4.1.0", - "confusing-browser-globals": "^1.0.9", - "globals": "^15.9.0", - "jsonc-eslint-parser": "^2.1.0", - "semver": "^7.6.3", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.13.2 || ^7.0.0 || ^8.0.0", - "eslint-config-prettier": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } + "tslib": "^2.4.0" } }, - "node_modules/@nx/eslint-plugin/node_modules/globals": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "node_modules/@nx/angular/node_modules/axios": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz", + "integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/@nx/angular/node_modules/balanced-match": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz", + "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "20 || >=22" } }, - "node_modules/@nx/jest": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-22.5.0.tgz", - "integrity": "sha512-ISuI5K1Cg/CHcL94zQbj4r/3+I9/IdeBxX7iRpzYV1ZtYhk/Wt9DEFwX/6CveBNl70RpMCw+PLRKkWoJhYvbew==", + "node_modules/@nx/angular/node_modules/brace-expansion": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", + "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/reporters": "^30.0.2", - "@jest/test-result": "^30.0.2", - "@nx/devkit": "22.5.0", - "@nx/js": "22.5.0", - "@phenomnomnominal/tsquery": "~6.1.4", - "identity-obj-proxy": "3.0.0", - "jest-config": "^30.0.2", - "jest-resolve": "^30.0.2", - "jest-util": "^30.0.2", - "minimatch": "10.1.1", - "picocolors": "^1.1.0", - "resolve.exports": "2.0.3", - "semver": "^7.6.3", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" } }, - "node_modules/@nx/js": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-22.5.0.tgz", - "integrity": "sha512-+RZAdUwxJNENEtrkwGUMSqQ4f3Vipn0ERZI0EB04rq4QlET30fcUa8yfBf/QYll4LOZ//Ej4vD3TjyWtoJ+dFw==", + "node_modules/@nx/angular/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.23.2", - "@babel/plugin-proposal-decorators": "^7.22.7", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-runtime": "^7.23.2", - "@babel/preset-env": "^7.23.2", - "@babel/preset-typescript": "^7.22.5", - "@babel/runtime": "^7.22.6", - "@nx/devkit": "22.5.0", - "@nx/workspace": "22.5.0", - "@zkochan/js-yaml": "0.0.7", - "babel-plugin-const-enum": "^1.0.1", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-typescript-metadata": "^0.3.1", - "chalk": "^4.1.0", - "columnify": "^1.6.0", - "detect-port": "^1.5.1", - "ignore": "^5.0.4", - "js-tokens": "^4.0.0", - "jsonc-parser": "3.2.0", - "npm-run-path": "^4.0.1", - "picocolors": "^1.1.0", - "picomatch": "4.0.2", - "semver": "^7.6.3", - "source-map-support": "0.5.19", - "tinyglobby": "^0.2.12", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "verdaccio": "^6.0.5" + "restore-cursor": "^3.1.0" }, - "peerDependenciesMeta": { - "verdaccio": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "node_modules/@nx/module-federation": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/module-federation/-/module-federation-22.5.0.tgz", - "integrity": "sha512-itk9OVWc/wBNCvWxqYXT1ADD1db/6j5K92GTx74yxMQCaHKLgAS/1P3E8S94sFkvy0KDDLYMtTZRktO9hQsULg==", + "node_modules/@nx/angular/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, "license": "MIT", - "dependencies": { - "@module-federation/enhanced": "^0.21.2", - "@module-federation/node": "^2.7.21", - "@module-federation/sdk": "^0.21.2", - "@nx/devkit": "22.5.0", - "@nx/js": "22.5.0", - "@nx/web": "22.5.0", - "@rspack/core": "1.6.8", - "express": "^4.21.2", - "http-proxy-middleware": "^3.0.5", - "picocolors": "^1.1.0", - "tslib": "^2.3.0", - "webpack": "^5.101.3" + "engines": { + "node": ">=8" } }, - "node_modules/@nx/module-federation/node_modules/@napi-rs/wasm-runtime": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", - "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", + "node_modules/@nx/angular/node_modules/dotenv-expand": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-12.0.3.tgz", + "integrity": "sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==", "dev": true, - "license": "MIT", - "optional": true, + "license": "BSD-2-Clause", "dependencies": { - "@emnapi/core": "^1.5.0", - "@emnapi/runtime": "^1.5.0", - "@tybys/wasm-util": "^0.10.1" + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/@nx/module-federation/node_modules/@rspack/binding": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.6.8.tgz", - "integrity": "sha512-lUeL4mbwGo+nqRKqFDCm9vH2jv9FNMVt1X8jqayWRcOCPlj/2UVMEFgqjR7Pp2vlvnTKq//31KbDBJmDZq31RQ==", + "node_modules/@nx/angular/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/@nx/angular/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "license": "MIT", - "optionalDependencies": { - "@rspack/binding-darwin-arm64": "1.6.8", - "@rspack/binding-darwin-x64": "1.6.8", - "@rspack/binding-linux-arm64-gnu": "1.6.8", - "@rspack/binding-linux-arm64-musl": "1.6.8", - "@rspack/binding-linux-x64-gnu": "1.6.8", - "@rspack/binding-linux-x64-musl": "1.6.8", - "@rspack/binding-wasm32-wasi": "1.6.8", - "@rspack/binding-win32-arm64-msvc": "1.6.8", - "@rspack/binding-win32-ia32-msvc": "1.6.8", - "@rspack/binding-win32-x64-msvc": "1.6.8" + "engines": { + "node": ">=0.8.0" } }, - "node_modules/@nx/module-federation/node_modules/@rspack/binding-darwin-arm64": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.6.8.tgz", - "integrity": "sha512-e8CTQtzaeGnf+BIzR7wRMUwKfIg0jd/sxMRc1Vd0bCMHBhSN9EsGoMuJJaKeRrSmy2nwMCNWHIG+TvT1CEKg+A==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/angular/node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "node_modules/@nx/module-federation/node_modules/@rspack/binding-darwin-x64": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.6.8.tgz", - "integrity": "sha512-ku1XpTEPt6Za11zhpFWhfwrTQogcgi9RJrOUVC4FESiPO9aKyd4hJ+JiPgLY0MZOqsptK6vEAgOip+uDVXrCpg==", - "cpu": [ - "x64" - ], + "node_modules/@nx/angular/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", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/@nx/module-federation/node_modules/@rspack/binding-linux-arm64-gnu": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.6.8.tgz", - "integrity": "sha512-fvZX6xZPvBT8qipSpvkKMX5M7yd2BSpZNCZXcefw6gA3uC7LI3gu+er0LrDXY1PtPzVuHTyDx+abwWpagV3PiQ==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/angular/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@nx/module-federation/node_modules/@rspack/binding-linux-arm64-musl": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.6.8.tgz", - "integrity": "sha512-++XMKcMNrt59HcFBLnRaJcn70k3X0GwkAegZBVpel8xYIAgvoXT5+L8P1ExId/yTFxqedaz8DbcxQnNmMozviw==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/angular/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", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=8" + } }, - "node_modules/@nx/module-federation/node_modules/@rspack/binding-linux-x64-gnu": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.6.8.tgz", - "integrity": "sha512-tv3BWkTE1TndfX+DsE1rSTg8fBevCxujNZ3MlfZ22Wfy9x1FMXTJlWG8VIOXmaaJ1wUHzv8S7cE2YUUJ2LuiCg==", - "cpu": [ - "x64" - ], + "node_modules/@nx/angular/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=8" + } }, - "node_modules/@nx/module-federation/node_modules/@rspack/binding-linux-x64-musl": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.6.8.tgz", - "integrity": "sha512-DCGgZ5/in1O3FjHWqXnDsncRy+48cMhfuUAAUyl0yDj1NpsZu9pP+xfGLvGcQTiYrVl7IH9Aojf1eShP/77WGA==", - "cpu": [ - "x64" - ], + "node_modules/@nx/angular/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@nx/module-federation/node_modules/@rspack/binding-wasm32-wasi": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.6.8.tgz", - "integrity": "sha512-VUwdhl/lI4m6o1OGCZ9JwtMjTV/yLY5VZTQdEPKb40JMTlmZ5MBlr5xk7ByaXXYHr6I+qnqEm73iMKQvg6iknw==", - "cpu": [ - "wasm32" - ], + "node_modules/@nx/angular/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "1.0.7" + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@nx/module-federation/node_modules/@rspack/binding-win32-arm64-msvc": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.6.8.tgz", - "integrity": "sha512-23YX7zlOZlub+nPGDBUzktb4D5D6ETUAluKjXEeHIZ9m7fSlEYBnGL66YE+3t1DHXGd0OqsdwlvrNGcyo6EXDQ==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/angular/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, - "node_modules/@nx/module-federation/node_modules/@rspack/binding-win32-ia32-msvc": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.6.8.tgz", - "integrity": "sha512-cFgRE3APxrY4AEdooVk2LtipwNNT/9mrnjdC5lVbsIsz+SxvGbZR231bxDJEqP15+RJOaD07FO1sIjINFqXMEg==", - "cpu": [ - "ia32" - ], + "node_modules/@nx/angular/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@nx/module-federation/node_modules/@rspack/binding-win32-x64-msvc": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.6.8.tgz", - "integrity": "sha512-cIuhVsZYd3o3Neo1JSAhJYw6BDvlxaBoqvgwRkG1rs0ExFmEmgYyG7ip9pFKnKNWph/tmW3rDYypmEfjs1is7g==", - "cpu": [ - "x64" - ], + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/angular/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">= 0.6" + } }, - "node_modules/@nx/module-federation/node_modules/@rspack/core": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.6.8.tgz", - "integrity": "sha512-FolcIAH5FW4J2FET+qwjd1kNeFbCkd0VLuIHO0thyolEjaPSxw5qxG67DA7BZGm6PVcoiSgPLks1DL6eZ8c+fA==", + "node_modules/@nx/angular/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/runtime-tools": "0.21.6", - "@rspack/binding": "1.6.8", - "@rspack/lite-tapable": "1.1.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=18.12.0" + "node": ">= 0.6" + } + }, + "node_modules/@nx/angular/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, - "peerDependencies": { - "@swc/helpers": ">=0.5.1" + "engines": { + "node": ">=12" }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nx/module-federation/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==", + "node_modules/@nx/angular/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "tslib": "^2.4.0" + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nx/nx-darwin-arm64": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.5.0.tgz", - "integrity": "sha512-MHnzv6tzucvLsh4oS9FTepj+ct/o8/DPXrQow+9Jid7GSgY59xrDX/8CleJOrwL5lqKEyGW7vv8TR+4wGtEWTA==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/angular/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "node_modules/@nx/nx-darwin-x64": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-22.5.0.tgz", - "integrity": "sha512-/0w43hbR5Kia0XeCDZHDt/18FHhpwQs+Y+8TO8/ZsF1RgCI0knJDCyJieYk1yEZAq6E8dStAJnuzxK9uvETs4A==", - "cpu": [ - "x64" - ], + "node_modules/@nx/angular/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@nx/nx-freebsd-x64": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.5.0.tgz", - "integrity": "sha512-d4Pd1VFpD272R7kJTWm/Pj49BIz44GZ+QIVSfxlx3GWxyaPd25X9GBanUngL6qpactS+aLTwcoBmnSbZ4PEcEQ==", - "cpu": [ - "x64" - ], + "node_modules/@nx/angular/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": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.5.0.tgz", - "integrity": "sha512-cCyG23PikIlqE7I6s9j0aHJSqIxnpdOjFOXyRd224XmFyAB8tOyKl7vDD/WugcpAceos28i+Rgz4na189zm48A==", - "cpu": [ - "arm" - ], + "node_modules/@nx/angular/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "ISC" }, - "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.5.0.tgz", - "integrity": "sha512-vkQw8737fpta6oVEEqskzwq+d0GeZkGhtyl+U3pAcuUcYTdqbsZaofSQACFnGfngsqpYmlJCWJGU5Te00qcPQw==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/angular/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": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@nx/nx-linux-arm64-musl": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.5.0.tgz", - "integrity": "sha512-BkEsFBsnKrDK11N914rr5YKyIJwYoSVItJ7VzsQZIqAX0C7PdJeQ7KzqOGwoezbabdLmzFOBNg6s/o1ujoEYxw==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/angular/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, - "node_modules/@nx/nx-linux-x64-gnu": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.5.0.tgz", - "integrity": "sha512-Dsqoz4hWmqehMMm8oJY6Q0ckEUeeHz4+T/C8nHyDaaj/REKCSmqYf/+QV6f2Z5Up/CsQ/hoAsWYEhCHZ0tcSFg==", - "cpu": [ - "x64" - ], + "node_modules/@nx/angular/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", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@nx/nx-linux-x64-musl": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.5.0.tgz", - "integrity": "sha512-Lcj/61BpsT85Qhm3hNTwQFrqGtsjLC+y4Kk21dh22d1/E5pOdVAwPXBuWrSPNo4lX+ESNoKmwxWjfgW3uoB05g==", - "cpu": [ - "x64" - ], + "node_modules/@nx/angular/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=4" + } }, - "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.5.0.tgz", - "integrity": "sha512-0DlnBDLvqNtseCyBBoBst0gwux+N91RBc4E41JDDcLcWpfntcwCQM39D6lA5qdma/0L7U0PUM7MYV9Q6igJMkQ==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/angular/node_modules/tmp": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", + "integrity": "sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">=14.14" + } }, - "node_modules/@nx/nx-win32-x64-msvc": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.5.0.tgz", - "integrity": "sha512-kMMsU4PxKQ76NvmPFKT0/RlzRTiuUfuNWVJUmsWF1onVcBkXgQNKkmLcSJk3wGwML5/tHChjtlI7Hpo705Uv/g==", - "cpu": [ - "x64" - ], + "node_modules/@nx/angular/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@nx/angular/node_modules/yaml": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, + "node_modules/@nx/angular/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nx/devkit": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.7.0.tgz", + "integrity": "sha512-AI6t94k37lIv5XL/eesyYFBY4x2IzgseLmf0DiycHLGfAJWsvUlTzOD++t4vek/W80YQSBKRUbLg7r6wo56d0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@zkochan/js-yaml": "0.0.7", + "ejs": "5.0.1", + "enquirer": "~2.3.6", + "minimatch": "10.2.4", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 21 <= 23 || ^22.0.0-0" + } + }, + "node_modules/@nx/eslint": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-22.5.0.tgz", + "integrity": "sha512-kdjKN7sn855TSCjyFayZqaH6A7nxW9w2b0m+qYixs1eerql54R2xuzpthrjx4IVSZx8NoR8ym5U73BSxsJ5qYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "22.5.0", + "@nx/js": "22.5.0", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "typescript": "~5.9.2" + }, + "peerDependencies": { + "@zkochan/js-yaml": "0.0.7", + "eslint": "^8.0.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "@zkochan/js-yaml": { + "optional": true + } + } + }, + "node_modules/@nx/eslint-plugin": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-22.5.0.tgz", + "integrity": "sha512-20UY/HgDCDu1WOIEoKD/ZyzBylVs/zwy+2DjGO/vwD6fYHSCsDVPPpuFjdC9DqIFcnRks7qzoC3g9BG/23UGWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "22.5.0", + "@nx/js": "22.5.0", + "@phenomnomnominal/tsquery": "~6.1.4", + "@typescript-eslint/type-utils": "^8.0.0", + "@typescript-eslint/utils": "^8.0.0", + "chalk": "^4.1.0", + "confusing-browser-globals": "^1.0.9", + "globals": "^15.9.0", + "jsonc-eslint-parser": "^2.1.0", + "semver": "^7.6.3", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.13.2 || ^7.0.0 || ^8.0.0", + "eslint-config-prettier": "^10.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/devkit": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.5.0.tgz", + "integrity": "sha512-CLHu+zoZW8szUc0aoSrDc8P8UkWsCCoSJoa3mHsw1rYxyvFv8ufKBMmIN/jUKNx+q/XJmGivymcNI1z3vpql0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@zkochan/js-yaml": "0.0.7", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "minimatch": "10.1.1", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 21 <= 23 || ^22.0.0-0" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/devkit": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.5.0.tgz", + "integrity": "sha512-CLHu+zoZW8szUc0aoSrDc8P8UkWsCCoSJoa3mHsw1rYxyvFv8ufKBMmIN/jUKNx+q/XJmGivymcNI1z3vpql0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@zkochan/js-yaml": "0.0.7", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "minimatch": "10.1.1", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 21 <= 23 || ^22.0.0-0" + } + }, + "node_modules/@nx/eslint/node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/eslint/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/jest": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-22.5.0.tgz", + "integrity": "sha512-ISuI5K1Cg/CHcL94zQbj4r/3+I9/IdeBxX7iRpzYV1ZtYhk/Wt9DEFwX/6CveBNl70RpMCw+PLRKkWoJhYvbew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/reporters": "^30.0.2", + "@jest/test-result": "^30.0.2", + "@nx/devkit": "22.5.0", + "@nx/js": "22.5.0", + "@phenomnomnominal/tsquery": "~6.1.4", + "identity-obj-proxy": "3.0.0", + "jest-config": "^30.0.2", + "jest-resolve": "^30.0.2", + "jest-util": "^30.0.2", + "minimatch": "10.1.1", + "picocolors": "^1.1.0", + "resolve.exports": "2.0.3", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/jest/node_modules/@nx/devkit": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.5.0.tgz", + "integrity": "sha512-CLHu+zoZW8szUc0aoSrDc8P8UkWsCCoSJoa3mHsw1rYxyvFv8ufKBMmIN/jUKNx+q/XJmGivymcNI1z3vpql0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@zkochan/js-yaml": "0.0.7", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "minimatch": "10.1.1", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 21 <= 23 || ^22.0.0-0" + } + }, + "node_modules/@nx/jest/node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/jest/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/js": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-22.5.0.tgz", + "integrity": "sha512-+RZAdUwxJNENEtrkwGUMSqQ4f3Vipn0ERZI0EB04rq4QlET30fcUa8yfBf/QYll4LOZ//Ej4vD3TjyWtoJ+dFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nx/devkit": "22.5.0", + "@nx/workspace": "22.5.0", + "@zkochan/js-yaml": "0.0.7", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "jsonc-parser": "3.2.0", + "npm-run-path": "^4.0.1", + "picocolors": "^1.1.0", + "picomatch": "4.0.2", + "semver": "^7.6.3", + "source-map-support": "0.5.19", + "tinyglobby": "^0.2.12", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^6.0.5" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/js/node_modules/@nx/devkit": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.5.0.tgz", + "integrity": "sha512-CLHu+zoZW8szUc0aoSrDc8P8UkWsCCoSJoa3mHsw1rYxyvFv8ufKBMmIN/jUKNx+q/XJmGivymcNI1z3vpql0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@zkochan/js-yaml": "0.0.7", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "minimatch": "10.1.1", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 21 <= 23 || ^22.0.0-0" + } + }, + "node_modules/@nx/js/node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/js/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/js/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/js/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@nx/js/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/@nx/js/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@nx/module-federation": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/module-federation/-/module-federation-22.7.0.tgz", + "integrity": "sha512-nzWEvSIMFbLY1t0LlgQ9JE/WceY5VZzmyHqSlndvrjiCBOVG+b9WNTqkDYaylbmQKjXSY0rhXoGVQff9RIUhqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/enhanced": "^2.3.3", + "@module-federation/node": "^2.7.21", + "@module-federation/sdk": "^2.1.0", + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "@nx/web": "22.7.0", + "@rspack/core": "1.6.8", + "express": "^4.21.2", + "http-proxy-middleware": "^3.0.5", + "picocolors": "^1.1.0", + "tslib": "^2.3.0", + "webpack": "^5.101.3" + } + }, + "node_modules/@nx/module-federation/node_modules/@emnapi/core": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/wasi-threads": "1.0.4", + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/module-federation/node_modules/@emnapi/runtime": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/module-federation/node_modules/@emnapi/wasi-threads": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/module-federation/node_modules/@jest/diff-sequences": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", + "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@nx/module-federation/node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", + "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/@nx/module-federation/node_modules/@nx/eslint": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-22.7.0.tgz", + "integrity": "sha512-KaGAkF8ZNdNZ6qu0Lq5aDRu6fQ6Zx4EM2Bf5b43LinPTN5l1x9U8LFLRETWoh03/kSwm6dfdGMEWOvSAuFgAdQ==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "typescript": "~5.9.2" + }, + "peerDependencies": { + "@nx/jest": "22.7.0", + "@zkochan/js-yaml": "0.0.7", + "eslint": "^8.0.0 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "@nx/jest": { + "optional": true + }, + "@zkochan/js-yaml": { + "optional": true + } + } + }, + "node_modules/@nx/module-federation/node_modules/@nx/jest": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-22.7.0.tgz", + "integrity": "sha512-r30QIXb0QdUYvueWfOHrB66e544mj6q7n7kahvkyk1PrJsqhAGKkJFp+igpRNyeDcKAFLEHcpdbejhfKLTTKFw==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@jest/reporters": "^30.0.2", + "@jest/test-result": "^30.0.2", + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "@phenomnomnominal/tsquery": "~6.1.4", + "identity-obj-proxy": "3.0.0", + "jest-config": "^30.0.2", + "jest-resolve": "^30.0.2", + "jest-util": "^30.0.2", + "minimatch": "10.2.4", + "picocolors": "^1.1.0", + "resolve.exports": "2.0.3", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/module-federation/node_modules/@nx/js": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-22.7.0.tgz", + "integrity": "sha512-/ZreqwA1McpGn4kRLMnt9+UTIqCLlZp/OzVes1YOcIfzZ6LYQtL/aOVaYkpv/IB/9ojT0qHpAvLHnoHFzQtpCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nx/devkit": "22.7.0", + "@nx/workspace": "22.7.0", + "@zkochan/js-yaml": "0.0.7", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "jsonc-parser": "3.2.0", + "npm-run-path": "^4.0.1", + "picocolors": "^1.1.0", + "picomatch": "4.0.4", + "semver": "^7.6.3", + "source-map-support": "0.5.19", + "tinyglobby": "^0.2.12", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^6.0.5" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/module-federation/node_modules/@nx/nx-darwin-arm64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.7.0.tgz", + "integrity": "sha512-WczfOkv7bVSi0i4bLFmMLqdcRllJr+CLO0ibVapGHxdaOkNPCgSDxBVYC/0eg8yyMsPXQu8daaTvOlODNJw9GQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/module-federation/node_modules/@nx/nx-darwin-x64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-22.7.0.tgz", + "integrity": "sha512-KGBq43lJbDjIpIAU5/sJFJQokGgCu/0KVe5pO2u9hMO2A9VaVtud5bGbDpkBiWoYBK9BLM3YpbG/RB74unxWxg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/module-federation/node_modules/@nx/nx-freebsd-x64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.7.0.tgz", + "integrity": "sha512-DKOHaFC7Ko4+nlin/us8FEfBBgnpifZie4LELgo2nI044GlazGHJArtRSdLq3qKfWXqtieOKO3R4YV09Ax37Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@nx/module-federation/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.7.0.tgz", + "integrity": "sha512-LaZSE4FGk8KFyKF8grlhcoBWJabxkn7moO2QfULm3i1GY1AYu7bbxVZG42cAdGENqliCB8V2ARBWrMKq6mqW2g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/module-federation/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.7.0.tgz", + "integrity": "sha512-g0GJ2avp0wuxHCQ2fjlMVjez4TWBtfj0jLCzO2I9M3B6ui0V+9Wh66DO5pLwyQFGbxODgwz9vwrEEZKlbDrchA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/module-federation/node_modules/@nx/nx-linux-arm64-musl": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.7.0.tgz", + "integrity": "sha512-xb72G+LrhZNrWXOAd6aoDQmhzO5GKq6dkAYqhtOTAklCwIo5/4dkvqvFEe5RIQ7pk6RzdD2cUZMTJTr99rSGTg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/module-federation/node_modules/@nx/nx-linux-x64-gnu": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.7.0.tgz", + "integrity": "sha512-win7DkwxThhGWJlJ0s9HLxPzam/wz5MbQhKTQmLehHz8mgFJOu6MqzrccDxuT1E93dODedtxJuAyW4c80mpp4A==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/module-federation/node_modules/@nx/nx-linux-x64-musl": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.7.0.tgz", + "integrity": "sha512-lU7yT+CsZFPCH3dZAVynhyJxa5w8rwCVtbDYbBa703DkNgb8/CQAthyE7NN2fjfzeQ0YpXoV3O/iX6sVY1sdjA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/module-federation/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.7.0.tgz", + "integrity": "sha512-e8P0ZSPJpaAjiIitcJAjdSCeCxAMjt5OqM6kZYUiwpHVnB31YAEe8feNvQcfvhyMjx/AXFQlBztHh8kANvdlLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/module-federation/node_modules/@nx/nx-win32-x64-msvc": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.7.0.tgz", + "integrity": "sha512-NWLezNDRoZpqs8DudLCGBj214fIIG3cDhkez7eKW/i+s27O3laVCO9QgaFi07P+RSnrnZVJPfOISkE0Ql7gdAw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/module-federation/node_modules/@nx/web": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-22.7.0.tgz", + "integrity": "sha512-YY8dS+qZc3JOefZHyt+bysOG4ggOlwEMKP/amrPsB3AlqH9nIsXTWg8VMawGoBn+SD4a8Y8wwkbYC/pMdGReEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "detect-port": "^1.5.1", + "http-server": "^14.1.0", + "picocolors": "^1.1.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@nx/cypress": "22.7.0", + "@nx/eslint": "22.7.0", + "@nx/jest": "22.7.0", + "@nx/playwright": "22.7.0", + "@nx/vite": "22.7.0", + "@nx/webpack": "22.7.0" + }, + "peerDependenciesMeta": { + "@nx/cypress": { + "optional": true + }, + "@nx/eslint": { + "optional": true + }, + "@nx/jest": { + "optional": true + }, + "@nx/playwright": { + "optional": true + }, + "@nx/vite": { + "optional": true + }, + "@nx/webpack": { + "optional": true + } + } + }, + "node_modules/@nx/module-federation/node_modules/@nx/workspace": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-22.7.0.tgz", + "integrity": "sha512-ZhZYOlyPt1kJBvuC8MbTVTkDJSiEnr7Fu0luTGsbVLQO+2bHjIJml5HT1vCNpn39VH4Y4ZLgclHOt6P+KJH6/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "22.7.0", + "@zkochan/js-yaml": "0.0.7", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "22.7.0", + "picomatch": "4.0.4", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/module-federation/node_modules/@nx/workspace/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@nx/module-federation/node_modules/@nx/workspace/node_modules/nx": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/nx/-/nx-22.7.0.tgz", + "integrity": "sha512-zjySvwwAfexdKN8utZlq5IkoRZOki/gB1KTrY7OkMjSehuiimD6A7DTySiOUkPPMDwgqxMr+eOjIIbC1uWbp8Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@emnapi/core": "1.4.5", + "@emnapi/runtime": "1.4.5", + "@emnapi/wasi-threads": "1.0.4", + "@jest/diff-sequences": "30.0.1", + "@napi-rs/wasm-runtime": "0.2.4", + "@tybys/wasm-util": "0.9.0", + "@yarnpkg/lockfile": "1.1.0", + "@zkochan/js-yaml": "0.0.7", + "ansi-colors": "4.1.3", + "ansi-regex": "5.0.1", + "ansi-styles": "4.3.0", + "argparse": "2.0.1", + "asynckit": "0.4.0", + "axios": "1.15.0", + "balanced-match": "4.0.3", + "base64-js": "1.5.1", + "bl": "4.1.0", + "brace-expansion": "5.0.2", + "buffer": "5.7.1", + "call-bind-apply-helpers": "1.0.2", + "chalk": "4.1.2", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "8.0.1", + "clone": "1.0.4", + "color-convert": "2.0.1", + "color-name": "1.1.4", + "combined-stream": "1.0.8", + "defaults": "1.0.4", + "define-lazy-prop": "2.0.0", + "delayed-stream": "1.0.0", + "dotenv": "16.4.7", + "dotenv-expand": "12.0.3", + "dunder-proto": "1.0.1", + "ejs": "5.0.1", + "emoji-regex": "8.0.0", + "end-of-stream": "1.4.5", + "enquirer": "2.3.6", + "es-define-property": "1.0.1", + "es-errors": "1.3.0", + "es-object-atoms": "1.1.1", + "es-set-tostringtag": "2.1.0", + "escalade": "3.2.0", + "escape-string-regexp": "1.0.5", + "figures": "3.2.0", + "flat": "5.0.2", + "follow-redirects": "1.15.11", + "form-data": "4.0.5", + "fs-constants": "1.0.0", + "function-bind": "1.1.2", + "get-caller-file": "2.0.5", + "get-intrinsic": "1.3.0", + "get-proto": "1.0.1", + "gopd": "1.2.0", + "has-flag": "4.0.0", + "has-symbols": "1.1.0", + "has-tostringtag": "1.0.2", + "hasown": "2.0.2", + "ieee754": "1.2.1", + "ignore": "7.0.5", + "inherits": "2.0.4", + "is-docker": "2.2.1", + "is-fullwidth-code-point": "3.0.0", + "is-interactive": "1.0.0", + "is-unicode-supported": "0.1.0", + "is-wsl": "2.2.0", + "json5": "2.2.3", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "log-symbols": "4.1.0", + "math-intrinsics": "1.1.0", + "mime-db": "1.52.0", + "mime-types": "2.1.35", + "mimic-fn": "2.1.0", + "minimatch": "10.2.4", + "minimist": "1.2.8", + "npm-run-path": "4.0.1", + "once": "1.4.0", + "onetime": "5.1.2", + "open": "8.4.2", + "ora": "5.3.0", + "path-key": "3.1.1", + "picocolors": "1.1.1", + "proxy-from-env": "2.1.0", + "readable-stream": "3.6.2", + "require-directory": "2.1.1", + "resolve.exports": "2.0.3", + "restore-cursor": "3.1.0", + "safe-buffer": "5.2.1", + "semver": "7.7.4", + "signal-exit": "3.0.7", + "smol-toml": "1.6.1", + "string_decoder": "1.3.0", + "string-width": "4.2.3", + "strip-ansi": "6.0.1", + "strip-bom": "3.0.0", + "supports-color": "7.2.0", + "tar-stream": "2.2.0", + "tmp": "0.2.4", + "tree-kill": "1.2.2", + "tsconfig-paths": "4.2.0", + "tslib": "2.8.1", + "util-deprecate": "1.0.2", + "wcwidth": "1.0.1", + "wrap-ansi": "7.0.0", + "wrappy": "1.0.2", + "y18n": "5.0.8", + "yaml": "2.8.0", + "yargs": "17.7.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "dist/bin/nx.js", + "nx-cloud": "dist/bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "22.7.0", + "@nx/nx-darwin-x64": "22.7.0", + "@nx/nx-freebsd-x64": "22.7.0", + "@nx/nx-linux-arm-gnueabihf": "22.7.0", + "@nx/nx-linux-arm64-gnu": "22.7.0", + "@nx/nx-linux-arm64-musl": "22.7.0", + "@nx/nx-linux-x64-gnu": "22.7.0", + "@nx/nx-linux-x64-musl": "22.7.0", + "@nx/nx-win32-arm64-msvc": "22.7.0", + "@nx/nx-win32-x64-msvc": "22.7.0" + }, + "peerDependencies": { + "@swc-node/register": "^1.11.1", + "@swc/core": "^1.15.8" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nx/module-federation/node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/module-federation/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/module-federation/node_modules/axios": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz", + "integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/@nx/module-federation/node_modules/balanced-match": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz", + "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@nx/module-federation/node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/@nx/module-federation/node_modules/brace-expansion": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", + "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@nx/module-federation/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/module-federation/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/module-federation/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/module-federation/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@nx/module-federation/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/module-federation/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/module-federation/node_modules/dotenv-expand": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-12.0.3.tgz", + "integrity": "sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@nx/module-federation/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/@nx/module-federation/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@nx/module-federation/node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/@nx/module-federation/node_modules/express/node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "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/@nx/module-federation/node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@nx/module-federation/node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/@nx/module-federation/node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/module-federation/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/@nx/module-federation/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/module-federation/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/module-federation/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/@nx/module-federation/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/module-federation/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/module-federation/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/module-federation/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/module-federation/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/module-federation/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/module-federation/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/module-federation/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/module-federation/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/module-federation/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/module-federation/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/module-federation/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/module-federation/node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/module-federation/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@nx/module-federation/node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@nx/module-federation/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/module-federation/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/@nx/module-federation/node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/@nx/module-federation/node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/@nx/module-federation/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@nx/module-federation/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/@nx/module-federation/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@nx/module-federation/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/@nx/module-federation/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@nx/module-federation/node_modules/tmp": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", + "integrity": "sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/module-federation/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/module-federation/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@nx/module-federation/node_modules/yaml": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, + "node_modules/@nx/module-federation/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nx/nx-darwin-arm64": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.5.0.tgz", + "integrity": "sha512-MHnzv6tzucvLsh4oS9FTepj+ct/o8/DPXrQow+9Jid7GSgY59xrDX/8CleJOrwL5lqKEyGW7vv8TR+4wGtEWTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/nx-darwin-x64": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-22.5.0.tgz", + "integrity": "sha512-/0w43hbR5Kia0XeCDZHDt/18FHhpwQs+Y+8TO8/ZsF1RgCI0knJDCyJieYk1yEZAq6E8dStAJnuzxK9uvETs4A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/nx-freebsd-x64": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.5.0.tgz", + "integrity": "sha512-d4Pd1VFpD272R7kJTWm/Pj49BIz44GZ+QIVSfxlx3GWxyaPd25X9GBanUngL6qpactS+aLTwcoBmnSbZ4PEcEQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.5.0.tgz", + "integrity": "sha512-cCyG23PikIlqE7I6s9j0aHJSqIxnpdOjFOXyRd224XmFyAB8tOyKl7vDD/WugcpAceos28i+Rgz4na189zm48A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/nx-linux-arm64-gnu": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.5.0.tgz", + "integrity": "sha512-vkQw8737fpta6oVEEqskzwq+d0GeZkGhtyl+U3pAcuUcYTdqbsZaofSQACFnGfngsqpYmlJCWJGU5Te00qcPQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/nx-linux-arm64-musl": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.5.0.tgz", + "integrity": "sha512-BkEsFBsnKrDK11N914rr5YKyIJwYoSVItJ7VzsQZIqAX0C7PdJeQ7KzqOGwoezbabdLmzFOBNg6s/o1ujoEYxw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/nx-linux-x64-gnu": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.5.0.tgz", + "integrity": "sha512-Dsqoz4hWmqehMMm8oJY6Q0ckEUeeHz4+T/C8nHyDaaj/REKCSmqYf/+QV6f2Z5Up/CsQ/hoAsWYEhCHZ0tcSFg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/nx-linux-x64-musl": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.5.0.tgz", + "integrity": "sha512-Lcj/61BpsT85Qhm3hNTwQFrqGtsjLC+y4Kk21dh22d1/E5pOdVAwPXBuWrSPNo4lX+ESNoKmwxWjfgW3uoB05g==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/nx-win32-arm64-msvc": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.5.0.tgz", + "integrity": "sha512-0DlnBDLvqNtseCyBBoBst0gwux+N91RBc4E41JDDcLcWpfntcwCQM39D6lA5qdma/0L7U0PUM7MYV9Q6igJMkQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/nx-win32-x64-msvc": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.5.0.tgz", + "integrity": "sha512-kMMsU4PxKQ76NvmPFKT0/RlzRTiuUfuNWVJUmsWF1onVcBkXgQNKkmLcSJk3wGwML5/tHChjtlI7Hpo705Uv/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/rspack": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/rspack/-/rspack-22.7.0.tgz", + "integrity": "sha512-/CDmPQWBJCPXHvq43ZSbhIKXQpQ9kUFlITsybFuOGNq/f/eELtQVhWRhLtEjU+zvwYy1lnvzy1NLTxJLBTFcIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "@nx/module-federation": "22.7.0", + "@nx/web": "22.7.0", + "@phenomnomnominal/tsquery": "~6.1.4", + "@rspack/core": "1.6.8", + "@rspack/dev-server": "^1.1.4", + "@rspack/plugin-react-refresh": "^1.0.0", + "autoprefixer": "^10.4.9", + "browserslist": "^4.26.0", + "css-loader": "^6.4.0", + "enquirer": "~2.3.6", + "express": "^4.21.2", + "http-proxy-middleware": "^3.0.5", + "less-loader": "^12.2.0", + "license-webpack-plugin": "^4.0.2", + "loader-utils": "^2.0.3", + "parse5": "4.0.0", + "picocolors": "^1.1.0", + "postcss": "^8.4.38", + "postcss-import": "~14.1.0", + "postcss-loader": "^8.1.1", + "sass": "^1.85.0", + "sass-embedded": "^1.83.4", + "sass-loader": "^16.0.4", + "source-map-loader": "^5.0.0", + "style-loader": "^3.3.0", + "ts-checker-rspack-plugin": "^1.1.1", + "tslib": "^2.3.0", + "webpack": "^5.101.3", + "webpack-node-externals": "^3.0.0" + }, + "peerDependencies": { + "@module-federation/enhanced": "^2.3.3", + "@module-federation/node": "^2.7.21" + } + }, + "node_modules/@nx/rspack/node_modules/@emnapi/core": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/wasi-threads": "1.0.4", + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/rspack/node_modules/@emnapi/runtime": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/rspack/node_modules/@emnapi/wasi-threads": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/rspack/node_modules/@jest/diff-sequences": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", + "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@nx/rspack/node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", + "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/@nx/rspack/node_modules/@nx/eslint": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-22.7.0.tgz", + "integrity": "sha512-KaGAkF8ZNdNZ6qu0Lq5aDRu6fQ6Zx4EM2Bf5b43LinPTN5l1x9U8LFLRETWoh03/kSwm6dfdGMEWOvSAuFgAdQ==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "typescript": "~5.9.2" + }, + "peerDependencies": { + "@nx/jest": "22.7.0", + "@zkochan/js-yaml": "0.0.7", + "eslint": "^8.0.0 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "@nx/jest": { + "optional": true + }, + "@zkochan/js-yaml": { + "optional": true + } + } + }, + "node_modules/@nx/rspack/node_modules/@nx/jest": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-22.7.0.tgz", + "integrity": "sha512-r30QIXb0QdUYvueWfOHrB66e544mj6q7n7kahvkyk1PrJsqhAGKkJFp+igpRNyeDcKAFLEHcpdbejhfKLTTKFw==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@jest/reporters": "^30.0.2", + "@jest/test-result": "^30.0.2", + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "@phenomnomnominal/tsquery": "~6.1.4", + "identity-obj-proxy": "3.0.0", + "jest-config": "^30.0.2", + "jest-resolve": "^30.0.2", + "jest-util": "^30.0.2", + "minimatch": "10.2.4", + "picocolors": "^1.1.0", + "resolve.exports": "2.0.3", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/rspack/node_modules/@nx/js": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-22.7.0.tgz", + "integrity": "sha512-/ZreqwA1McpGn4kRLMnt9+UTIqCLlZp/OzVes1YOcIfzZ6LYQtL/aOVaYkpv/IB/9ojT0qHpAvLHnoHFzQtpCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nx/devkit": "22.7.0", + "@nx/workspace": "22.7.0", + "@zkochan/js-yaml": "0.0.7", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "jsonc-parser": "3.2.0", + "npm-run-path": "^4.0.1", + "picocolors": "^1.1.0", + "picomatch": "4.0.4", + "semver": "^7.6.3", + "source-map-support": "0.5.19", + "tinyglobby": "^0.2.12", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^6.0.5" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/rspack/node_modules/@nx/nx-darwin-arm64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.7.0.tgz", + "integrity": "sha512-WczfOkv7bVSi0i4bLFmMLqdcRllJr+CLO0ibVapGHxdaOkNPCgSDxBVYC/0eg8yyMsPXQu8daaTvOlODNJw9GQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/rspack/node_modules/@nx/nx-darwin-x64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-22.7.0.tgz", + "integrity": "sha512-KGBq43lJbDjIpIAU5/sJFJQokGgCu/0KVe5pO2u9hMO2A9VaVtud5bGbDpkBiWoYBK9BLM3YpbG/RB74unxWxg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/rspack/node_modules/@nx/nx-freebsd-x64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.7.0.tgz", + "integrity": "sha512-DKOHaFC7Ko4+nlin/us8FEfBBgnpifZie4LELgo2nI044GlazGHJArtRSdLq3qKfWXqtieOKO3R4YV09Ax37Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@nx/rspack/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.7.0.tgz", + "integrity": "sha512-LaZSE4FGk8KFyKF8grlhcoBWJabxkn7moO2QfULm3i1GY1AYu7bbxVZG42cAdGENqliCB8V2ARBWrMKq6mqW2g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/rspack/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.7.0.tgz", + "integrity": "sha512-g0GJ2avp0wuxHCQ2fjlMVjez4TWBtfj0jLCzO2I9M3B6ui0V+9Wh66DO5pLwyQFGbxODgwz9vwrEEZKlbDrchA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/rspack/node_modules/@nx/nx-linux-arm64-musl": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.7.0.tgz", + "integrity": "sha512-xb72G+LrhZNrWXOAd6aoDQmhzO5GKq6dkAYqhtOTAklCwIo5/4dkvqvFEe5RIQ7pk6RzdD2cUZMTJTr99rSGTg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/rspack/node_modules/@nx/nx-linux-x64-gnu": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.7.0.tgz", + "integrity": "sha512-win7DkwxThhGWJlJ0s9HLxPzam/wz5MbQhKTQmLehHz8mgFJOu6MqzrccDxuT1E93dODedtxJuAyW4c80mpp4A==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/rspack/node_modules/@nx/nx-linux-x64-musl": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.7.0.tgz", + "integrity": "sha512-lU7yT+CsZFPCH3dZAVynhyJxa5w8rwCVtbDYbBa703DkNgb8/CQAthyE7NN2fjfzeQ0YpXoV3O/iX6sVY1sdjA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/rspack/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.7.0.tgz", + "integrity": "sha512-e8P0ZSPJpaAjiIitcJAjdSCeCxAMjt5OqM6kZYUiwpHVnB31YAEe8feNvQcfvhyMjx/AXFQlBztHh8kANvdlLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/rspack/node_modules/@nx/nx-win32-x64-msvc": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.7.0.tgz", + "integrity": "sha512-NWLezNDRoZpqs8DudLCGBj214fIIG3cDhkez7eKW/i+s27O3laVCO9QgaFi07P+RSnrnZVJPfOISkE0Ql7gdAw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/rspack/node_modules/@nx/web": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-22.7.0.tgz", + "integrity": "sha512-YY8dS+qZc3JOefZHyt+bysOG4ggOlwEMKP/amrPsB3AlqH9nIsXTWg8VMawGoBn+SD4a8Y8wwkbYC/pMdGReEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "detect-port": "^1.5.1", + "http-server": "^14.1.0", + "picocolors": "^1.1.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@nx/cypress": "22.7.0", + "@nx/eslint": "22.7.0", + "@nx/jest": "22.7.0", + "@nx/playwright": "22.7.0", + "@nx/vite": "22.7.0", + "@nx/webpack": "22.7.0" + }, + "peerDependenciesMeta": { + "@nx/cypress": { + "optional": true + }, + "@nx/eslint": { + "optional": true + }, + "@nx/jest": { + "optional": true + }, + "@nx/playwright": { + "optional": true + }, + "@nx/vite": { + "optional": true + }, + "@nx/webpack": { + "optional": true + } + } + }, + "node_modules/@nx/rspack/node_modules/@nx/workspace": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-22.7.0.tgz", + "integrity": "sha512-ZhZYOlyPt1kJBvuC8MbTVTkDJSiEnr7Fu0luTGsbVLQO+2bHjIJml5HT1vCNpn39VH4Y4ZLgclHOt6P+KJH6/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "22.7.0", + "@zkochan/js-yaml": "0.0.7", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "22.7.0", + "picomatch": "4.0.4", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/rspack/node_modules/@nx/workspace/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@nx/rspack/node_modules/@nx/workspace/node_modules/nx": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/nx/-/nx-22.7.0.tgz", + "integrity": "sha512-zjySvwwAfexdKN8utZlq5IkoRZOki/gB1KTrY7OkMjSehuiimD6A7DTySiOUkPPMDwgqxMr+eOjIIbC1uWbp8Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@emnapi/core": "1.4.5", + "@emnapi/runtime": "1.4.5", + "@emnapi/wasi-threads": "1.0.4", + "@jest/diff-sequences": "30.0.1", + "@napi-rs/wasm-runtime": "0.2.4", + "@tybys/wasm-util": "0.9.0", + "@yarnpkg/lockfile": "1.1.0", + "@zkochan/js-yaml": "0.0.7", + "ansi-colors": "4.1.3", + "ansi-regex": "5.0.1", + "ansi-styles": "4.3.0", + "argparse": "2.0.1", + "asynckit": "0.4.0", + "axios": "1.15.0", + "balanced-match": "4.0.3", + "base64-js": "1.5.1", + "bl": "4.1.0", + "brace-expansion": "5.0.2", + "buffer": "5.7.1", + "call-bind-apply-helpers": "1.0.2", + "chalk": "4.1.2", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "8.0.1", + "clone": "1.0.4", + "color-convert": "2.0.1", + "color-name": "1.1.4", + "combined-stream": "1.0.8", + "defaults": "1.0.4", + "define-lazy-prop": "2.0.0", + "delayed-stream": "1.0.0", + "dotenv": "16.4.7", + "dotenv-expand": "12.0.3", + "dunder-proto": "1.0.1", + "ejs": "5.0.1", + "emoji-regex": "8.0.0", + "end-of-stream": "1.4.5", + "enquirer": "2.3.6", + "es-define-property": "1.0.1", + "es-errors": "1.3.0", + "es-object-atoms": "1.1.1", + "es-set-tostringtag": "2.1.0", + "escalade": "3.2.0", + "escape-string-regexp": "1.0.5", + "figures": "3.2.0", + "flat": "5.0.2", + "follow-redirects": "1.15.11", + "form-data": "4.0.5", + "fs-constants": "1.0.0", + "function-bind": "1.1.2", + "get-caller-file": "2.0.5", + "get-intrinsic": "1.3.0", + "get-proto": "1.0.1", + "gopd": "1.2.0", + "has-flag": "4.0.0", + "has-symbols": "1.1.0", + "has-tostringtag": "1.0.2", + "hasown": "2.0.2", + "ieee754": "1.2.1", + "ignore": "7.0.5", + "inherits": "2.0.4", + "is-docker": "2.2.1", + "is-fullwidth-code-point": "3.0.0", + "is-interactive": "1.0.0", + "is-unicode-supported": "0.1.0", + "is-wsl": "2.2.0", + "json5": "2.2.3", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "log-symbols": "4.1.0", + "math-intrinsics": "1.1.0", + "mime-db": "1.52.0", + "mime-types": "2.1.35", + "mimic-fn": "2.1.0", + "minimatch": "10.2.4", + "minimist": "1.2.8", + "npm-run-path": "4.0.1", + "once": "1.4.0", + "onetime": "5.1.2", + "open": "8.4.2", + "ora": "5.3.0", + "path-key": "3.1.1", + "picocolors": "1.1.1", + "proxy-from-env": "2.1.0", + "readable-stream": "3.6.2", + "require-directory": "2.1.1", + "resolve.exports": "2.0.3", + "restore-cursor": "3.1.0", + "safe-buffer": "5.2.1", + "semver": "7.7.4", + "signal-exit": "3.0.7", + "smol-toml": "1.6.1", + "string_decoder": "1.3.0", + "string-width": "4.2.3", + "strip-ansi": "6.0.1", + "strip-bom": "3.0.0", + "supports-color": "7.2.0", + "tar-stream": "2.2.0", + "tmp": "0.2.4", + "tree-kill": "1.2.2", + "tsconfig-paths": "4.2.0", + "tslib": "2.8.1", + "util-deprecate": "1.0.2", + "wcwidth": "1.0.1", + "wrap-ansi": "7.0.0", + "wrappy": "1.0.2", + "y18n": "5.0.8", + "yaml": "2.8.0", + "yargs": "17.7.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "dist/bin/nx.js", + "nx-cloud": "dist/bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "22.7.0", + "@nx/nx-darwin-x64": "22.7.0", + "@nx/nx-freebsd-x64": "22.7.0", + "@nx/nx-linux-arm-gnueabihf": "22.7.0", + "@nx/nx-linux-arm64-gnu": "22.7.0", + "@nx/nx-linux-arm64-musl": "22.7.0", + "@nx/nx-linux-x64-gnu": "22.7.0", + "@nx/nx-linux-x64-musl": "22.7.0", + "@nx/nx-win32-arm64-msvc": "22.7.0", + "@nx/nx-win32-x64-msvc": "22.7.0" + }, + "peerDependencies": { + "@swc-node/register": "^1.11.1", + "@swc/core": "^1.15.8" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nx/rspack/node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/rspack/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/rspack/node_modules/axios": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz", + "integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/@nx/rspack/node_modules/balanced-match": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz", + "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@nx/rspack/node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/@nx/rspack/node_modules/brace-expansion": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", + "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@nx/rspack/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/rspack/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/rspack/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/rspack/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@nx/rspack/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/rspack/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/rspack/node_modules/dotenv-expand": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-12.0.3.tgz", + "integrity": "sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@nx/rspack/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/@nx/rspack/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@nx/rspack/node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/@nx/rspack/node_modules/express/node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "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/@nx/rspack/node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@nx/rspack/node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/@nx/rspack/node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/rspack/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/@nx/rspack/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/rspack/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/rspack/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/@nx/rspack/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/rspack/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/rspack/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/rspack/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/rspack/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/rspack/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/rspack/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/rspack/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/rspack/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/rspack/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/rspack/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/rspack/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/rspack/node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/rspack/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@nx/rspack/node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@nx/rspack/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/rspack/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/@nx/rspack/node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/@nx/rspack/node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/@nx/rspack/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@nx/rspack/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/@nx/rspack/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@nx/rspack/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/@nx/rspack/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@nx/rspack/node_modules/tmp": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", + "integrity": "sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/rspack/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/rspack/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@nx/rspack/node_modules/yaml": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, + "node_modules/@nx/rspack/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nx/web": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-22.5.0.tgz", + "integrity": "sha512-ySq97z1D6QqFjZ9KrN0tuvHN+XIWcJmEsr+BmecQp5bGfSYx0InclwTpVeflbOZHGIb0tQ3yGFHEPedHzhHQbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "22.5.0", + "@nx/js": "22.5.0", + "detect-port": "^1.5.1", + "http-server": "^14.1.0", + "picocolors": "^1.1.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@nx/web/node_modules/@nx/devkit": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.5.0.tgz", + "integrity": "sha512-CLHu+zoZW8szUc0aoSrDc8P8UkWsCCoSJoa3mHsw1rYxyvFv8ufKBMmIN/jUKNx+q/XJmGivymcNI1z3vpql0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@zkochan/js-yaml": "0.0.7", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "minimatch": "10.1.1", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 21 <= 23 || ^22.0.0-0" + } + }, + "node_modules/@nx/web/node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/web/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/webpack": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-22.7.0.tgz", + "integrity": "sha512-beqDJMceJAGm+lZzo8hokYXQK9Gj/+trEj4vY/qWPvaxa2iz6H6rD7ULbC6j/UFW/pAAXnkGT/mj87WOqWSz/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@nx/devkit": "22.7.0", + "@nx/js": "22.7.0", + "@phenomnomnominal/tsquery": "~6.1.4", + "ajv": "^8.12.0", + "autoprefixer": "^10.4.9", + "babel-loader": "^9.1.2", + "browserslist": "^4.26.0", + "copy-webpack-plugin": "^14.0.0", + "css-loader": "^6.4.0", + "css-minimizer-webpack-plugin": "^8.0.0", + "fork-ts-checker-webpack-plugin": "9.1.0", + "less": ">=4.1.3 <4.6.0", + "less-loader": "^12.2.0", + "license-webpack-plugin": "^4.0.2", + "loader-utils": "^2.0.3", + "mini-css-extract-plugin": "~2.4.7", + "parse5": "4.0.0", + "picocolors": "^1.1.0", + "postcss": "^8.4.38", + "postcss-import": "~14.1.0", + "postcss-loader": "^8.2.1", + "rxjs": "^7.8.0", + "sass": "^1.85.0", + "sass-embedded": "^1.83.4", + "sass-loader": "^16.0.4", + "source-map-loader": "^5.0.0", + "style-loader": "^3.3.0", + "terser-webpack-plugin": "^5.3.3", + "ts-loader": "^9.3.1", + "tsconfig-paths-webpack-plugin": "4.2.0", + "tslib": "^2.3.0", + "webpack": "^5.101.3", + "webpack-dev-server": "^5.2.1", + "webpack-node-externals": "^3.0.0", + "webpack-subresource-integrity": "^5.1.0" + } + }, + "node_modules/@nx/webpack/node_modules/@emnapi/core": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/wasi-threads": "1.0.4", + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/webpack/node_modules/@emnapi/runtime": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/webpack/node_modules/@emnapi/wasi-threads": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/webpack/node_modules/@jest/diff-sequences": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", + "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@nx/webpack/node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", + "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/@nx/webpack/node_modules/@nx/js": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-22.7.0.tgz", + "integrity": "sha512-/ZreqwA1McpGn4kRLMnt9+UTIqCLlZp/OzVes1YOcIfzZ6LYQtL/aOVaYkpv/IB/9ojT0qHpAvLHnoHFzQtpCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nx/devkit": "22.7.0", + "@nx/workspace": "22.7.0", + "@zkochan/js-yaml": "0.0.7", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "jsonc-parser": "3.2.0", + "npm-run-path": "^4.0.1", + "picocolors": "^1.1.0", + "picomatch": "4.0.4", + "semver": "^7.6.3", + "source-map-support": "0.5.19", + "tinyglobby": "^0.2.12", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^6.0.5" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/webpack/node_modules/@nx/nx-darwin-arm64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.7.0.tgz", + "integrity": "sha512-WczfOkv7bVSi0i4bLFmMLqdcRllJr+CLO0ibVapGHxdaOkNPCgSDxBVYC/0eg8yyMsPXQu8daaTvOlODNJw9GQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/webpack/node_modules/@nx/nx-darwin-x64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-22.7.0.tgz", + "integrity": "sha512-KGBq43lJbDjIpIAU5/sJFJQokGgCu/0KVe5pO2u9hMO2A9VaVtud5bGbDpkBiWoYBK9BLM3YpbG/RB74unxWxg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/webpack/node_modules/@nx/nx-freebsd-x64": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.7.0.tgz", + "integrity": "sha512-DKOHaFC7Ko4+nlin/us8FEfBBgnpifZie4LELgo2nI044GlazGHJArtRSdLq3qKfWXqtieOKO3R4YV09Ax37Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@nx/webpack/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.7.0.tgz", + "integrity": "sha512-LaZSE4FGk8KFyKF8grlhcoBWJabxkn7moO2QfULm3i1GY1AYu7bbxVZG42cAdGENqliCB8V2ARBWrMKq6mqW2g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/webpack/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.7.0.tgz", + "integrity": "sha512-g0GJ2avp0wuxHCQ2fjlMVjez4TWBtfj0jLCzO2I9M3B6ui0V+9Wh66DO5pLwyQFGbxODgwz9vwrEEZKlbDrchA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/webpack/node_modules/@nx/nx-linux-arm64-musl": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.7.0.tgz", + "integrity": "sha512-xb72G+LrhZNrWXOAd6aoDQmhzO5GKq6dkAYqhtOTAklCwIo5/4dkvqvFEe5RIQ7pk6RzdD2cUZMTJTr99rSGTg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/webpack/node_modules/@nx/nx-linux-x64-gnu": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.7.0.tgz", + "integrity": "sha512-win7DkwxThhGWJlJ0s9HLxPzam/wz5MbQhKTQmLehHz8mgFJOu6MqzrccDxuT1E93dODedtxJuAyW4c80mpp4A==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/webpack/node_modules/@nx/nx-linux-x64-musl": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.7.0.tgz", + "integrity": "sha512-lU7yT+CsZFPCH3dZAVynhyJxa5w8rwCVtbDYbBa703DkNgb8/CQAthyE7NN2fjfzeQ0YpXoV3O/iX6sVY1sdjA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/webpack/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.7.0.tgz", + "integrity": "sha512-e8P0ZSPJpaAjiIitcJAjdSCeCxAMjt5OqM6kZYUiwpHVnB31YAEe8feNvQcfvhyMjx/AXFQlBztHh8kANvdlLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/webpack/node_modules/@nx/nx-win32-x64-msvc": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.7.0.tgz", + "integrity": "sha512-NWLezNDRoZpqs8DudLCGBj214fIIG3cDhkez7eKW/i+s27O3laVCO9QgaFi07P+RSnrnZVJPfOISkE0Ql7gdAw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, @@ -8760,355 +10971,785 @@ "win32" ] }, - "node_modules/@nx/rspack": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/rspack/-/rspack-22.5.0.tgz", - "integrity": "sha512-9X0gWHemdmQpBopBsF4CJwwvKJr40b+gS4/zBBoEmc58QX7eLgxkj4Bm4G5Z823t/Wmt8uC35vjkZez26G1DqA==", + "node_modules/@nx/webpack/node_modules/@nx/workspace": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-22.7.0.tgz", + "integrity": "sha512-ZhZYOlyPt1kJBvuC8MbTVTkDJSiEnr7Fu0luTGsbVLQO+2bHjIJml5HT1vCNpn39VH4Y4ZLgclHOt6P+KJH6/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "22.7.0", + "@zkochan/js-yaml": "0.0.7", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "22.7.0", + "picomatch": "4.0.4", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/webpack/node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@nx/webpack/node_modules/axios": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz", + "integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/@nx/webpack/node_modules/balanced-match": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz", + "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@nx/webpack/node_modules/brace-expansion": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", + "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@nx/webpack/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/webpack/node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/@nx/webpack/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/webpack/node_modules/dotenv-expand": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-12.0.3.tgz", + "integrity": "sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@nx/webpack/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/@nx/webpack/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@nx/webpack/node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/@nx/webpack/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/@nx/webpack/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/webpack/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/@nx/webpack/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/webpack/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/webpack/node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/webpack/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/webpack/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/webpack/node_modules/less": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/less/-/less-4.5.1.tgz", + "integrity": "sha512-UKgI3/KON4u6ngSsnDADsUERqhZknsVZbnuzlRZXLQCmfC/MDld42fTydUE9B+Mla1AL6SJ/Pp6SlEFi/AVGfw==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/@nx/webpack/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "22.5.0", - "@nx/js": "22.5.0", - "@nx/module-federation": "22.5.0", - "@nx/web": "22.5.0", - "@phenomnomnominal/tsquery": "~6.1.4", - "@rspack/core": "1.6.8", - "@rspack/dev-server": "^1.1.4", - "@rspack/plugin-react-refresh": "^1.0.0", - "autoprefixer": "^10.4.9", - "browserslist": "^4.26.0", - "css-loader": "^6.4.0", - "enquirer": "~2.3.6", - "express": "^4.21.2", - "http-proxy-middleware": "^3.0.5", - "less-loader": "^11.1.0", - "license-webpack-plugin": "^4.0.2", - "loader-utils": "^2.0.3", - "parse5": "4.0.0", - "picocolors": "^1.1.0", - "postcss": "^8.4.38", - "postcss-import": "~14.1.0", - "postcss-loader": "^8.1.1", - "sass": "^1.85.0", - "sass-embedded": "^1.83.4", - "sass-loader": "^16.0.4", - "source-map-loader": "^5.0.0", - "style-loader": "^3.3.0", - "ts-checker-rspack-plugin": "^1.1.1", - "tslib": "^2.3.0", - "webpack": "^5.101.3", - "webpack-node-externals": "^3.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, - "peerDependencies": { - "@module-federation/enhanced": "^0.21.2", - "@module-federation/node": "^2.7.21" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nx/rspack/node_modules/@napi-rs/wasm-runtime": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", - "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", + "node_modules/@nx/webpack/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.5.0", - "@emnapi/runtime": "^1.5.0", - "@tybys/wasm-util": "^0.10.1" + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@nx/rspack/node_modules/@rspack/binding": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.6.8.tgz", - "integrity": "sha512-lUeL4mbwGo+nqRKqFDCm9vH2jv9FNMVt1X8jqayWRcOCPlj/2UVMEFgqjR7Pp2vlvnTKq//31KbDBJmDZq31RQ==", + "node_modules/@nx/webpack/node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@nx/webpack/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/webpack/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nx/webpack/node_modules/nx": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/nx/-/nx-22.7.0.tgz", + "integrity": "sha512-zjySvwwAfexdKN8utZlq5IkoRZOki/gB1KTrY7OkMjSehuiimD6A7DTySiOUkPPMDwgqxMr+eOjIIbC1uWbp8Q==", "dev": true, + "hasInstallScript": true, "license": "MIT", + "dependencies": { + "@emnapi/core": "1.4.5", + "@emnapi/runtime": "1.4.5", + "@emnapi/wasi-threads": "1.0.4", + "@jest/diff-sequences": "30.0.1", + "@napi-rs/wasm-runtime": "0.2.4", + "@tybys/wasm-util": "0.9.0", + "@yarnpkg/lockfile": "1.1.0", + "@zkochan/js-yaml": "0.0.7", + "ansi-colors": "4.1.3", + "ansi-regex": "5.0.1", + "ansi-styles": "4.3.0", + "argparse": "2.0.1", + "asynckit": "0.4.0", + "axios": "1.15.0", + "balanced-match": "4.0.3", + "base64-js": "1.5.1", + "bl": "4.1.0", + "brace-expansion": "5.0.2", + "buffer": "5.7.1", + "call-bind-apply-helpers": "1.0.2", + "chalk": "4.1.2", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "8.0.1", + "clone": "1.0.4", + "color-convert": "2.0.1", + "color-name": "1.1.4", + "combined-stream": "1.0.8", + "defaults": "1.0.4", + "define-lazy-prop": "2.0.0", + "delayed-stream": "1.0.0", + "dotenv": "16.4.7", + "dotenv-expand": "12.0.3", + "dunder-proto": "1.0.1", + "ejs": "5.0.1", + "emoji-regex": "8.0.0", + "end-of-stream": "1.4.5", + "enquirer": "2.3.6", + "es-define-property": "1.0.1", + "es-errors": "1.3.0", + "es-object-atoms": "1.1.1", + "es-set-tostringtag": "2.1.0", + "escalade": "3.2.0", + "escape-string-regexp": "1.0.5", + "figures": "3.2.0", + "flat": "5.0.2", + "follow-redirects": "1.15.11", + "form-data": "4.0.5", + "fs-constants": "1.0.0", + "function-bind": "1.1.2", + "get-caller-file": "2.0.5", + "get-intrinsic": "1.3.0", + "get-proto": "1.0.1", + "gopd": "1.2.0", + "has-flag": "4.0.0", + "has-symbols": "1.1.0", + "has-tostringtag": "1.0.2", + "hasown": "2.0.2", + "ieee754": "1.2.1", + "ignore": "7.0.5", + "inherits": "2.0.4", + "is-docker": "2.2.1", + "is-fullwidth-code-point": "3.0.0", + "is-interactive": "1.0.0", + "is-unicode-supported": "0.1.0", + "is-wsl": "2.2.0", + "json5": "2.2.3", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "log-symbols": "4.1.0", + "math-intrinsics": "1.1.0", + "mime-db": "1.52.0", + "mime-types": "2.1.35", + "mimic-fn": "2.1.0", + "minimatch": "10.2.4", + "minimist": "1.2.8", + "npm-run-path": "4.0.1", + "once": "1.4.0", + "onetime": "5.1.2", + "open": "8.4.2", + "ora": "5.3.0", + "path-key": "3.1.1", + "picocolors": "1.1.1", + "proxy-from-env": "2.1.0", + "readable-stream": "3.6.2", + "require-directory": "2.1.1", + "resolve.exports": "2.0.3", + "restore-cursor": "3.1.0", + "safe-buffer": "5.2.1", + "semver": "7.7.4", + "signal-exit": "3.0.7", + "smol-toml": "1.6.1", + "string_decoder": "1.3.0", + "string-width": "4.2.3", + "strip-ansi": "6.0.1", + "strip-bom": "3.0.0", + "supports-color": "7.2.0", + "tar-stream": "2.2.0", + "tmp": "0.2.4", + "tree-kill": "1.2.2", + "tsconfig-paths": "4.2.0", + "tslib": "2.8.1", + "util-deprecate": "1.0.2", + "wcwidth": "1.0.1", + "wrap-ansi": "7.0.0", + "wrappy": "1.0.2", + "y18n": "5.0.8", + "yaml": "2.8.0", + "yargs": "17.7.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "dist/bin/nx.js", + "nx-cloud": "dist/bin/nx-cloud.js" + }, "optionalDependencies": { - "@rspack/binding-darwin-arm64": "1.6.8", - "@rspack/binding-darwin-x64": "1.6.8", - "@rspack/binding-linux-arm64-gnu": "1.6.8", - "@rspack/binding-linux-arm64-musl": "1.6.8", - "@rspack/binding-linux-x64-gnu": "1.6.8", - "@rspack/binding-linux-x64-musl": "1.6.8", - "@rspack/binding-wasm32-wasi": "1.6.8", - "@rspack/binding-win32-arm64-msvc": "1.6.8", - "@rspack/binding-win32-ia32-msvc": "1.6.8", - "@rspack/binding-win32-x64-msvc": "1.6.8" + "@nx/nx-darwin-arm64": "22.7.0", + "@nx/nx-darwin-x64": "22.7.0", + "@nx/nx-freebsd-x64": "22.7.0", + "@nx/nx-linux-arm-gnueabihf": "22.7.0", + "@nx/nx-linux-arm64-gnu": "22.7.0", + "@nx/nx-linux-arm64-musl": "22.7.0", + "@nx/nx-linux-x64-gnu": "22.7.0", + "@nx/nx-linux-x64-musl": "22.7.0", + "@nx/nx-win32-arm64-msvc": "22.7.0", + "@nx/nx-win32-x64-msvc": "22.7.0" + }, + "peerDependencies": { + "@swc-node/register": "^1.11.1", + "@swc/core": "^1.15.8" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } } }, - "node_modules/@nx/rspack/node_modules/@rspack/binding-darwin-arm64": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.6.8.tgz", - "integrity": "sha512-e8CTQtzaeGnf+BIzR7wRMUwKfIg0jd/sxMRc1Vd0bCMHBhSN9EsGoMuJJaKeRrSmy2nwMCNWHIG+TvT1CEKg+A==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/webpack/node_modules/nx/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "engines": { + "node": ">= 4" + } }, - "node_modules/@nx/rspack/node_modules/@rspack/binding-darwin-x64": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.6.8.tgz", - "integrity": "sha512-ku1XpTEPt6Za11zhpFWhfwrTQogcgi9RJrOUVC4FESiPO9aKyd4hJ+JiPgLY0MZOqsptK6vEAgOip+uDVXrCpg==", - "cpu": [ - "x64" - ], + "node_modules/@nx/webpack/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@nx/rspack/node_modules/@rspack/binding-linux-arm64-gnu": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.6.8.tgz", - "integrity": "sha512-fvZX6xZPvBT8qipSpvkKMX5M7yd2BSpZNCZXcefw6gA3uC7LI3gu+er0LrDXY1PtPzVuHTyDx+abwWpagV3PiQ==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/webpack/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/webpack/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@nx/webpack/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=6" + } }, - "node_modules/@nx/rspack/node_modules/@rspack/binding-linux-arm64-musl": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.6.8.tgz", - "integrity": "sha512-++XMKcMNrt59HcFBLnRaJcn70k3X0GwkAegZBVpel8xYIAgvoXT5+L8P1ExId/yTFxqedaz8DbcxQnNmMozviw==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/webpack/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/webpack/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": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/@nx/rspack/node_modules/@rspack/binding-linux-x64-gnu": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.6.8.tgz", - "integrity": "sha512-tv3BWkTE1TndfX+DsE1rSTg8fBevCxujNZ3MlfZ22Wfy9x1FMXTJlWG8VIOXmaaJ1wUHzv8S7cE2YUUJ2LuiCg==", - "cpu": [ - "x64" - ], + "node_modules/@nx/webpack/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "ISC" }, - "node_modules/@nx/rspack/node_modules/@rspack/binding-linux-x64-musl": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.6.8.tgz", - "integrity": "sha512-DCGgZ5/in1O3FjHWqXnDsncRy+48cMhfuUAAUyl0yDj1NpsZu9pP+xfGLvGcQTiYrVl7IH9Aojf1eShP/77WGA==", - "cpu": [ - "x64" - ], + "node_modules/@nx/webpack/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": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@nx/rspack/node_modules/@rspack/binding-wasm32-wasi": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.6.8.tgz", - "integrity": "sha512-VUwdhl/lI4m6o1OGCZ9JwtMjTV/yLY5VZTQdEPKb40JMTlmZ5MBlr5xk7ByaXXYHr6I+qnqEm73iMKQvg6iknw==", - "cpu": [ - "wasm32" - ], + "node_modules/@nx/webpack/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "1.0.7" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/@nx/rspack/node_modules/@rspack/binding-win32-arm64-msvc": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.6.8.tgz", - "integrity": "sha512-23YX7zlOZlub+nPGDBUzktb4D5D6ETUAluKjXEeHIZ9m7fSlEYBnGL66YE+3t1DHXGd0OqsdwlvrNGcyo6EXDQ==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/webpack/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", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@nx/rspack/node_modules/@rspack/binding-win32-ia32-msvc": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.6.8.tgz", - "integrity": "sha512-cFgRE3APxrY4AEdooVk2LtipwNNT/9mrnjdC5lVbsIsz+SxvGbZR231bxDJEqP15+RJOaD07FO1sIjINFqXMEg==", - "cpu": [ - "ia32" - ], + "node_modules/@nx/webpack/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">=4" + } }, - "node_modules/@nx/rspack/node_modules/@rspack/binding-win32-x64-msvc": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.6.8.tgz", - "integrity": "sha512-cIuhVsZYd3o3Neo1JSAhJYw6BDvlxaBoqvgwRkG1rs0ExFmEmgYyG7ip9pFKnKNWph/tmW3rDYypmEfjs1is7g==", - "cpu": [ - "x64" - ], + "node_modules/@nx/webpack/node_modules/tmp": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", + "integrity": "sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">=14.14" + } }, - "node_modules/@nx/rspack/node_modules/@rspack/core": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.6.8.tgz", - "integrity": "sha512-FolcIAH5FW4J2FET+qwjd1kNeFbCkd0VLuIHO0thyolEjaPSxw5qxG67DA7BZGm6PVcoiSgPLks1DL6eZ8c+fA==", + "node_modules/@nx/webpack/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/runtime-tools": "0.21.6", - "@rspack/binding": "1.6.8", - "@rspack/lite-tapable": "1.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=18.12.0" + "node": ">=10" }, - "peerDependencies": { - "@swc/helpers": ">=0.5.1" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@nx/webpack/node_modules/yaml": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } + "engines": { + "node": ">= 14.6" } }, - "node_modules/@nx/rspack/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==", + "node_modules/@nx/webpack/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "tslib": "^2.4.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@nx/web": { + "node_modules/@nx/workspace": { "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/web/-/web-22.5.0.tgz", - "integrity": "sha512-ySq97z1D6QqFjZ9KrN0tuvHN+XIWcJmEsr+BmecQp5bGfSYx0InclwTpVeflbOZHGIb0tQ3yGFHEPedHzhHQbA==", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-22.5.0.tgz", + "integrity": "sha512-kFXSMV7eGVBSJlfPtbIDrlUFYDspFpwHcsYFU+qwyg/b5R8lNfYKlSC0ypL2XyG4kwCMoTr4BDEaY5nYRWW3Lw==", "dev": true, "license": "MIT", "dependencies": { "@nx/devkit": "22.5.0", - "@nx/js": "22.5.0", - "detect-port": "^1.5.1", - "http-server": "^14.1.0", - "picocolors": "^1.1.0", - "tslib": "^2.3.0" + "@zkochan/js-yaml": "0.0.7", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "22.5.0", + "picomatch": "4.0.2", + "semver": "^7.6.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" } }, - "node_modules/@nx/webpack": { + "node_modules/@nx/workspace/node_modules/@nx/devkit": { "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-22.5.0.tgz", - "integrity": "sha512-9gDQNwwq5rEt5c41WDH7f2iJpOUDYtuA71BwELl1aBwgeEq8bI/zmEPzgdoJ5K7TeKXFFrCVqxuXNMFgcUJpWw==", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.5.0.tgz", + "integrity": "sha512-CLHu+zoZW8szUc0aoSrDc8P8UkWsCCoSJoa3mHsw1rYxyvFv8ufKBMmIN/jUKNx+q/XJmGivymcNI1z3vpql0w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.23.2", - "@nx/devkit": "22.5.0", - "@nx/js": "22.5.0", - "@phenomnomnominal/tsquery": "~6.1.4", - "ajv": "^8.12.0", - "autoprefixer": "^10.4.9", - "babel-loader": "^9.1.2", - "browserslist": "^4.26.0", - "copy-webpack-plugin": "^10.2.4", - "css-loader": "^6.4.0", - "css-minimizer-webpack-plugin": "^5.0.0", - "fork-ts-checker-webpack-plugin": "7.2.13", - "less": "^4.1.3", - "less-loader": "^11.1.0", - "license-webpack-plugin": "^4.0.2", - "loader-utils": "^2.0.3", - "mini-css-extract-plugin": "~2.4.7", - "parse5": "4.0.0", - "picocolors": "^1.1.0", - "postcss": "^8.4.38", - "postcss-import": "~14.1.0", - "postcss-loader": "^6.1.1", - "rxjs": "^7.8.0", - "sass": "^1.85.0", - "sass-embedded": "^1.83.4", - "sass-loader": "^16.0.4", - "source-map-loader": "^5.0.0", - "style-loader": "^3.3.0", - "terser-webpack-plugin": "^5.3.3", - "ts-loader": "^9.3.1", - "tsconfig-paths-webpack-plugin": "4.2.0", + "@zkochan/js-yaml": "0.0.7", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "minimatch": "10.1.1", + "semver": "^7.6.3", "tslib": "^2.3.0", - "webpack": "^5.101.3", - "webpack-dev-server": "^5.2.1", - "webpack-node-externals": "^3.0.0", - "webpack-subresource-integrity": "^5.1.0" + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 21 <= 23 || ^22.0.0-0" } }, - "node_modules/@nx/webpack/node_modules/postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "node_modules/@nx/workspace/node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" }, "engines": { - "node": ">= 12.13.0" + "node": ">=0.10.0" + } + }, + "node_modules/@nx/workspace/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "engines": { + "node": "20 || >=22" }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@nx/workspace": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-22.5.0.tgz", - "integrity": "sha512-kFXSMV7eGVBSJlfPtbIDrlUFYDspFpwHcsYFU+qwyg/b5R8lNfYKlSC0ypL2XyG4kwCMoTr4BDEaY5nYRWW3Lw==", + "node_modules/@nx/workspace/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", - "dependencies": { - "@nx/devkit": "22.5.0", - "@zkochan/js-yaml": "0.0.7", - "chalk": "^4.1.0", - "enquirer": "~2.3.6", - "nx": "22.5.0", - "picomatch": "4.0.2", - "semver": "^7.6.3", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/@oxc-project/types": { @@ -9122,9 +11763,9 @@ } }, "node_modules/@oxc-resolver/binding-android-arm-eabi": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm-eabi/-/binding-android-arm-eabi-11.17.1.tgz", - "integrity": "sha512-+VuZyMYYaap5uDAU1xDU3Kul0FekLqpBS8kI5JozlWfYQKnc/HsZg2gHPkQrj0SC9lt74WMNCfOzZZJlYXSdEQ==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm-eabi/-/binding-android-arm-eabi-11.19.1.tgz", + "integrity": "sha512-aUs47y+xyXHUKlbhqHUjBABjvycq6YSD7bpxSW7vplUmdzAlJ93yXY6ZR0c1o1x5A/QKbENCvs3+NlY8IpIVzg==", "cpu": [ "arm" ], @@ -9136,9 +11777,9 @@ ] }, "node_modules/@oxc-resolver/binding-android-arm64": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm64/-/binding-android-arm64-11.17.1.tgz", - "integrity": "sha512-YlDDTjvOEKhom/cRSVsXsMVeXVIAM9PJ/x2mfe08rfuS0iIEfJd8PngKbEIhG72WPxleUa+vkEZj9ncmC14z3Q==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm64/-/binding-android-arm64-11.19.1.tgz", + "integrity": "sha512-oolbkRX+m7Pq2LNjr/kKgYeC7bRDMVTWPgxBGMjSpZi/+UskVo4jsMU3MLheZV55jL6c3rNelPl4oD60ggYmqA==", "cpu": [ "arm64" ], @@ -9150,9 +11791,9 @@ ] }, "node_modules/@oxc-resolver/binding-darwin-arm64": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-11.17.1.tgz", - "integrity": "sha512-HOYYLSY4JDk14YkXaz/ApgJYhgDP4KsG8EZpgpOxdszGW9HmIMMY/vXqVKYW74dSH+GQkIXYxBrEh3nv+XODVg==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-11.19.1.tgz", + "integrity": "sha512-nUC6d2i3R5B12sUW4O646qD5cnMXf2oBGPLIIeaRfU9doJRORAbE2SGv4eW6rMqhD+G7nf2Y8TTJTLiiO3Q/dQ==", "cpu": [ "arm64" ], @@ -9164,9 +11805,9 @@ ] }, "node_modules/@oxc-resolver/binding-darwin-x64": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-11.17.1.tgz", - "integrity": "sha512-JHPJbsa5HvPq2/RIdtGlqfaG9zV2WmgvHrKTYmlW0L5esqtKCBuetFudXTBzkNcyD69kSZLzH92AzTr6vFHMFg==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-11.19.1.tgz", + "integrity": "sha512-cV50vE5+uAgNcFa3QY1JOeKDSkM/9ReIcc/9wn4TavhW/itkDGrXhw9jaKnkQnGbjJ198Yh5nbX/Gr2mr4Z5jQ==", "cpu": [ "x64" ], @@ -9178,9 +11819,9 @@ ] }, "node_modules/@oxc-resolver/binding-freebsd-x64": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-11.17.1.tgz", - "integrity": "sha512-UD1FRC8j8xZstFXYsXwQkNmmg7vUbee006IqxokwDUUA+xEgKZDpLhBEiVKM08Urb+bn7Q0gn6M1pyNR0ng5mg==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-11.19.1.tgz", + "integrity": "sha512-xZOQiYGFxtk48PBKff+Zwoym7ScPAIVp4c14lfLxizO2LTTTJe5sx9vQNGrBymrf/vatSPNMD4FgsaaRigPkqw==", "cpu": [ "x64" ], @@ -9192,9 +11833,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-arm-gnueabihf": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-11.17.1.tgz", - "integrity": "sha512-wFWC1wyf2ROFWTxK5x0Enm++DSof3EBQ/ypyAesMDLiYxOOASDoMOZG1ylWUnlKaCt5W7eNOWOzABpdfFf/ssA==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-11.19.1.tgz", + "integrity": "sha512-lXZYWAC6kaGe/ky2su94e9jN9t6M0/6c+GrSlCqL//XO1cxi5lpAhnJYdyrKfm0ZEr/c7RNyAx3P7FSBcBd5+A==", "cpu": [ "arm" ], @@ -9206,9 +11847,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-arm-musleabihf": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-11.17.1.tgz", - "integrity": "sha512-k/hUif0GEBk/csSqCfTPXb8AAVs1NNWCa/skBghvNbTtORcWfOVqJ3mM+2pE189+enRm4UnryLREu5ysI0kXEQ==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-11.19.1.tgz", + "integrity": "sha512-veG1kKsuK5+t2IsO9q0DErYVSw2azvCVvWHnfTOS73WE0STdLLB7Q1bB9WR+yHPQM76ASkFyRbogWo1GR1+WbQ==", "cpu": [ "arm" ], @@ -9220,13 +11861,16 @@ ] }, "node_modules/@oxc-resolver/binding-linux-arm64-gnu": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-11.17.1.tgz", - "integrity": "sha512-Cwm6A071ww60QouJ9LoHAwBgEoZzHQ0Qaqk2E7WLfBdiQN9mLXIDhnrpn04hlRElRPhLiu/dtg+o5PPLvaINXQ==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-11.19.1.tgz", + "integrity": "sha512-heV2+jmXyYnUrpUXSPugqWDRpnsQcDm2AX4wzTuvgdlZfoNYO0O3W2AVpJYaDn9AG4JdM6Kxom8+foE7/BcSig==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -9234,13 +11878,16 @@ ] }, "node_modules/@oxc-resolver/binding-linux-arm64-musl": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-11.17.1.tgz", - "integrity": "sha512-+hwlE2v3m0r3sk93SchJL1uyaKcPjf+NGO/TD2DZUDo+chXx7FfaEj0nUMewigSt7oZ2sQN9Z4NJOtUa75HE5Q==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-11.19.1.tgz", + "integrity": "sha512-jvo2Pjs1c9KPxMuMPIeQsgu0mOJF9rEb3y3TdpsrqwxRM+AN6/nDDwv45n5ZrUnQMsdBy5gIabioMKnQfWo9ew==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -9248,13 +11895,16 @@ ] }, "node_modules/@oxc-resolver/binding-linux-ppc64-gnu": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-11.17.1.tgz", - "integrity": "sha512-bO+rsaE5Ox8cFyeL5Ct5tzot1TnQpFa/Wmu5k+hqBYSH2dNVDGoi0NizBN5QV8kOIC6O5MZr81UG4yW/2FyDTA==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-11.19.1.tgz", + "integrity": "sha512-vLmdNxWCdN7Uo5suays6A/+ywBby2PWBBPXctWPg5V0+eVuzsJxgAn6MMB4mPlshskYbppjpN2Zg83ArHze9gQ==", "cpu": [ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -9262,13 +11912,16 @@ ] }, "node_modules/@oxc-resolver/binding-linux-riscv64-gnu": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-11.17.1.tgz", - "integrity": "sha512-B/P+hxKQ1oX4YstI9Lyh4PGzqB87Ddqj/A4iyRBbPdXTcxa+WW3oRLx1CsJKLmHPdDk461Hmbghq1Bm3pl+8Aw==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-11.19.1.tgz", + "integrity": "sha512-/b+WgR+VTSBxzgOhDO7TlMXC1ufPIMR6Vj1zN+/x+MnyXGW7prTLzU9eW85Aj7Th7CCEG9ArCbTeqxCzFWdg2w==", "cpu": [ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -9276,13 +11929,16 @@ ] }, "node_modules/@oxc-resolver/binding-linux-riscv64-musl": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-11.17.1.tgz", - "integrity": "sha512-ulp2H3bFXzd/th2maH+QNKj5qgOhJ3v9Yspdf1svTw3CDOuuTl6sRKsWQ7MUw0vnkSNvQndtflBwVXgzZvURsQ==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-11.19.1.tgz", + "integrity": "sha512-YlRdeWb9j42p29ROh+h4eg/OQ3dTJlpHSa+84pUM9+p6i3djtPz1q55yLJhgW9XfDch7FN1pQ/Vd6YP+xfRIuw==", "cpu": [ "riscv64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -9290,13 +11946,16 @@ ] }, "node_modules/@oxc-resolver/binding-linux-s390x-gnu": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-11.17.1.tgz", - "integrity": "sha512-LAXYVe3rKk09Zo9YKF2ZLBcH8sz8Oj+JIyiUxiHtq0hiYLMsN6dOpCf2hzQEjPAmsSEA/hdC1PVKeXo+oma8mQ==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-11.19.1.tgz", + "integrity": "sha512-EDpafVOQWF8/MJynsjOGFThcqhRHy417sRyLfQmeiamJ8qVhSKAn2Dn2VVKUGCjVB9C46VGjhNo7nOPUi1x6uA==", "cpu": [ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -9304,13 +11963,16 @@ ] }, "node_modules/@oxc-resolver/binding-linux-x64-gnu": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-11.17.1.tgz", - "integrity": "sha512-3RAhxipMKE8RCSPn7O//sj440i+cYTgYbapLeOoDvQEt6R1QcJjTsFgI4iz99FhVj3YbPxlZmcLB5VW+ipyRTA==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-11.19.1.tgz", + "integrity": "sha512-NxjZe+rqWhr+RT8/Ik+5ptA3oz7tUw361Wa5RWQXKnfqwSSHdHyrw6IdcTfYuml9dM856AlKWZIUXDmA9kkiBQ==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -9318,13 +11980,16 @@ ] }, "node_modules/@oxc-resolver/binding-linux-x64-musl": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-11.17.1.tgz", - "integrity": "sha512-wpjMEubGU8r9VjZTLdZR3aPHaBqTl8Jl8F4DBbgNoZ+yhkhQD1/MGvY70v2TLnAI6kAHSvcqgfvaqKDa2iWsPQ==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-11.19.1.tgz", + "integrity": "sha512-cM/hQwsO3ReJg5kR+SpI69DMfvNCp+A/eVR4b4YClE5bVZwz8rh2Nh05InhwI5HR/9cArbEkzMjcKgTHS6UaNw==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -9332,9 +11997,9 @@ ] }, "node_modules/@oxc-resolver/binding-openharmony-arm64": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-openharmony-arm64/-/binding-openharmony-arm64-11.17.1.tgz", - "integrity": "sha512-XIE4w17RYAVIgx+9Gs3deTREq5tsmalbatYOOBGNdH7n0DfTE600c7wYXsp7ANc3BPDXsInnOzXDEPCvO1F6cg==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-openharmony-arm64/-/binding-openharmony-arm64-11.19.1.tgz", + "integrity": "sha512-QF080IowFB0+9Rh6RcD19bdgh49BpQHUW5TajG1qvWHvmrQznTZZjYlgE2ltLXyKY+qs4F/v5xuX1XS7Is+3qA==", "cpu": [ "arm64" ], @@ -9346,9 +12011,9 @@ ] }, "node_modules/@oxc-resolver/binding-wasm32-wasi": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-11.17.1.tgz", - "integrity": "sha512-Lqi5BlHX3zS4bpSOkIbOKVf7DIk6Gvmdifr2OuOI58eUUyP944M8/OyaB09cNpPy9Vukj7nmmhOzj8pwLgAkIg==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-11.19.1.tgz", + "integrity": "sha512-w8UCKhX826cP/ZLokXDS6+milN8y4X7zidsAttEdWlVoamTNf6lhBJldaWr3ukTDiye7s4HRcuPEPOXNC432Vg==", "cpu": [ "wasm32" ], @@ -9363,37 +12028,28 @@ } }, "node_modules/@oxc-resolver/binding-wasm32-wasi/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==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", "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/@oxc-resolver/binding-wasm32-wasi/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" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, "node_modules/@oxc-resolver/binding-win32-arm64-msvc": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-11.17.1.tgz", - "integrity": "sha512-l6lTcLBQVj1HNquFpXSsrkCIM8X5Hlng5YNQJrg00z/KyovvDV5l3OFhoRyZ+aLBQ74zUnMRaJZC7xcBnHyeNg==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-11.19.1.tgz", + "integrity": "sha512-nJ4AsUVZrVKwnU/QRdzPCCrO0TrabBqgJ8pJhXITdZGYOV28TIYystV1VFLbQ7DtAcaBHpocT5/ZJnF78YJPtQ==", "cpu": [ "arm64" ], @@ -9405,9 +12061,9 @@ ] }, "node_modules/@oxc-resolver/binding-win32-ia32-msvc": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-11.17.1.tgz", - "integrity": "sha512-VTzVtfnCCsU/6GgvursWoyZrhe3Gj/RyXzDWmh4/U1Y3IW0u1FZbp+hCIlBL16pRPbDc5YvXVtCOnA41QOrOoQ==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-11.19.1.tgz", + "integrity": "sha512-EW+ND5q2Tl+a3pH81l1QbfgbF3HmqgwLfDfVithRFheac8OTcnbXt/JxqD2GbDkb7xYEqy1zNaVFRr3oeG8npA==", "cpu": [ "ia32" ], @@ -9419,9 +12075,9 @@ ] }, "node_modules/@oxc-resolver/binding-win32-x64-msvc": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-11.17.1.tgz", - "integrity": "sha512-jRPVU+6/12baj87q2+UGRh30FBVBzqKdJ7rP/mSqiL1kpNQB9yZ1j0+m3sru1m+C8hiFK7lBFwjUtYUBI7+UpQ==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-11.19.1.tgz", + "integrity": "sha512-6hIU3RQu45B+VNTY4Ru8ppFwjVS/S5qwYyGhBotmjxfEKk41I2DlGtRfGJndZ5+6lneE2pwloqunlOyZuX/XAw==", "cpu": [ "x64" ], @@ -9561,6 +12217,9 @@ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -9582,6 +12241,9 @@ "arm" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -9603,6 +12265,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -9624,6 +12289,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -9645,6 +12313,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -9666,6 +12337,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -9742,114 +12416,108 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "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, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "optional": true }, "node_modules/@peculiar/asn1-cms": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.0.tgz", - "integrity": "sha512-2uZqP+ggSncESeUF/9Su8rWqGclEfEiz1SyU02WX5fUONFfkjzS2Z/F1Li0ofSmf4JqYXIOdCAZqIXAIBAT1OA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.1.tgz", + "integrity": "sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==", "dev": true, "license": "MIT", "dependencies": { "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.0", - "@peculiar/asn1-x509-attr": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "@peculiar/asn1-x509-attr": "^2.6.1", "asn1js": "^3.0.6", "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-csr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.0.tgz", - "integrity": "sha512-BeWIu5VpTIhfRysfEp73SGbwjjoLL/JWXhJ/9mo4vXnz3tRGm+NGm3KNcRzQ9VMVqwYS2RHlolz21svzRXIHPQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.1.tgz", + "integrity": "sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w==", "dev": true, "license": "MIT", "dependencies": { "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", "asn1js": "^3.0.6", "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-ecc": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.0.tgz", - "integrity": "sha512-FF3LMGq6SfAOwUG2sKpPXblibn6XnEIKa+SryvUl5Pik+WR9rmRA3OCiwz8R3lVXnYnyRkSZsSLdml8H3UiOcw==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.1.tgz", + "integrity": "sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g==", "dev": true, "license": "MIT", "dependencies": { "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", "asn1js": "^3.0.6", "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-pfx": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.0.tgz", - "integrity": "sha512-rtUvtf+tyKGgokHHmZzeUojRZJYPxoD/jaN1+VAB4kKR7tXrnDCA/RAWXAIhMJJC+7W27IIRGe9djvxKgsldCQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.1.tgz", + "integrity": "sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw==", "dev": true, "license": "MIT", "dependencies": { - "@peculiar/asn1-cms": "^2.6.0", - "@peculiar/asn1-pkcs8": "^2.6.0", - "@peculiar/asn1-rsa": "^2.6.0", + "@peculiar/asn1-cms": "^2.6.1", + "@peculiar/asn1-pkcs8": "^2.6.1", + "@peculiar/asn1-rsa": "^2.6.1", "@peculiar/asn1-schema": "^2.6.0", "asn1js": "^3.0.6", "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-pkcs8": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.0.tgz", - "integrity": "sha512-KyQ4D8G/NrS7Fw3XCJrngxmjwO/3htnA0lL9gDICvEQ+GJ+EPFqldcJQTwPIdvx98Tua+WjkdKHSC0/Km7T+lA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.1.tgz", + "integrity": "sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw==", "dev": true, "license": "MIT", "dependencies": { "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", "asn1js": "^3.0.6", "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-pkcs9": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.0.tgz", - "integrity": "sha512-b78OQ6OciW0aqZxdzliXGYHASeCvvw5caqidbpQRYW2mBtXIX2WhofNXTEe7NyxTb0P6J62kAAWLwn0HuMF1Fw==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.1.tgz", + "integrity": "sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw==", "dev": true, "license": "MIT", "dependencies": { - "@peculiar/asn1-cms": "^2.6.0", - "@peculiar/asn1-pfx": "^2.6.0", - "@peculiar/asn1-pkcs8": "^2.6.0", + "@peculiar/asn1-cms": "^2.6.1", + "@peculiar/asn1-pfx": "^2.6.1", + "@peculiar/asn1-pkcs8": "^2.6.1", "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.0", - "@peculiar/asn1-x509-attr": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "@peculiar/asn1-x509-attr": "^2.6.1", "asn1js": "^3.0.6", "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-rsa": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.0.tgz", - "integrity": "sha512-Nu4C19tsrTsCp9fDrH+sdcOKoVfdfoQQ7S3VqjJU6vedR7tY3RLkQ5oguOIB3zFW33USDUuYZnPEQYySlgha4w==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.1.tgz", + "integrity": "sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA==", "dev": true, "license": "MIT", "dependencies": { "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", "asn1js": "^3.0.6", "tslib": "^2.8.1" } @@ -9867,9 +12535,9 @@ } }, "node_modules/@peculiar/asn1-x509": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.0.tgz", - "integrity": "sha512-uzYbPEpoQiBoTq0/+jZtpM6Gq6zADBx+JNFP3yqRgziWBxQ/Dt/HcuvRfm9zJTPdRcBqPNdaRHTVwpyiq6iNMA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.1.tgz", + "integrity": "sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==", "dev": true, "license": "MIT", "dependencies": { @@ -9880,14 +12548,14 @@ } }, "node_modules/@peculiar/asn1-x509-attr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.0.tgz", - "integrity": "sha512-MuIAXFX3/dc8gmoZBkwJWxUWOSvG4MMDntXhrOZpJVMkYX+MYc/rUAU2uJOved9iJEoiUx7//3D8oG83a78UJA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.1.tgz", + "integrity": "sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==", "dev": true, "license": "MIT", "dependencies": { "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", "asn1js": "^3.0.6", "tslib": "^2.8.1" } @@ -9961,9 +12629,9 @@ } }, "node_modules/@rive-app/canvas": { - "version": "2.35.0", - "resolved": "https://registry.npmjs.org/@rive-app/canvas/-/canvas-2.35.0.tgz", - "integrity": "sha512-aBFgoM11X/YgpSKZDxOvt3P9EZz8siJ+AZ5aevwaiLwu9K1nHSumXDCdmJPp+9FWhW9Ssk9Le14BptnlCR1m7w==", + "version": "2.37.4", + "resolved": "https://registry.npmjs.org/@rive-app/canvas/-/canvas-2.37.4.tgz", + "integrity": "sha512-I1DLeA8daBGxXybRDncGibMwZMhfMdKqcnkBozoCl33wDidk75r7UijjJYE9hPJ/VMYNpYCaAYLXLqnRAEryRw==", "license": "MIT" }, "node_modules/@rive-app/webgl2": { @@ -10065,6 +12733,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -10082,6 +12753,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -10099,6 +12773,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -10116,6 +12793,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -10160,31 +12840,22 @@ } }, "node_modules/@rolldown/binding-wasm32-wasi/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==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", "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/@rolldown/binding-wasm32-wasi/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" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { @@ -10273,9 +12944,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", - "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", "cpu": [ "arm" ], @@ -10287,9 +12958,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", - "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", "cpu": [ "arm64" ], @@ -10301,9 +12972,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", - "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", "cpu": [ "arm64" ], @@ -10315,9 +12986,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", - "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", "cpu": [ "x64" ], @@ -10329,9 +13000,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", - "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", "cpu": [ "arm64" ], @@ -10343,9 +13014,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", - "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", "cpu": [ "x64" ], @@ -10357,13 +13028,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", - "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", "cpu": [ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -10371,13 +13045,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", - "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", "cpu": [ "arm" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -10385,13 +13062,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", - "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -10399,13 +13079,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", - "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -10413,149 +13096,395 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", - "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", "cpu": [ "loong64" ], "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", - "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", "cpu": [ - "loong64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" + "win32" ] }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", - "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", "cpu": [ - "ppc64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" + "win32" ] }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", - "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "node_modules/@rollup/wasm-node": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.60.2.tgz", + "integrity": "sha512-FOfZOg752WSyKNefpSM3WrhggSTSuKuwcSfF7tdWC9PBYYg7BLwBR267uShFAI1ZyA0gNkdqK16LL9mNOPsQ1Q==", + "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": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@rspack/binding": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.6.8.tgz", + "integrity": "sha512-lUeL4mbwGo+nqRKqFDCm9vH2jv9FNMVt1X8jqayWRcOCPlj/2UVMEFgqjR7Pp2vlvnTKq//31KbDBJmDZq31RQ==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "@rspack/binding-darwin-arm64": "1.6.8", + "@rspack/binding-darwin-x64": "1.6.8", + "@rspack/binding-linux-arm64-gnu": "1.6.8", + "@rspack/binding-linux-arm64-musl": "1.6.8", + "@rspack/binding-linux-x64-gnu": "1.6.8", + "@rspack/binding-linux-x64-musl": "1.6.8", + "@rspack/binding-wasm32-wasi": "1.6.8", + "@rspack/binding-win32-arm64-msvc": "1.6.8", + "@rspack/binding-win32-ia32-msvc": "1.6.8", + "@rspack/binding-win32-x64-msvc": "1.6.8" + } + }, + "node_modules/@rspack/binding-darwin-arm64": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.6.8.tgz", + "integrity": "sha512-e8CTQtzaeGnf+BIzR7wRMUwKfIg0jd/sxMRc1Vd0bCMHBhSN9EsGoMuJJaKeRrSmy2nwMCNWHIG+TvT1CEKg+A==", "cpu": [ - "ppc64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" + "darwin" ] }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", - "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "node_modules/@rspack/binding-darwin-x64": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.6.8.tgz", + "integrity": "sha512-ku1XpTEPt6Za11zhpFWhfwrTQogcgi9RJrOUVC4FESiPO9aKyd4hJ+JiPgLY0MZOqsptK6vEAgOip+uDVXrCpg==", "cpu": [ - "riscv64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" + "darwin" ] }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", - "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", + "node_modules/@rspack/binding-linux-arm64-gnu": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.6.8.tgz", + "integrity": "sha512-fvZX6xZPvBT8qipSpvkKMX5M7yd2BSpZNCZXcefw6gA3uC7LI3gu+er0LrDXY1PtPzVuHTyDx+abwWpagV3PiQ==", "cpu": [ - "riscv64" + "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", - "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "node_modules/@rspack/binding-linux-arm64-musl": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.6.8.tgz", + "integrity": "sha512-++XMKcMNrt59HcFBLnRaJcn70k3X0GwkAegZBVpel8xYIAgvoXT5+L8P1ExId/yTFxqedaz8DbcxQnNmMozviw==", "cpu": [ - "s390x" + "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", - "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", + "node_modules/@rspack/binding-linux-x64-gnu": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.6.8.tgz", + "integrity": "sha512-tv3BWkTE1TndfX+DsE1rSTg8fBevCxujNZ3MlfZ22Wfy9x1FMXTJlWG8VIOXmaaJ1wUHzv8S7cE2YUUJ2LuiCg==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", - "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "node_modules/@rspack/binding-linux-x64-musl": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.6.8.tgz", + "integrity": "sha512-DCGgZ5/in1O3FjHWqXnDsncRy+48cMhfuUAAUyl0yDj1NpsZu9pP+xfGLvGcQTiYrVl7IH9Aojf1eShP/77WGA==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", - "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "node_modules/@rspack/binding-wasm32-wasi": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.6.8.tgz", + "integrity": "sha512-VUwdhl/lI4m6o1OGCZ9JwtMjTV/yLY5VZTQdEPKb40JMTlmZ5MBlr5xk7ByaXXYHr6I+qnqEm73iMKQvg6iknw==", "cpu": [ - "x64" + "wasm32" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "openbsd" - ] + "dependencies": { + "@napi-rs/wasm-runtime": "1.0.7" + } }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", - "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "node_modules/@rspack/binding-win32-arm64-msvc": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.6.8.tgz", + "integrity": "sha512-23YX7zlOZlub+nPGDBUzktb4D5D6ETUAluKjXEeHIZ9m7fSlEYBnGL66YE+3t1DHXGd0OqsdwlvrNGcyo6EXDQ==", "cpu": [ "arm64" ], @@ -10563,15 +13492,15 @@ "license": "MIT", "optional": true, "os": [ - "openharmony" + "win32" ] }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", - "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "node_modules/@rspack/binding-win32-ia32-msvc": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.6.8.tgz", + "integrity": "sha512-cFgRE3APxrY4AEdooVk2LtipwNNT/9mrnjdC5lVbsIsz+SxvGbZR231bxDJEqP15+RJOaD07FO1sIjINFqXMEg==", "cpu": [ - "arm64" + "ia32" ], "dev": true, "license": "MIT", @@ -10580,12 +13509,12 @@ "win32" ] }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", - "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "node_modules/@rspack/binding-win32-x64-msvc": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.6.8.tgz", + "integrity": "sha512-cIuhVsZYd3o3Neo1JSAhJYw6BDvlxaBoqvgwRkG1rs0ExFmEmgYyG7ip9pFKnKNWph/tmW3rDYypmEfjs1is7g==", "cpu": [ - "ia32" + "x64" ], "dev": true, "license": "MIT", @@ -10594,488 +13523,530 @@ "win32" ] }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", - "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", - "cpu": [ - "x64" - ], + "node_modules/@rspack/core": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.6.8.tgz", + "integrity": "sha512-FolcIAH5FW4J2FET+qwjd1kNeFbCkd0VLuIHO0thyolEjaPSxw5qxG67DA7BZGm6PVcoiSgPLks1DL6eZ8c+fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime-tools": "0.21.6", + "@rspack/binding": "1.6.8", + "@rspack/lite-tapable": "1.1.0" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.1" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@rspack/core/node_modules/@module-federation/error-codes": { + "version": "0.21.6", + "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.21.6.tgz", + "integrity": "sha512-MLJUCQ05KnoVl8xd6xs9a5g2/8U+eWmVxg7xiBMeR0+7OjdWUbHwcwgVFatRIwSZvFgKHfWEiI7wsU1q1XbTRQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rspack/core/node_modules/@module-federation/runtime": { + "version": "0.21.6", + "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.21.6.tgz", + "integrity": "sha512-+caXwaQqwTNh+CQqyb4mZmXq7iEemRDrTZQGD+zyeH454JAYnJ3s/3oDFizdH6245pk+NiqDyOOkHzzFQorKhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/error-codes": "0.21.6", + "@module-federation/runtime-core": "0.21.6", + "@module-federation/sdk": "0.21.6" + } + }, + "node_modules/@rspack/core/node_modules/@module-federation/runtime-core": { + "version": "0.21.6", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-0.21.6.tgz", + "integrity": "sha512-5Hd1Y5qp5lU/aTiK66lidMlM/4ji2gr3EXAtJdreJzkY+bKcI5+21GRcliZ4RAkICmvdxQU5PHPL71XmNc7Lsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/error-codes": "0.21.6", + "@module-federation/sdk": "0.21.6" + } + }, + "node_modules/@rspack/core/node_modules/@module-federation/runtime-tools": { + "version": "0.21.6", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.21.6.tgz", + "integrity": "sha512-fnP+ZOZTFeBGiTAnxve+axGmiYn2D60h86nUISXjXClK3LUY1krUfPgf6MaD4YDJ4i51OGXZWPekeMe16pkd8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.21.6", + "@module-federation/webpack-bundler-runtime": "0.21.6" + } + }, + "node_modules/@rspack/core/node_modules/@module-federation/sdk": { + "version": "0.21.6", + "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.21.6.tgz", + "integrity": "sha512-x6hARETb8iqHVhEsQBysuWpznNZViUh84qV2yE7AD+g7uIzHKiYdoWqj10posbo5XKf/147qgWDzKZoKoEP2dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rspack/core/node_modules/@module-federation/webpack-bundler-runtime": { + "version": "0.21.6", + "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.21.6.tgz", + "integrity": "sha512-7zIp3LrcWbhGuFDTUMLJ2FJvcwjlddqhWGxi/MW3ur1a+HaO8v5tF2nl+vElKmbG1DFLU/52l3PElVcWf/YcsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.21.6", + "@module-federation/sdk": "0.21.6" + } + }, + "node_modules/@rspack/dev-server": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rspack/dev-server/-/dev-server-1.2.1.tgz", + "integrity": "sha512-e/ARvskYn2Qdd02qLvc0i6H9BnOmzP0xGHS2XCr7GZ3t2k5uC5ZlLkeN1iEebU0FkAW+6ot89NahFo3nupKuww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.25", + "@types/express-serve-static-core": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", + "colorette": "^2.0.10", + "compression": "^1.8.1", + "connect-history-api-fallback": "^2.0.0", + "express": "^4.22.1", + "graceful-fs": "^4.2.6", + "http-proxy-middleware": "^2.0.9", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "@rspack/core": "*" + } + }, + "node_modules/@rspack/dev-server/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", - "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", - "cpu": [ - "x64" - ], + "node_modules/@rspack/dev-server/node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, - "node_modules/@rollup/wasm-node": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.57.1.tgz", - "integrity": "sha512-b0rcJH8ykEanfgTeDtlPubhphIUOx0oaAek+3hizTaFkoC1FBSTsY0GixwB4D5HZ5r3Gt2yI9c8M13OcW/kW5A==", + "node_modules/@rspack/dev-server/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, - "node_modules/@rspack/binding": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.7.6.tgz", - "integrity": "sha512-/NrEcfo8Gx22hLGysanrV6gHMuqZSxToSci/3M4kzEQtF5cPjfOv5pqeLK/+B6cr56ul/OmE96cCdWcXeVnFjQ==", + "node_modules/@rspack/dev-server/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "license": "MIT", - "peer": true, - "optionalDependencies": { - "@rspack/binding-darwin-arm64": "1.7.6", - "@rspack/binding-darwin-x64": "1.7.6", - "@rspack/binding-linux-arm64-gnu": "1.7.6", - "@rspack/binding-linux-arm64-musl": "1.7.6", - "@rspack/binding-linux-x64-gnu": "1.7.6", - "@rspack/binding-linux-x64-musl": "1.7.6", - "@rspack/binding-wasm32-wasi": "1.7.6", - "@rspack/binding-win32-arm64-msvc": "1.7.6", - "@rspack/binding-win32-ia32-msvc": "1.7.6", - "@rspack/binding-win32-x64-msvc": "1.7.6" + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@rspack/binding-darwin-arm64": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.6.tgz", - "integrity": "sha512-NZ9AWtB1COLUX1tA9HQQvWpTy07NSFfKBU8A6ylWd5KH8AePZztpNgLLAVPTuNO4CZXYpwcoclf8jG/luJcQdQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/@rspack/binding-darwin-x64": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.6.tgz", - "integrity": "sha512-J2g6xk8ZS7uc024dNTGTHxoFzFovAZIRixUG7PiciLKTMP78svbSSWrmW6N8oAsAkzYfJWwQpVgWfFNRHvYxSw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/@rspack/binding-linux-arm64-gnu": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.6.tgz", - "integrity": "sha512-eQfcsaxhFrv5FmtaA7+O1F9/2yFDNIoPZzV/ZvqvFz5bBXVc4FAm/1fVpBg8Po/kX1h0chBc7Xkpry3cabFW8w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@rspack/binding-linux-arm64-musl": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.6.tgz", - "integrity": "sha512-DfQXKiyPIl7i1yECHy4eAkSmlUzzsSAbOjgMuKn7pudsWf483jg0UUYutNgXSlBjc/QSUp7906Cg8oty9OfwPA==", - "cpu": [ - "arm64" - ], + "node_modules/@rspack/dev-server/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true + "license": "MIT" }, - "node_modules/@rspack/binding-linux-x64-gnu": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.6.tgz", - "integrity": "sha512-NdA+2X3lk2GGrMMnTGyYTzM3pn+zNjaqXqlgKmFBXvjfZqzSsKq3pdD1KHZCd5QHN+Fwvoszj0JFsquEVhE1og==", - "cpu": [ - "x64" - ], + "node_modules/@rspack/dev-server/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true + "dependencies": { + "ms": "2.0.0" + } }, - "node_modules/@rspack/binding-linux-x64-musl": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.6.tgz", - "integrity": "sha512-rEy6MHKob02t/77YNgr6dREyJ0e0tv1X6Xsg8Z5E7rPXead06zefUbfazj4RELYySWnM38ovZyJAkPx/gOn3VA==", - "cpu": [ - "x64" - ], + "node_modules/@rspack/dev-server/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true + "license": "MIT" }, - "node_modules/@rspack/binding-wasm32-wasi": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.6.tgz", - "integrity": "sha512-YupOrz0daSG+YBbCIgpDgzfMM38YpChv+afZpaxx5Ml7xPeAZIIdgWmLHnQ2rts73N2M1NspAiBwV00Xx0N4Vg==", - "cpu": [ - "wasm32" - ], + "node_modules/@rspack/dev-server/node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@napi-rs/wasm-runtime": "1.0.7" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/@rspack/binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", - "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", + "node_modules/@rspack/dev-server/node_modules/express/node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true, + "license": "BSD-3-Clause", "dependencies": { - "@emnapi/core": "^1.5.0", - "@emnapi/runtime": "^1.5.0", - "@tybys/wasm-util": "^0.10.1" + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@rspack/binding-wasm32-wasi/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==", + "node_modules/@rspack/dev-server/node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@rspack/binding-win32-arm64-msvc": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.6.tgz", - "integrity": "sha512-INj7aVXjBvlZ84kEhSK4kJ484ub0i+BzgnjDWOWM1K+eFYDZjLdAsQSS3fGGXwVc3qKbPIssFfnftATDMTEJHQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/@rspack/binding-win32-ia32-msvc": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.6.tgz", - "integrity": "sha512-lXGvC+z67UMcw58In12h8zCa9IyYRmuptUBMItQJzu+M278aMuD1nETyGLL7e4+OZ2lvrnnBIcjXN1hfw2yRzw==", - "cpu": [ - "ia32" - ], + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@rspack/dev-server/node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true + "engines": { + "node": ">= 0.6" + } }, - "node_modules/@rspack/binding-win32-x64-msvc": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.6.tgz", - "integrity": "sha512-zeUxEc0ZaPpmaYlCeWcjSJUPuRRySiSHN23oJ2Xyw0jsQ01Qm4OScPdr0RhEOFuK/UE+ANyRtDo4zJsY52Hadw==", - "cpu": [ - "x64" - ], + "node_modules/@rspack/dev-server/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "node_modules/@rspack/core": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.7.6.tgz", - "integrity": "sha512-Iax6UhrfZqJajA778c1d5DBFbSIqPOSrI34kpNIiNpWd8Jq7mFIa+Z60SQb5ZQDZuUxcCZikjz5BxinFjTkg7Q==", + "node_modules/@rspack/dev-server/node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@module-federation/runtime-tools": "0.22.0", - "@rspack/binding": "1.7.6", - "@rspack/lite-tapable": "1.1.0" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" }, "engines": { - "node": ">=18.12.0" + "node": ">=12.0.0" }, "peerDependencies": { - "@swc/helpers": ">=0.5.1" + "@types/express": "^4.17.13" }, "peerDependenciesMeta": { - "@swc/helpers": { + "@types/express": { "optional": true } } }, - "node_modules/@rspack/core/node_modules/@module-federation/error-codes": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.22.0.tgz", - "integrity": "sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@rspack/core/node_modules/@module-federation/runtime": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.22.0.tgz", - "integrity": "sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==", + "node_modules/@rspack/dev-server/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@module-federation/error-codes": "0.22.0", - "@module-federation/runtime-core": "0.22.0", - "@module-federation/sdk": "0.22.0" + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@rspack/core/node_modules/@module-federation/runtime-core": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-0.22.0.tgz", - "integrity": "sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA==", + "node_modules/@rspack/dev-server/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "@module-federation/error-codes": "0.22.0", - "@module-federation/sdk": "0.22.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/@rspack/core/node_modules/@module-federation/runtime-tools": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.22.0.tgz", - "integrity": "sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA==", + "node_modules/@rspack/dev-server/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "@module-federation/runtime": "0.22.0", - "@module-federation/webpack-bundler-runtime": "0.22.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@rspack/core/node_modules/@module-federation/sdk": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.22.0.tgz", - "integrity": "sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==", + "node_modules/@rspack/dev-server/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "license": "MIT", - "peer": true + "engines": { + "node": ">= 0.6" + } }, - "node_modules/@rspack/core/node_modules/@module-federation/webpack-bundler-runtime": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.22.0.tgz", - "integrity": "sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==", + "node_modules/@rspack/dev-server/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@module-federation/runtime": "0.22.0", - "@module-federation/sdk": "0.22.0" + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@rspack/dev-server": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@rspack/dev-server/-/dev-server-1.2.1.tgz", - "integrity": "sha512-e/ARvskYn2Qdd02qLvc0i6H9BnOmzP0xGHS2XCr7GZ3t2k5uC5ZlLkeN1iEebU0FkAW+6ot89NahFo3nupKuww==", + "node_modules/@rspack/dev-server/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, "license": "MIT", - "dependencies": { - "@types/bonjour": "^3.5.13", - "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.25", - "@types/express-serve-static-core": "^4.17.21", - "@types/serve-index": "^1.9.4", - "@types/serve-static": "^1.15.5", - "@types/sockjs": "^0.3.36", - "@types/ws": "^8.5.10", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.2.1", - "chokidar": "^3.6.0", - "colorette": "^2.0.10", - "compression": "^1.8.1", - "connect-history-api-fallback": "^2.0.0", - "express": "^4.22.1", - "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.9", - "ipaddr.js": "^2.1.0", - "launch-editor": "^2.6.1", - "open": "^10.0.3", - "p-retry": "^6.2.0", - "schema-utils": "^4.2.0", - "selfsigned": "^2.4.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.4.2", - "ws": "^8.18.0" - }, "engines": { - "node": ">= 18.12.0" - }, - "peerDependencies": { - "@rspack/core": "*" + "node": ">= 0.6" } }, - "node_modules/@rspack/dev-server/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/@rspack/dev-server/node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rspack/dev-server/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, "engines": { - "node": ">= 8.10.0" + "node": ">=8.6" }, "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@rspack/dev-server/node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "node_modules/@rspack/dev-server/node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.8" } }, - "node_modules/@rspack/dev-server/node_modules/http-proxy-middleware": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", - "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "node_modules/@rspack/dev-server/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "license": "MIT", "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "node": ">=8.10.0" } }, - "node_modules/@rspack/dev-server/node_modules/open": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", - "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "node_modules/@rspack/dev-server/node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", "dev": true, "license": "MIT", "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "wsl-utils": "^0.1.0" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8.0" } }, - "node_modules/@rspack/dev-server/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/@rspack/dev-server/node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=8.6" + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": ">= 0.8.0" } - }, - "node_modules/@rspack/dev-server/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + }, + "node_modules/@rspack/dev-server/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">=8.10.0" + "node": ">= 0.6" } }, "node_modules/@rspack/lite-tapable": { @@ -11086,14 +14057,13 @@ "license": "MIT" }, "node_modules/@rspack/plugin-react-refresh": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-1.6.1.tgz", - "integrity": "sha512-eqqW5645VG3CzGzFgNg5HqNdHVXY+567PGjtDhhrM8t67caxmsSzRmT5qfoEIfBcGgFkH9vEg7kzXwmCYQdQDw==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-1.6.2.tgz", + "integrity": "sha512-k+/VrfTNgo+KirjI6V+8CWRj6y+DH9jOUWv8JorYY4vKf/9xfnZ8xHzuB4iqCwTtoZl9YnxOaOuoyjJipc2tiQ==", "dev": true, "license": "MIT", "dependencies": { - "error-stack-parser": "^2.1.4", - "html-entities": "^2.6.0" + "error-stack-parser": "^2.1.4" }, "peerDependencies": { "react-refresh": ">=0.10.0 <1.0.0", @@ -11106,14 +14076,14 @@ } }, "node_modules/@schematics/angular": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.1.4.tgz", - "integrity": "sha512-I1zdSNzdbrVCWpeE2NsZQmIoa9m0nlw4INgdGIkqUH6FgwvoGKC0RoOxKAmm6HHVJ48FE/sPI13dwAeK89ow5A==", + "version": "21.1.5", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.1.5.tgz", + "integrity": "sha512-AndJ17ePYUoqJqiIF9VaXbGAFfOqDcHuAxhwozsQlWDzwgQSOUC/WWeG9hKVCgMD6tE02Sxr2ova9DiBKsLQNg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.1.4", - "@angular-devkit/schematics": "21.1.4", + "@angular-devkit/core": "21.1.5", + "@angular-devkit/schematics": "21.1.5", "jsonc-parser": "3.3.1" }, "engines": { @@ -11122,13 +14092,6 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@schematics/angular/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/@sigstore/bundle": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-4.0.0.tgz", @@ -11143,9 +14106,9 @@ } }, "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==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.2.0.tgz", + "integrity": "sha512-kxHrDQ9YgfrWUSXU0cjsQGv8JykOFZQ9ErNKbFPWzk3Hgpwu8x2hHrQ9IdA8yl+j9RTLTC3sAF3Tdq1IQCP4oA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -11153,9 +14116,9 @@ } }, "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==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.1.tgz", + "integrity": "sha512-/ScWUhhoFasJsSRGTVBwId1loQjjnjAfE4djL6ZhrXRpNCmPTnUKF5Jokd58ILseOMjzET3UrMOtJPS9sYeI0g==", "dev": true, "license": "Apache-2.0", "engines": { @@ -11163,27 +14126,27 @@ } }, "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==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.1.tgz", + "integrity": "sha512-Hf4xglukg0XXQ2RiD5vSoLjdPe8OBUPA8XeVjUObheuDcWdYWrnH/BNmxZCzkAy68MzmNCxXLeurJvs6hcP2OQ==", "dev": true, "license": "Apache-2.0", "dependencies": { + "@gar/promise-retry": "^1.0.2", "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", + "@sigstore/core": "^3.2.0", "@sigstore/protobuf-specs": "^0.5.0", - "make-fetch-happen": "^15.0.3", - "proc-log": "^6.1.0", - "promise-retry": "^2.0.1" + "make-fetch-happen": "^15.0.4", + "proc-log": "^6.1.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, "node_modules/@sigstore/tuf": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.1.tgz", - "integrity": "sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.2.tgz", + "integrity": "sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -11210,9 +14173,9 @@ } }, "node_modules/@sinclair/typebox": { - "version": "0.34.48", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz", - "integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==", + "version": "0.34.49", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz", + "integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==", "dev": true, "license": "MIT" }, @@ -11240,9 +14203,9 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "13.0.5", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", - "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", + "version": "15.3.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.3.2.tgz", + "integrity": "sha512-mrn35Jl2pCpns+mE3HaZa1yPN5EYCRgiMI+135COjr2hr8Cls9DXqIZ57vZe2cz7y2XVSq92tcs6kGQcT1J8Rw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -11308,17 +14271,6 @@ "tslib": "^2.8.1" } }, - "node_modules/@swc-node/sourcemap-support/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/@swc/core": { "version": "1.15.8", "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.8.tgz", @@ -11417,6 +14369,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0 AND MIT", "optional": true, "os": [ @@ -11434,6 +14389,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "Apache-2.0 AND MIT", "optional": true, "os": [ @@ -11451,6 +14409,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0 AND MIT", "optional": true, "os": [ @@ -11468,6 +14429,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "Apache-2.0 AND MIT", "optional": true, "os": [ @@ -11533,1483 +14497,1901 @@ "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", "dev": true, - "license": "Apache-2.0" + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.21.tgz", + "integrity": "sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@swc/types": { + "version": "0.1.26", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.26.tgz", + "integrity": "sha512-lyMwd7WGgG79RS7EERZV3T8wMdmPq3xwyg+1nmAM64kIhx5yl+juO2PYIHb7vTiPgPCj8LYjsNV2T5wiQHUEaw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-4.1.0.tgz", + "integrity": "sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^10.1.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.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/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/esquery": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/esquery/-/esquery-1.5.4.tgz", + "integrity": "sha512-yYO4Q8H+KJHKW1rEeSzHxcZi90durqYgWVfnh5K6ZADVBjBv2e1NEveYX5yT2bffgN7RqzH3k9930m+i2yBoMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" }, - "node_modules/@swc/helpers": { - "version": "0.5.18", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.18.tgz", - "integrity": "sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==", + "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": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } + "license": "MIT" }, - "node_modules/@swc/types": { - "version": "0.1.25", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz", - "integrity": "sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==", + "node_modules/@types/express": { + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@swc/counter": "^0.1.3" + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" } }, - "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "node_modules/@types/express-serve-static-core": { + "version": "4.19.8", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", + "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", "dev": true, "license": "MIT", "dependencies": { - "defer-to-connect": "^2.0.0" - }, - "engines": { - "node": ">=10" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", "dev": true, - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } + "license": "MIT" }, - "node_modules/@tsconfig/node10": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", - "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "node_modules/@types/http-proxy": { + "version": "1.17.17", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", + "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/node": "*" + } }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true, "license": "MIT" }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } }, - "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==", + "node_modules/@types/jest": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", + "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", "dev": true, "license": "MIT", - "engines": { - "node": "^16.14.0 || >=18.0.0" + "dependencies": { + "expect": "^30.0.0", + "pretty-format": "^30.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==", + "node_modules/@types/jsdom": { + "version": "21.1.7", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", + "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", "dev": true, "license": "MIT", "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^10.1.1" - }, + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/jsdom/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": "^20.17.0 || >=22.9.0" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/@tybys/wasm-util": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", - "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "node_modules/@types/jsdom/node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.4.0" + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.9.tgz", + "integrity": "sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "undici-types": "~6.21.0" } }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0" + "@types/node": "*" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", + "integrity": "sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@types/node": "*" } }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "node_modules/@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.2" + "@types/node": "*" } }, - "node_modules/@types/body-parser": { - "version": "1.19.6", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", - "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", "dev": true, "license": "MIT", "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "@types/express": "*" } }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "node_modules/@types/serve-static": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" } }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", "dev": true, "license": "MIT", "dependencies": { + "@types/mime": "^1", "@types/node": "*" } }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", "dev": true, "license": "MIT", "dependencies": { - "@types/express-serve-static-core": "*", "@types/node": "*" } }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } + "license": "MIT" }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", "dev": true, "license": "MIT", "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "@types/node": "*" } }, - "node_modules/@types/esquery": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/esquery/-/esquery-1.5.4.tgz", - "integrity": "sha512-yYO4Q8H+KJHKW1rEeSzHxcZi90durqYgWVfnh5K6ZADVBjBv2e1NEveYX5yT2bffgN7RqzH3k9930m+i2yBoMA==", + "node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "*" + "@types/yargs-parser": "*" } }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", "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==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.0.tgz", + "integrity": "sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/type-utils": "8.59.0", + "@typescript-eslint/utils": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.59.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } }, - "node_modules/@types/express": { - "version": "4.17.25", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", - "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "^1" + "engines": { + "node": ">= 4" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.8", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", - "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", + "node_modules/@typescript-eslint/parser": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.0.tgz", + "integrity": "sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@types/http-errors": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", - "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "node_modules/@typescript-eslint/project-service": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.0.tgz", + "integrity": "sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.59.0", + "@typescript-eslint/types": "^8.59.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } }, - "node_modules/@types/http-proxy": { - "version": "1.17.17", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", - "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.0.tgz", + "integrity": "sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.0.tgz", + "integrity": "sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "node_modules/@typescript-eslint/type-utils": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.0.tgz", + "integrity": "sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg==", "dev": true, "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/utils": "8.59.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "node_modules/@typescript-eslint/types": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.0.tgz", + "integrity": "sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==", "dev": true, "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/jest": { - "version": "30.0.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", - "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.0.tgz", + "integrity": "sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw==", "dev": true, "license": "MIT", "dependencies": { - "expect": "^30.0.0", - "pretty-format": "^30.0.0" + "@typescript-eslint/project-service": "8.59.0", + "@typescript-eslint/tsconfig-utils": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@types/jsdom": { - "version": "21.1.7", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", - "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", + "node_modules/@typescript-eslint/utils": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.0.tgz", + "integrity": "sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@types/jsdom/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.0.tgz", + "integrity": "sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.0", + "eslint-visitor-keys": "^5.0.0" + }, "engines": { - "node": ">=0.12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/jsdom/node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", "dev": true, - "license": "MIT", - "dependencies": { - "entities": "^6.0.0" + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@types/node": { - "version": "20.19.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.9.tgz", - "integrity": "sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==", + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "undici-types": "~6.21.0" - } + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@types/node-forge": { - "version": "1.3.14", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", - "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@types/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", - "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", - "dependencies": { - "@types/express": "*" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/serve-static": { - "version": "1.15.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", - "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "<1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/serve-static/node_modules/@types/send": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", - "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "node_modules/@unrs/resolver-binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@types/node": "*" + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@types/yargs": { - "version": "17.0.35", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", - "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.55.0.tgz", - "integrity": "sha512-1y/MVSz0NglV1ijHC8OT49mPJ4qhPYjiK08YUQVbIOyu+5k862LKUHFkpKHWu//zmr7hDR2rhwUm6gnCGNmGBQ==", + "node_modules/@verdaccio/auth": { + "version": "8.0.0-next-8.37", + "resolved": "https://registry.npmjs.org/@verdaccio/auth/-/auth-8.0.0-next-8.37.tgz", + "integrity": "sha512-wvKPnjDZReT0gSxntUbcOYl23m2mHeMT9a/uhRMdw3pbraSgozatnf3UuoTd6Uyfm3vn+HHAHqzudUn1+yD4rw==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.55.0", - "@typescript-eslint/type-utils": "8.55.0", - "@typescript-eslint/utils": "8.55.0", - "@typescript-eslint/visitor-keys": "8.55.0", - "ignore": "^7.0.5", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" + "@verdaccio/config": "8.0.0-next-8.37", + "@verdaccio/core": "8.0.0-next-8.37", + "@verdaccio/loaders": "8.0.0-next-8.27", + "@verdaccio/signature": "8.0.0-next-8.29", + "debug": "4.4.3", + "lodash": "4.18.1", + "verdaccio-htpasswd": "13.0.0-next-8.37" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.55.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" + "url": "https://opencollective.com/verdaccio" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.55.0.tgz", - "integrity": "sha512-4z2nCSBfVIMnbuu8uinj+f0o4qOeggYJLbjpPHka3KH1om7e+H9yLKTYgksTaHcGco+NClhhY2vyO3HsMH1RGw==", + "node_modules/@verdaccio/config": { + "version": "8.0.0-next-8.37", + "resolved": "https://registry.npmjs.org/@verdaccio/config/-/config-8.0.0-next-8.37.tgz", + "integrity": "sha512-SbmDMJpora293B+TDYfxJL5LEaFh7gdh0MmkPJCBkmGlRPmynTfHcQzVzAll3+IMYFkrf1zZtq/qlgorjaoFoQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.55.0", - "@typescript-eslint/types": "8.55.0", - "@typescript-eslint/typescript-estree": "8.55.0", - "@typescript-eslint/visitor-keys": "8.55.0", - "debug": "^4.4.3" + "@verdaccio/core": "8.0.0-next-8.37", + "debug": "4.4.3", + "js-yaml": "4.1.1", + "lodash": "4.18.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "url": "https://opencollective.com/verdaccio" } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.55.0.tgz", - "integrity": "sha512-zRcVVPFUYWa3kNnjaZGXSu3xkKV1zXy8M4nO/pElzQhFweb7PPtluDLQtKArEOGmjXoRjnUZ29NjOiF0eCDkcQ==", + "node_modules/@verdaccio/config/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==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.55.0", - "@typescript-eslint/types": "^8.55.0", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "argparse": "^2.0.1" }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.55.0.tgz", - "integrity": "sha512-fVu5Omrd3jeqeQLiB9f1YsuK/iHFOwb04bCtY4BSCLgjNbOD33ZdV6KyEqplHr+IlpgT0QTZ/iJ+wT7hvTx49Q==", + "node_modules/@verdaccio/core": { + "version": "8.0.0-next-8.37", + "resolved": "https://registry.npmjs.org/@verdaccio/core/-/core-8.0.0-next-8.37.tgz", + "integrity": "sha512-R8rDEa2mPjfHhEK2tWTMFnrfvyNmTd5ZrNz9X5/EiFVJPr/+oo9cTZkDXzY9+KREJUUIUFili4qynmBt0lw8nw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.55.0", - "@typescript-eslint/visitor-keys": "8.55.0" + "ajv": "8.18.0", + "http-errors": "2.0.1", + "http-status-codes": "2.3.0", + "minimatch": "7.4.9", + "process-warning": "1.0.0", + "semver": "7.7.4" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/verdaccio" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.55.0.tgz", - "integrity": "sha512-1R9cXqY7RQd7WuqSN47PK9EDpgFUK3VqdmbYrvWJZYDd0cavROGn+74ktWBlmJ13NXUQKlZ/iAEQHI/V0kKe0Q==", + "node_modules/@verdaccio/core/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@verdaccio/core/node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.55.0.tgz", - "integrity": "sha512-x1iH2unH4qAt6I37I2CGlsNs+B9WGxurP2uyZLRz6UJoZWDBx9cJL1xVN/FiOmHEONEg6RIufdvyT0TEYIgC5g==", + "node_modules/@verdaccio/core/node_modules/minimatch": { + "version": "7.4.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.9.tgz", + "integrity": "sha512-Brg/fp/iAVDOQoHxkuN5bEYhyQlZhxddI78yWsCbeEwTHXQjlNLtiJDUsp1GIptVqMI7/gkJMz4vVAc01mpoBw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@typescript-eslint/types": "8.55.0", - "@typescript-eslint/typescript-estree": "8.55.0", - "@typescript-eslint/utils": "8.55.0", - "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" + "brace-expansion": "^2.0.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/types": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.55.0.tgz", - "integrity": "sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w==", + "node_modules/@verdaccio/core/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": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=10" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.55.0.tgz", - "integrity": "sha512-EwrH67bSWdx/3aRQhCoxDaHM+CrZjotc2UCCpEDVqfCE+7OjKAGWNY2HsCSTEVvWH2clYQK8pdeLp42EVs+xQw==", + "node_modules/@verdaccio/file-locking": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/@verdaccio/file-locking/-/file-locking-10.3.1.tgz", + "integrity": "sha512-oqYLfv3Yg3mAgw9qhASBpjD50osj2AX4IwbkUtyuhhKGyoFU9eZdrbeW6tpnqUnj6yBMtAPm2eGD4BwQuX400g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.55.0", - "@typescript-eslint/tsconfig-utils": "8.55.0", - "@typescript-eslint/types": "8.55.0", - "@typescript-eslint/visitor-keys": "8.55.0", - "debug": "^4.4.3", - "minimatch": "^9.0.5", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" + "lockfile": "1.0.4" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=12" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "url": "https://opencollective.com/verdaccio" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/@verdaccio/hooks": { + "version": "8.0.0-next-8.37", + "resolved": "https://registry.npmjs.org/@verdaccio/hooks/-/hooks-8.0.0-next-8.37.tgz", + "integrity": "sha512-n2t6fjXqSA+y402zO2Yh5UEe+rzMf1jhglj46MQf7IswCaST/SGLlJ5VCl6bU8LGbSr9FOz7BAtUXc64i3oCmA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "@verdaccio/core": "8.0.0-next-8.37", + "@verdaccio/logger": "8.0.0-next-8.37", + "debug": "4.4.3", + "got-cjs": "12.5.4", + "handlebars": "4.7.9" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.55.0.tgz", - "integrity": "sha512-BqZEsnPGdYpgyEIkDC1BadNY8oMwckftxBT+C8W0g1iKPdeqKZBtTfnvcq0nf60u7MkjFO8RBvpRGZBPw4L2ow==", + "node_modules/@verdaccio/loaders": { + "version": "8.0.0-next-8.27", + "resolved": "https://registry.npmjs.org/@verdaccio/loaders/-/loaders-8.0.0-next-8.27.tgz", + "integrity": "sha512-bDfHHCDrOCSdskAKeKxPArUi5aGXtsxEpRvO8MzghX50g1zJnVzLF1KEbsEY9ScFqGZAVYtZTcutysA0VOQ0Rg==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.55.0", - "@typescript-eslint/types": "8.55.0", - "@typescript-eslint/typescript-estree": "8.55.0" + "@verdaccio/core": "8.0.0-next-8.37", + "debug": "4.4.3", + "lodash": "4.18.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "url": "https://opencollective.com/verdaccio" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.55.0.tgz", - "integrity": "sha512-AxNRwEie8Nn4eFS1FzDMJWIISMGoXMb037sgCBJ3UR6o0fQTzr2tqN9WT+DkWJPhIdQCfV7T6D387566VtnCJA==", + "node_modules/@verdaccio/local-storage-legacy": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/@verdaccio/local-storage-legacy/-/local-storage-legacy-11.1.1.tgz", + "integrity": "sha512-P6ahH2W6/KqfJFKP+Eid7P134FHDLNvHa+i8KVgRVBeo2/IXb6FEANpM1mCVNvPANu0LCAmNJBOXweoUKViaoA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.55.0", - "eslint-visitor-keys": "^4.2.1" + "@verdaccio/core": "8.0.0-next-8.21", + "@verdaccio/file-locking": "10.3.1", + "@verdaccio/streams": "10.2.1", + "async": "3.2.6", + "debug": "4.4.1", + "lodash": "4.17.21", + "lowdb": "1.0.0", + "mkdirp": "1.0.4" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/verdaccio" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "node_modules/@verdaccio/local-storage-legacy/node_modules/@verdaccio/core": { + "version": "8.0.0-next-8.21", + "resolved": "https://registry.npmjs.org/@verdaccio/core/-/core-8.0.0-next-8.21.tgz", + "integrity": "sha512-n3Y8cqf84cwXxUUdTTfEJc8fV55PONPKijCt2YaC0jilb5qp1ieB3d4brqTOdCdXuwkmnG2uLCiGpUd/RuSW0Q==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "http-errors": "2.0.0", + "http-status-codes": "2.3.0", + "minimatch": "7.4.6", + "process-warning": "1.0.0", + "semver": "7.7.2" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true, - "license": "ISC" - }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], + "node_modules/@verdaccio/local-storage-legacy/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "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/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], + "node_modules/@verdaccio/local-storage-legacy/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], + "node_modules/@verdaccio/local-storage-legacy/node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "dependencies": { + "balanced-match": "^1.0.0" + } }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], + "node_modules/@verdaccio/local-storage-legacy/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], + "node_modules/@verdaccio/local-storage-legacy/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], + "node_modules/@verdaccio/local-storage-legacy/node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], + "node_modules/@verdaccio/local-storage-legacy/node_modules/minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], + "node_modules/@verdaccio/local-storage-legacy/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], + "node_modules/@verdaccio/local-storage-legacy/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">= 0.8" + } }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], + "node_modules/@verdaccio/logger": { + "version": "8.0.0-next-8.37", + "resolved": "https://registry.npmjs.org/@verdaccio/logger/-/logger-8.0.0-next-8.37.tgz", + "integrity": "sha512-xG27C1FsbTsHhvhB3OpisVzHUyrE9NSVrzVHapPuOPd6X1DpnHZoZ+UYBAS0MSO1tGS+NEHW9GHL0XiroULggA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@verdaccio/logger-commons": "8.0.0-next-8.37", + "pino": "9.14.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], + "node_modules/@verdaccio/logger-commons": { + "version": "8.0.0-next-8.37", + "resolved": "https://registry.npmjs.org/@verdaccio/logger-commons/-/logger-commons-8.0.0-next-8.37.tgz", + "integrity": "sha512-HVt7ttnKgioERB1lCc1UnqnJMJ8skAeivLe49uq3wEG3QtruQGCct5nosj+q1pjx8SaYpQA+qxs1+4UDddprVA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@verdaccio/core": "8.0.0-next-8.37", + "@verdaccio/logger-prettify": "8.0.0-next-8.5", + "colorette": "2.0.20", + "debug": "4.4.3" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], + "node_modules/@verdaccio/logger-prettify": { + "version": "8.0.0-next-8.5", + "resolved": "https://registry.npmjs.org/@verdaccio/logger-prettify/-/logger-prettify-8.0.0-next-8.5.tgz", + "integrity": "sha512-zCsvdKgUQx2mSu7fnDOkA2r2QX6yMmBDsXGmqXmoov/cZ89deREn0uC7xIX7/YEo8EspBoXiUGzqI+S+qUWPyw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "colorette": "2.0.20", + "dayjs": "1.11.18", + "lodash": "4.18.1", + "on-exit-leak-free": "2.1.2", + "pino-abstract-transport": "1.2.0", + "sonic-boom": "3.8.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], + "node_modules/@verdaccio/middleware": { + "version": "8.0.0-next-8.37", + "resolved": "https://registry.npmjs.org/@verdaccio/middleware/-/middleware-8.0.0-next-8.37.tgz", + "integrity": "sha512-8SqCdzKfANhaO/ZoSBBJHPlDWmXEJdq/1giV/ZKYtU4xVbBb/4ThKp2nNKk4s9+8S8XNNgX+7J5e/BgbIzzsEA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@verdaccio/config": "8.0.0-next-8.37", + "@verdaccio/core": "8.0.0-next-8.37", + "@verdaccio/url": "13.0.0-next-8.37", + "debug": "4.4.3", + "express": "4.22.1", + "express-rate-limit": "5.5.1", + "lodash": "4.18.1", + "lru-cache": "7.18.3" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], + "node_modules/@verdaccio/middleware/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">=14.0.0" + "node": ">= 0.6" } }, - "node_modules/@unrs/resolver-binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "node_modules/@verdaccio/middleware/node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/@unrs/resolver-binding-wasm32-wasi/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==", + "node_modules/@verdaccio/middleware/node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "tslib": "^2.4.0" + "ms": "2.0.0" } }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], + "node_modules/@verdaccio/middleware/node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], + "node_modules/@verdaccio/middleware/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], + "node_modules/@verdaccio/middleware/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, - "node_modules/@verdaccio/auth": { - "version": "8.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/@verdaccio/auth/-/auth-8.0.0-next-8.29.tgz", - "integrity": "sha512-lEIqneZ7LYYkF07/P9cJhOYVZTIIARGRVE66j666VR58T/fY/pC4hxEfuyqlfd3BhS3hM65aIrPZu+s03hyg+w==", + "node_modules/@verdaccio/middleware/node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "dev": true, "license": "MIT", "dependencies": { - "@verdaccio/config": "8.0.0-next-8.29", - "@verdaccio/core": "8.0.0-next-8.29", - "@verdaccio/loaders": "8.0.0-next-8.19", - "@verdaccio/signature": "8.0.0-next-8.21", - "debug": "4.4.3", - "lodash": "4.17.21", - "verdaccio-htpasswd": "13.0.0-next-8.29" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "engines": { - "node": ">=18" + "node": ">= 0.10.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "url": "https://opencollective.com/express" } }, - "node_modules/@verdaccio/config": { - "version": "8.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/@verdaccio/config/-/config-8.0.0-next-8.29.tgz", - "integrity": "sha512-7kEZ6tv3NsJFPcKQrxELMkvJFI9Hmy1s8IPjuXjz9gobDV3NyF9VhPsh6l18Tm+nsqXb6ZTWiRup9V8Lkg0p0g==", + "node_modules/@verdaccio/middleware/node_modules/express-rate-limit": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-5.5.1.tgz", + "integrity": "sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==", "dev": true, - "license": "MIT", - "dependencies": { - "@verdaccio/core": "8.0.0-next-8.29", - "debug": "4.4.3", - "js-yaml": "4.1.1", - "lodash": "4.17.21" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" - } + "license": "MIT" }, - "node_modules/@verdaccio/config/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==", + "node_modules/@verdaccio/middleware/node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "ms": "2.0.0" } }, - "node_modules/@verdaccio/core": { - "version": "8.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/@verdaccio/core/-/core-8.0.0-next-8.29.tgz", - "integrity": "sha512-ztsNbnHMGqpOJlC3x/Jz7+0Xzrul+UIQQAFsTFHO3pET8nyZWkh/1TH50olz0pZ/OS87O/+7mk04TK9hHD/eFQ==", + "node_modules/@verdaccio/middleware/node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/@verdaccio/middleware/node_modules/express/node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "ajv": "8.17.1", - "http-errors": "2.0.0", - "http-status-codes": "2.3.0", - "minimatch": "7.4.6", - "process-warning": "1.0.0", - "semver": "7.7.3" + "side-channel": "^1.1.0" }, "engines": { - "node": ">=18" + "node": ">=0.6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@verdaccio/core/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/@verdaccio/middleware/node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", "dev": true, "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, - "node_modules/@verdaccio/core/node_modules/minimatch": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", - "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "node_modules/@verdaccio/middleware/node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@verdaccio/core/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "ms": "2.0.0" } }, - "node_modules/@verdaccio/core/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/@verdaccio/middleware/node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } + "license": "MIT" }, - "node_modules/@verdaccio/file-locking": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/@verdaccio/file-locking/-/file-locking-10.3.1.tgz", - "integrity": "sha512-oqYLfv3Yg3mAgw9qhASBpjD50osj2AX4IwbkUtyuhhKGyoFU9eZdrbeW6tpnqUnj6yBMtAPm2eGD4BwQuX400g==", + "node_modules/@verdaccio/middleware/node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "license": "MIT", - "dependencies": { - "lockfile": "1.0.4" - }, "engines": { - "node": ">=12" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "node": ">= 0.6" } }, - "node_modules/@verdaccio/hooks": { - "version": "8.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/@verdaccio/hooks/-/hooks-8.0.0-next-8.29.tgz", - "integrity": "sha512-KRuTN6iYg9ntFXmrH+fY+dNCFpNBMcEwOVLOJXk/fA3I3ki188FpRZz9rKToyj1XYZzPDqGUWv82ekswX5wrYw==", + "node_modules/@verdaccio/middleware/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "license": "MIT", "dependencies": { - "@verdaccio/core": "8.0.0-next-8.29", - "@verdaccio/logger": "8.0.0-next-8.29", - "debug": "4.4.3", - "got-cjs": "12.5.4", - "handlebars": "4.7.8" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "node": ">=0.10.0" } }, - "node_modules/@verdaccio/loaders": { - "version": "8.0.0-next-8.19", - "resolved": "https://registry.npmjs.org/@verdaccio/loaders/-/loaders-8.0.0-next-8.19.tgz", - "integrity": "sha512-+mQuEZNLRZ4EEjzfROHrVeZXVHNFhQTpI98KCpcbU1NEC7ZAl5m7OBD2XPVtvNTia2ZT83q4H0JPi/bAomnIRA==", + "node_modules/@verdaccio/middleware/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, - "license": "MIT", - "dependencies": { - "@verdaccio/core": "8.0.0-next-8.29", - "debug": "4.4.3", - "lodash": "4.17.21" - }, + "license": "ISC", "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "node": ">=12" } }, - "node_modules/@verdaccio/local-storage-legacy": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/@verdaccio/local-storage-legacy/-/local-storage-legacy-11.1.1.tgz", - "integrity": "sha512-P6ahH2W6/KqfJFKP+Eid7P134FHDLNvHa+i8KVgRVBeo2/IXb6FEANpM1mCVNvPANu0LCAmNJBOXweoUKViaoA==", + "node_modules/@verdaccio/middleware/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "license": "MIT", - "dependencies": { - "@verdaccio/core": "8.0.0-next-8.21", - "@verdaccio/file-locking": "10.3.1", - "@verdaccio/streams": "10.2.1", - "async": "3.2.6", - "debug": "4.4.1", - "lodash": "4.17.21", - "lowdb": "1.0.0", - "mkdirp": "1.0.4" - }, "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "node": ">= 0.6" } }, - "node_modules/@verdaccio/local-storage-legacy/node_modules/@verdaccio/core": { - "version": "8.0.0-next-8.21", - "resolved": "https://registry.npmjs.org/@verdaccio/core/-/core-8.0.0-next-8.21.tgz", - "integrity": "sha512-n3Y8cqf84cwXxUUdTTfEJc8fV55PONPKijCt2YaC0jilb5qp1ieB3d4brqTOdCdXuwkmnG2uLCiGpUd/RuSW0Q==", + "node_modules/@verdaccio/middleware/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true, "license": "MIT", - "dependencies": { - "ajv": "8.17.1", - "http-errors": "2.0.0", - "http-status-codes": "2.3.0", - "minimatch": "7.4.6", - "process-warning": "1.0.0", - "semver": "7.7.2" - }, - "engines": { - "node": ">=18" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@verdaccio/local-storage-legacy/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "node_modules/@verdaccio/middleware/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 0.6" } }, - "node_modules/@verdaccio/local-storage-legacy/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/@verdaccio/middleware/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/@verdaccio/local-storage-legacy/node_modules/minimatch": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", - "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" + "mime-db": "1.52.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.6" } }, - "node_modules/@verdaccio/local-storage-legacy/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "node_modules/@verdaccio/middleware/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "node_modules/@verdaccio/local-storage-legacy/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/@verdaccio/middleware/node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@verdaccio/middleware/node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "dev": true, "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, "engines": { "node": ">= 0.8" } }, - "node_modules/@verdaccio/logger": { - "version": "8.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/@verdaccio/logger/-/logger-8.0.0-next-8.29.tgz", - "integrity": "sha512-AF6hBAkgsRjDFGLjFWO9hzUWM47Jt15v90I6Wk0TotzsrWxgBYbslfJyTgwmTpGjhPe7al2dnFwT7hxKa6fr/w==", + "node_modules/@verdaccio/middleware/node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", "dev": true, "license": "MIT", "dependencies": { - "@verdaccio/logger-commons": "8.0.0-next-8.29", - "pino": "9.14.0" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "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/verdaccio" + "node": ">= 0.8.0" } }, - "node_modules/@verdaccio/logger-commons": { - "version": "8.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/@verdaccio/logger-commons/-/logger-commons-8.0.0-next-8.29.tgz", - "integrity": "sha512-CVeLv+U0cL9wtNJVwtzjj7wtUFYxMDmynWoXtepP+AthVoNj6G6rU2P2tGLX/uqH40EwqaHJy5Vo0uZ3ex2qhQ==", + "node_modules/@verdaccio/middleware/node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { - "@verdaccio/core": "8.0.0-next-8.29", - "@verdaccio/logger-prettify": "8.0.0-next-8.4", - "colorette": "2.0.20", - "debug": "4.4.3" + "ms": "2.0.0" + } + }, + "node_modules/@verdaccio/middleware/node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@verdaccio/middleware/node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" }, "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "node": ">= 0.8.0" } }, - "node_modules/@verdaccio/logger-prettify": { - "version": "8.0.0-next-8.4", - "resolved": "https://registry.npmjs.org/@verdaccio/logger-prettify/-/logger-prettify-8.0.0-next-8.4.tgz", - "integrity": "sha512-gjI/JW29fyalutn/X1PQ0iNuGvzeVWKXRmnLa7gXVKhdi4p37l/j7YZ7n44XVbbiLIKAK0pbavEg9Yr66QrYaA==", + "node_modules/@verdaccio/middleware/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "license": "MIT", "dependencies": { - "colorette": "2.0.20", - "dayjs": "1.11.13", - "lodash": "4.17.21", - "on-exit-leak-free": "2.1.2", - "pino-abstract-transport": "1.2.0", - "sonic-boom": "3.8.1" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "node": ">= 0.6" } }, - "node_modules/@verdaccio/middleware": { - "version": "8.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/@verdaccio/middleware/-/middleware-8.0.0-next-8.29.tgz", - "integrity": "sha512-ANsQ8qjyNslH6BfGZnNkBvK1acTlnFgedXen6BnbN9nF+AWzHUea6knh529J5Clm3zrWggbRnGCrp1SSlbOqSA==", + "node_modules/@verdaccio/package-filter": { + "version": "13.0.0-next-8.5", + "resolved": "https://registry.npmjs.org/@verdaccio/package-filter/-/package-filter-13.0.0-next-8.5.tgz", + "integrity": "sha512-+RZzVI/Yqjpoiv2SL3C0cxMC8ucU6j+YPdP/Bg/KJVqPbGNTn4Ol/fuGNhMJO6meIRS5ekW0PSrAvrDJ6E+JCA==", "dev": true, "license": "MIT", "dependencies": { - "@verdaccio/config": "8.0.0-next-8.29", - "@verdaccio/core": "8.0.0-next-8.29", - "@verdaccio/url": "13.0.0-next-8.29", + "@verdaccio/core": "8.0.0-next-8.37", "debug": "4.4.3", - "express": "4.22.1", - "express-rate-limit": "5.5.1", - "lodash": "4.17.21", - "lru-cache": "7.18.3" + "semver": "7.7.4" }, "engines": { "node": ">=18" @@ -13019,27 +16401,23 @@ "url": "https://opencollective.com/verdaccio" } }, - "node_modules/@verdaccio/middleware/node_modules/express-rate-limit": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-5.5.1.tgz", - "integrity": "sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@verdaccio/middleware/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "node_modules/@verdaccio/package-filter/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": ">=12" + "node": ">=10" } }, "node_modules/@verdaccio/search-indexer": { - "version": "8.0.0-next-8.5", - "resolved": "https://registry.npmjs.org/@verdaccio/search-indexer/-/search-indexer-8.0.0-next-8.5.tgz", - "integrity": "sha512-0GC2tJKstbPg/W2PZl2yE+hoAxffD2ZWilEnEYSEo2e9UQpNIy2zg7KE/uMUq2P72Vf5EVfVzb8jdaH4KV4QeA==", + "version": "8.0.0-next-8.6", + "resolved": "https://registry.npmjs.org/@verdaccio/search-indexer/-/search-indexer-8.0.0-next-8.6.tgz", + "integrity": "sha512-+vFkeqwXWlbpPO/vxC1N5Wbi8sSXYR5l9Z41fqQgSncaF/hfSKB/iHsid1psCusfsDPGuwEbm2usPEW0nDdRDg==", "dev": true, "license": "MIT", "engines": { @@ -13051,14 +16429,14 @@ } }, "node_modules/@verdaccio/signature": { - "version": "8.0.0-next-8.21", - "resolved": "https://registry.npmjs.org/@verdaccio/signature/-/signature-8.0.0-next-8.21.tgz", - "integrity": "sha512-5TuGPRT4c5B3k6svxJ6Q5l31UBZTODo3iAJxmuAAC0iZBLNnivdvJlqUVdpZtYfrhwvuP5vuo7lucHQk6DsSmw==", + "version": "8.0.0-next-8.29", + "resolved": "https://registry.npmjs.org/@verdaccio/signature/-/signature-8.0.0-next-8.29.tgz", + "integrity": "sha512-D1OyGi7+/5zXdbf78qdmL4wpf7iGN+RNDGB2TdLVosSrd+PWGrXqMJB3q2r/DJQ8J3724YVOJgNKiXjxV+Y1Aw==", "dev": true, "license": "MIT", "dependencies": { - "@verdaccio/config": "8.0.0-next-8.29", - "@verdaccio/core": "8.0.0-next-8.29", + "@verdaccio/config": "8.0.0-next-8.37", + "@verdaccio/core": "8.0.0-next-8.37", "debug": "4.4.3", "jsonwebtoken": "9.0.3" }, @@ -13086,14 +16464,14 @@ } }, "node_modules/@verdaccio/tarball": { - "version": "13.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/@verdaccio/tarball/-/tarball-13.0.0-next-8.29.tgz", - "integrity": "sha512-4hTQMXYF1olwwydaVfb6ab1TTImM42rAxLmw3VnJUI5ttbmfB9h095/TYsCssy5vqGQMp3l8YW/JxVTPcVtGYA==", + "version": "13.0.0-next-8.37", + "resolved": "https://registry.npmjs.org/@verdaccio/tarball/-/tarball-13.0.0-next-8.37.tgz", + "integrity": "sha512-Qxm6JQYEFfkeJd4YQII/2IAMiL++QnM6gqKXZbM5mNkAApyqx8ZbL1e9pe3aCDmBYs2mo0JGORCy3OaHZcsJGw==", "dev": true, "license": "MIT", "dependencies": { - "@verdaccio/core": "8.0.0-next-8.29", - "@verdaccio/url": "13.0.0-next-8.29", + "@verdaccio/core": "8.0.0-next-8.37", + "@verdaccio/url": "13.0.0-next-8.37", "debug": "4.4.3", "gunzip-maybe": "1.4.2", "tar-stream": "3.1.7" @@ -13119,20 +16497,23 @@ } }, "node_modules/@verdaccio/ui-theme": { - "version": "8.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/@verdaccio/ui-theme/-/ui-theme-8.0.0-next-8.29.tgz", - "integrity": "sha512-kSg69so1LHOL2SA1qLJikFxkx8FEOFQJV+Nde0lN3XMkp0RST8DgLx/hiVbgYzPz54S8LuvYR/DQAulyRulMcg==", + "version": "9.0.0-next-9.14", + "resolved": "https://registry.npmjs.org/@verdaccio/ui-theme/-/ui-theme-9.0.0-next-9.14.tgz", + "integrity": "sha512-0PQW6PV+sHsQdV3gnHQqAcDcVGfT75vHq1TfIeEN2QY5KuEkvli8e5vut+sTe89p+GOTahHKgTMOcL0O3BvsgA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "debug": "4.4.3" + } }, "node_modules/@verdaccio/url": { - "version": "13.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/@verdaccio/url/-/url-13.0.0-next-8.29.tgz", - "integrity": "sha512-ucJ6MhLfY0g8uU0zjcJypSkCa1mXSLmrqdiILyj16Lo0y4w/gEvddMrfab8QUmgvvuzbCgSqCZHJmbZn7DFxQg==", + "version": "13.0.0-next-8.37", + "resolved": "https://registry.npmjs.org/@verdaccio/url/-/url-13.0.0-next-8.37.tgz", + "integrity": "sha512-Gtv5oDgVwGPGxzuXaIJLbmL8YkBKW2UZwDsrnbDoWRt1nWLtiOp4Vui1VISTqX7A9BB50YslLEgNLcPd2qRE+w==", "dev": true, "license": "MIT", "dependencies": { - "@verdaccio/core": "8.0.0-next-8.29", + "@verdaccio/core": "8.0.0-next-8.37", "debug": "4.4.3", "validator": "13.15.26" }, @@ -13145,15 +16526,15 @@ } }, "node_modules/@verdaccio/utils": { - "version": "8.1.0-next-8.29", - "resolved": "https://registry.npmjs.org/@verdaccio/utils/-/utils-8.1.0-next-8.29.tgz", - "integrity": "sha512-EgyazlL0VejvZqWZ6KL3ig27Yl8RXcwhz1hayuqeAIxaqbsnmSmogL2zKXgGnm9y/A6QkPfZH1BcQoUh1STvtQ==", + "version": "8.1.0-next-8.37", + "resolved": "https://registry.npmjs.org/@verdaccio/utils/-/utils-8.1.0-next-8.37.tgz", + "integrity": "sha512-wfwn3z5M+w2KOV+xJFVv8tM8aOB4Ok5emfBDrDHrHMPDJ/fn3dEo6HoOra654PJ+zNwbTiMDvE5oAg/PLtnsUw==", "dev": true, "license": "MIT", "dependencies": { - "@verdaccio/core": "8.0.0-next-8.29", - "lodash": "4.17.21", - "minimatch": "7.4.6" + "@verdaccio/core": "8.0.0-next-8.37", + "lodash": "4.18.1", + "minimatch": "7.4.9" }, "engines": { "node": ">=18" @@ -13163,14 +16544,31 @@ "url": "https://opencollective.com/verdaccio" } }, + "node_modules/@verdaccio/utils/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@verdaccio/utils/node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@verdaccio/utils/node_modules/minimatch": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", - "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "version": "7.4.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.9.tgz", + "integrity": "sha512-Brg/fp/iAVDOQoHxkuN5bEYhyQlZhxddI78yWsCbeEwTHXQjlNLtiJDUsp1GIptVqMI7/gkJMz4vVAc01mpoBw==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" }, "engines": { "node": ">=10" @@ -13179,6 +16577,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", + "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", + "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/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", @@ -13412,23 +16823,23 @@ } }, "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "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": "~2.1.34", - "negotiator": "0.6.3" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" }, "engines": { "node": ">= 0.6" } }, "node_modules/accepts/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "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": { @@ -13436,9 +16847,9 @@ } }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", "bin": { @@ -13472,9 +16883,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", "dev": true, "license": "MIT", "dependencies": { @@ -13495,13 +16906,13 @@ } }, "node_modules/adm-zip": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz", - "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==", + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=12.0" + "node": ">=6.0" } }, "node_modules/agent-base": { @@ -13515,9 +16926,9 @@ } }, "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -13589,25 +17000,25 @@ } }, "node_modules/angular-eslint": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-21.2.0.tgz", - "integrity": "sha512-pERqqHIMwD34UT0FoHSNTt4V332vHiAzgkY0rgdUaqSamS94IzbF02EfFxygr53UogQQOXhpLbSSDMOyovB3TA==", + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-21.3.1.tgz", + "integrity": "sha512-VGQWTyuPAEO/AnZuqHxGBJMYSiZ0tbrHx/OgPCRTKHfbrFU4x+zivS84h9UWoDpDtius1RyD+ZReFjTAEWptiA==", "dev": true, "license": "MIT", "dependencies": { "@angular-devkit/core": ">= 21.0.0 < 22.0.0", "@angular-devkit/schematics": ">= 21.0.0 < 22.0.0", - "@angular-eslint/builder": "21.2.0", - "@angular-eslint/eslint-plugin": "21.2.0", - "@angular-eslint/eslint-plugin-template": "21.2.0", - "@angular-eslint/schematics": "21.2.0", - "@angular-eslint/template-parser": "21.2.0", + "@angular-eslint/builder": "21.3.1", + "@angular-eslint/eslint-plugin": "21.3.1", + "@angular-eslint/eslint-plugin-template": "21.3.1", + "@angular-eslint/schematics": "21.3.1", + "@angular-eslint/template-parser": "21.3.1", "@typescript-eslint/types": "^8.0.0", "@typescript-eslint/utils": "^8.0.0" }, "peerDependencies": { "@angular/cli": ">= 21.0.0 < 22.0.0", - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": "*", "typescript-eslint": "^8.0.0" } @@ -13692,9 +17103,9 @@ } }, "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { @@ -13745,19 +17156,6 @@ "dev": true, "license": "MIT" }, - "node_modules/array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -13769,14 +17167,14 @@ } }, "node_modules/asn1js": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.7.tgz", - "integrity": "sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.10.tgz", + "integrity": "sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { "pvtsutils": "^1.3.6", - "pvutils": "^1.1.3", + "pvutils": "^1.1.5", "tslib": "^2.8.1" }, "engines": { @@ -13807,16 +17205,6 @@ "dev": true, "license": "MIT" }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/atomic-sleep": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", @@ -13828,9 +17216,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.24", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.24.tgz", - "integrity": "sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.0.tgz", + "integrity": "sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==", "dev": true, "funding": [ { @@ -13848,8 +17236,8 @@ ], "license": "MIT", "dependencies": { - "browserslist": "^4.28.1", - "caniuse-lite": "^1.0.30001766", + "browserslist": "^4.28.2", + "caniuse-lite": "^1.0.30001787", "fraction.js": "^5.3.4", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" @@ -13882,15 +17270,15 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.13.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", - "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.2.tgz", + "integrity": "sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A==", "dev": true, "license": "MIT", "dependencies": { "follow-redirects": "^1.15.11", "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "proxy-from-env": "^2.1.0" } }, "node_modules/axobject-query": { @@ -13904,9 +17292,9 @@ } }, "node_modules/b4a": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", - "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", + "integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==", "dev": true, "license": "Apache-2.0", "peerDependencies": { @@ -13919,16 +17307,16 @@ } }, "node_modules/babel-jest": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.2.0.tgz", - "integrity": "sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.3.0.tgz", + "integrity": "sha512-gRpauEU2KRrCox5Z296aeVHR4jQ98BCnu0IO332D/xpHNOsIH/bgSRk9k6GbKIbBw8vFeN6ctuu6tV8WOyVfYQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "30.2.0", + "@jest/transform": "30.3.0", "@types/babel__core": "^7.20.5", "babel-plugin-istanbul": "^7.0.1", - "babel-preset-jest": "30.2.0", + "babel-preset-jest": "30.3.0", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", "slash": "^3.0.0" @@ -13940,16 +17328,6 @@ "@babel/core": "^7.11.0 || ^8.0.0-0" } }, - "node_modules/babel-jest/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/babel-loader": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", @@ -14004,9 +17382,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz", - "integrity": "sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.3.0.tgz", + "integrity": "sha512-+TRkByhsws6sfPjVaitzadk1I0F5sPvOVUH5tyTSzhePpsGIVrdeunHSw/C36QeocS95OOk8lunc4rlu5Anwsg==", "dev": true, "license": "MIT", "dependencies": { @@ -14033,14 +17411,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz", - "integrity": "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", + "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.28.6", - "@babel/helper-define-polyfill-provider": "^0.6.6", + "@babel/helper-define-polyfill-provider": "^0.6.8", "semver": "^6.3.1" }, "peerDependencies": { @@ -14072,13 +17450,13 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.6.tgz", - "integrity": "sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", + "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.6" + "@babel/helper-define-polyfill-provider": "^0.6.8" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -14122,13 +17500,13 @@ } }, "node_modules/babel-preset-jest": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.2.0.tgz", - "integrity": "sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.3.0.tgz", + "integrity": "sha512-6ZcUbWHC+dMz2vfzdNwi87Z1gQsLNK2uLuK1Q89R11xdvejcivlYYwDlEv0FHX3VwEXpbBQ9uufB/MUNpZGfhQ==", "dev": true, "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "30.2.0", + "babel-plugin-jest-hoist": "30.3.0", "babel-preset-current-node-syntax": "^1.2.0" }, "engines": { @@ -14139,11 +17517,14 @@ } }, "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "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" + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } }, "node_modules/bare-events": { "version": "2.8.2", @@ -14182,13 +17563,16 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.9.19", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", - "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "version": "2.10.23", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.23.tgz", + "integrity": "sha512-xwVXGqevyKPsiuQdLj+dZMVjidjJV508TBqexND5HrF89cGdCYCJFB3qhcxRHSeMctdCfbR1jrxBajhDy7o29g==", "dev": true, "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/basic-auth": { @@ -14246,43 +17630,13 @@ "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" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/beasties/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" + "htmlparser2": "^10.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.49", + "postcss-media-query-parser": "^0.2.3" }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/beasties/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": ">=14.0.0" } }, "node_modules/bidi-js": { @@ -14332,60 +17686,30 @@ } }, "node_modules/body-parser": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "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": "2.6.9", - "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" + "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": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "node": ">=18" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/bonjour-service": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", @@ -14405,13 +17729,16 @@ "license": "ISC" }, "node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/braces": { @@ -14438,9 +17765,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, "funding": [ { @@ -14458,11 +17785,11 @@ ], "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" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" @@ -14494,19 +17821,6 @@ "node-int64": "^0.4.0" } }, - "node_modules/btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "bin": { - "btoa": "bin/btoa.js" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -14583,9 +17897,9 @@ } }, "node_modules/cacache": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz", - "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", + "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", "dev": true, "license": "ISC", "dependencies": { @@ -14598,113 +17912,44 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^7.0.2", - "ssri": "^13.0.0", - "unique-filename": "^5.0.0" + "ssri": "^13.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/cacache/node_modules/@isaacs/cliui": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz", - "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/cacache/node_modules/balanced-match": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.2.tgz", - "integrity": "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "jackspeak": "^4.2.3" - }, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", - "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "20 || >=22" - } - }, "node_modules/cacache/node_modules/glob": { - "version": "13.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.3.tgz", - "integrity": "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "minimatch": "^10.2.0", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/jackspeak": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz", - "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==", + "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": { - "@isaacs/cliui": "^9.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/cacache/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/cacache/node_modules/minimatch": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.0.tgz", - "integrity": "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.2" - }, "engines": { "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, "node_modules/cacache/node_modules/path-scurry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", - "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "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": { @@ -14712,7 +17957,7 @@ "minipass": "^7.1.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -14764,9 +18009,9 @@ } }, "node_modules/cacheable-request/node_modules/pump": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", "dev": true, "license": "MIT", "dependencies": { @@ -14839,9 +18084,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001769", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz", - "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==", + "version": "1.0.30001791", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", + "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", "dev": true, "funding": [ { @@ -14960,16 +18205,19 @@ "license": "MIT" }, "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "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": "^3.1.0" + "restore-cursor": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-spinners": { @@ -14986,14 +18234,14 @@ } }, "node_modules/cli-truncate": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", - "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", + "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": "^7.1.0", - "string-width": "^8.0.0" + "slice-ansi": "^8.0.0", + "string-width": "^8.2.0" }, "engines": { "node": ">=20" @@ -15016,14 +18264,14 @@ } }, "node_modules/cli-truncate/node_modules/string-width": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.1.tgz", - "integrity": "sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==", + "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.3.0", - "strip-ansi": "^7.1.0" + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" }, "engines": { "node": ">=20" @@ -15033,13 +18281,13 @@ } }, "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "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.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -15089,6 +18337,56 @@ "node": ">=12" } }, + "node_modules/cliui/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/cliui/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/cliui/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/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", @@ -15178,13 +18476,6 @@ "dev": true, "license": "MIT" }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true, - "license": "MIT" - }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -15317,16 +18608,17 @@ } }, "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/content-type": { @@ -15340,9 +18632,9 @@ } }, "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==", + "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" }, @@ -15357,55 +18649,46 @@ } }, "node_modules/cookie-signature": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", - "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookies": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.9.1.tgz", - "integrity": "sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", "dev": true, "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "keygrip": "~1.1.0" - }, "engines": { - "node": ">= 0.8" + "node": ">=6.6.0" } }, "node_modules/copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", "dev": true, "license": "MIT", "dependencies": { - "is-what": "^3.14.1" + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" }, "funding": { "url": "https://github.com/sponsors/mesqueeb" } }, "node_modules/copy-webpack-plugin": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz", - "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-14.0.0.tgz", + "integrity": "sha512-3JLW90aBGeaTLpM7mYQKpnVdgsUZRExY55giiZgLuX/xTQRUs1dOCwbBnWnvY6Q6rfZoXMNwzOQJCSZPppfqXA==", "dev": true, "license": "MIT", "dependencies": { - "fast-glob": "^3.2.7", "glob-parent": "^6.0.1", - "globby": "^12.0.2", "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" + "schema-utils": "^4.2.0", + "serialize-javascript": "^7.0.3", + "tinyglobby": "^0.2.12" }, "engines": { - "node": ">= 12.20.0" + "node": ">= 20.9.0" }, "funding": { "type": "opencollective", @@ -15415,23 +18698,10 @@ "webpack": "^5.1.0" } }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/core-js-compat": { - "version": "3.48.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz", - "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", + "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", "dev": true, "license": "MIT", "dependencies": { @@ -15443,9 +18713,9 @@ } }, "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true, "license": "MIT" }, @@ -15494,6 +18764,16 @@ "node": ">=10" } }, + "node_modules/cosmiconfig/node_modules/yaml": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -15530,9 +18810,9 @@ } }, "node_modules/css-declaration-sorter": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.1.tgz", - "integrity": "sha512-gz6x+KkgNCjxq3Var03pRYLhyNfwhkKF1g/yoLgDNtFvVu0/fOLV9C8fFEZRjACp/XQLumjAYo7JVjzH3wLbxA==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.4.0.tgz", + "integrity": "sha512-LTuzjPoyA2vMGKKcaOqKSp7Ub2eGrNfKiZH4LpezxpNrsICGCSFvsQOI29psISxNZtaXibkC2CXzrQ5enMeGGw==", "dev": true, "license": "ISC", "engines": { @@ -15579,21 +18859,21 @@ } }, "node_modules/css-minimizer-webpack-plugin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", - "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-8.0.0.tgz", + "integrity": "sha512-9bEpzHs8gEq6/cbEj418jXL/YWjBUD2YTLLk905Npt2JODqnRITin0+So5Vx4Dp5vyi2Lpt9pp2QHzQ7fdxNrw==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "cssnano": "^6.0.1", - "jest-worker": "^29.4.3", - "postcss": "^8.4.24", - "schema-utils": "^4.0.1", - "serialize-javascript": "^6.0.1" + "@jridgewell/trace-mapping": "^0.3.25", + "cssnano": "^7.0.4", + "jest-worker": "^30.0.5", + "postcss": "^8.4.40", + "schema-utils": "^4.2.0", + "serialize-javascript": "^7.0.3" }, "engines": { - "node": ">= 14.15.0" + "node": ">= 20.9.0" }, "funding": { "type": "opencollective", @@ -15624,40 +18904,40 @@ } }, "node_modules/css-select": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", - "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "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": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" + "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": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "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.0.30", - "source-map-js": "^1.0.1" + "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": "6.2.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", - "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "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": { @@ -15681,82 +18961,82 @@ } }, "node_modules/cssnano": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", - "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.7.tgz", + "integrity": "sha512-N5LGn/OlhMxDTvKACwUPMzT34SSj1b022pvUAE/Vh6r2WD1aUCbc+QNIP/JjX9VVxebdJWZQ3352Lt4oF7dQ/g==", "dev": true, "license": "MIT", "dependencies": { - "cssnano-preset-default": "^6.1.2", - "lilconfig": "^3.1.1" + "cssnano-preset-default": "^7.0.15", + "lilconfig": "^3.1.3" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/cssnano" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.5.10" } }, "node_modules/cssnano-preset-default": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", - "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.15.tgz", + "integrity": "sha512-60kx7lJ40//HA85cIfQXSOJFby2D2V1pOMNHVCxue3KFWCjRzmiQyL9OvI+NAhwUlaojOfF9eK3nGvrJLCBUfQ==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", + "browserslist": "^4.28.2", "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^4.0.2", - "postcss-calc": "^9.0.1", - "postcss-colormin": "^6.1.0", - "postcss-convert-values": "^6.1.0", - "postcss-discard-comments": "^6.0.2", - "postcss-discard-duplicates": "^6.0.3", - "postcss-discard-empty": "^6.0.3", - "postcss-discard-overridden": "^6.0.2", - "postcss-merge-longhand": "^6.0.5", - "postcss-merge-rules": "^6.1.1", - "postcss-minify-font-values": "^6.1.0", - "postcss-minify-gradients": "^6.0.3", - "postcss-minify-params": "^6.1.0", - "postcss-minify-selectors": "^6.0.4", - "postcss-normalize-charset": "^6.0.2", - "postcss-normalize-display-values": "^6.0.2", - "postcss-normalize-positions": "^6.0.2", - "postcss-normalize-repeat-style": "^6.0.2", - "postcss-normalize-string": "^6.0.2", - "postcss-normalize-timing-functions": "^6.0.2", - "postcss-normalize-unicode": "^6.1.0", - "postcss-normalize-url": "^6.0.2", - "postcss-normalize-whitespace": "^6.0.2", - "postcss-ordered-values": "^6.0.2", - "postcss-reduce-initial": "^6.1.0", - "postcss-reduce-transforms": "^6.0.2", - "postcss-svgo": "^6.0.3", - "postcss-unique-selectors": "^6.0.4" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "cssnano-utils": "^5.0.2", + "postcss-calc": "^10.1.1", + "postcss-colormin": "^7.0.9", + "postcss-convert-values": "^7.0.11", + "postcss-discard-comments": "^7.0.7", + "postcss-discard-duplicates": "^7.0.3", + "postcss-discard-empty": "^7.0.2", + "postcss-discard-overridden": "^7.0.2", + "postcss-merge-longhand": "^7.0.6", + "postcss-merge-rules": "^7.0.10", + "postcss-minify-font-values": "^7.0.2", + "postcss-minify-gradients": "^7.0.4", + "postcss-minify-params": "^7.0.8", + "postcss-minify-selectors": "^7.1.0", + "postcss-normalize-charset": "^7.0.2", + "postcss-normalize-display-values": "^7.0.2", + "postcss-normalize-positions": "^7.0.3", + "postcss-normalize-repeat-style": "^7.0.3", + "postcss-normalize-string": "^7.0.2", + "postcss-normalize-timing-functions": "^7.0.2", + "postcss-normalize-unicode": "^7.0.8", + "postcss-normalize-url": "^7.0.2", + "postcss-normalize-whitespace": "^7.0.2", + "postcss-ordered-values": "^7.0.3", + "postcss-reduce-initial": "^7.0.8", + "postcss-reduce-transforms": "^7.0.2", + "postcss-svgo": "^7.1.2", + "postcss-unique-selectors": "^7.0.6" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, "node_modules/cssnano-utils": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", - "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.2.tgz", + "integrity": "sha512-kt41WLK7FLKfePzPi645Y+/NtW/nNM7Su6nlNUfJyRNW3JcuU3JU7+cWJc+JexTeZ8dRBvFufefdG2XpXkIo0A==", "dev": true, "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.5.10" } }, "node_modules/csso": { @@ -15796,165 +19076,204 @@ "license": "CC0-1.0" }, "node_modules/cssstyle": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-5.3.7.tgz", - "integrity": "sha512-7D2EPVltRrsTkhpQmksIu+LxeWAIEk6wRDMJ1qljlv+CKHJM+cJLlfhWIzNA44eAsHXSNe3+vO6DW1yCYx8SuQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@asamuzakjp/css-color": "^4.1.1", - "@csstools/css-syntax-patches-for-csstree": "^1.0.21", - "css-tree": "^3.1.0", - "lru-cache": "^11.2.4" + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" }, "engines": { - "node": ">=20" + "node": ">=18" } }, - "node_modules/cssstyle/node_modules/css-tree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", - "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "node_modules/cssstyle/node_modules/@asamuzakjp/css-color": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", + "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "@csstools/css-calc": "^2.1.3", + "@csstools/css-color-parser": "^3.0.9", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "lru-cache": "^10.4.3" } }, - "node_modules/cssstyle/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "node_modules/cssstyle/node_modules/@csstools/color-helpers": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", "dev": true, - "license": "BlueOak-1.0.0", - "peer": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "engines": { - "node": "20 || >=22" + "node": ">=18" } }, - "node_modules/cssstyle/node_modules/mdn-data": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", - "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", - "dev": true, - "license": "CC0-1.0", - "peer": true - }, - "node_modules/cuint": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", - "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==", - "dev": true, - "license": "MIT" - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "node_modules/cssstyle/node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" - }, "engines": { - "node": ">=0.10" + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, - "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==", + "node_modules/cssstyle/node_modules/@csstools/css-color-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "peer": true, "dependencies": { - "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^16.0.0" + "@csstools/color-helpers": "^5.1.0", + "@csstools/css-calc": "^2.1.4" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/data-urls/node_modules/@exodus/bytes": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.14.0.tgz", - "integrity": "sha512-YiY1OmY6Qhkvmly8vZiD8wZRpW/npGZNg+0Sk8mstxirRHCg6lolHt5tSODCfuNPE/fBsAqRwDJE417x7jDDHA==", + "node_modules/cssstyle/node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "peer": true, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": ">=18" }, "peerDependencies": { - "@noble/hashes": "^1.8.0 || ^2.0.0" - }, - "peerDependenciesMeta": { - "@noble/hashes": { - "optional": true + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/cssstyle/node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT", + "engines": { + "node": ">=18" } }, - "node_modules/data-urls/node_modules/tr46": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", - "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "node_modules/cssstyle/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "punycode": "^2.3.1" + "assert-plus": "^1.0.0" }, "engines": { - "node": ">=20" + "node": ">=0.10" } }, - "node_modules/data-urls/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==", + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", "dev": true, - "license": "BSD-2-Clause", - "peer": true, + "license": "MIT", "engines": { - "node": ">=20" + "node": ">= 12" } }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.0.tgz", - "integrity": "sha512-9CcxtEKsf53UFwkSUZjG+9vydAsFO4lFHBpJUtjBcoJOCJpKnSJNwCw813zrYJHpCJ7sgfbtOe0V5Ku7Pa1XMQ==", + "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", "peer": true, "dependencies": { - "@exodus/bytes": "^1.11.0", - "tr46": "^6.0.0", - "webidl-conversions": "^8.0.1" + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0" }, "engines": { "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, - "node_modules/date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0" - } - }, "node_modules/dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "version": "1.11.18", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz", + "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==", "dev": true, "license": "MIT" }, @@ -16013,9 +19332,9 @@ } }, "node_modules/dedent": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.1.tgz", - "integrity": "sha512-9JmrhGZpOlEgOLdQgSm0zxFaYoQon408V1v49aqTWuXENVlnCuY9JBZcXZiCsZQWDjTm5Qf/nIvAy77mXDAjEg==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", + "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", "dev": true, "license": "MIT", "peerDependencies": { @@ -16027,13 +19346,6 @@ } } }, - "node_modules/deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==", - "dev": true, - "license": "MIT" - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -16105,13 +19417,16 @@ } }, "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/delayed-stream": { @@ -16124,13 +19439,6 @@ "node": ">=0.4.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true, - "license": "MIT" - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -16218,19 +19526,6 @@ "node": ">=0.3.1" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", @@ -16429,25 +19724,22 @@ "license": "MIT" }, "node_modules/ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-5.0.1.tgz", + "integrity": "sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A==", "dev": true, "license": "Apache-2.0", - "dependencies": { - "jake": "^10.8.5" - }, "bin": { "ejs": "bin/cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.12.18" } }, "node_modules/electron-to-chromium": { - "version": "1.5.286", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", - "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "version": "1.5.344", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", + "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", "dev": true, "license": "ISC" }, @@ -16465,9 +19757,9 @@ } }, "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==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, "license": "MIT" }, @@ -16501,6 +19793,19 @@ "iconv-lite": "^0.6.2" } }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/end-of-stream": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", @@ -16512,19 +19817,33 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", - "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.0.tgz", + "integrity": "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.3.0" + "tapable": "^2.3.3" }, "engines": { "node": ">=10.13.0" } }, + "node_modules/enhanced-resolve/node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -16562,9 +19881,9 @@ } }, "node_modules/envinfo": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.15.0.tgz", - "integrity": "sha512-chR+t7exF6y59kelhXw5I3849nTy7KIRO+ePdLMhCD+JRP/JvmkenDWP7QSFGlsHX+kxGxdDutOPrmj5j1HR6g==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", "dev": true, "license": "MIT", "bin": { @@ -16649,9 +19968,9 @@ } }, "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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", "dev": true, "license": "MIT" }, @@ -16727,9 +20046,9 @@ } }, "node_modules/esbuild-wasm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.27.3.tgz", - "integrity": "sha512-AUXuOxZ145/5Az+lIqk6TdJbxKTyDGkXMJpTExmBdbnHR6n6qAFx+F4oG9ORpVYJ9dQYeQAqzv51TO4DFKsbXw==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.28.0.tgz", + "integrity": "sha512-5TRVKExcEmeMkccIZMzUq+Az6X2RoMAJyfl6SMMO1dMVhmvt0I2mx7gAb6zYi42n4d1ETcatFXazGKzA+aW7fg==", "dev": true, "license": "MIT", "bin": { @@ -16757,35 +20076,38 @@ "license": "MIT" }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", + "@eslint/config-array": "^0.21.2", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "ajv": "^6.12.4", + "ajv": "^6.14.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", @@ -16804,7 +20126,7 @@ "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^3.1.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, @@ -16843,17 +20165,19 @@ } }, "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" @@ -16873,9 +20197,9 @@ } }, "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -16889,10 +20213,17 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/eslint/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -16900,17 +20231,21 @@ "concat-map": "0.0.1" } }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/eslint-visitor-keys": { @@ -16926,17 +20261,21 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/json-schema-traverse": { @@ -16946,10 +20285,26 @@ "dev": true, "license": "MIT" }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -16959,6 +20314,22 @@ "node": "*" } }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/espree": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", @@ -17118,9 +20489,9 @@ } }, "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==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.8.tgz", + "integrity": "sha512-70QWGkr4snxr0OXLRWsFLeRBIRPuQOvt4s8QYjmUlmlkyTZkRqS7EDVRZtzU3TiyDbXSzaOeF0XUKy8PchzukQ==", "dev": true, "license": "MIT", "engines": { @@ -17151,6 +20522,13 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, "node_modules/exit-x": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", @@ -17175,18 +20553,18 @@ } }, "node_modules/expect": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-30.2.0.tgz", - "integrity": "sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.3.0.tgz", + "integrity": "sha512-1zQrciTiQfRdo7qJM1uG4navm8DayFa2TgCSRlzUyNkhcJ6XUZF3hjnpkyr3VhAqPH7i/9GkG7Tv5abz6fqz0Q==", "dev": true, "license": "MIT", "dependencies": { - "@jest/expect-utils": "30.2.0", + "@jest/expect-utils": "30.3.0", "@jest/get-type": "30.1.0", - "jest-matcher-utils": "30.2.0", - "jest-message-util": "30.2.0", - "jest-mock": "30.2.0", - "jest-util": "30.2.0" + "jest-matcher-utils": "30.3.0", + "jest-message-util": "30.3.0", + "jest-mock": "30.3.0", + "jest-util": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -17200,46 +20578,43 @@ "license": "Apache-2.0" }, "node_modules/express": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", - "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "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": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.3", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.14.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "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": ">= 0.10.0" + "node": ">= 18" }, "funding": { "type": "opencollective", @@ -17247,13 +20622,13 @@ } }, "node_modules/express-rate-limit": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.2.1.tgz", - "integrity": "sha512-PCZEIEIxqwhzw4KF0n7QF4QqruVTcF73O5kFKUnGOyjbCCgizBBiFaYpd/fnBLUMPw/BWw9OsiN7GgrNYr7j6g==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.4.1.tgz", + "integrity": "sha512-NGVYwQSAyEQgzxX1iCM978PP9AdO/hW93gMcF6ZwQCm+rFvLsBH6w4xcXWTcliS8La5EPRN3p9wzItqBwJrfNw==", "dev": true, "license": "MIT", "dependencies": { - "ip-address": "10.0.1" + "ip-address": "10.1.0" }, "engines": { "node": ">= 16" @@ -17263,24 +20638,7 @@ }, "peerDependencies": { "express": ">= 4.11" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" + } }, "node_modules/extend": { "version": "3.0.2", @@ -17313,23 +20671,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -17361,16 +20702,6 @@ ], "license": "BSD-3-Clause" }, - "node_modules/fastq": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", - "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, "node_modules/faye-websocket": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", @@ -17412,6 +20743,30 @@ } } }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -17428,6 +20783,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -17442,19 +20807,36 @@ } }, "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz", + "integrity": "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==", "dev": true, "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" } }, + "node_modules/filelist/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", "dev": true, "license": "ISC", "dependencies": { @@ -17478,41 +20860,27 @@ } }, "node_modules/finalhandler": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", - "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "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": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "statuses": "~2.0.2", - "unpipe": "~1.0.0" + "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": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/find-cache-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", @@ -17590,20 +20958,17 @@ } }, "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", + "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/find-up-simple": { @@ -17644,16 +21009,16 @@ } }, "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", "dev": true, "funding": [ { @@ -17688,19 +21053,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/foreground-child/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/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -17712,16 +21064,16 @@ } }, "node_modules/fork-ts-checker-webpack-plugin": { - "version": "7.2.13", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.13.tgz", - "integrity": "sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.1.0.tgz", + "integrity": "sha512-mpafl89VFPJmhnJ1ssH+8wmM2b50n+Rew5x42NeI2U78aRWgtkEtGmctp7iT16UjquJTjorEmIfESj3DxdW84Q==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.16.7", "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "cosmiconfig": "^7.0.1", + "chokidar": "^4.0.1", + "cosmiconfig": "^8.2.0", "deepmerge": "^4.2.2", "fs-extra": "^10.0.0", "memfs": "^3.4.1", @@ -17732,24 +21084,17 @@ "tapable": "^2.2.1" }, "engines": { - "node": ">=12.13.0", - "yarn": ">=1.0.0" + "node": ">=14.21.3" }, "peerDependencies": { "typescript": ">3.6.0", - "vue-template-compiler": "*", "webpack": "^5.11.0" - }, - "peerDependenciesMeta": { - "vue-template-compiler": { - "optional": true - } } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -17773,10 +21118,17 @@ "ajv": "^6.9.1" } }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -17785,43 +21137,59 @@ } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 14.16.0" }, "funding": { "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "node_modules/fork-ts-checker-webpack-plugin/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==", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { @@ -17832,9 +21200,9 @@ "license": "MIT" }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -17844,30 +21212,18 @@ "node": "*" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/fork-ts-checker-webpack-plugin/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": ">=8.6" + "node": ">= 14.18.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { @@ -17913,6 +21269,42 @@ "dev": true, "license": "MIT" }, + "node_modules/form-data/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/form-data/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -17938,13 +21330,13 @@ } }, "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "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.6" + "node": ">= 0.8" } }, "node_modules/front-matter": { @@ -17965,19 +21357,18 @@ "license": "MIT" }, "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "license": "MIT", "dependencies": { - "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/fs-minipass": { @@ -18053,9 +21444,9 @@ } }, "node_modules/get-east-asian-width": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", + "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": { @@ -18160,16 +21551,16 @@ } }, "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" } }, "node_modules/glob-to-regex.js": { @@ -18196,14 +21587,31 @@ "dev": true, "license": "BSD-2-Clause" }, + "node_modules/glob/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/glob/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -18244,6 +21652,13 @@ "node": ">=0.10.0" } }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -18258,9 +21673,9 @@ } }, "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", "dev": true, "license": "MIT", "engines": { @@ -18270,27 +21685,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -18364,9 +21758,9 @@ "license": "MIT" }, "node_modules/handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "version": "4.7.9", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz", + "integrity": "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==", "dev": true, "license": "MIT", "dependencies": { @@ -18385,6 +21779,16 @@ "uglify-js": "^3.1.4" } }, + "node_modules/handlebars/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/harmony-reflect": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", @@ -18432,9 +21836,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", "dev": true, "license": "MIT", "dependencies": { @@ -18468,9 +21872,9 @@ } }, "node_modules/hono": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.9.tgz", - "integrity": "sha512-Eaw2YTGM6WOxA6CXbckaEvslr2Ne4NFsKrvc0v97JD5awbmeBLO5w9Ho9L9kmKonrwF9RJlW6BxT1PVv/agBHQ==", + "version": "4.12.15", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.15.tgz", + "integrity": "sha512-qM0jDhFEaCBb4TxoW7f53Qrpv9RBiayUHo0S52JudprkhvpjIrGoU1mnnr29Fvd1U335ZFPZQY1wlkqgfGXyLg==", "dev": true, "license": "MIT", "engines": { @@ -18491,9 +21895,9 @@ } }, "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -18559,23 +21963,6 @@ "node": ">=12" } }, - "node_modules/html-entities": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", - "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT" - }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -18616,57 +22003,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/http-assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz", - "integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-equal": "~1.0.1", - "http-errors": "~1.8.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-assert/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-assert/node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-assert/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/http-cache-semantics": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", @@ -18855,9 +22191,9 @@ } }, "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "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": { @@ -18865,6 +22201,10 @@ }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/icss-utils": { @@ -18952,9 +22292,9 @@ } }, "node_modules/immutable": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", - "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "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" }, @@ -18975,6 +22315,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-fresh/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/import-local": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", @@ -18995,62 +22345,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-local/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/import-local/node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -19094,11 +22388,14 @@ "license": "ISC" }, "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "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" + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } }, "node_modules/injection-js": { "version": "2.6.1", @@ -19111,9 +22408,9 @@ } }, "node_modules/ip-address": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", - "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", + "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": { @@ -19174,16 +22471,16 @@ "license": "MIT" }, "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, "license": "MIT", "bin": { "is-docker": "cli.js" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -19200,13 +22497,19 @@ } }, "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==", + "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": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-generator-fn": { @@ -19261,36 +22564,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-inside-container/node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "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", - "bin": { - "is-docker": "cli.js" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-network-error": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz", - "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.1.tgz", + "integrity": "sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==", "dev": true, "license": "MIT", "engines": { @@ -19368,24 +22658,30 @@ "license": "MIT" }, "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "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": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } }, "node_modules/is-windows": { "version": "1.0.2", @@ -19398,16 +22694,19 @@ } }, "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "is-inside-container": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/isarray": { @@ -19493,22 +22792,6 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/istanbul-lib-source-maps": { "version": "5.0.6", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", @@ -19573,16 +22856,16 @@ } }, "node_modules/jest": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-30.2.0.tgz", - "integrity": "sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-30.3.0.tgz", + "integrity": "sha512-AkXIIFcaazymvey2i/+F94XRnM6TsVLZDhBMLsd1Sf/W0wzsvvpjeyUrCZD6HGG4SDYPgDJDBKeiJTBb10WzMg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "30.2.0", - "@jest/types": "30.2.0", + "@jest/core": "30.3.0", + "@jest/types": "30.3.0", "import-local": "^3.2.0", - "jest-cli": "30.2.0" + "jest-cli": "30.3.0" }, "bin": { "jest": "bin/jest.js" @@ -19600,14 +22883,14 @@ } }, "node_modules/jest-changed-files": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.2.0.tgz", - "integrity": "sha512-L8lR1ChrRnSdfeOvTrwZMlnWV8G/LLjQ0nG9MBclwWZidA2N5FviRki0Bvh20WRMOX31/JYvzdqTJrk5oBdydQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.3.0.tgz", + "integrity": "sha512-B/7Cny6cV5At6M25EWDgf9S617lHivamL8vl6KEpJqkStauzcG4e+WPfDgMMF+H4FVH4A2PLRyvgDJan4441QA==", "dev": true, "license": "MIT", "dependencies": { "execa": "^5.1.1", - "jest-util": "30.2.0", + "jest-util": "30.3.0", "p-limit": "^3.1.0" }, "engines": { @@ -19615,29 +22898,29 @@ } }, "node_modules/jest-circus": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.2.0.tgz", - "integrity": "sha512-Fh0096NC3ZkFx05EP2OXCxJAREVxj1BcW/i6EWqqymcgYKWjyyDpral3fMxVcHXg6oZM7iULer9wGRFvfpl+Tg==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.3.0.tgz", + "integrity": "sha512-PyXq5szeSfR/4f1lYqCmmQjh0vqDkURUYi9N6whnHjlRz4IUQfMcXkGLeEoiJtxtyPqgUaUUfyQlApXWBSN1RA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/expect": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/types": "30.2.0", + "@jest/environment": "30.3.0", + "@jest/expect": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/types": "30.3.0", "@types/node": "*", "chalk": "^4.1.2", "co": "^4.6.0", "dedent": "^1.6.0", "is-generator-fn": "^2.1.0", - "jest-each": "30.2.0", - "jest-matcher-utils": "30.2.0", - "jest-message-util": "30.2.0", - "jest-runtime": "30.2.0", - "jest-snapshot": "30.2.0", - "jest-util": "30.2.0", + "jest-each": "30.3.0", + "jest-matcher-utils": "30.3.0", + "jest-message-util": "30.3.0", + "jest-runtime": "30.3.0", + "jest-snapshot": "30.3.0", + "jest-util": "30.3.0", "p-limit": "^3.1.0", - "pretty-format": "30.2.0", + "pretty-format": "30.3.0", "pure-rand": "^7.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.6" @@ -19646,32 +22929,22 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-circus/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-cli": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.2.0.tgz", - "integrity": "sha512-Os9ukIvADX/A9sLt6Zse3+nmHtHaE6hqOsjQtNiugFTbKRHYIYtZXNGNK9NChseXy7djFPjndX1tL0sCTlfpAA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.3.0.tgz", + "integrity": "sha512-l6Tqx+j1fDXJEW5bqYykDQQ7mQg+9mhWXtnj+tQZrTWYHyHoi6Be8HPumDSA+UiX2/2buEgjA58iJzdj146uCw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/types": "30.2.0", + "@jest/core": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/types": "30.3.0", "chalk": "^4.1.2", "exit-x": "^0.2.2", "import-local": "^3.2.0", - "jest-config": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", + "jest-config": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", "yargs": "^17.7.2" }, "bin": { @@ -19689,35 +22962,85 @@ } } }, + "node_modules/jest-cli/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/jest-cli/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/jest-cli/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/jest-cli/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/jest-config": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.2.0.tgz", - "integrity": "sha512-g4WkyzFQVWHtu6uqGmQR4CQxz/CH3yDSlhzXMWzNjDx843gYjReZnMRanjRCq5XZFuQrGDxgUaiYWE8BRfVckA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.3.0.tgz", + "integrity": "sha512-WPMAkMAtNDY9P/oKObtsRG/6KTrhtgPJoBTmk20uDn4Uy6/3EJnnaZJre/FMT1KVRx8cve1r7/FlMIOfRVWL4w==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.27.4", "@jest/get-type": "30.1.0", "@jest/pattern": "30.0.1", - "@jest/test-sequencer": "30.2.0", - "@jest/types": "30.2.0", - "babel-jest": "30.2.0", + "@jest/test-sequencer": "30.3.0", + "@jest/types": "30.3.0", + "babel-jest": "30.3.0", "chalk": "^4.1.2", "ci-info": "^4.2.0", "deepmerge": "^4.3.1", - "glob": "^10.3.10", + "glob": "^10.5.0", "graceful-fs": "^4.2.11", - "jest-circus": "30.2.0", + "jest-circus": "30.3.0", "jest-docblock": "30.2.0", - "jest-environment-node": "30.2.0", + "jest-environment-node": "30.3.0", "jest-regex-util": "30.0.1", - "jest-resolve": "30.2.0", - "jest-runner": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", - "micromatch": "^4.0.8", + "jest-resolve": "30.3.0", + "jest-runner": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", "parse-json": "^5.2.0", - "pretty-format": "30.2.0", + "pretty-format": "30.3.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -19741,27 +23064,17 @@ } } }, - "node_modules/jest-config/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-diff": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.2.0.tgz", - "integrity": "sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.3.0.tgz", + "integrity": "sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/diff-sequences": "30.0.1", + "@jest/diff-sequences": "30.3.0", "@jest/get-type": "30.1.0", "chalk": "^4.1.2", - "pretty-format": "30.2.0" + "pretty-format": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -19781,188 +23094,43 @@ } }, "node_modules/jest-each": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.2.0.tgz", - "integrity": "sha512-lpWlJlM7bCUf1mfmuqTA8+j2lNURW9eNafOy99knBM01i5CQeY5UH1vZjgT9071nDJac1M4XsbyI44oNOdhlDQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.3.0.tgz", + "integrity": "sha512-V8eMndg/aZ+3LnCJgSm13IxS5XSBM22QSZc9BtPK8Dek6pm+hfUNfwBdvsB3d342bo1q7wnSkC38zjX259qZNA==", "dev": true, "license": "MIT", "dependencies": { "@jest/get-type": "30.1.0", - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "chalk": "^4.1.2", - "jest-util": "30.2.0", - "pretty-format": "30.2.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.2.0.tgz", - "integrity": "sha512-zbBTiqr2Vl78pKp/laGBREYzbZx9ZtqPjOK4++lL4BNDhxRnahg51HtoDrk9/VjIy9IthNEWdKVd7H5bqBhiWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "30.2.0", - "@jest/environment-jsdom-abstract": "30.2.0", - "@types/jsdom": "^21.1.7", - "@types/node": "*", - "jsdom": "^26.1.0" + "jest-util": "30.3.0", + "pretty-format": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "canvas": "^3.0.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jest-environment-jsdom/node_modules/@asamuzakjp/css-color": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", - "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "lru-cache": "^10.4.3" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@csstools/color-helpers": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", - "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@csstools/css-calc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", - "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@csstools/css-color-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", - "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/color-helpers": "^5.1.0", - "@csstools/css-calc": "^2.1.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", - "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@csstools/css-tokenizer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", - "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" } }, - "node_modules/jest-environment-jsdom/node_modules/cssstyle": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", - "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", + "node_modules/jest-environment-jsdom": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.3.0.tgz", + "integrity": "sha512-RLEOJy6ip1lpw0yqJ8tB3i88FC7VBz7i00Zvl2qF71IdxjS98gC9/0SPWYIBVXHm5hgCYK0PAlSlnHGGy9RoMg==", "dev": true, "license": "MIT", "dependencies": { - "@asamuzakjp/css-color": "^3.2.0", - "rrweb-cssom": "^0.8.0" + "@jest/environment": "30.3.0", + "@jest/environment-jsdom-abstract": "30.3.0", + "jsdom": "^26.1.0" }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, "node_modules/jest-environment-jsdom/node_modules/data-urls": { @@ -20005,6 +23173,19 @@ "node": ">=18" } }, + "node_modules/jest-environment-jsdom/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/jest-environment-jsdom/node_modules/jsdom": { "version": "26.1.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", @@ -20045,13 +23226,6 @@ } } }, - "node_modules/jest-environment-jsdom/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, "node_modules/jest-environment-jsdom/node_modules/parse5": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", @@ -20072,147 +23246,496 @@ "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.86" + "tldts-core": "^6.1.86" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/jest-environment-jsdom/node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-environment-jsdom/node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^6.1.32" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/jest-environment-jsdom/node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/jest-environment-jsdom/node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-environment-jsdom/node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/jest-environment-jsdom/node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/jest-environment-jsdom/node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/jest-environment-node": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.3.0.tgz", + "integrity": "sha512-4i6HItw/JSiJVsC5q0hnKIe/hbYfZLVG9YJ/0pU9Hz2n/9qZe3Rhn5s5CUZA5ORZlcdT/vmAXRMyONXJwPrmYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.3.0", + "@jest/fake-timers": "30.3.0", + "@jest/types": "30.3.0", + "@types/node": "*", + "jest-mock": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.3.0.tgz", + "integrity": "sha512-mMi2oqG4KRU0R9QEtscl87JzMXfUhbKaFqOxmjb2CKcbHcUGFrJCBWHmnTiUqi6JcnzoBlO4rWfpdl2k/RfLCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.3.0", + "@types/node": "*", + "anymatch": "^3.1.3", + "fb-watchman": "^2.0.2", + "graceful-fs": "^4.2.11", + "jest-regex-util": "30.0.1", + "jest-util": "30.3.0", + "jest-worker": "30.3.0", + "picomatch": "^4.0.3", + "walker": "^1.0.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.3" + } + }, + "node_modules/jest-leak-detector": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.3.0.tgz", + "integrity": "sha512-cuKmUUGIjfXZAiGJ7TbEMx0bcqNdPPI6P1V+7aF+m/FUJqFDxkFR4JqkTu8ZOiU5AaX/x0hZ20KaaIPXQzbMGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "pretty-format": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.3.0.tgz", + "integrity": "sha512-HEtc9uFQgaUHkC7nLSlQL3Tph4Pjxt/yiPvkIrrDCt9jhoLIgxaubo1G+CFOnmHYMxHwwdaSN7mkIFs6ZK8OhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "jest-diff": "30.3.0", + "pretty-format": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.3.0.tgz", + "integrity": "sha512-Z/j4Bo+4ySJ+JPJN3b2Qbl9hDq3VrXmnjjGEWD/x0BCXeOXPTV1iZYYzl2X8c1MaCOL+ewMyNBcm88sboE6YWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.3.0", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.3", + "pretty-format": "30.3.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-mock": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.3.0.tgz", + "integrity": "sha512-OTzICK8CpE+t4ndhKrwlIdbM6Pn8j00lvmSmq5ejiO+KxukbLjgOflKWMn3KE34EZdQm5RqTuKj+5RIEniYhog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.3.0", + "@types/node": "*", + "jest-util": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-preset-angular": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-16.0.0.tgz", + "integrity": "sha512-FVo98EZiJ9cwHeteJozCCIkgJecytt1tu0t8DrAMTyyQ4x/seeZmctkWXP0J9uGyARS0Kcwd+f2YeKqKQOB2yA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment-jsdom-abstract": "^30.0.0", + "bs-logger": "^0.2.6", + "esbuild-wasm": ">=0.23.0", + "jest-util": "^30.0.0", + "pretty-format": "^30.0.0", + "ts-jest": "^29.4.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "optionalDependencies": { + "esbuild": ">=0.23.0" + }, + "peerDependencies": { + "@angular/compiler-cli": ">=19.0.0 <22.0.0", + "@angular/core": ">=19.0.0 <22.0.0", + "@angular/platform-browser": ">=19.0.0 <22.0.0", + "@angular/platform-browser-dynamic": ">=19.0.0 <22.0.0", + "jest": "^30.0.0", + "jsdom": ">=26.0.0", + "typescript": ">=5.5" + } + }, + "node_modules/jest-regex-util": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", + "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.3.0.tgz", + "integrity": "sha512-NRtTAHQlpd15F9rUR36jqwelbrDV/dY4vzNte3S2kxCKUJRYNd5/6nTSbYiak1VX5g8IoFF23Uj5TURkUW8O5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.3.0", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", + "slash": "^3.0.0", + "unrs-resolver": "^1.7.11" }, - "bin": { - "tldts": "bin/cli.js" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/tldts-core": { - "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", - "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-environment-jsdom/node_modules/tough-cookie": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", - "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", + "node_modules/jest-resolve-dependencies": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.3.0.tgz", + "integrity": "sha512-9ev8s3YN6Hsyz9LV75XUwkCVFlwPbaFn6Wp75qnI0wzAINYWY8Fb3+6y59Rwd3QaS3kKXffHXsZMziMavfz/nw==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "tldts": "^6.1.32" + "jest-regex-util": "30.0.1", + "jest-snapshot": "30.3.0" }, "engines": { - "node": ">=16" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/tr46": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", - "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "node_modules/jest-runner": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.3.0.tgz", + "integrity": "sha512-gDv6C9LGKWDPLia9TSzZwf4h3kMQCqyTpq+95PODnTRDO0g9os48XIYYkS6D236vjpBir2fF63YmJFtqkS5Duw==", "dev": true, "license": "MIT", "dependencies": { - "punycode": "^2.3.1" + "@jest/console": "30.3.0", + "@jest/environment": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", + "@types/node": "*", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-docblock": "30.2.0", + "jest-environment-node": "30.3.0", + "jest-haste-map": "30.3.0", + "jest-leak-detector": "30.3.0", + "jest-message-util": "30.3.0", + "jest-resolve": "30.3.0", + "jest-runtime": "30.3.0", + "jest-util": "30.3.0", + "jest-watcher": "30.3.0", + "jest-worker": "30.3.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "node_modules/jest-runner/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-2-Clause", + "license": "BSD-3-Clause", "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/jest-environment-jsdom/node_modules/whatwg-encoding": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", - "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", - "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "license": "MIT", "dependencies": { - "iconv-lite": "0.6.3" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/jest-runtime": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.3.0.tgz", + "integrity": "sha512-CgC+hIBJbuh78HEffkhNKcbXAytQViplcl8xupqeIWyKQF50kCQA8J7GeJCkjisC6hpnC9Muf8jV5RdtdFbGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.3.0", + "@jest/fake-timers": "30.3.0", + "@jest/globals": "30.3.0", + "@jest/source-map": "30.0.1", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", + "@types/node": "*", + "chalk": "^4.1.2", + "cjs-module-lexer": "^2.1.0", + "collect-v8-coverage": "^1.0.2", + "glob": "^10.5.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.3.0", + "jest-message-util": "30.3.0", + "jest-mock": "30.3.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.3.0", + "jest-snapshot": "30.3.0", + "jest-util": "30.3.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/whatwg-mimetype": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", - "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "node_modules/jest-snapshot": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.3.0.tgz", + "integrity": "sha512-f14c7atpb4O2DeNhwcvS810Y63wEn8O1HqK/luJ4F6M4NjvxmAKQwBUWjbExUtMxWJQ0wVgmCKymeJK6NZMnfQ==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@babel/generator": "^7.27.5", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1", + "@babel/types": "^7.27.3", + "@jest/expect-utils": "30.3.0", + "@jest/get-type": "30.1.0", + "@jest/snapshot-utils": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", + "babel-preset-current-node-syntax": "^1.2.0", + "chalk": "^4.1.2", + "expect": "30.3.0", + "graceful-fs": "^4.2.11", + "jest-diff": "30.3.0", + "jest-matcher-utils": "30.3.0", + "jest-message-util": "30.3.0", + "jest-util": "30.3.0", + "pretty-format": "30.3.0", + "semver": "^7.7.2", + "synckit": "^0.11.8" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/whatwg-url": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", - "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "node_modules/jest-util": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.3.0.tgz", + "integrity": "sha512-/jZDa00a3Sz7rdyu55NLrQCIrbyIkbBxareejQI315f/i8HjYN+ZWsDLLpoQSiUIEIyZF/R8fDg3BmB8AtHttg==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "^5.1.0", - "webidl-conversions": "^7.0.0" + "@jest/types": "30.3.0", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.3" }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-node": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.2.0.tgz", - "integrity": "sha512-ElU8v92QJ9UrYsKrxDIKCxu6PfNj4Hdcktcn0JX12zqNdqWHB0N+hwOnnBBXvjLd2vApZtuLUGs1QSY+MsXoNA==", + "node_modules/jest-validate": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.3.0.tgz", + "integrity": "sha512-I/xzC8h5G+SHCb2P2gWkJYrNiTbeL47KvKeW5EzplkyxzBRBw1ssSHlI/jXec0ukH2q7x2zAWQm7015iusg62Q==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/fake-timers": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "jest-mock": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0" + "@jest/get-type": "30.1.0", + "@jest/types": "30.3.0", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", + "leven": "^3.1.0", + "pretty-format": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-haste-map": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.2.0.tgz", - "integrity": "sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.3.0.tgz", + "integrity": "sha512-PJ1d9ThtTR8aMiBWUdcownq9mDdLXsQzJayTk4kmaBRHKvwNQn+ANveuhEBUyNI2hR1TVhvQ8D5kHubbzBHR/w==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.2.0", + "@jest/test-result": "30.3.0", + "@jest/types": "30.3.0", "@types/node": "*", - "anymatch": "^3.1.3", - "fb-watchman": "^2.0.2", - "graceful-fs": "^4.2.11", - "jest-regex-util": "30.0.1", - "jest-util": "30.2.0", - "jest-worker": "30.2.0", - "micromatch": "^4.0.8", - "walker": "^1.0.8" + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "jest-util": "30.3.0", + "string-length": "^4.0.2" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.3" } }, - "node_modules/jest-haste-map/node_modules/jest-worker": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.2.0.tgz", - "integrity": "sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==", + "node_modules/jest-worker": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.3.0.tgz", + "integrity": "sha512-DrCKkaQwHexjRUFTmPzs7sHQe0TSj9nvDALKGdwmK5mW9v7j90BudWirKAJHt3QQ9Dhrg1F7DogPzhChppkJpQ==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", "@ungap/structured-clone": "^1.3.0", - "jest-util": "30.2.0", + "jest-util": "30.3.0", "merge-stream": "^2.0.0", "supports-color": "^8.1.1" }, @@ -20220,7 +23743,7 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-haste-map/node_modules/supports-color": { + "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", @@ -20236,1280 +23759,1328 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jest-leak-detector": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.2.0.tgz", - "integrity": "sha512-M6jKAjyzjHG0SrQgwhgZGy9hFazcudwCNovY/9HPIicmNSBuockPSedAP9vlPK6ONFJ1zfyH/M2/YYJxOz5cdQ==", + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/jose": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.2.tgz", + "integrity": "sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsdom": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.0.2.tgz", + "integrity": "sha512-9VnGEBosc/ZpwyOsJBCQ/3I5p7Q5ngOY14a9bf5btenAORmZfDse1ZEheMiWcJ3h81+Fv7HmJFdS0szo/waF2w==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@asamuzakjp/css-color": "^5.1.5", + "@asamuzakjp/dom-selector": "^7.0.6", + "@bramus/specificity": "^2.4.2", + "@csstools/css-syntax-patches-for-csstree": "^1.1.1", + "@exodus/bytes": "^1.15.0", + "css-tree": "^3.2.1", + "data-urls": "^7.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^6.0.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.2.7", + "parse5": "^8.0.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.1", + "undici": "^7.24.5", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.1", + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.1", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/entities": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/jsdom/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", + "peer": true, "dependencies": { - "@jest/get-type": "30.1.0", - "pretty-format": "30.2.0" + "@exodus/bytes": "^1.6.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, - "node_modules/jest-matcher-utils": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.2.0.tgz", - "integrity": "sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==", + "node_modules/jsdom/node_modules/lru-cache": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0", - "chalk": "^4.1.2", - "jest-diff": "30.2.0", - "pretty-format": "30.2.0" - }, + "license": "BlueOak-1.0.0", + "peer": true, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "20 || >=22" } }, - "node_modules/jest-message-util": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.2.0.tgz", - "integrity": "sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==", + "node_modules/jsdom/node_modules/parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@babel/code-frame": "^7.27.1", - "@jest/types": "30.2.0", - "@types/stack-utils": "^2.0.3", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "micromatch": "^4.0.8", - "pretty-format": "30.2.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.6" + "entities": "^8.0.0" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/jest-message-util/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/jsdom/node_modules/undici": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz", + "integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==", "dev": true, "license": "MIT", + "peer": true, "engines": { - "node": ">=8" + "node": ">=20.18.1" } }, - "node_modules/jest-mock": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.2.0.tgz", - "integrity": "sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==", + "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", - "dependencies": { - "@jest/types": "30.2.0", - "@types/node": "*", - "jest-util": "30.2.0" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=6" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "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": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/jest-preset-angular": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-16.0.0.tgz", - "integrity": "sha512-FVo98EZiJ9cwHeteJozCCIkgJecytt1tu0t8DrAMTyyQ4x/seeZmctkWXP0J9uGyARS0Kcwd+f2YeKqKQOB2yA==", + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "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/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC" + }, + "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", - "dependencies": { - "@jest/environment-jsdom-abstract": "^30.0.0", - "bs-logger": "^0.2.6", - "esbuild-wasm": ">=0.23.0", - "jest-util": "^30.0.0", - "pretty-format": "^30.0.0", - "ts-jest": "^29.4.0" + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "optionalDependencies": { - "esbuild": ">=0.23.0" - }, - "peerDependencies": { - "@angular/compiler-cli": ">=19.0.0 <22.0.0", - "@angular/core": ">=19.0.0 <22.0.0", - "@angular/platform-browser": ">=19.0.0 <22.0.0", - "@angular/platform-browser-dynamic": ">=19.0.0 <22.0.0", - "jest": "^30.0.0", - "jsdom": ">=26.0.0", - "typescript": ">=5.5" + "node": ">=6" } }, - "node_modules/jest-regex-util": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", - "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", + "node_modules/jsonc-eslint-parser": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.2.tgz", + "integrity": "sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==", "dev": true, "license": "MIT", + "dependencies": { + "acorn": "^8.5.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "semver": "^7.3.5" + }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" } }, - "node_modules/jest-resolve": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.2.0.tgz", - "integrity": "sha512-TCrHSxPlx3tBY3hWNtRQKbtgLhsXa1WmbJEqBlTBrGafd5fiQFByy2GNCEoGR+Tns8d15GaL9cxEzKOO3GEb2A==", + "node_modules/jsonc-eslint-parser/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", - "jest-pnp-resolver": "^1.2.3", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", - "slash": "^3.0.0", - "unrs-resolver": "^1.7.11" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/jest-resolve-dependencies": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.2.0.tgz", - "integrity": "sha512-xTOIGug/0RmIe3mmCqCT95yO0vj6JURrn1TKWlNbhiAefJRWINNPgwVkrVgt/YaerPzY3iItufd80v3lOrFJ2w==", + "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/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", "dev": true, "license": "MIT", "dependencies": { - "jest-regex-util": "30.0.1", - "jest-snapshot": "30.2.0" + "universalify": "^2.0.0" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/jest-resolve/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "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, - "license": "MIT", + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/jest-runner": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.2.0.tgz", - "integrity": "sha512-PqvZ2B2XEyPEbclp+gV6KO/F1FIFSbIwewRgmROCMBo/aZ6J1w8Qypoj2pEOcg3G2HzLlaP6VUtvwCI8dM3oqQ==", + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.2.0", - "@jest/environment": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "chalk": "^4.1.2", - "emittery": "^0.13.1", - "exit-x": "^0.2.2", - "graceful-fs": "^4.2.11", - "jest-docblock": "30.2.0", - "jest-environment-node": "30.2.0", - "jest-haste-map": "30.2.0", - "jest-leak-detector": "30.2.0", - "jest-message-util": "30.2.0", - "jest-resolve": "30.2.0", - "jest-runtime": "30.2.0", - "jest-util": "30.2.0", - "jest-watcher": "30.2.0", - "jest-worker": "30.2.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=12", + "npm": ">=6" } }, - "node_modules/jest-runner/node_modules/jest-worker": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.2.0.tgz", - "integrity": "sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==", + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, + "engines": [ + "node >=0.6.0" + ], "license": "MIT", "dependencies": { - "@types/node": "*", - "@ungap/structured-clone": "^1.3.0", - "jest-util": "30.2.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.1.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" } }, - "node_modules/jest-runner/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", "dev": true, "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" } }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/jest-runtime": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.2.0.tgz", - "integrity": "sha512-p1+GVX/PJqTucvsmERPMgCPvQJpFt4hFbM+VN3n8TMo47decMUcJbt+rgzwrEme0MQUA/R+1de2axftTHkKckg==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/fake-timers": "30.2.0", - "@jest/globals": "30.2.0", - "@jest/source-map": "30.0.1", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "chalk": "^4.1.2", - "cjs-module-lexer": "^2.1.0", - "collect-v8-coverage": "^1.0.2", - "glob": "^10.3.10", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", - "jest-message-util": "30.2.0", - "jest-mock": "30.2.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.2.0", - "jest-snapshot": "30.2.0", - "jest-util": "30.2.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "json-buffer": "3.0.1" } }, - "node_modules/jest-runtime/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "node_modules/launch-editor": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.2.tgz", + "integrity": "sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" } }, - "node_modules/jest-snapshot": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.2.0.tgz", - "integrity": "sha512-5WEtTy2jXPFypadKNpbNkZ72puZCa6UjSr/7djeecHWOu7iYhSXSnHScT8wBz3Rn8Ena5d5RYRcsyKIeqG1IyA==", + "node_modules/less": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/less/-/less-4.6.4.tgz", + "integrity": "sha512-OJmO5+HxZLLw0RLzkqaNHzcgEAQG7C0y3aMbwtCzIUFZsLMNNq/1IdAdHEycQ58CwUO3jPTHmoN+tE5I7FQxNg==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@babel/core": "^7.27.4", - "@babel/generator": "^7.27.5", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/plugin-syntax-typescript": "^7.27.1", - "@babel/types": "^7.27.3", - "@jest/expect-utils": "30.2.0", - "@jest/get-type": "30.1.0", - "@jest/snapshot-utils": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", - "babel-preset-current-node-syntax": "^1.2.0", - "chalk": "^4.1.2", - "expect": "30.2.0", - "graceful-fs": "^4.2.11", - "jest-diff": "30.2.0", - "jest-matcher-utils": "30.2.0", - "jest-message-util": "30.2.0", - "jest-util": "30.2.0", - "pretty-format": "30.2.0", - "semver": "^7.7.2", - "synckit": "^0.11.8" + "copy-anything": "^3.0.5", + "parse-node-version": "^1.0.1" + }, + "bin": { + "lessc": "bin/lessc" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=18" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" } }, - "node_modules/jest-util": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.2.0.tgz", - "integrity": "sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==", + "node_modules/less-loader": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.3.2.tgz", + "integrity": "sha512-uLV5c702ff2jBvO7qewpkLRzkh/I9QW07ur2NKkv8TVTrtX2lrKjEbEU/LLXAn7cgpCIBbkfyUm4qYXCQs5/+w==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/types": "30.2.0", - "@types/node": "*", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "graceful-fs": "^4.2.11", - "picomatch": "^4.0.2" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0", + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/jest-validate": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.2.0.tgz", - "integrity": "sha512-FBGWi7dP2hpdi8nBoWxSsLvBFewKAg0+uSQwBaof4Y4DPgBabXgpSYC5/lR7VmnIlSpASmCi/ntRWPbv7089Pw==", + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@jest/get-type": "30.1.0", - "@jest/types": "30.2.0", - "camelcase": "^6.3.0", - "chalk": "^4.1.2", - "leven": "^3.1.0", - "pretty-format": "30.2.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=6" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/less/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "license": "MIT", + "optional": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/jest-watcher": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.2.0.tgz", - "integrity": "sha512-PYxa28dxJ9g777pGm/7PrbnMeA0Jr7osHP9bS7eJy9DuAjMgdGtxgf0uKMyoIsTWAkIbUW5hSDdJ3urmgXBqxg==", + "node_modules/less/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "emittery": "^0.13.1", - "jest-util": "30.2.0", - "string-length": "^4.0.2" - }, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/less/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", + "optional": true, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-worker/node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8.0" } }, - "node_modules/jest-worker/node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "webpack-sources": "^3.0.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } } }, - "node_modules/jest-worker/node_modules/@sinclair/typebox": { - "version": "0.27.10", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", - "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } }, - "node_modules/jest-worker/node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], + "node_modules/lines-and-columns": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/jest-worker/node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "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": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "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": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=20.0.0" } }, - "node_modules/jest-worker/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/listr2/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": ">=8.6" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/listr2/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", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jose": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", - "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", + "node_modules/listr2/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", - "funding": { - "url": "https://github.com/sponsors/panva" - } + "license": "MIT" }, - "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==", + "node_modules/listr2/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/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "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": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/js-yaml/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/listr2/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": { - "sprintf-js": "~1.0.2" + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsdom": { - "version": "28.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-28.0.0.tgz", - "integrity": "sha512-KDYJgZ6T2TKdU8yBfYueq5EPG/EylMsBvCaenWMJb2OXmjgczzwveRCoJ+Hgj1lXPDyasvrgneSn4GBuR1hYyA==", + "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", - "peer": true, "dependencies": { - "@acemir/cssom": "^0.9.31", - "@asamuzakjp/dom-selector": "^6.7.6", - "@exodus/bytes": "^1.11.0", - "cssstyle": "^5.3.7", - "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.20.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" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "canvas": "^3.0.0" + "node": ">=18" }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/jsdom/node_modules/@exodus/bytes": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.14.0.tgz", - "integrity": "sha512-YiY1OmY6Qhkvmly8vZiD8wZRpW/npGZNg+0Sk8mstxirRHCg6lolHt5tSODCfuNPE/fBsAqRwDJE417x7jDDHA==", + "node_modules/lmdb": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.4.tgz", + "integrity": "sha512-+Y2DqovevLkb6DrSQ6SXTYLEd6kvlRbhsxzgJrk7BUfOVA/mt21ak6pFDZDKxiAczHMWxrb02kXBTSTIA0O94A==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "peer": true, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "optional": true, + "dependencies": { + "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" }, - "peerDependencies": { - "@noble/hashes": "^1.8.0 || ^2.0.0" + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" }, - "peerDependenciesMeta": { - "@noble/hashes": { - "optional": true - } + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.4.4", + "@lmdb/lmdb-darwin-x64": "3.4.4", + "@lmdb/lmdb-linux-arm": "3.4.4", + "@lmdb/lmdb-linux-arm64": "3.4.4", + "@lmdb/lmdb-linux-x64": "3.4.4", + "@lmdb/lmdb-win32-arm64": "3.4.4", + "@lmdb/lmdb-win32-x64": "3.4.4" } }, - "node_modules/jsdom/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "node_modules/loader-runner": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", + "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", "dev": true, - "license": "BSD-2-Clause", - "peer": true, + "license": "MIT", "engines": { - "node": ">=0.12" + "node": ">=6.11.5" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/jsdom/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==", + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@exodus/bytes": "^1.6.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": ">=8.9.0" } }, - "node_modules/jsdom/node_modules/parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", - "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "entities": "^6.0.0" + "p-locate": "^4.1.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/jsdom/node_modules/tr46": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", - "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "node_modules/lockfile": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", "dev": true, - "license": "MIT", - "peer": true, + "license": "ISC", "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=20" + "signal-exit": "^3.0.2" } }, - "node_modules/jsdom/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==", + "node_modules/lockfile/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=20" - } + "license": "MIT" }, - "node_modules/jsdom/node_modules/whatwg-url": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.0.tgz", - "integrity": "sha512-9CcxtEKsf53UFwkSUZjG+9vydAsFO4lFHBpJUtjBcoJOCJpKnSJNwCw813zrYJHpCJ7sgfbtOe0V5Ku7Pa1XMQ==", + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", "dev": true, - "license": "MIT", - "peer": true, - "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" - } + "license": "MIT" }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", "dev": true, "license": "MIT" }, - "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==", + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", "dev": true, "license": "MIT" }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", "dev": true, - "license": "(AFL-2.1 OR BSD-3-Clause)" + "license": "MIT" }, - "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==", + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "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==", + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, - "license": "BSD-2-Clause" + "license": "MIT" }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", "dev": true, "license": "MIT" }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "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", - "bin": { - "json5": "lib/cli.js" + "dependencies": { + "is-unicode-supported": "^2.0.0", + "yoctocolors": "^2.1.1" }, "engines": { - "node": ">=6" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jsonc-eslint-parser": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.2.tgz", - "integrity": "sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==", + "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": { - "acorn": "^8.5.0", - "eslint-visitor-keys": "^3.0.0", - "espree": "^9.0.0", - "semver": "^7.3.5" + "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": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ota-meshi" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jsonc-eslint-parser/node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/log-update/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": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "environment": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=18" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "node_modules/log-update/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" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } }, - "node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "node_modules/log-update/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", - "dependencies": { - "universalify": "^2.0.0" + "engines": { + "node": ">=12" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/log-update/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, - "engines": [ - "node >= 0.2.0" - ], "license": "MIT" }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jsonwebtoken": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", - "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "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": { - "jws": "^4.0.1", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" }, "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/jwa": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", - "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "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": { - "buffer-equal-constant-time": "^1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" + "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/jws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", - "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "node_modules/log-update/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": { - "jwa": "^2.0.1", - "safe-buffer": "^5.0.1" + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/keygrip": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", - "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", + "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": { - "tsscmp": "1.0.6" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "node_modules/long-timeout": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/long-timeout/-/long-timeout-0.1.1.tgz", + "integrity": "sha512-BFRuQUqc7x2NWxfJBCyUrN8iYUYznzL9JROmRz1gZ6KlOIgmoD+njPVbb+VNn2nGMKggMsK79iUNErillsrx7w==", "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } + "license": "MIT" }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/lowdb": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", + "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", "dev": true, "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.3", + "is-promise": "^2.1.0", + "lodash": "4", + "pify": "^3.0.0", + "steno": "^0.4.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "node_modules/lowdb/node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lowdb/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/koa": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/koa/-/koa-3.0.3.tgz", - "integrity": "sha512-MeuwbCoN1daWS32/Ni5qkzmrOtQO2qrnfdxDHjrm6s4b59yG4nexAJ0pTEFyzjLp0pBVO80CZp0vW8Ze30Ebow==", + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "dev": true, "license": "MIT", - "dependencies": { - "accepts": "^1.3.8", - "content-disposition": "~0.5.4", - "content-type": "^1.0.5", - "cookies": "~0.9.1", - "delegates": "^1.0.0", - "destroy": "^1.2.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "fresh": "~0.5.2", - "http-assert": "^1.5.0", - "http-errors": "^2.0.0", - "koa-compose": "^4.1.0", - "mime-types": "^3.0.1", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, "engines": { - "node": ">= 18" + "node": ">=8" } }, - "node_modules/koa-compose": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", - "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==", + "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": "MIT" + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } }, - "node_modules/koa/node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "node_modules/luxon": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", + "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=12" } }, - "node_modules/koa/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==", + "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", - "engines": { - "node": ">= 0.6" + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" } }, - "node_modules/koa/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==", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "license": "MIT", "dependencies": { - "mime-db": "^1.54.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/koa/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==", + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true, - "license": "MIT", + "license": "ISC" + }, + "node_modules/make-fetch-happen": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz", + "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==", + "dev": true, + "license": "ISC", "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" + "@gar/promise-retry": "^1.0.0", + "@npmcli/agent": "^4.0.0", + "@npmcli/redact": "^4.0.0", + "cacache": "^20.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^6.0.0", + "ssri": "^13.0.0" }, "engines": { - "node": ">= 0.6" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/launch-editor": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz", - "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==", + "node_modules/make-fetch-happen/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", - "dependencies": { - "picocolors": "^1.1.1", - "shell-quote": "^1.8.3" + "engines": { + "node": ">= 0.6" } }, - "node_modules/less": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/less/-/less-4.5.1.tgz", - "integrity": "sha512-UKgI3/KON4u6ngSsnDADsUERqhZknsVZbnuzlRZXLQCmfC/MDld42fTydUE9B+Mla1AL6SJ/Pp6SlEFi/AVGfw==", + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, - "hasInstallScript": true, - "license": "Apache-2.0", + "license": "BSD-3-Clause", "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" - }, + "tmpl": "1.0.5" + } + }, + "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": ">=14" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "source-map": "~0.6.0" + "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/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/less-loader": { - "version": "11.1.4", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.4.tgz", - "integrity": "sha512-6/GrYaB6QcW6Vj+/9ZPgKKs6G10YZai/l/eJ4SLwbzqNTBsAqt5hSLVF47TgsiBxV1P6eAU0GYRH3YRuQU9V3A==", + "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": ">= 14.15.0" + "node": ">=18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.6" } }, - "node_modules/license-webpack-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", - "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "webpack-sources": "^3.0.0" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-sources": { - "optional": true - } + "engines": { + "node": ">=8.6" } }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { - "node": ">=14" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/antonk52" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/lines-and-columns": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", - "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "license": "MIT", + "bin": { + "mime": "cli.js" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=4" } }, - "node_modules/listr2": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", - "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==", + "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", - "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": ">= 0.6" } }, - "node_modules/listr2/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "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": ">=12" + "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/listr2/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==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6" } }, - "node_modules/listr2/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/listr2/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/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==", + "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", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, "engines": { "node": ">=18" }, @@ -21517,1277 +25088,1243 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr2/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=4" } }, - "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==", + "node_modules/mini-css-extract-plugin": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz", + "integrity": "sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" + "schema-utils": "^4.0.0" }, "engines": { - "node": ">=18" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/lmdb": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.4.tgz", - "integrity": "sha512-+Y2DqovevLkb6DrSQ6SXTYLEd6kvlRbhsxzgJrk7BUfOVA/mt21ak6pFDZDKxiAczHMWxrb02kXBTSTIA0O94A==", + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, + "license": "ISC" + }, + "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": { - "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" + "brace-expansion": "^5.0.2" }, - "bin": { - "download-lmdb-prebuilds": "bin/download-prebuilds.js" + "engines": { + "node": "18 || 20 || >=22" }, - "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.4.4", - "@lmdb/lmdb-darwin-x64": "3.4.4", - "@lmdb/lmdb-linux-arm": "3.4.4", - "@lmdb/lmdb-linux-arm64": "3.4.4", - "@lmdb/lmdb-linux-x64": "3.4.4", - "@lmdb/lmdb-win32-arm64": "3.4.4", - "@lmdb/lmdb-win32-x64": "3.4.4" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/lmdb/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==", + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, "license": "MIT", - "optional": true + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/loader-runner": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", - "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "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": "MIT", - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "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": "MIT", + "license": "ISC", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "minipass": "^7.0.3" }, "engines": { - "node": ">=8.9.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "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": { - "p-locate": "^5.0.0" + "minipass": "^7.0.3", + "minipass-sized": "^2.0.0", + "minizlib": "^3.0.1" }, "engines": { - "node": ">=10" + "node": "^20.17.0 || >=22.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "iconv-lite": "^0.7.2" } }, - "node_modules/lockfile": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", - "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", + "node_modules/minipass-flush": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", + "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "signal-exit": "^3.0.2" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.clonedeepwith": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz", - "integrity": "sha512-QRBRSxhbtsX1nc0baxSkkK5WlVTTm/s48DSukcGcWZwIyI8Zz+lB+kFiELJXtzfH4Aj6kMWQ1VWW4U5uUDgZMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "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": "MIT" + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "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": "MIT" + "license": "ISC" }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "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": "MIT", + "license": "ISC", "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "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==", + "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": "MIT", + "license": "ISC", "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" + "yallist": "^4.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", - "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==", + "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": "MIT", + "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": { - "environment": "^1.0.0" + "minipass": "^7.1.2" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "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", - "engines": { - "node": ">=12" + "dependencies": { + "minipass": "^7.1.2" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">= 18" } }, - "node_modules/log-update/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==", + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "bin": { + "mkdirp": "bin/cmd.js" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=10" } }, - "node_modules/log-update/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==", + "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", - "dependencies": { - "restore-cursor": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=10" } }, - "node_modules/log-update/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==", + "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/log-update/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "node_modules/msgpackr": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.10.tgz", + "integrity": "sha512-iCZNq+HszvF+fC3anCm4nBmWEnbeIAfpDs6IStAEKhQ2YSgkjzVG2FF9XJqwwQh5bH3N9OUTUt4QwVN6MLMLtA==", + "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": { - "mimic-function": "^5.0.0" + "node-gyp-build-optional-packages": "5.2.2" }, - "engines": { - "node": ">=18" + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "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/log-update/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==", + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, "license": "MIT", "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" - }, - "engines": { - "node": ">=18" + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "multicast-dns": "cli.js" } }, - "node_modules/log-update/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==", + "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": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^18.17.0 || >=20.5.0" } }, - "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==", + "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", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" + "bin": { + "napi-postinstall": "lib/cli.js" }, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://opencollective.com/napi-postinstall" } }, - "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==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "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" - } + "license": "MIT" }, - "node_modules/log4js": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", - "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "node_modules/needle": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.5.0.tgz", + "integrity": "sha512-jaQyPKKk2YokHrEg+vFDYxXIHTCBgiZwSHOoVx/8V3GIBS8/VN6NdVRmg8q1ERtPkMvmOvebsgga4sAj5hls/w==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "optional": true, "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "flatted": "^3.2.7", - "rfdc": "^1.3.0", - "streamroller": "^3.1.5" + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" }, "engines": { - "node": ">=8.0" + "node": ">= 4.4.x" } }, - "node_modules/long-timeout": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/long-timeout/-/long-timeout-0.1.1.tgz", - "integrity": "sha512-BFRuQUqc7x2NWxfJBCyUrN8iYUYznzL9JROmRz1gZ6KlOIgmoD+njPVbb+VNn2nGMKggMsK79iUNErillsrx7w==", - "dev": true, - "license": "MIT" - }, - "node_modules/lowdb": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", - "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "graceful-fs": "^4.1.3", - "is-promise": "^2.1.0", - "lodash": "4", - "pify": "^3.0.0", - "steno": "^0.4.1" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/lowdb/node_modules/is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lowdb/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "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==", + "node_modules/ng-packagr": { + "version": "21.1.0", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-21.1.0.tgz", + "integrity": "sha512-UlQOhH8DRlaYsBGQMjOYvg70J70hD4i/55NV9vAsYvsxEskmp86xjUtZgEeVKeoLq8tYMjMXDgaYjYde153sZQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^3.0.2" + "@ampproject/remapping": "^2.3.0", + "@rollup/plugin-json": "^6.1.0", + "@rollup/wasm-node": "^4.24.0", + "ajv": "^8.17.1", + "ansi-colors": "^4.1.3", + "browserslist": "^4.26.0", + "chokidar": "^5.0.0", + "commander": "^14.0.0", + "dependency-graph": "^1.0.0", + "esbuild": "^0.27.0", + "find-cache-directory": "^6.0.0", + "injection-js": "^2.4.0", + "jsonc-parser": "^3.3.1", + "less": "^4.2.0", + "ora": "^9.0.0", + "piscina": "^5.0.0", + "postcss": "^8.4.47", + "rollup-plugin-dts": "^6.2.0", + "rxjs": "^7.8.1", + "sass": "^1.81.0", + "tinyglobby": "^0.2.12" + }, + "bin": { + "ng-packagr": "src/cli/main.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "optionalDependencies": { + "rollup": "^4.24.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^21.0.0 || ^21.1.0-next", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.9 <6.0" + }, + "peerDependenciesMeta": { + "tailwindcss": { + "optional": true + } } }, - "node_modules/luxon": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", - "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==", + "node_modules/ng-packagr/node_modules/commander": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=20" } }, - "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==", + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true, + "license": "MIT" + }, + "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", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" + "optional": true + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" } }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "node_modules/node-forge": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", + "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", "dev": true, - "license": "ISC", - "optional": true, - "bin": { - "semver": "bin/semver" + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "license": "ISC" - }, - "node_modules/make-fetch-happen": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.3.tgz", - "integrity": "sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw==", + "node_modules/node-gyp": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.3.0.tgz", + "integrity": "sha512-QNcUWM+HgJplcPzBvFBZ9VXacyGZ4+VTOb80PwWR+TlVzoHbRKULNEzpRsnaoxG3Wzr7Qh7BYxGDU3CbKib2Yg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@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", + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "nopt": "^9.0.0", "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", - "ssri": "^13.0.0" + "semver": "^7.3.5", + "tar": "^7.5.4", + "tinyglobby": "^0.2.12", + "undici": "^6.25.0", + "which": "^6.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/make-fetch-happen/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==", + "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", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "license": "BSD-3-Clause", + "optional": true, "dependencies": { - "tmpl": "1.0.5" + "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/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "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": "MIT", + "license": "BlueOak-1.0.0", "engines": { - "node": ">= 0.4" + "node": ">=20" } }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "node_modules/node-gyp/node_modules/undici": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.25.0.tgz", + "integrity": "sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=18.17" } }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "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": "Unlicense", + "license": "ISC", "dependencies": { - "fs-monkey": "^1.0.4" + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true, "license": "MIT" }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/node-machine-id": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", + "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } + "license": "MIT" }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "node_modules/node-releases": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "license": "MIT" }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "node_modules/node-schedule": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/node-schedule/-/node-schedule-2.1.1.tgz", + "integrity": "sha512-OXdegQq03OmXEjt2hZP33W2YPs/E5BcFQks46+G2gAxs4gHOIVD1u7EqlYLYSKsaIpyKCK9Gbk0ta1/gjRSMRQ==", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "cron-parser": "^4.2.0", + "long-timeout": "0.1.1", + "sorted-array-functions": "^1.3.0" }, "engines": { - "node": ">=8.6" + "node": ">=6" } }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "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": "MIT", - "engines": { - "node": ">=8.6" + "license": "ISC", + "dependencies": { + "abbrev": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "license": "MIT", "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" + "nopt": "bin/nopt.js" }, "engines": { - "node": ">= 0.6" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "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==", + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "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": "MIT", + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^5.0.0" + }, "engines": { - "node": ">=4" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/mini-css-extract-plugin": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz", - "integrity": "sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==", + "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": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "schema-utils": "^4.0.0" + "semver": "^7.1.1" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "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" + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } }, - "node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "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": "BlueOak-1.0.0", + "license": "ISC", "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "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 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "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": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "license": "ISC", + "dependencies": { + "ignore-walk": "^8.0.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "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": ">=16 || 14 >=14.17" + "node": "^20.17.0 || >=22.9.0" } }, - "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==", + "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": { - "minipass": "^7.0.3" + "@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": ">=16 || 14 >=14.17" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/minipass-fetch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.1.tgz", - "integrity": "sha512-yHK8pb0iCGat0lDrs/D6RZmCdaBT64tULXjdxjSMAqoDi18Q3qKEUTHypHQZQd9+FYpIS+lkvpq6C/R6SbUeRw==", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "license": "MIT", "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^2.0.0", - "minizlib": "^3.0.1" + "path-key": "^3.0.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=8" + } + }, + "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/nwsapi": { + "version": "2.2.23", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz", + "integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nx": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/nx/-/nx-22.5.0.tgz", + "integrity": "sha512-GOHhDHXvuscD28Hpj1bP38oVrCgZ/+5UWjA8R/VkpbtkfMHgRZ0uHlfKLYXQAZIsjmTq7Tr+e4QchJt0e76n0w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@napi-rs/wasm-runtime": "0.2.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.2", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.12.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "ignore": "^7.0.5", + "jest-diff": "^30.0.2", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "minimatch": "10.1.1", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "picocolors": "^1.1.0", + "resolve.exports": "2.0.3", + "semver": "^7.6.3", + "string-width": "^4.2.3", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tree-kill": "^1.2.2", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yaml": "^2.6.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "encoding": "^0.1.13" + "@nx/nx-darwin-arm64": "22.5.0", + "@nx/nx-darwin-x64": "22.5.0", + "@nx/nx-freebsd-x64": "22.5.0", + "@nx/nx-linux-arm-gnueabihf": "22.5.0", + "@nx/nx-linux-arm64-gnu": "22.5.0", + "@nx/nx-linux-arm64-musl": "22.5.0", + "@nx/nx-linux-x64-gnu": "22.5.0", + "@nx/nx-linux-x64-musl": "22.5.0", + "@nx/nx-win32-arm64-msvc": "22.5.0", + "@nx/nx-win32-x64-msvc": "22.5.0" + }, + "peerDependencies": { + "@swc-node/register": "1.11.1", + "@swc/core": "1.15.8" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } } }, - "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==", + "node_modules/nx/node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", + "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/nx/node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" + "tslib": "^2.4.0" } }, - "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==", + "node_modules/nx/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "restore-cursor": "^3.1.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==", + "node_modules/nx/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, + "license": "MIT", "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==", + "node_modules/nx/node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "yallist": "^4.0.0" + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "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==", + "node_modules/nx/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": "ISC" + "license": "MIT" }, - "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==", + "node_modules/nx/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.1.2" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 4" } }, - "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==", + "node_modules/nx/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">= 18" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/nx/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", - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "node_modules/nx/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "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.8", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.8.tgz", - "integrity": "sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==", + "node_modules/nx/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, "license": "MIT", - "optional": true, - "optionalDependencies": { - "msgpackr-extract": "^3.0.2" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/nx/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "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" + "is-docker": "^2.0.0" }, - "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" + "engines": { + "node": ">=8" } }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "node_modules/nx/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/nx/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "license": "MIT", "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "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": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "node_modules/nx/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/napi-postinstall": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", - "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "node_modules/nx/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, "license": "MIT", - "bin": { - "napi-postinstall": "lib/cli.js" + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "node": ">=12" }, "funding": { - "url": "https://opencollective.com/napi-postinstall" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/needle": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", - "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "node_modules/nx/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": ">= 4.4.x" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "node_modules/nx/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "node_modules/nx/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/ng-packagr": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-21.1.0.tgz", - "integrity": "sha512-UlQOhH8DRlaYsBGQMjOYvg70J70hD4i/55NV9vAsYvsxEskmp86xjUtZgEeVKeoLq8tYMjMXDgaYjYde153sZQ==", + "node_modules/nx/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": { - "@ampproject/remapping": "^2.3.0", - "@rollup/plugin-json": "^6.1.0", - "@rollup/wasm-node": "^4.24.0", - "ajv": "^8.17.1", - "ansi-colors": "^4.1.3", - "browserslist": "^4.26.0", - "chokidar": "^5.0.0", - "commander": "^14.0.0", - "dependency-graph": "^1.0.0", - "esbuild": "^0.27.0", - "find-cache-directory": "^6.0.0", - "injection-js": "^2.4.0", - "jsonc-parser": "^3.3.1", - "less": "^4.2.0", - "ora": "^9.0.0", - "piscina": "^5.0.0", - "postcss": "^8.4.47", - "rollup-plugin-dts": "^6.2.0", - "rxjs": "^7.8.1", - "sass": "^1.81.0", - "tinyglobby": "^0.2.12" - }, - "bin": { - "ng-packagr": "src/cli/main.js" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "optionalDependencies": { - "rollup": "^4.24.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^21.0.0 || ^21.1.0-next", - "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "tslib": "^2.3.0", - "typescript": ">=5.9 <6.0" - }, - "peerDependenciesMeta": { - "tailwindcss": { - "optional": true - } + "node": ">=8" } }, - "node_modules/ng-packagr/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "node_modules/nx/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/ng-packagr/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==", + "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": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/ng-packagr/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==", + "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", - "dependencies": { - "restore-cursor": "^5.0.0" - }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ng-packagr/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==", + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/on-exit-leak-free": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", "dev": true, "license": "MIT", "engines": { - "node": ">=18.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "node_modules/ng-packagr/node_modules/commander": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", - "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", + "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": ">=20" + "node": ">= 0.8" } }, - "node_modules/ng-packagr/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==", + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/ng-packagr/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==", + "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": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": ">=18" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ng-packagr/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/ng-packagr/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==", + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", "dev": true, "license": "MIT", "dependencies": { - "is-unicode-supported": "^2.0.0", - "yoctocolors": "^2.1.1" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" }, "engines": { "node": ">=18" @@ -22796,26 +26333,38 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ng-packagr/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "license": "MIT", "dependencies": { - "mimic-function": "^5.0.0" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8.0" } }, - "node_modules/ng-packagr/node_modules/ora": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", - "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", + "node_modules/ora": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.0.0.tgz", + "integrity": "sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==", "dev": true, "license": "MIT", "dependencies": { @@ -22825,8 +26374,9 @@ "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" + "stdin-discarder": "^0.2.2", + "string-width": "^8.1.0", + "strip-ansi": "^7.1.2" }, "engines": { "node": ">=20" @@ -22835,58 +26385,54 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ng-packagr/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" - }, + "node_modules/ora/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": ">=18" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/ng-packagr/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==", + "node_modules/ora/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": "ISC", + "license": "MIT", "engines": { - "node": ">=14" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ng-packagr/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==", + "node_modules/ora/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" + "node": ">=18.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ng-packagr/node_modules/string-width": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.1.tgz", - "integrity": "sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==", + "node_modules/ora/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.3.0", - "strip-ansi": "^7.1.0" + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" }, "engines": { "node": ">=20" @@ -22895,14 +26441,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ng-packagr/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "node_modules/ora/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.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -22911,3373 +26457,3493 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", - "dev": true, - "license": "MIT" - }, - "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==", + "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/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "node_modules/oxc-resolver": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-11.19.1.tgz", + "integrity": "sha512-qE/CIg/spwrTBFt5aKmwe3ifeDdLfA2NESN30E42X/lII5ClF8V7Wt6WIJhcGZjp0/Q+nQ+9vgxGk//xZNX2hg==", "dev": true, "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "funding": { + "url": "https://github.com/sponsors/Boshen" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "optionalDependencies": { + "@oxc-resolver/binding-android-arm-eabi": "11.19.1", + "@oxc-resolver/binding-android-arm64": "11.19.1", + "@oxc-resolver/binding-darwin-arm64": "11.19.1", + "@oxc-resolver/binding-darwin-x64": "11.19.1", + "@oxc-resolver/binding-freebsd-x64": "11.19.1", + "@oxc-resolver/binding-linux-arm-gnueabihf": "11.19.1", + "@oxc-resolver/binding-linux-arm-musleabihf": "11.19.1", + "@oxc-resolver/binding-linux-arm64-gnu": "11.19.1", + "@oxc-resolver/binding-linux-arm64-musl": "11.19.1", + "@oxc-resolver/binding-linux-ppc64-gnu": "11.19.1", + "@oxc-resolver/binding-linux-riscv64-gnu": "11.19.1", + "@oxc-resolver/binding-linux-riscv64-musl": "11.19.1", + "@oxc-resolver/binding-linux-s390x-gnu": "11.19.1", + "@oxc-resolver/binding-linux-x64-gnu": "11.19.1", + "@oxc-resolver/binding-linux-x64-musl": "11.19.1", + "@oxc-resolver/binding-openharmony-arm64": "11.19.1", + "@oxc-resolver/binding-wasm32-wasi": "11.19.1", + "@oxc-resolver/binding-win32-arm64-msvc": "11.19.1", + "@oxc-resolver/binding-win32-ia32-msvc": "11.19.1", + "@oxc-resolver/binding-win32-x64-msvc": "11.19.1" } }, - "node_modules/node-forge": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", - "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", "dev": true, - "license": "(BSD-3-Clause OR GPL-2.0)", + "license": "MIT", "engines": { - "node": ">= 6.13.0" + "node": ">=8" } }, - "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==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "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" + "yocto-queue": "^0.1.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "detect-libc": "^2.0.1" + "p-limit": "^2.2.0" }, - "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": ">=8" } }, - "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==", + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "isexe": "^4.0.0" - }, - "bin": { - "node-which": "bin/which.js" + "p-try": "^2.0.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-machine-id": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", - "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "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" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/node-schedule": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/node-schedule/-/node-schedule-2.1.1.tgz", - "integrity": "sha512-OXdegQq03OmXEjt2hZP33W2YPs/E5BcFQks46+G2gAxs4gHOIVD1u7EqlYLYSKsaIpyKCK9Gbk0ta1/gjRSMRQ==", + "node_modules/p-retry": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "dev": true, "license": "MIT", "dependencies": { - "cron-parser": "^4.2.0", - "long-timeout": "0.1.1", - "sorted-array-functions": "^1.3.0" + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=16.17" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/nopt": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", - "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/pacote": { + "version": "21.0.4", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.4.tgz", + "integrity": "sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==", "dev": true, "license": "ISC", "dependencies": { - "abbrev": "^4.0.0" + "@npmcli/git": "^7.0.0", + "@npmcli/installed-package-contents": "^4.0.0", + "@npmcli/package-json": "^7.0.0", + "@npmcli/promise-spawn": "^9.0.0", + "@npmcli/run-script": "^10.0.0", + "cacache": "^20.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^13.0.0", + "npm-packlist": "^10.0.1", + "npm-pick-manifest": "^11.0.1", + "npm-registry-fetch": "^19.0.0", + "proc-log": "^6.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^4.0.0", + "ssri": "^13.0.0", + "tar": "^7.4.3" }, "bin": { - "nopt": "bin/nopt.js" + "pacote": "bin/index.js" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "dev": true, + "license": "MIT" + }, + "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==", "dev": true, "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "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==", "dev": true, "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": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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==", "dev": true, - "license": "ISC", - "dependencies": { - "npm-normalize-package-bin": "^5.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } + "license": "MIT" }, - "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==", + "node_modules/parse-json/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==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "semver": "^7.1.1" - }, + "license": "MIT" + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "license": "MIT", "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">= 0.10" } }, - "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==", + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=0.10.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==", + "node_modules/parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "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": { - "hosted-git-info": "^9.0.0", - "proc-log": "^6.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^7.0.0" + "entities": "^6.0.0", + "parse5": "^8.0.0", + "parse5-sax-parser": "^8.0.0" }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/npm-packlist": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.3.tgz", - "integrity": "sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg==", + "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": "ISC", - "dependencies": { - "ignore-walk": "^8.0.0", - "proc-log": "^6.0.0" - }, + "license": "BSD-2-Clause", "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "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==", + "node_modules/parse5-html-rewriting-stream/node_modules/parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "npm-install-checks": "^8.0.0", - "npm-normalize-package-bin": "^5.0.0", - "npm-package-arg": "^13.0.0", - "semver": "^7.3.5" + "entities": "^8.0.0" }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "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==", + "node_modules/parse5-html-rewriting-stream/node_modules/parse5/node_modules/entities": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", "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" - }, + "license": "BSD-2-Clause", "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "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": { - "path-key": "^3.0.0" + "parse5": "^8.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "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==", + "node_modules/parse5-sax-parser/node_modules/entities": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", "dev": true, "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" + "engines": { + "node": ">=20.19.0" }, "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/nwsapi": { - "version": "2.2.23", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz", - "integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/nx": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/nx/-/nx-22.5.0.tgz", - "integrity": "sha512-GOHhDHXvuscD28Hpj1bP38oVrCgZ/+5UWjA8R/VkpbtkfMHgRZ0uHlfKLYXQAZIsjmTq7Tr+e4QchJt0e76n0w==", + "node_modules/parse5-sax-parser/node_modules/parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.2", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.12.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "ignore": "^7.0.5", - "jest-diff": "^30.0.2", - "jsonc-parser": "3.2.0", - "lines-and-columns": "2.0.3", - "minimatch": "10.1.1", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "picocolors": "^1.1.0", - "resolve.exports": "2.0.3", - "semver": "^7.6.3", - "string-width": "^4.2.3", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tree-kill": "^1.2.2", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yaml": "^2.6.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "22.5.0", - "@nx/nx-darwin-x64": "22.5.0", - "@nx/nx-freebsd-x64": "22.5.0", - "@nx/nx-linux-arm-gnueabihf": "22.5.0", - "@nx/nx-linux-arm64-gnu": "22.5.0", - "@nx/nx-linux-arm64-musl": "22.5.0", - "@nx/nx-linux-x64-gnu": "22.5.0", - "@nx/nx-linux-x64-musl": "22.5.0", - "@nx/nx-win32-arm64-msvc": "22.5.0", - "@nx/nx-win32-x64-msvc": "22.5.0" - }, - "peerDependencies": { - "@swc-node/register": "1.11.1", - "@swc/core": "1.15.8" + "entities": "^8.0.0" }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/nx/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "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": ">= 4" + "node": ">= 0.8" } }, - "node_modules/nx/node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, + "license": "MIT", "engines": { - "node": ">= 14.6" - }, - "funding": { - "url": "https://github.com/sponsors/eemeli" + "node": ">=8" } }, - "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==", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "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==", + "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": ">= 0.4" + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/on-exit-leak-free": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", - "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "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==", + "node_modules/peek-stream": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", + "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", "dev": true, "license": "MIT", "dependencies": { - "ee-first": "1.1.1" - }, + "buffer-from": "^1.0.0", + "duplexify": "^3.5.0", + "through2": "^2.0.3" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "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==", + "dev": true, + "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": ">= 0.8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/on-headers": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", - "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "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==", + "node_modules/pino": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.14.0.tgz", + "integrity": "sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "wrappy": "1" + "@pinojs/redact": "^0.4.0", + "atomic-sleep": "^1.0.0", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^2.0.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^5.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" + }, + "bin": { + "pino": "bin.js" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/pino-abstract-transport": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz", + "integrity": "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==", "dev": true, "license": "MIT", "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "readable-stream": "^4.0.0", + "split2": "^4.0.0" } }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "node_modules/pino-abstract-transport/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/pino-abstract-transport/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, "license": "MIT", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "node_modules/pino-std-serializers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.1.0.tgz", + "integrity": "sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==", "dev": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" + "license": "MIT" + }, + "node_modules/pino/node_modules/pino-abstract-transport": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz", + "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "split2": "^4.0.0" } }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "node_modules/pino/node_modules/process-warning": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-5.0.0.tgz", + "integrity": "sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, + "node_modules/pino/node_modules/sonic-boom": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.1.tgz", + "integrity": "sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==", "dev": true, "license": "MIT", "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" + "atomic-sleep": "^1.0.0" } }, - "node_modules/ora": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", - "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true, "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "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/oxc-resolver": { - "version": "11.17.1", - "resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-11.17.1.tgz", - "integrity": "sha512-pyRXK9kH81zKlirHufkFhOFBZRks8iAMLwPH8gU7lvKFiuzUH9L8MxDEllazwOb8fjXMcWjY1PMDfMJ2/yh5cw==", + "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", - "funding": { - "url": "https://github.com/sponsors/Boshen" + "engines": { + "node": ">=20.x" }, "optionalDependencies": { - "@oxc-resolver/binding-android-arm-eabi": "11.17.1", - "@oxc-resolver/binding-android-arm64": "11.17.1", - "@oxc-resolver/binding-darwin-arm64": "11.17.1", - "@oxc-resolver/binding-darwin-x64": "11.17.1", - "@oxc-resolver/binding-freebsd-x64": "11.17.1", - "@oxc-resolver/binding-linux-arm-gnueabihf": "11.17.1", - "@oxc-resolver/binding-linux-arm-musleabihf": "11.17.1", - "@oxc-resolver/binding-linux-arm64-gnu": "11.17.1", - "@oxc-resolver/binding-linux-arm64-musl": "11.17.1", - "@oxc-resolver/binding-linux-ppc64-gnu": "11.17.1", - "@oxc-resolver/binding-linux-riscv64-gnu": "11.17.1", - "@oxc-resolver/binding-linux-riscv64-musl": "11.17.1", - "@oxc-resolver/binding-linux-s390x-gnu": "11.17.1", - "@oxc-resolver/binding-linux-x64-gnu": "11.17.1", - "@oxc-resolver/binding-linux-x64-musl": "11.17.1", - "@oxc-resolver/binding-openharmony-arm64": "11.17.1", - "@oxc-resolver/binding-wasm32-wasi": "11.17.1", - "@oxc-resolver/binding-win32-arm64-msvc": "11.17.1", - "@oxc-resolver/binding-win32-ia32-msvc": "11.17.1", - "@oxc-resolver/binding-win32-x64-msvc": "11.17.1" + "@napi-rs/nice": "^1.0.4" } }, - "node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "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": ">=8" + "node": ">=16.20.0" } }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" + "find-up": "^6.3.0" }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, "engines": { - "node": ">=18" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=16.17" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/pacote": { - "version": "21.0.4", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.4.tgz", - "integrity": "sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==", - "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" + "p-limit": "^4.0.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", - "dev": true, - "license": "MIT" - }, - "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==", + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "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==", + "node_modules/pkg-dir/node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", "dev": true, "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" + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-json/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==", + "node_modules/pkijs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", + "integrity": "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "dependencies": { + "@noble/hashes": "1.4.0", + "asn1js": "^3.0.6", + "bytestreamjs": "^2.0.1", + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=16.0.0" + } }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "node_modules/pkijs/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.10" + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "node_modules/portfinder": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", + "integrity": "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==", "dev": true, "license": "MIT", + "dependencies": { + "async": "^3.2.6", + "debug": "^4.3.6" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.12" } }, - "node_modules/parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true, - "license": "MIT" - }, - "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==", + "node_modules/postcss": { + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.12.tgz", + "integrity": "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==", "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": { - "entities": "^6.0.0", - "parse5": "^8.0.0", - "parse5-sax-parser": "^8.0.0" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": "^10 || ^12 || >=14" } }, - "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==", + "node_modules/postcss-calc": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.1.1.tgz", + "integrity": "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=0.12" + "node": "^18.12 || ^20.9 || >=22.0" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "peerDependencies": { + "postcss": "^8.4.38" } }, - "node_modules/parse5-html-rewriting-stream/node_modules/parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", - "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "node_modules/postcss-colormin": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.9.tgz", + "integrity": "sha512-EZpoUlmbXQUpe+g4ZaGM2kjGlHrQ7Bjzb3xHcNrC9ysI1tGoib6DAYvxg6aB7MGxsjgLF+Qx/jwZQkJ5cKDvXA==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^6.0.0" + "@colordx/core": "^5.2.0", + "browserslist": "^4.28.2", + "caniuse-api": "^3.0.0", + "postcss-value-parser": "^4.2.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "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==", + "node_modules/postcss-convert-values": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.11.tgz", + "integrity": "sha512-H+s7P0f9jJylSysAHs3/5MhAx7GthDO05uw1h56L2xyEqpiLTFLEqBNw3PUYzD5p/AKwWaigCXf6FGELpOw9lw==", "dev": true, "license": "MIT", "dependencies": { - "parse5": "^8.0.0" + "browserslist": "^4.28.2", + "postcss-value-parser": "^4.2.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-sax-parser/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" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/parse5-sax-parser/node_modules/parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", - "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "node_modules/postcss-discard-comments": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.7.tgz", + "integrity": "sha512-FJhE3fSte7HaRNL4iwD8LTG9vWqj3puxXIdig6LfrFqc1TJRUhY4kXOkeTXZZfTXYny+k+SO7fd2fymj1wduJg==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^6.0.0" + "postcss-selector-parser": "^7.1.1" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/postcss-discard-duplicates": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.3.tgz", + "integrity": "sha512-9cRxXwhEM/aNZon1qZyToX4NmjbFbxOGbww+0CnbYFDbbPRGZ8jg4IbM8UlA+CzkXxM35itxyaHKNqBBg/RTDg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/postcss-discard-empty": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.2.tgz", + "integrity": "sha512-NZFouOmOwtngJVgkNeI1LtkzFdYqIurxgy4wq3qNvIiXFURTZ3b/K7q3dP3QitlWQ5imHDQL0qSorItQhoxb1g==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/postcss-discard-overridden": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.2.tgz", + "integrity": "sha512-Ym01X4v6U3sY8X0P1J9P+RTar+7JyLTOzDrxKSeaArFsLmkVu4KcAKPBWDYRIyZ/q4jwpSPnOnekeSSqXSXKUw==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "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==", + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", "dev": true, "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, "engines": { - "node": ">=8" + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "node_modules/postcss-loader": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.2.1.tgz", + "integrity": "sha512-k98jtRzthjj3f76MYTs9JTpRqV1RaaMhEU0Lpw9OTmQZQdppg4B30VZ74BojuBHt3F4KyubHJoXCMUeM8Bqeow==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "cosmiconfig": "^9.0.0", + "jiti": "^2.5.1", + "semver": "^7.6.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": ">= 18.12.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0", + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", - "dev": true, - "license": "MIT" - }, - "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==", + "node_modules/postcss-loader/node_modules/cosmiconfig": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz", + "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", "dev": true, "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/peek-stream": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", - "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", + "node_modules/postcss-loader/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", - "dependencies": { - "buffer-from": "^1.0.0", - "duplexify": "^3.5.0", - "through2": "^2.0.3" + "bin": { + "jiti": "lib/jiti-cli.mjs" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "node_modules/postcss-loader/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==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "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": "ISC" + "license": "MIT" }, - "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/postcss-merge-longhand": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.6.tgz", + "integrity": "sha512-lDsWeKRsssX/9vKFpingoRiuvGajtOGCJhs1kyaTJ5fzaVzs0aPPYe38UZ/ukMFEA5iuRIjQJHIkH2niYO3ubQ==", "dev": true, "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^7.0.10" + }, "engines": { - "node": ">=12" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/postcss-merge-rules": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.10.tgz", + "integrity": "sha512-UXYKxkg8Cy1so/evF7AE/25PNXZb3E0SrvjdbtbGf+MW+doLenKqRLQzz6YZW469ktiXK2MVLFWtel/DftCV0Q==", "dev": true, "license": "MIT", - "optional": true, + "dependencies": { + "browserslist": "^4.28.2", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^5.0.2", + "postcss-selector-parser": "^7.1.1" + }, "engines": { - "node": ">=6" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pino": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-9.14.0.tgz", - "integrity": "sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==", + "node_modules/postcss-minify-font-values": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.2.tgz", + "integrity": "sha512-Z82NUmnvhPrvMUaHfkaAVBmWQq9F8Dox4Dy0LiwbaTxfmDUWLQtS+0WCgKViwdWCPPajiY9YzoQftgqKdXkM5g==", "dev": true, "license": "MIT", "dependencies": { - "@pinojs/redact": "^0.4.0", - "atomic-sleep": "^1.0.0", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^2.0.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^5.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^3.0.0" + "postcss-value-parser": "^4.2.0" }, - "bin": { - "pino": "bin.js" + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pino-abstract-transport": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz", - "integrity": "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==", + "node_modules/postcss-minify-gradients": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.4.tgz", + "integrity": "sha512-g8MNeNyN+lbwKy8DCtJ6zU6awBL0InBsSOaKmgZ1MdRLVItLQUNFNAzzzBnOp4qowOcyyB6GetTlQ0/0UNXvag==", "dev": true, "license": "MIT", "dependencies": { - "readable-stream": "^4.0.0", - "split2": "^4.0.0" + "@colordx/core": "^5.2.0", + "cssnano-utils": "^5.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pino-abstract-transport/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "node_modules/postcss-minify-params": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.8.tgz", + "integrity": "sha512-DIUKM5DZGTmxN7KFKT+rxt0FdPDmRrdK/k3n3+6Po+N/QYn06juwagHcfOVBG0CfCHwcnI612GAUCZc3eT+ZEg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "browserslist": "^4.28.2", + "cssnano-utils": "^5.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pino-abstract-transport/node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "node_modules/postcss-minify-selectors": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.1.0.tgz", + "integrity": "sha512-HYl/6I0aL+UvpA10t65BSa7h+tVjBgE6oRI5N/3ylX3vtwvlDL67G3FT3vYDPnTksxr0riiyJcT0tBtyRVoloA==", "dev": true, "license": "MIT", "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" + "browserslist": "^4.28.1", + "caniuse-api": "^3.0.0", + "cssesc": "^3.0.0", + "postcss-selector-parser": "^7.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pino-std-serializers": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.1.0.tgz", - "integrity": "sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==", + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", "dev": true, - "license": "MIT" + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } }, - "node_modules/pino/node_modules/pino-abstract-transport": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz", - "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==", + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", "dev": true, "license": "MIT", "dependencies": { - "split2": "^4.0.0" + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/pino/node_modules/process-warning": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-5.0.0.tgz", - "integrity": "sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==", + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "MIT" + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } }, - "node_modules/pino/node_modules/sonic-boom": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.1.tgz", - "integrity": "sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==", + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "atomic-sleep": "^1.0.0" + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "node_modules/postcss-normalize-charset": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.2.tgz", + "integrity": "sha512-YoINoiR4YKlzfB95Y93b0DSxWy7FLw+1SADIaznMHb88AKizpzfF80tolmiDEbYr1UM4r4Hw+NZq37SwT5f3uw==", "dev": true, "license": "MIT", "engines": { - "node": ">= 6" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/piscina": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.4.tgz", - "integrity": "sha512-7uU4ZnKeQq22t9AsmHGD2w4OYQGonwFnTypDypaWi7Qr2EvQIFVtG8J5D/3bE7W123Wdc9+v4CZDu5hJXVCtBg==", + "node_modules/postcss-normalize-display-values": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.2.tgz", + "integrity": "sha512-wu/NTSjnp8sX5TnEHVPN+eScjAtRs18ELtEduG+Ek3GxjeUDUT+VAA3PJjVIXBcVIk6fiLYFj2iKH0q99S3T2Q==", "dev": true, "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=20.x" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, - "optionalDependencies": { - "@napi-rs/nice": "^1.0.4" + "peerDependencies": { + "postcss": "^8.5.10" } }, - "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==", + "node_modules/postcss-normalize-positions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.3.tgz", + "integrity": "sha512-1CJI++oA3yK/fQlPUcEngUfcSWS08Pkt9fK+jVgL53mmtHDBHi0YiuB0m3D9BXwZjmfvCc2GQmFqCAF/CVcPzQ==", "dev": true, "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=16.20.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "node_modules/postcss-normalize-repeat-style": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.3.tgz", + "integrity": "sha512-RvImJ2Ml4LZSx31qC2C8LDiz65IgBNATtwEr9r3Aue+D0cCGbj4rjNojb/uGpEm4QxnOTzFqMvaDYuKiT1Cmpg==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^6.3.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=14.16" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "node_modules/postcss-normalize-string": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.2.tgz", + "integrity": "sha512-FqtrUh2BU2MnVeLeWBbJ2rwOjuDnA91XvoImc1BbgMWIxdxiPTaquflBHsmFBA3xh3pC3wPZO9W5MaIc7wU/Xw==", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "node_modules/postcss-normalize-timing-functions": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.2.tgz", + "integrity": "sha512-5H5fpXBnMACEXzn7k9RP7qWZ1eWg8cuZkUuFygStY7icOj+UucwMWXeMmdkF/iITvTVa7fP85tdRCJeznpdFfQ==", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^6.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "node_modules/postcss-normalize-unicode": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.8.tgz", + "integrity": "sha512-imCM3cwK3hvlAG4z1AzYM24m8BPA3/Jk/S71wfbn2I6+E2b+UwFaGvlNqydihXTSl3OFPeQXztqCzg+NGeSibQ==", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^1.0.0" + "browserslist": "^4.28.2", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "node_modules/postcss-normalize-url": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.2.tgz", + "integrity": "sha512-bLnNY7t76NLRb9QQyCVmCN4qwoHxiq6vABH/CXav9wTuR6dNGHGQ72AyO/+h2quWxZk3l7BqxNL1vtDi9H6y1g==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^4.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "node_modules/postcss-normalize-whitespace": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.2.tgz", + "integrity": "sha512-TNSVkuhkeOhl36WruQlflxOb7HweoeZowSusNpfsM1+ZvqJ24Mc+xksu05ecMQxlu+0zgI8pyznO2EWqDCQbLA==", "dev": true, "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pkg-dir/node_modules/yocto-queue": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", - "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "node_modules/postcss-ordered-values": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.3.tgz", + "integrity": "sha512-FTt6R9RF7NAYfpOHa2XFPm89FVuo5GiIbcfwOXFy1MYF38BeiNW9ke8ybw9Pk62eEsUlRVVbxHWA3B7ERYqOOA==", "dev": true, "license": "MIT", + "dependencies": { + "cssnano-utils": "^5.0.2", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=12.20" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/pkijs": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.3.3.tgz", - "integrity": "sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==", + "node_modules/postcss-reduce-initial": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.8.tgz", + "integrity": "sha512-VeVRmbgpgTZuRcDQdqnsB4iYTeS2dBRV07UdwK6V3x61F1xTQ2pgIzHBIR4rQYRlXRNKBTGYYhEL1eNA7w9vaQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@noble/hashes": "1.4.0", - "asn1js": "^3.0.6", - "bytestreamjs": "^2.0.1", - "pvtsutils": "^1.3.6", - "pvutils": "^1.1.3", - "tslib": "^2.8.1" + "browserslist": "^4.28.2", + "caniuse-api": "^3.0.0" }, "engines": { - "node": ">=16.0.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/portfinder": { - "version": "1.0.38", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", - "integrity": "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==", + "node_modules/postcss-reduce-transforms": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.2.tgz", + "integrity": "sha512-OV5P9hMnf7kEkeXVXyS5ESqxbIls7a3TqFymUAV5JICO/9YCBEU+QQhQjZiDHaLwFdV7/CL481kVeBUk5FdY3w==", "dev": true, "license": "MIT", "dependencies": { - "async": "^3.2.6", - "debug": "^4.3.6" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 10.12" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.10" } }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "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" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=4" } }, - "node_modules/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "node_modules/postcss-svgo": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.1.2.tgz", + "integrity": "sha512-ixExc8m+/68yuSYQzV/1DgtTup/7nI2dN9eiDS5GMRUzeCH4q9UcqeZPwcSVhdf8ay9fRwXDUHwcY5/XzQSszQ==", "dev": true, "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.2.0", + "svgo": "^4.0.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": "^18.12.0 || ^20.9.0 || >= 18" }, "peerDependencies": { - "postcss": "^8.2.2" + "postcss": "^8.5.10" } }, - "node_modules/postcss-colormin": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", - "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "node_modules/postcss-unique-selectors": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.6.tgz", + "integrity": "sha512-cDxnYw1QuBMW5w3svZ0BlYF0IA4Amr+1JoTLXzu6vDFPNwohN2QU+sPZNx15b930LR7ce+/600h28/cYoxO9vw==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", - "postcss-value-parser": "^4.2.0" + "postcss-selector-parser": "^7.1.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.5.10" } }, - "node_modules/postcss-convert-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", - "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "node_modules/postcss-url": { + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-10.1.3.tgz", + "integrity": "sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" + "make-dir": "~3.1.0", + "mime": "~2.5.2", + "minimatch": "~3.0.4", + "xxhashjs": "~0.2.2" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=10" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.0.0" } }, - "node_modules/postcss-discard-comments": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", - "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "node_modules/postcss-url/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-url/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/postcss-discard-duplicates": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", - "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "node_modules/postcss-url/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=8" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-discard-empty": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", - "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "node_modules/postcss-url/node_modules/mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", "dev": true, "license": "MIT", + "bin": { + "mime": "cli.js" + }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=4.0.0" + } + }, + "node_modules/postcss-url/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, - "peerDependencies": { - "postcss": "^8.4.31" + "engines": { + "node": "*" } }, - "node_modules/postcss-discard-overridden": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", - "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "node_modules/postcss-url/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/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.8.0" } }, - "node_modules/postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" + "bin": { + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.0.0" + "node": ">=14" }, - "peerDependencies": { - "postcss": "^8.0.0" + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/postcss-loader": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.2.0.tgz", - "integrity": "sha512-tHX+RkpsXVcc7st4dSdDGliI+r4aAQDuv+v3vFYHixb6YgjreG5AG4SEB0kDK8u2s6htqEEpKlkhSBUTvWKYnA==", + "node_modules/pretty-format": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", "dev": true, "license": "MIT", "dependencies": { - "cosmiconfig": "^9.0.0", - "jiti": "^2.5.1", - "semver": "^7.6.2" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/postcss-loader/node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/postcss-loader/node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "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": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/postcss-loader/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==", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">= 0.6.0" } }, - "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==", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true, "license": "MIT" }, - "node_modules/postcss-merge-longhand": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", - "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "node_modules/process-warning": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", + "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==", + "dev": true, + "license": "MIT" + }, + "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": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.1.1" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=10" } }, - "node_modules/postcss-merge-rules": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", - "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "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", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.2", - "postcss-selector-parser": "^6.0.16" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 4" } }, - "node_modules/postcss-minify-font-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", - "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "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": { - "postcss-value-parser": "^4.2.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.10" } }, - "node_modules/postcss-minify-gradients": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", - "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "node_modules/proxy-addr/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", - "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.10" } }, - "node_modules/postcss-minify-params": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", - "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", "dev": true, "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=10" } }, - "node_modules/postcss-minify-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", - "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "license": "MIT", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", - "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "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", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.1.0" - }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=6" } }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", - "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "node_modules/pure-rand": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", + "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/pvtsutils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", + "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", "dev": true, "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" + "tslib": "^2.8.1" } }, - "node_modules/postcss-modules-scope": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "node_modules/pvutils": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", + "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", "dev": true, - "license": "ISC", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=16.0.0" } }, - "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", - "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "node_modules/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "side-channel": "^1.1.0" }, "engines": { - "node": ">=4" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", "dev": true, - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-normalize-charset": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", - "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "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": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.6" } }, - "node_modules/postcss-normalize-display-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", - "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "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": { - "postcss-value-parser": "^4.2.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.10" } }, - "node_modules/postcss-normalize-positions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", - "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", "dev": true, "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "peer": true, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.10.0" } }, - "node_modules/postcss-normalize-repeat-style": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", - "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "pify": "^2.3.0" } }, - "node_modules/postcss-normalize-string": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", - "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 6" } }, - "node_modules/postcss-normalize-timing-functions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", - "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "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", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">= 20.19.0" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "node_modules/postcss-normalize-unicode": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", - "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "node_modules/real-require": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", "dev": true, "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 12.13.0" } }, - "node_modules/postcss-normalize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", - "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "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/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", "dev": true, "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "regenerate": "^1.4.2" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=4" } }, - "node_modules/postcss-normalize-whitespace": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", - "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", "dev": true, "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=4" } }, - "node_modules/postcss-ordered-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", - "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.1.tgz", + "integrity": "sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "jsesc": "~3.1.0" }, - "peerDependencies": { - "postcss": "^8.4.31" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/postcss-reduce-initial": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", - "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.10.0" } }, - "node_modules/postcss-reduce-transforms": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", - "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "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", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.10.0" } }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-svgo": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", - "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.2.0" + "resolve-from": "^5.0.0" }, "engines": { - "node": "^14 || ^16 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=8" } }, - "node_modules/postcss-unique-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", - "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "dev": true, "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.16" + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.10.0" } }, - "node_modules/postcss-url": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-10.1.3.tgz", - "integrity": "sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==", + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "license": "MIT", - "dependencies": { - "make-dir": "~3.1.0", - "mime": "~2.5.2", - "minimatch": "~3.0.4", - "xxhashjs": "~0.2.2" - }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "postcss": "^8.0.0" + "node": ">=8" } }, - "node_modules/postcss-url/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "engines": { + "node": ">=10" } }, - "node_modules/postcss-url/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", "dev": true, "license": "MIT", "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" + "lowercase-keys": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-url/node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "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", - "bin": { - "mime": "cli.js" + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-url/node_modules/minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "node_modules/restore-cursor/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": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "mimic-function": "^5.0.0" }, "engines": { - "node": "*" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-url/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "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": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "engines": { + "node": ">= 4" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "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/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", - "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "node_modules/rolldown": { + "version": "1.0.0-beta.58", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.58.tgz", + "integrity": "sha512-v1FCjMZCan7f+xGAHBi+mqiE4MlH7I+SXEHSQSJoMOGNNB2UYtvMiejsq9YuUOiZjNeUeV/a21nSFbrUR+4ZCQ==", "dev": true, "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.106.0", + "@rolldown/pluginutils": "1.0.0-beta.58" + }, "bin": { - "prettier": "bin/prettier.cjs" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=14" + "node": "^20.19.0 || >=22.12.0" }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-beta.58", + "@rolldown/binding-darwin-arm64": "1.0.0-beta.58", + "@rolldown/binding-darwin-x64": "1.0.0-beta.58", + "@rolldown/binding-freebsd-x64": "1.0.0-beta.58", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.58", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.58", + "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.58", + "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.58", + "@rolldown/binding-linux-x64-musl": "1.0.0-beta.58", + "@rolldown/binding-openharmony-arm64": "1.0.0-beta.58", + "@rolldown/binding-wasm32-wasi": "1.0.0-beta.58", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.58", + "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.58" } }, - "node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "node_modules/rollup": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "30.0.5", - "ansi-styles": "^5.2.0", - "react-is": "^18.3.1" + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", + "fsevents": "~2.3.2" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/rollup-plugin-dts": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.4.1.tgz", + "integrity": "sha512-l//F3Zf7ID5GoOfLfD8kroBjQKEKpy1qfhtAdnpibFZMffPaylrg1CoDC2vGkPeTeyxUe4bVFCln2EFuL7IGGg==", "dev": true, - "license": "MIT", + "license": "LGPL-3.0-only", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "@jridgewell/sourcemap-codec": "^1.5.5", + "convert-source-map": "^2.0.0", + "magic-string": "^0.30.21" + }, "engines": { - "node": ">=10" + "node": ">=20" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/Swatinem" + }, + "optionalDependencies": { + "@babel/code-frame": "^7.29.0" + }, + "peerDependencies": { + "rollup": "^3.29.4 || ^4", + "typescript": "^4.5 || ^5.0 || ^6.0" } }, - "node_modules/proc-log": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", - "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "node_modules/rollup-plugin-dts/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": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } + "license": "MIT" }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "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": ">= 0.6.0" + "node": ">= 18" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/process-warning": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", - "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==", + "node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", "dev": true, "license": "MIT" }, - "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==", + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", "dev": true, "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, "engines": { - "node": ">=10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/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/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==", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/proxy-addr/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==", + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.10" + "node": ">=10" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "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/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "node_modules/sass": { + "version": "1.97.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.1.tgz", + "integrity": "sha512-uf6HoO8fy6ClsrShvMgaKUn14f2EHQLQRtpsZZLeU/Mv0Q1K5P0+x2uvH6Cub39TVVbWNSrraUhDAoFph6vh0A==", "dev": true, "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "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/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "node_modules/sass-embedded": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.99.0.tgz", + "integrity": "sha512-gF/juR1aX02lZHkvwxdF80SapkQeg2fetoDF6gIQkNbSw5YEUFspMkyGTjPjgZSgIHuZpy+Wz4PlebKnLXMjdg==", "dev": true, "license": "MIT", "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "@bufbuild/protobuf": "^2.5.0", + "colorjs.io": "^0.5.0", + "immutable": "^5.1.5", + "rxjs": "^7.4.0", + "supports-color": "^8.1.1", + "sync-child-process": "^1.0.2", + "varint": "^6.0.0" + }, + "bin": { + "sass": "dist/bin/sass.js" + }, + "engines": { + "node": ">=16.0.0" + }, + "optionalDependencies": { + "sass-embedded-all-unknown": "1.99.0", + "sass-embedded-android-arm": "1.99.0", + "sass-embedded-android-arm64": "1.99.0", + "sass-embedded-android-riscv64": "1.99.0", + "sass-embedded-android-x64": "1.99.0", + "sass-embedded-darwin-arm64": "1.99.0", + "sass-embedded-darwin-x64": "1.99.0", + "sass-embedded-linux-arm": "1.99.0", + "sass-embedded-linux-arm64": "1.99.0", + "sass-embedded-linux-musl-arm": "1.99.0", + "sass-embedded-linux-musl-arm64": "1.99.0", + "sass-embedded-linux-musl-riscv64": "1.99.0", + "sass-embedded-linux-musl-x64": "1.99.0", + "sass-embedded-linux-riscv64": "1.99.0", + "sass-embedded-linux-x64": "1.99.0", + "sass-embedded-unknown-all": "1.99.0", + "sass-embedded-win32-arm64": "1.99.0", + "sass-embedded-win32-x64": "1.99.0" } }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/sass-embedded-all-unknown": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.99.0.tgz", + "integrity": "sha512-qPIRG8Uhjo6/OKyAKixTnwMliTz+t9K6Duk0mx5z+K7n0Ts38NSJz2sjDnc7cA/8V9Lb3q09H38dZ1CLwD+ssw==", + "cpu": [ + "!arm", + "!arm64", + "!riscv64", + "!x64" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "optional": true, + "dependencies": { + "sass": "1.99.0" } }, - "node_modules/pure-rand": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", - "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT" - }, - "node_modules/pvtsutils": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", - "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", + "node_modules/sass-embedded-all-unknown/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", + "optional": true, "dependencies": { - "tslib": "^2.8.1" + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/pvutils": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", - "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", + "node_modules/sass-embedded-all-unknown/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", + "optional": true, "engines": { - "node": ">=16.0.0" + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "node_modules/qs": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", - "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "node_modules/sass-embedded-all-unknown/node_modules/sass": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.99.0.tgz", + "integrity": "sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "optional": true, "dependencies": { - "side-channel": "^1.1.0" + "chokidar": "^4.0.0", + "immutable": "^5.1.5", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" }, "engines": { - "node": ">=0.6" + "node": ">=14.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } + "node_modules/sass-embedded-android-arm": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.99.0.tgz", + "integrity": "sha512-EHvJ0C7/VuP78Qr6f8gIUVUmCqIorEQpw2yp3cs3SMg02ZuumlhjXvkTcFBxHmFdFR23vTNk1WnhY6QSeV1nFQ==", + "cpu": [ + "arm" ], - "license": "MIT" - }, - "node_modules/quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", - "dev": true, - "license": "MIT" - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "node_modules/rambda": { - "version": "9.4.2", - "resolved": "https://registry.npmjs.org/rambda/-/rambda-9.4.2.tgz", - "integrity": "sha512-++euMfxnl7OgaEKwXh9QqThOjMeta2HH001N1v4mYQzBjJBnmXBh2BCK6dZAbICFVXOFUVD3xFG0R3ZPU0mxXw==", + "node_modules/sass-embedded-android-arm64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.99.0.tgz", + "integrity": "sha512-fNHhdnP23yqqieCbAdym4N47AleSwjbNt6OYIYx4DdACGdtERjQB4iOX/TaKsW034MupfF7SjnAAK8w7Ptldtg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/sass-embedded-android-riscv64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.99.0.tgz", + "integrity": "sha512-4zqDFRvgGDTL5vTHuIhRxUpXFoh0Cy7Gm5Ywk19ASd8Settmd14YdPRZPmMxfgS1GH292PofV1fq1ifiSEJWBw==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" } }, - "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==", + "node_modules/sass-embedded-android-x64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.99.0.tgz", + "integrity": "sha512-Uk53k/dGYt04RjOL4gFjZ0Z9DH9DKh8IA8WsXUkNqsxerAygoy3zqRBS2zngfE9K2jiOM87q+1R1p87ory9oQQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 0.6" + "node": ">=14.0.0" } }, - "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "node_modules/sass-embedded-darwin-arm64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.99.0.tgz", + "integrity": "sha512-u61/7U3IGLqoO6gL+AHeiAtlTPFwJK1+964U8gp45ZN0hzh1yrARf5O1mivXv8NnNgJvbG2wWJbiNZP0lG/lTg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.8" + "node": ">=14.0.0" } }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/sass-embedded-darwin-x64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.99.0.tgz", + "integrity": "sha512-j/kkk/NcXdIameLezSfXjgCiBkVcA+G60AXrX768/3g0miK1g7M9dj7xOhCb1i7/wQeiEI3rw2LLuO63xRIn4A==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "node_modules/react": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", - "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "node_modules/sass-embedded-linux-arm": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.99.0.tgz", + "integrity": "sha512-d4IjJZrX2+AwB2YCy1JySwdptJECNP/WfAQLUl8txI3ka8/d3TUI155GtelnoZUkio211PwIeFvvAeZ9RXPQnw==", + "cpu": [ + "arm" + ], "dev": true, + "libc": "glibc", "license": "MIT", - "peer": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "node_modules/react-dom": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "node_modules/sass-embedded-linux-arm64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.99.0.tgz", + "integrity": "sha512-btNcFpItcB56L40n8hDeL7sRSMLDXQ56nB5h2deddJx1n60rpKSElJmkaDGHtpkrY+CTtDRV0FZDjHeTJddYew==", + "cpu": [ + "arm64" + ], "dev": true, + "libc": "glibc", "license": "MIT", - "peer": true, - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.4" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" } }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true, - "license": "MIT" - }, - "node_modules/react-refresh": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", - "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", + "node_modules/sass-embedded-linux-musl-arm": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.99.0.tgz", + "integrity": "sha512-2gvHOupgIw3ytatXT4nFUow71LFbuOZPEwG+HUzcNQDH8ue4Ez8cr03vsv5MDv3lIjOKcXwDvWD980t18MwkoQ==", + "cpu": [ + "arm" + ], "dev": true, + "libc": "musl", "license": "MIT", - "peer": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "node_modules/sass-embedded-linux-musl-arm64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.99.0.tgz", + "integrity": "sha512-Hi2bt/IrM5P4FBKz6EcHAlniwfpoz9mnTdvSd58y+avA3SANM76upIkAdSayA8ZGwyL3gZokru1AKDPF9lJDNw==", + "cpu": [ + "arm64" + ], "dev": true, + "libc": "musl", "license": "MIT", - "dependencies": { - "pify": "^2.3.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" } }, - "node_modules/read-cache/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "node_modules/sass-embedded-linux-musl-riscv64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.99.0.tgz", + "integrity": "sha512-mKqGvVaJ9rHMqyZsF0kikQe4NO0f4osb67+X6nLhBiVDKvyazQHJ3zJQreNefIE36yL2sjHIclSB//MprzaQDg==", + "cpu": [ + "riscv64" + ], "dev": true, + "libc": "musl", "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/sass-embedded-linux-musl-x64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.99.0.tgz", + "integrity": "sha512-huhgOMmOc30r7CH7qbRbT9LerSEGSnWuS4CYNOskr9BvNeQp4dIneFufNRGZ7hkOAxUM8DglxIZJN/cyAT95Ew==", + "cpu": [ + "x64" + ], "dev": true, + "libc": "musl", "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 6" + "node": ">=14.0.0" } }, - "node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "node_modules/sass-embedded-linux-riscv64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.99.0.tgz", + "integrity": "sha512-mevFPIFAVhrH90THifxLfOntFmHtcEKOcdWnep2gJ0X4DVva4AiVIRlQe/7w9JFx5+gnDRE1oaJJkzuFUuYZsA==", + "cpu": [ + "riscv64" + ], "dev": true, + "libc": "glibc", "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "node": ">=14.0.0" } }, - "node_modules/real-require": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "node_modules/sass-embedded-linux-x64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.99.0.tgz", + "integrity": "sha512-9k7IkULqIZdCIVt4Mboryt6vN8Mjmm3EhI1P3mClU5y5i3wLK5ExC3cbVWk047KsID/fvB1RLslqghXJx5BoxA==", + "cpu": [ + "x64" + ], "dev": true, + "libc": "glibc", "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 12.13.0" + "node": ">=14.0.0" } }, - "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/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", - "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "node_modules/sass-embedded-unknown-all": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.99.0.tgz", + "integrity": "sha512-P7MxiUtL/XzGo3PX0CaB8lNNEFLQWKikPA8pbKytx9ZCLZSDkt2NJcdAbblB/sqMs4AV3EK2NadV8rI/diq3xg==", "dev": true, "license": "MIT", + "optional": true, + "os": [ + "!android", + "!darwin", + "!linux", + "!win32" + ], "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" + "sass": "1.99.0" } }, - "node_modules/regexpu-core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", - "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "node_modules/sass-embedded-unknown-all/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", + "optional": true, "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.2", - "regjsgen": "^0.8.0", - "regjsparser": "^0.13.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.2.1" + "readdirp": "^4.0.1" }, "engines": { - "node": ">=4" + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "node_modules/sass-embedded-unknown-all/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" + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } }, - "node_modules/regjsparser": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", - "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "node_modules/sass-embedded-unknown-all/node_modules/sass": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.99.0.tgz", + "integrity": "sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "optional": true, "dependencies": { - "jsesc": "~3.1.0" + "chokidar": "^4.0.0", + "immutable": "^5.1.5", + "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { - "regjsparser": "bin/parser" + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/sass-embedded-win32-arm64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.99.0.tgz", + "integrity": "sha512-8whpsW7S+uO8QApKfQuc36m3P9EISzbVZOgC79goob4qGy09u8Gz/rYvw8h1prJDSjltpHGhOzBE6LDz7WvzVw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.10.0" + "node": ">=14.0.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==", + "node_modules/sass-embedded-win32-x64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.99.0.tgz", + "integrity": "sha512-ipuOv1R2K4MHeuCEAZGpuUbAgma4gb0sdacyrTjJtMOy/OY9UvWfVlwErdB09KIkp4fPDpQJDJfvYN6bC8jeNg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "node_modules/sass-embedded/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "node_modules/sass-loader": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.7.tgz", + "integrity": "sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==", "dev": true, "license": "MIT", "dependencies": { - "resolve-from": "^5.0.0" + "neo-async": "^2.6.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "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": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "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==", + "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": ">=4" + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", "dev": true, - "license": "MIT", + "license": "BlueOak-1.0.0", "engines": { - "node": ">=10" + "node": ">=11.0.0" } }, - "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "lowercase-keys": "^2.0.0" + "xmlchars": "^2.2.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=v12.22.7" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/schema-utils": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", "dev": true, "license": "MIT", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">=8" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "node_modules/schema-utils/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 4" + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true, "license": "MIT" }, - "node_modules/rolldown": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.58.tgz", - "integrity": "sha512-v1FCjMZCan7f+xGAHBi+mqiE4MlH7I+SXEHSQSJoMOGNNB2UYtvMiejsq9YuUOiZjNeUeV/a21nSFbrUR+4ZCQ==", + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.106.0", - "@rolldown/pluginutils": "1.0.0-beta.58" + "@types/node-forge": "^1.3.0", + "node-forge": "^1" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", "bin": { - "rolldown": "bin/cli.mjs" + "semver": "bin/semver.js" }, "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.0-beta.58", - "@rolldown/binding-darwin-arm64": "1.0.0-beta.58", - "@rolldown/binding-darwin-x64": "1.0.0-beta.58", - "@rolldown/binding-freebsd-x64": "1.0.0-beta.58", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.58", - "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.58", - "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.58", - "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.58", - "@rolldown/binding-linux-x64-musl": "1.0.0-beta.58", - "@rolldown/binding-openharmony-arm64": "1.0.0-beta.58", - "@rolldown/binding-wasm32-wasi": "1.0.0-beta.58", - "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.58", - "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.58" + "node": ">=10" } }, - "node_modules/rollup": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz", - "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", + "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": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" + "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.0.0", - "npm": ">=8.0.0" + "node": ">= 18" }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.57.1", - "@rollup/rollup-android-arm64": "4.57.1", - "@rollup/rollup-darwin-arm64": "4.57.1", - "@rollup/rollup-darwin-x64": "4.57.1", - "@rollup/rollup-freebsd-arm64": "4.57.1", - "@rollup/rollup-freebsd-x64": "4.57.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", - "@rollup/rollup-linux-arm-musleabihf": "4.57.1", - "@rollup/rollup-linux-arm64-gnu": "4.57.1", - "@rollup/rollup-linux-arm64-musl": "4.57.1", - "@rollup/rollup-linux-loong64-gnu": "4.57.1", - "@rollup/rollup-linux-loong64-musl": "4.57.1", - "@rollup/rollup-linux-ppc64-gnu": "4.57.1", - "@rollup/rollup-linux-ppc64-musl": "4.57.1", - "@rollup/rollup-linux-riscv64-gnu": "4.57.1", - "@rollup/rollup-linux-riscv64-musl": "4.57.1", - "@rollup/rollup-linux-s390x-gnu": "4.57.1", - "@rollup/rollup-linux-x64-gnu": "4.57.1", - "@rollup/rollup-linux-x64-musl": "4.57.1", - "@rollup/rollup-openbsd-x64": "4.57.1", - "@rollup/rollup-openharmony-arm64": "4.57.1", - "@rollup/rollup-win32-arm64-msvc": "4.57.1", - "@rollup/rollup-win32-ia32-msvc": "4.57.1", - "@rollup/rollup-win32-x64-gnu": "4.57.1", - "@rollup/rollup-win32-x64-msvc": "4.57.1", - "fsevents": "~2.3.2" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/rollup-plugin-dts": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.3.0.tgz", - "integrity": "sha512-d0UrqxYd8KyZ6i3M2Nx7WOMy708qsV/7fTHMHxCMCBOAe3V/U7OMPu5GkX8hC+cmkHhzGnfeYongl1IgiooddA==", + "node_modules/serialize-javascript": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-7.0.5.tgz", + "integrity": "sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==", "dev": true, - "license": "LGPL-3.0-only", + "license": "BSD-3-Clause", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", + "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", + "dev": true, + "license": "MIT", "dependencies": { - "magic-string": "^0.30.21" + "accepts": "~1.3.8", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.8.0", + "mime-types": "~2.1.35", + "parseurl": "~1.3.3" }, "engines": { - "node": ">=16" + "node": ">= 0.8.0" }, "funding": { - "url": "https://github.com/sponsors/Swatinem" - }, - "optionalDependencies": { - "@babel/code-frame": "^7.27.1" - }, - "peerDependencies": { - "rollup": "^3.29.4 || ^4", - "typescript": "^4.5 || ^5.0" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "node_modules/serve-index/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "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" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">= 18" + "node": ">= 0.6" } }, - "node_modules/router/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==", + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/rrweb-cssom": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", - "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "node_modules/run-applescript": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", - "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.6" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/serve-index/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" + "engines": { + "node": ">= 0.6" } }, - "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", + "node_modules/serve-index/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.1.0" + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT" }, - "node_modules/safe-stable-stringify": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", - "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "node_modules/serve-index/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "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==", + "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": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 18" }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/sass-embedded": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.97.3.tgz", - "integrity": "sha512-eKzFy13Nk+IRHhlAwP3sfuv+PzOrvzUkwJK2hdoCKYcWGSdmwFpeGpWmyewdw8EgBnsKaSBtgf/0b2K635ecSA==", + "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/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "license": "MIT", "dependencies": { - "@bufbuild/protobuf": "^2.5.0", - "colorjs.io": "^0.5.0", - "immutable": "^5.0.2", - "rxjs": "^7.4.0", - "supports-color": "^8.1.1", - "sync-child-process": "^1.0.2", - "varint": "^6.0.0" - }, - "bin": { - "sass": "dist/bin/sass.js" + "kind-of": "^6.0.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=8" + } + }, + "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" }, - "optionalDependencies": { - "sass-embedded-all-unknown": "1.97.3", - "sass-embedded-android-arm": "1.97.3", - "sass-embedded-android-arm64": "1.97.3", - "sass-embedded-android-riscv64": "1.97.3", - "sass-embedded-android-x64": "1.97.3", - "sass-embedded-darwin-arm64": "1.97.3", - "sass-embedded-darwin-x64": "1.97.3", - "sass-embedded-linux-arm": "1.97.3", - "sass-embedded-linux-arm64": "1.97.3", - "sass-embedded-linux-musl-arm": "1.97.3", - "sass-embedded-linux-musl-arm64": "1.97.3", - "sass-embedded-linux-musl-riscv64": "1.97.3", - "sass-embedded-linux-musl-x64": "1.97.3", - "sass-embedded-linux-riscv64": "1.97.3", - "sass-embedded-linux-x64": "1.97.3", - "sass-embedded-unknown-all": "1.97.3", - "sass-embedded-win32-arm64": "1.97.3", - "sass-embedded-win32-x64": "1.97.3" + "engines": { + "node": ">=8" } }, - "node_modules/sass-embedded-all-unknown": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.97.3.tgz", - "integrity": "sha512-t6N46NlPuXiY3rlmG6/+1nwebOBOaLFOOVqNQOC2cJhghOD4hh2kHNQQTorCsbY9S1Kir2la1/XLBwOJfui0xg==", - "cpu": [ - "!arm", - "!arm64", - "!riscv64", - "!x64" - ], + "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/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", "dev": true, "license": "MIT", - "optional": true, - "dependencies": { - "sass": "1.97.3" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sass-embedded-android-arm": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.97.3.tgz", - "integrity": "sha512-cRTtf/KV/q0nzGZoUzVkeIVVFv3L/tS1w4WnlHapphsjTXF/duTxI8JOU1c/9GhRPiMdfeXH7vYNcMmtjwX7jg==", - "cpu": [ - "arm" - ], + "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", - "optional": true, - "os": [ - "android" - ], + "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": ">=14.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sass-embedded-android-arm64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.97.3.tgz", - "integrity": "sha512-aiZ6iqiHsUsaDx0EFbbmmA0QgxicSxVVN3lnJJ0f1RStY0DthUkquGT5RJ4TPdaZ6ebeJWkboV4bra+CP766eA==", - "cpu": [ - "arm64" - ], + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, "engines": { - "node": ">=14.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sass-embedded-android-riscv64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.97.3.tgz", - "integrity": "sha512-zVEDgl9JJodofGHobaM/q6pNETG69uuBIGQHRo789jloESxxZe82lI3AWJQuPmYCOG5ElfRthqgv89h3gTeLYA==", - "cpu": [ - "riscv64" - ], + "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", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, "engines": { - "node": ">=14.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sass-embedded-android-x64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.97.3.tgz", - "integrity": "sha512-3ke0le7ZKepyXn/dKKspYkpBC0zUk/BMciyP5ajQUDy4qJwobd8zXdAq6kOkdiMB+d9UFJOmEkvgFJHl3lqwcw==", - "cpu": [ - "x64" - ], + "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", - "optional": true, - "os": [ - "android" - ], + "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": ">=14.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sass-embedded-darwin-arm64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.97.3.tgz", - "integrity": "sha512-fuqMTqO4gbOmA/kC5b9y9xxNYw6zDEyfOtMgabS7Mz93wimSk2M1quQaTJnL98Mkcsl2j+7shNHxIS/qpcIDDA==", - "cpu": [ - "arm64" - ], + "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": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "license": "ISC", "engines": { - "node": ">=14.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/sass-embedded-darwin-x64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.97.3.tgz", - "integrity": "sha512-b/2RBs/2bZpP8lMkyZ0Px0vkVkT8uBd0YXpOwK7iOwYkAT8SsO4+WdVwErsqC65vI5e1e5p1bb20tuwsoQBMVA==", - "cpu": [ - "x64" - ], + "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": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "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": ">=14.0.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/sass-embedded-linux-arm": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.97.3.tgz", - "integrity": "sha512-2lPQ7HQQg4CKsH18FTsj2hbw5GJa6sBQgDsls+cV7buXlHjqF8iTKhAQViT6nrpLK/e8nFCoaRgSqEC8xMnXuA==", - "cpu": [ - "arm" - ], + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/sass-embedded-linux-arm64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.97.3.tgz", - "integrity": "sha512-IP1+2otCT3DuV46ooxPaOKV1oL5rLjteRzf8ldZtfIEcwhSgSsHgA71CbjYgLEwMY9h4jeal8Jfv3QnedPvSjg==", - "cpu": [ - "arm64" - ], + "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", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "ansi-styles": "^6.2.3", + "is-fullwidth-code-point": "^5.1.0" + }, "engines": { - "node": ">=14.0.0" + "node": ">=20" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/sass-embedded-linux-musl-arm": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.97.3.tgz", - "integrity": "sha512-cBTMU68X2opBpoYsSZnI321gnoaiMBEtc+60CKCclN6PCL3W3uXm8g4TLoil1hDD6mqU9YYNlVG6sJ+ZNef6Lg==", - "cpu": [ - "arm" - ], + "node_modules/slice-ansi/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", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=14.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/sass-embedded-linux-musl-arm64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.97.3.tgz", - "integrity": "sha512-Lij0SdZCsr+mNRSyDZ7XtJpXEITrYsaGbOTz5e6uFLJ9bmzUbV7M8BXz2/cA7bhfpRPT7/lwRKPdV4+aR9Ozcw==", - "cpu": [ - "arm64" - ], + "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", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=14.0.0" + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/sass-embedded-linux-musl-riscv64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.97.3.tgz", - "integrity": "sha512-sBeLFIzMGshR4WmHAD4oIM7WJVkSoCIEwutzptFtGlSlwfNiijULp+J5hA2KteGvI6Gji35apR5aWj66wEn/iA==", - "cpu": [ - "riscv64" - ], + "node_modules/smol-toml": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", + "integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "BSD-3-Clause", "engines": { - "node": ">=14.0.0" + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" } }, - "node_modules/sass-embedded-linux-musl-x64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.97.3.tgz", - "integrity": "sha512-/oWJ+OVrDg7ADDQxRLC/4g1+Nsz1g4mkYS2t6XmyMJKFTFK50FVI2t5sOdFH+zmMp+nXHKM036W94y9m4jjEcw==", - "cpu": [ - "x64" - ], + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" } }, - "node_modules/sass-embedded-linux-riscv64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.97.3.tgz", - "integrity": "sha512-l3IfySApLVYdNx0Kjm7Zehte1CDPZVcldma3dZt+TfzvlAEerM6YDgsk5XEj3L8eHBCgHgF4A0MJspHEo2WNfA==", - "cpu": [ - "riscv64" - ], + "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", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/sass-embedded-linux-x64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.97.3.tgz", - "integrity": "sha512-Kwqwc/jSSlcpRjULAOVbndqEy2GBzo6OBmmuBVINWUaJLJ8Kczz3vIsDUWLfWz/kTEw9FHBSiL0WCtYLVAXSLg==", - "cpu": [ - "x64" - ], + "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", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, "engines": { - "node": ">=14.0.0" + "node": ">= 14" } }, - "node_modules/sass-embedded-unknown-all": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.97.3.tgz", - "integrity": "sha512-/GHajyYJmvb0IABUQHbVHf1nuHPtIDo/ClMZ81IDr59wT5CNcMe7/dMNujXwWugtQVGI5UGmqXWZQCeoGnct8Q==", + "node_modules/sonic-boom": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.1.tgz", + "integrity": "sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "!android", - "!darwin", - "!linux", - "!win32" - ], "dependencies": { - "sass": "1.97.3" + "atomic-sleep": "^1.0.0" } }, - "node_modules/sass-embedded-win32-arm64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.97.3.tgz", - "integrity": "sha512-RDGtRS1GVvQfMGAmVXNxYiUOvPzn9oO1zYB/XUM9fudDRnieYTcUytpNTQZLs6Y1KfJxgt5Y+giRceC92fT8Uw==", - "cpu": [ - "arm64" - ], + "node_modules/sorted-array-functions": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sorted-array-functions/-/sorted-array-functions-1.3.0.tgz", + "integrity": "sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.0.0" - } + "license": "MIT" }, - "node_modules/sass-embedded-win32-x64": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.97.3.tgz", - "integrity": "sha512-SFRa2lED9UEwV6vIGeBXeBOLKF+rowF3WmNfb/BzhxmdAsKofCXrJ8ePW7OcDVrvNEbTOGwhsReIsF5sH8fVaw==", - "cpu": [ - "x64" - ], + "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": "MIT", - "optional": true, - "os": [ - "win32" - ], + "license": "BSD-3-Clause", "engines": { - "node": ">=14.0.0" + "node": ">= 12" } }, - "node_modules/sass-embedded/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "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": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "license": "BSD-3-Clause", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/sass-loader": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.7.tgz", - "integrity": "sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==", + "node_modules/source-map-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", + "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", "dev": true, "license": "MIT", "dependencies": { - "neo-async": "^2.6.2" + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" }, "engines": { "node": ">= 18.12.0" @@ -26287,441 +29953,455 @@ "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "webpack": { - "optional": true - } + "webpack": "^5.72.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==", + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "license": "MIT", "dependencies": { - "readdirp": "^4.0.1" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=0.10.0" } }, - "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==", + "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": ">= 14.18.0" + "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/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/sax": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", - "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, - "license": "BlueOak-1.0.0", - "optional": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true, + "license": "ISC", "engines": { - "node": ">=11.0.0" + "node": ">= 10.x" } }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.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": { - "xmlchars": "^2.2.0" + "minipass": "^7.0.3" }, "engines": { - "node": ">=v12.22.7" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=10" } }, - "node_modules/schema-utils/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "node_modules/secure-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", - "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", - "dev": true, - "license": "MIT" - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", "dev": true, "license": "MIT" }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "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", - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "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": ">= 0.8" } }, - "node_modules/send": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", - "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.4.1", - "range-parser": "~1.2.1", - "statuses": "~2.0.2" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/steno": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", + "integrity": "sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "graceful-fs": "^4.1.3" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", "dev": true, "license": "MIT" }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "node_modules/streamx": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz", + "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "randombytes": "^2.1.0" + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" } }, - "node_modules/serve-index": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", - "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.8.0", - "mime-types": "~2.1.35", - "parseurl": "~1.3.3" - }, - "engines": { - "node": ">= 0.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "safe-buffer": "~5.2.0" } }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "node_modules/string-width-cjs": { + "name": "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": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/string-width-cjs/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/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "node_modules/string-width-cjs/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": ">= 0.6" + "node": ">=8" } }, - "node_modules/serve-static": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", - "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "node_modules/string-width/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/string-width/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": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "~0.19.1" + "ansi-regex": "^6.2.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "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/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "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": { - "kind-of": "^6.0.2" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "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==", + "node_modules/strip-ansi-cjs": { + "name": "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": { - "shebang-regex": "^3.0.0" + "ansi-regex": "^5.0.1" }, "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==", + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "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==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "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" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, "engines": { - "node": ">= 0.4" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "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==", + "node_modules/stylehacks": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.10.tgz", + "integrity": "sha512-sRJ7klmhe/Fl5woJcbJUa2qP1Ueffsl1CQI4ePvqXLkZmcIuAt09aP9uT/FOFPqXh9Rh8M5UkgEnwTdTKn/Aag==", "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" + "browserslist": "^4.28.2", + "postcss-selector-parser": "^7.1.1" }, "engines": { - "node": ">= 0.4" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "postcss": "^8.5.10" } }, - "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==", + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "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" + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -26729,2232 +30409,2339 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/sigstore": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-4.1.0.tgz", - "integrity": "sha512-/fUgUhYghuLzVT/gaJoeVehLCgZiUxPCPMcyVNY0lIf/cTCz58K/WTI7PefDarXxp9nUKpEwg1yyz3eSBMTtgA==", + "node_modules/svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", + "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "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" + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" }, "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" + "node": ">=16" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/svgo" } }, - "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==", + "node_modules/svgo/node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, - "engines": { - "node": ">=18" + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" }, "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/slice-ansi/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==", + "node_modules/svgo/node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=12" + "node": ">= 6" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/slice-ansi/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==", + "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/sync-child-process": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz", + "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==", "dev": true, "license": "MIT", "dependencies": { - "get-east-asian-width": "^1.3.1" + "sync-message-port": "^1.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.0.0" } }, - "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==", + "node_modules/sync-message-port": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.2.0.tgz", + "integrity": "sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=16.0.0" } }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "node_modules/synckit": { + "version": "0.11.12", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", + "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", "dev": true, "license": "MIT", "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" + "@pkgr/core": "^0.2.9" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/synckit" } }, - "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==", + "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", - "dependencies": { - "ip-address": "^10.0.1", - "smart-buffer": "^4.2.0" - }, "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "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==", + "node_modules/tar": { + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", + "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", "dev": true, - "license": "MIT", + "license": "BlueOak-1.0.0", "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" }, "engines": { - "node": ">= 14" + "node": ">=18" } }, - "node_modules/sonic-boom": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.1.tgz", - "integrity": "sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==", + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, "license": "MIT", "dependencies": { - "atomic-sleep": "^1.0.0" + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" } }, - "node_modules/sorted-array-functions": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sorted-array-functions/-/sorted-array-functions-1.3.0.tgz", - "integrity": "sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA==", - "dev": true, - "license": "MIT" - }, - "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==", + "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": "BSD-3-Clause", + "license": "BlueOak-1.0.0", "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, - "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==", + "node_modules/terser": { + "version": "5.46.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.2.tgz", + "integrity": "sha512-uxfo9fPcSgLDYob/w1FuL0c99MWiJDnv+5qXSQc5+Ki5NjVNsYi66INnMFBjf6uFz6OnX12piJQPF4IpjJTNTw==", "dev": true, - "license": "BSD-3-Clause", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/source-map-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", - "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", + "node_modules/terser-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-UYhptBwhWvfIjKd/UuFo6D8uq9xpGLDK+z8EDsj/zWhrTaH34cKEbrkMKfV5YWqGBvAYA3tlzZbs2R+qYrbQJA==", "dev": true, "license": "MIT", "dependencies": { - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "terser": "^5.31.1" }, "engines": { - "node": ">= 18.12.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.72.1" + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.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": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", - "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true, - "license": "CC0-1.0" + "license": "MIT" }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "node_modules/test-exclude/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/sshpk": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", - "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", - "dev": true, - "license": "MIT", "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ssri": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz", - "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==", + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { - "minipass": "^7.0.3" + "brace-expansion": "^1.1.7" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": "*" } }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "node_modules/text-decoder": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", + "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" + "b4a": "^1.6.4" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/thingies": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.6.0.tgz", + "integrity": "sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "^2" } }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "node_modules/thread-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", + "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "real-require": "^0.2.0" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "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==", + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/stdin-discarder": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", - "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/steno": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", - "integrity": "sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==", + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.3" + "safe-buffer": "~5.1.0" } }, - "node_modules/stream-shift": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", - "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true, "license": "MIT" }, - "node_modules/streamroller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", - "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "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": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { - "node": ">=8.0" + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/streamroller/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "node_modules/tldts": { + "version": "7.0.28", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.28.tgz", + "integrity": "sha512-+Zg3vWhRUv8B1maGSTFdev9mjoo8Etn2Ayfs4cnjlD3CsGkxXX4QyW3j2WJ0wdjYcYmy7Lx2RDsZMhgCWafKIw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "tldts-core": "^7.0.28" }, - "engines": { - "node": ">=6 <7 || >=8" + "bin": { + "tldts": "bin/cli.js" } }, - "node_modules/streamroller/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "node_modules/tldts-core": { + "version": "7.0.28", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.28.tgz", + "integrity": "sha512-7W5Efjhsc3chVdFhqtaU0KtK32J37Zcr9RKtID54nG+tIpcY79CQK/veYPODxtD/LJ4Lue66jvrQzIX2Z2/pUQ==", "dev": true, "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } + "peer": true }, - "node_modules/streamroller/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", "dev": true, "license": "MIT", "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/streamx": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", - "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "events-universal": "^1.0.0", - "fast-fifo": "^1.3.2", - "text-decoder": "^1.1.0" + "node": ">=14.14" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } + "license": "BSD-3-Clause" }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "license": "MIT", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=8.0" } }, - "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==", + "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", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8" + "node": ">=0.6" } }, - "node_modules/string-width-cjs": { - "name": "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==", + "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": "MIT", + "license": "BSD-3-Clause", + "peer": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "tldts": "^7.0.5" }, "engines": { - "node": ">=8" + "node": ">=16" } }, - "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==", + "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", + "peer": true, "dependencies": { - "ansi-regex": "^5.0.1" + "punycode": "^2.3.1" }, "engines": { - "node": ">=8" + "node": ">=20" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/tree-dump": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", + "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, + "license": "Apache-2.0", "engines": { - "node": ">=8" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" + "bin": { + "tree-kill": "cli.js" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/ts-checker-rspack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-checker-rspack-plugin/-/ts-checker-rspack-plugin-1.3.0.tgz", + "integrity": "sha512-89oK/BtApjdid1j9CGjPGiYry+EZBhsnTAM481/8ipgr/y2IOgCbW1HPnan+fs5FnzlpUgf9dWGNZ4Ayw3Bd8A==", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "@rspack/lite-tapable": "^1.1.0", + "chokidar": "^3.6.0", + "memfs": "^4.56.10", + "picocolors": "^1.1.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@rspack/core": "^1.0.0 || ^2.0.0-0", + "typescript": ">=3.8.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + } } }, - "node_modules/style-loader": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", - "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "node_modules/ts-checker-rspack-plugin/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, "engines": { - "node": ">= 12.13.0" + "node": ">= 8.10.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://paulmillr.com/funding/" }, - "peerDependencies": { - "webpack": "^5.0.0" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/stylehacks": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", - "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "node_modules/ts-checker-rspack-plugin/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "browserslist": "^4.23.0", - "postcss-selector-parser": "^6.0.16" + "is-glob": "^4.0.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 6" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/ts-checker-rspack-plugin/node_modules/memfs": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.57.2.tgz", + "integrity": "sha512-2nWzSsJzrukurSDna4Z0WywuScK4Id3tSKejgu74u8KCdW4uNrseKRSIDg75C6Yw5ZRqBe0F0EtMNlTbUq8bAQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "has-flag": "^4.0.0" + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-fsa": "4.57.2", + "@jsonjoy.com/fs-node": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-to-fsa": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/fs-print": "4.57.2", + "@jsonjoy.com/fs-snapshot": "4.57.2", + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", + "tslib": "^2.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/ts-checker-rspack-plugin/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "node_modules/ts-checker-rspack-plugin/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" + "node": ">=8.10.0" } }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "node_modules/ts-jest": { + "version": "29.4.9", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.9.tgz", + "integrity": "sha512-LTb9496gYPMCqjeDLdPrKuXtncudeV1yRZnF4Wo5l3SFi0RYEnYRNgMrFIdg+FHvfzjCyQk1cLncWVqiSX+EvQ==", "dev": true, "license": "MIT", + "dependencies": { + "bs-logger": "^0.2.6", + "fast-json-stable-stringify": "^2.1.0", + "handlebars": "^4.7.9", + "json5": "^2.2.3", + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.7.4", + "type-fest": "^4.41.0", + "yargs-parser": "^21.1.1" + }, + "bin": { + "ts-jest": "cli.js" + }, "engines": { - "node": ">= 10" + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0 || ^30.0.0", + "@jest/types": "^29.0.0 || ^30.0.0", + "babel-jest": "^29.0.0 || ^30.0.0", + "jest": "^29.0.0 || ^30.0.0", + "jest-util": "^29.0.0 || ^30.0.0", + "typescript": ">=4.3 <7" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jest-util": { + "optional": true + } } }, - "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/sync-child-process": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz", - "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==", + "node_modules/ts-jest/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": "MIT", - "dependencies": { - "sync-message-port": "^1.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=16.0.0" + "node": ">=10" } }, - "node_modules/sync-message-port": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.2.0.tgz", - "integrity": "sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg==", + "node_modules/ts-jest/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, - "license": "MIT", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=16.0.0" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/synckit": { - "version": "0.11.12", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", - "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", + "node_modules/ts-loader": { + "version": "9.5.7", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.7.tgz", + "integrity": "sha512-/ZNrKgA3K3PtpMYOC71EeMWIloGw3IYEa5/t1cyz2r5/PyUwTXGzYJvcD3kfUvmhlfpz1rhV8B2O6IVTQ0avsg==", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/core": "^0.2.9" + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">=12.0.0" }, - "funding": { - "url": "https://opencollective.com/synckit" + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" } }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/tar": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz", - "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==", + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=18" + "node": ">=6" } }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "node_modules/tsconfig-paths-webpack-plugin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.2.0.tgz", + "integrity": "sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==", "dev": true, "license": "MIT", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tapable": "^2.2.1", + "tsconfig-paths": "^4.1.2" }, "engines": { - "node": ">=6" + "node": ">=10.13.0" } }, - "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==", + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=4" } }, - "node_modules/terser": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", - "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.15.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } + "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/terser-webpack-plugin": { - "version": "5.3.16", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", - "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "node_modules/tsyringe": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz", + "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" + "tslib": "^1.9.3" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "node": ">= 6.0.0" } }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "node_modules/tsyringe/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "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": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "@tufjs/models": "4.1.0", + "debug": "^4.4.3", + "make-fetch-happen": "^15.0.1" }, "engines": { - "node": ">= 10.13.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "has-flag": "^4.0.0" + "safe-buffer": "^5.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": "*" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true, - "license": "MIT" + "license": "Unlicense" }, - "node_modules/terser/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==", + "node_modules/typanion": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/typanion/-/typanion-3.14.0.tgz", + "integrity": "sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==", "dev": true, "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } + "workspaces": [ + "website" + ] }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "engines": { + "node": ">=4" } }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "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": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" }, "engines": { - "node": "*" + "node": ">= 0.6" } }, - "node_modules/text-decoder": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", - "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" } }, - "node_modules/thingies": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz", - "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==", + "node_modules/typescript-eslint": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.0.tgz", + "integrity": "sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw==", "dev": true, "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.59.0", + "@typescript-eslint/parser": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/utils": "8.59.0" + }, "engines": { - "node": ">=10.18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "tslib": "^2" - } - }, - "node_modules/thread-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", - "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", - "dev": true, - "license": "MIT", - "dependencies": { - "real-require": "^0.2.0" + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" } }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/undici": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.20.0.tgz", + "integrity": "sha512-MJZrkjyd7DeC+uPZh+5/YaMDxFiiEEaDgbUSVMXayofAkDWF1088CDo+2RPg7B1BuS1qf1vgNE7xqwPxE0DuSQ==", "dev": true, "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "engines": { + "node": ">=20.18.1" } }, - "node_modules/through2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=4" } }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "node": ">=4" } }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">=4" } }, - "node_modules/tldts": { - "version": "7.0.23", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.23.tgz", - "integrity": "sha512-ASdhgQIBSay0R/eXggAkQ53G4nTJqTXqC2kbaBbdDwM7SkjyZyO0OaaN1/FH7U/yCeqOHDwFO5j8+Os/IS1dXw==", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "tldts-core": "^7.0.23" - }, - "bin": { - "tldts": "bin/cli.js" + "engines": { + "node": ">=4" } }, - "node_modules/tldts-core": { - "version": "7.0.23", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.23.tgz", - "integrity": "sha512-0g9vrtDQLrNIiCj22HSe9d4mLVG3g5ph5DZ8zCKBr4OtrspmNB6ss7hVyzArAeE88ceZocIEGkyW1Ime7fxPtQ==", + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", "dev": true, - "license": "MIT", - "peer": true + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } }, - "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.14" + "node": ">= 10.0.0" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "node_modules/unix-crypt-td-js": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz", + "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==", "dev": true, "license": "BSD-3-Clause" }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "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/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "napi-postinstall": "^0.3.0" }, - "engines": { - "node": ">=8.0" + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" } }, - "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==", + "node_modules/upath": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.6" + "node": ">=4", + "yarn": "*" + } + }, + "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/tough-cookie": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", - "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "BSD-3-Clause", - "peer": true, + "license": "BSD-2-Clause", "dependencies": { - "tldts": "^7.0.5" - }, - "engines": { - "node": ">=16" + "punycode": "^2.1.0" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", "dev": true, "license": "MIT" }, - "node_modules/tree-dump": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", - "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } + "license": "MIT" }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, "license": "MIT", - "bin": { - "tree-kill": "cli.js" + "engines": { + "node": ">= 0.4.0" } }, - "node_modules/ts-api-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/ts-checker-rspack-plugin": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/ts-checker-rspack-plugin/-/ts-checker-rspack-plugin-1.2.6.tgz", - "integrity": "sha512-aAJIfoNr2cPu8G6mqp/oPoNlUT/LgNoqt2n3SsbxWG0TwQogbjsYsr2f/fdsufUDoGDu8Jolmpf3L4PmIH/cEg==", + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@rspack/lite-tapable": "^1.1.0", - "chokidar": "^3.6.0", - "is-glob": "^4.0.3", - "memfs": "^4.51.1", - "minimatch": "^9.0.5", - "picocolors": "^1.1.1" - }, - "peerDependencies": { - "@rspack/core": "^1.0.0 || ^2.0.0-0", - "typescript": ">=3.8.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - } - } + "license": "MIT" }, - "node_modules/ts-checker-rspack-plugin/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" }, "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=10.12.0" } }, - "node_modules/ts-checker-rspack-plugin/node_modules/memfs": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.56.10.tgz", - "integrity": "sha512-eLvzyrwqLHnLYalJP7YZ3wBe79MXktMdfQbvMrVD80K+NhrIukCVBvgP30zTJYEEDh9hZ/ep9z0KOdD7FSHo7w==", + "node_modules/v8-to-istanbul/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": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-core": "4.56.10", - "@jsonjoy.com/fs-fsa": "4.56.10", - "@jsonjoy.com/fs-node": "4.56.10", - "@jsonjoy.com/fs-node-builtins": "4.56.10", - "@jsonjoy.com/fs-node-to-fsa": "4.56.10", - "@jsonjoy.com/fs-node-utils": "4.56.10", - "@jsonjoy.com/fs-print": "4.56.10", - "@jsonjoy.com/fs-snapshot": "4.56.10", - "@jsonjoy.com/json-pack": "^1.11.0", - "@jsonjoy.com/util": "^1.9.0", - "glob-to-regex.js": "^1.0.1", - "thingies": "^2.5.0", - "tree-dump": "^1.0.3", - "tslib": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } + "license": "MIT" }, - "node_modules/ts-checker-rspack-plugin/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "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", - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/ts-checker-rspack-plugin/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/validator": { + "version": "13.15.26", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.26.tgz", + "integrity": "sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">= 0.10" } }, - "node_modules/ts-checker-rspack-plugin/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "dev": true, + "license": "MIT" + }, + "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", - "dependencies": { - "picomatch": "^2.2.1" - }, "engines": { - "node": ">=8.10.0" + "node": ">= 0.8" } }, - "node_modules/ts-jest": { - "version": "29.4.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.6.tgz", - "integrity": "sha512-fSpWtOO/1AjSNQguk43hb/JCo16oJDnMJf3CdEGNkqsEX3t0KX96xvyX1D7PfLCpVoKu4MfVrqUkFyblYoY4lA==", + "node_modules/verdaccio": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/verdaccio/-/verdaccio-6.5.2.tgz", + "integrity": "sha512-zFzUz/2b5z4svs7/wkX0JDSvOE3ViWdNcIs8qwnmUg2hKBbWeVoA5Kt/JWHRkUrCuwiIfAoEWobiKZmrAFqHqw==", "dev": true, "license": "MIT", "dependencies": { - "bs-logger": "^0.2.6", - "fast-json-stable-stringify": "^2.1.0", - "handlebars": "^4.7.8", - "json5": "^2.2.3", - "lodash.memoize": "^4.1.2", - "make-error": "^1.3.6", - "semver": "^7.7.3", - "type-fest": "^4.41.0", - "yargs-parser": "^21.1.1" + "@cypress/request": "3.0.10", + "@verdaccio/auth": "8.0.0-next-8.37", + "@verdaccio/config": "8.0.0-next-8.37", + "@verdaccio/core": "8.0.0-next-8.37", + "@verdaccio/hooks": "8.0.0-next-8.37", + "@verdaccio/loaders": "8.0.0-next-8.27", + "@verdaccio/local-storage-legacy": "11.1.1", + "@verdaccio/logger": "8.0.0-next-8.37", + "@verdaccio/middleware": "8.0.0-next-8.37", + "@verdaccio/package-filter": "13.0.0-next-8.5", + "@verdaccio/search-indexer": "8.0.0-next-8.6", + "@verdaccio/signature": "8.0.0-next-8.29", + "@verdaccio/streams": "10.2.1", + "@verdaccio/tarball": "13.0.0-next-8.37", + "@verdaccio/ui-theme": "9.0.0-next-9.14", + "@verdaccio/url": "13.0.0-next-8.37", + "@verdaccio/utils": "8.1.0-next-8.37", + "async": "3.2.6", + "clipanion": "4.0.0-rc.4", + "compression": "1.8.1", + "cors": "2.8.6", + "debug": "4.4.3", + "envinfo": "7.21.0", + "express": "4.22.1", + "JSONStream": "1.3.5", + "lodash": "4.18.1", + "lru-cache": "7.18.3", + "mime": "3.0.0", + "semver": "7.7.4", + "verdaccio-audit": "13.0.0-next-8.37", + "verdaccio-htpasswd": "13.0.0-next-8.37" }, "bin": { - "ts-jest": "cli.js" + "verdaccio": "bin/verdaccio" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/transform": "^29.0.0 || ^30.0.0", - "@jest/types": "^29.0.0 || ^30.0.0", - "babel-jest": "^29.0.0 || ^30.0.0", - "jest": "^29.0.0 || ^30.0.0", - "jest-util": "^29.0.0 || ^30.0.0", - "typescript": ">=4.3 <6" + "node": ">=18" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/transform": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "jest-util": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" } }, - "node_modules/ts-jest/node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "node_modules/verdaccio-audit": { + "version": "13.0.0-next-8.37", + "resolved": "https://registry.npmjs.org/verdaccio-audit/-/verdaccio-audit-13.0.0-next-8.37.tgz", + "integrity": "sha512-ckn4xxNEkK5lflwb8a6xs2j6rVe//9sEH4rJHBqh2RelKYnFkxHbnN06gsdV2KtqSKDD9F4NE2UDA9SSs8E90w==", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", + "dependencies": { + "@verdaccio/config": "8.0.0-next-8.37", + "@verdaccio/core": "8.0.0-next-8.37", + "express": "4.22.1", + "https-proxy-agent": "5.0.1", + "node-fetch": "cjs" + }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" } }, - "node_modules/ts-loader": { - "version": "9.5.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.4.tgz", - "integrity": "sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==", + "node_modules/verdaccio-audit/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4", - "source-map": "^0.7.4" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" + "node": ">= 0.6" } }, - "node_modules/ts-loader/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==", + "node_modules/verdaccio-audit/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "dependencies": { + "debug": "4" + }, "engines": { - "node": ">= 12" + "node": ">= 6.0.0" } }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "node_modules/verdaccio-audit/node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", "dev": true, "license": "MIT", "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "node_modules/verdaccio-audit/node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" + "ms": "2.0.0" } }, - "node_modules/tsconfig-paths-webpack-plugin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.2.0.tgz", - "integrity": "sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==", + "node_modules/verdaccio-audit/node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/verdaccio-audit/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tapable": "^2.2.1", - "tsconfig-paths": "^4.1.2" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.6" } }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" + "node_modules/verdaccio-audit/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true, + "license": "MIT" }, - "node_modules/tsscmp": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", - "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", + "node_modules/verdaccio-audit/node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "dev": true, "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, "engines": { - "node": ">=0.6.x" + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/tsyringe": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz", - "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", + "node_modules/verdaccio-audit/node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^1.9.3" - }, - "engines": { - "node": ">= 6.0.0" + "ms": "2.0.0" } }, - "node_modules/tsyringe/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "node_modules/verdaccio-audit/node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "license": "0BSD" + "license": "MIT" }, - "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==", + "node_modules/verdaccio-audit/node_modules/express/node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@tufjs/models": "4.1.0", - "debug": "^4.4.3", - "make-fetch-happen": "^15.0.1" + "side-channel": "^1.1.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "node_modules/verdaccio-audit/node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "safe-buffer": "^5.0.1" + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" }, "engines": { - "node": "*" + "node": ">= 0.8" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "node_modules/verdaccio-audit/node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "Unlicense" + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } }, - "node_modules/typanion": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/typanion/-/typanion-3.14.0.tgz", - "integrity": "sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==", + "node_modules/verdaccio-audit/node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/verdaccio-audit/node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/verdaccio-audit/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "license": "MIT", - "workspaces": [ - "website" - ] + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/verdaccio-audit/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "node_modules/verdaccio-audit/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/verdaccio-audit/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/verdaccio-audit/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, "engines": { "node": ">= 0.6" } }, - "node_modules/typed-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "node_modules/verdaccio-audit/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "mime-db": "1.52.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==", + "node_modules/verdaccio-audit/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, + "license": "MIT", "engines": { - "node": ">=14.17" + "node": ">= 0.6" } }, - "node_modules/typescript-eslint": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.55.0.tgz", - "integrity": "sha512-HE4wj+r5lmDVS9gdaN0/+iqNvPZwGfnJ5lZuz7s5vLlg9ODw0bIiiETaios9LvFI1U94/VBXGm3CB2Y5cNFMpw==", + "node_modules/verdaccio-audit/node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/verdaccio-audit/node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.55.0", - "@typescript-eslint/parser": "8.55.0", - "@typescript-eslint/typescript-estree": "8.55.0", - "@typescript-eslint/utils": "8.55.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "node": ">= 0.8" } }, - "node_modules/uglify-js": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", - "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "node_modules/verdaccio-audit/node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", "dev": true, - "license": "BSD-2-Clause", - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" }, "engines": { - "node": ">=0.8.0" + "node": ">= 0.8.0" } }, - "node_modules/undici": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.20.0.tgz", - "integrity": "sha512-MJZrkjyd7DeC+uPZh+5/YaMDxFiiEEaDgbUSVMXayofAkDWF1088CDo+2RPg7B1BuS1qf1vgNE7xqwPxE0DuSQ==", + "node_modules/verdaccio-audit/node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=20.18.1" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "node_modules/verdaccio-audit/node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "node_modules/verdaccio-audit/node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", "dev": true, "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "node_modules/verdaccio-audit/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "license": "MIT", "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", - "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "node_modules/verdaccio-htpasswd": { + "version": "13.0.0-next-8.37", + "resolved": "https://registry.npmjs.org/verdaccio-htpasswd/-/verdaccio-htpasswd-13.0.0-next-8.37.tgz", + "integrity": "sha512-25MjzPLJG8mfPe4jtR8+3B8PCfBl0D2DRDnsP+KJPn8yBbUiO/GJaw2dyGOiVA7ZTyAWKDnN0WvmmIs+Ibj4+g==", "dev": true, "license": "MIT", + "dependencies": { + "@verdaccio/core": "8.0.0-next-8.37", + "@verdaccio/file-locking": "13.0.0-next-8.7", + "apache-md5": "1.1.8", + "bcryptjs": "2.4.3", + "debug": "4.4.3", + "http-errors": "2.0.1", + "unix-crypt-td-js": "1.1.4" + }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", - "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "node_modules/verdaccio-htpasswd/node_modules/@verdaccio/file-locking": { + "version": "13.0.0-next-8.7", + "resolved": "https://registry.npmjs.org/@verdaccio/file-locking/-/file-locking-13.0.0-next-8.7.tgz", + "integrity": "sha512-XL12Okp4YQd0ogYMyGc+JrqrtVC+76V5hUGCK+s/VluSFSZaJQiLs4MoUPsKfwGhqXHCAm1JcNaz4L5LoXNbjQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/union": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", - "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", - "dev": true, "dependencies": { - "qs": "^6.4.0" + "lockfile": "1.0.4" }, "engines": { - "node": ">= 0.8.0" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" } }, - "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==", + "node_modules/verdaccio/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "unique-slug": "^6.0.0" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">= 0.6" } }, - "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==", + "node_modules/verdaccio/node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4" + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/verdaccio/node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/unix-crypt-td-js": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz", - "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==", + "node_modules/verdaccio/node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "license": "BSD-3-Clause" + "license": "MIT" }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "node_modules/verdaccio/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "node_modules/verdaccio/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/verdaccio/node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "napi-postinstall": "^0.3.0" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" + "engines": { + "node": ">= 0.10.0" }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/upath": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", - "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", + "node_modules/verdaccio/node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=4", - "yarn": "*" + "dependencies": { + "ms": "2.0.0" } }, - "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==", + "node_modules/verdaccio/node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "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", + "license": "MIT" + }, + "node_modules/verdaccio/node_modules/express/node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" + "side-channel": "^1.1.0" }, - "bin": { - "update-browserslist-db": "cli.js" + "engines": { + "node": ">=0.6" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/verdaccio/node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "punycode": "^2.1.0" + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "node_modules/verdaccio/node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "node_modules/verdaccio/node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "node_modules/verdaccio/node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4.0" + "node": ">= 0.6" } }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "node_modules/verdaccio/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "license": "MIT" - }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "node_modules/verdaccio/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, "engines": { - "node": ">=10.12.0" + "node": ">=12" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/verdaccio/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "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==", + "node_modules/verdaccio/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/validator": { - "version": "13.15.26", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.26.tgz", - "integrity": "sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==", + "node_modules/verdaccio/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true, "license": "MIT", + "bin": { + "mime": "cli.js" + }, "engines": { - "node": ">= 0.10" + "node": ">=10.0.0" } }, - "node_modules/varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", - "dev": true, - "license": "MIT" - }, - "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==", + "node_modules/verdaccio/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "node_modules/verdaccio": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/verdaccio/-/verdaccio-6.2.5.tgz", - "integrity": "sha512-sIek+ZF0a1aaRwHo9I5vbONGXzcAgbf5psEmbGVMG9M/MslblIae2wdehG6a2lSxsk4B9c8Ar0j/ZmliTjiStA==", + "node_modules/verdaccio/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "license": "MIT", "dependencies": { - "@cypress/request": "3.0.9", - "@verdaccio/auth": "8.0.0-next-8.29", - "@verdaccio/config": "8.0.0-next-8.29", - "@verdaccio/core": "8.0.0-next-8.29", - "@verdaccio/hooks": "8.0.0-next-8.29", - "@verdaccio/loaders": "8.0.0-next-8.19", - "@verdaccio/local-storage-legacy": "11.1.1", - "@verdaccio/logger": "8.0.0-next-8.29", - "@verdaccio/middleware": "8.0.0-next-8.29", - "@verdaccio/search-indexer": "8.0.0-next-8.5", - "@verdaccio/signature": "8.0.0-next-8.21", - "@verdaccio/streams": "10.2.1", - "@verdaccio/tarball": "13.0.0-next-8.29", - "@verdaccio/ui-theme": "8.0.0-next-8.29", - "@verdaccio/url": "13.0.0-next-8.29", - "@verdaccio/utils": "8.1.0-next-8.29", - "async": "3.2.6", - "clipanion": "4.0.0-rc.4", - "compression": "1.8.1", - "cors": "2.8.5", - "debug": "4.4.3", - "envinfo": "7.15.0", - "express": "4.22.1", - "JSONStream": "1.3.5", - "lodash": "4.17.21", - "lru-cache": "7.18.3", - "mime": "3.0.0", - "semver": "7.7.3", - "verdaccio-audit": "13.0.0-next-8.29", - "verdaccio-htpasswd": "13.0.0-next-8.29" - }, - "bin": { - "verdaccio": "bin/verdaccio" + "mime-db": "1.52.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "node": ">= 0.6" } }, - "node_modules/verdaccio-audit": { - "version": "13.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/verdaccio-audit/-/verdaccio-audit-13.0.0-next-8.29.tgz", - "integrity": "sha512-ZUNONewbFocBq3oWXrwAL8IX4ZovPU70yj0nuYStSVJ9+Vrb74Duc+eI+IIS+jLfyysZe5L0ZAODGN8ny1Lu6w==", + "node_modules/verdaccio/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, "license": "MIT", - "dependencies": { - "@verdaccio/config": "8.0.0-next-8.29", - "@verdaccio/core": "8.0.0-next-8.29", - "express": "4.22.1", - "https-proxy-agent": "5.0.1", - "node-fetch": "cjs" - }, "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "node": ">= 0.6" } }, - "node_modules/verdaccio-audit/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/verdaccio/node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/verdaccio/node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "dev": true, "license": "MIT", "dependencies": { - "debug": "4" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 0.8" } }, - "node_modules/verdaccio-audit/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "node_modules/verdaccio/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": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/verdaccio-htpasswd": { - "version": "13.0.0-next-8.29", - "resolved": "https://registry.npmjs.org/verdaccio-htpasswd/-/verdaccio-htpasswd-13.0.0-next-8.29.tgz", - "integrity": "sha512-JBYCaSTQSUws/EXOqNrh7iOyWPrGLTYSeufCS3Y6BOCJbfDiy2Nh8PbstoZn/L9ZbzUesjPPiIZ4Ou3eUaK0Mw==", + "node_modules/verdaccio/node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", "dev": true, "license": "MIT", "dependencies": { - "@verdaccio/core": "8.0.0-next-8.29", - "@verdaccio/file-locking": "13.0.0-next-8.6", - "apache-md5": "1.1.8", - "bcryptjs": "2.4.3", - "debug": "4.4.3", - "http-errors": "2.0.0", - "unix-crypt-td-js": "1.1.4" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "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/verdaccio" + "node": ">= 0.8.0" } }, - "node_modules/verdaccio-htpasswd/node_modules/@verdaccio/file-locking": { - "version": "13.0.0-next-8.6", - "resolved": "https://registry.npmjs.org/@verdaccio/file-locking/-/file-locking-13.0.0-next-8.6.tgz", - "integrity": "sha512-F6xQWvsZnEyGjugrYfe+D/ChSVudXmBFWi8xuTIX6PAdp7dk9x9biOGQFW8O3GSAK8UhJ6WlRisQKJeYRa6vWQ==", + "node_modules/verdaccio/node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { - "lockfile": "1.0.4" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/verdaccio" + "ms": "2.0.0" } }, - "node_modules/verdaccio-htpasswd/node_modules/http-errors": { + "node_modules/verdaccio/node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/verdaccio/node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/verdaccio-htpasswd/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/verdaccio/node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", "dev": true, "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8.0" } }, - "node_modules/verdaccio/node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "node_modules/verdaccio/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "license": "MIT", "dependencies": { - "object-assign": "^4", - "vary": "^1" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">= 0.10" + "node": ">= 0.6" } }, - "node_modules/verdaccio/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "node_modules/verdaccio/node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "node_modules/vite": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz", + "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", "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": { - "mime": "cli.js" + "vite": "bin/vite.js" }, "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/verdaccio/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "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" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "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/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, - "license": "MIT" - }, "node_modules/w3c-xmlserializer": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", @@ -28979,9 +32766,9 @@ } }, "node_modules/watchpack": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", - "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz", + "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==", "dev": true, "license": "MIT", "dependencies": { @@ -29020,17 +32807,31 @@ "license": "MIT", "optional": true }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "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" + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=20" + } }, "node_modules/webpack": { - "version": "5.105.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", - "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", + "version": "5.106.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.2.tgz", + "integrity": "sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==", "dev": true, "license": "MIT", "dependencies": { @@ -29040,25 +32841,24 @@ "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.15.0", + "acorn": "^8.16.0", "acorn-import-phases": "^1.0.3", "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.19.0", + "enhanced-resolve": "^5.20.0", "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.3.1", - "mime-types": "^2.1.27", + "mime-db": "^1.54.0", "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.16", + "terser-webpack-plugin": "^5.3.17", "watchpack": "^2.5.1", - "webpack-sources": "^3.3.3" + "webpack-sources": "^3.3.4" }, "bin": { "webpack": "bin/webpack.js" @@ -29107,20 +32907,20 @@ } }, "node_modules/webpack-dev-middleware/node_modules/memfs": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.56.10.tgz", - "integrity": "sha512-eLvzyrwqLHnLYalJP7YZ3wBe79MXktMdfQbvMrVD80K+NhrIukCVBvgP30zTJYEEDh9hZ/ep9z0KOdD7FSHo7w==", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.57.2.tgz", + "integrity": "sha512-2nWzSsJzrukurSDna4Z0WywuScK4Id3tSKejgu74u8KCdW4uNrseKRSIDg75C6Yw5ZRqBe0F0EtMNlTbUq8bAQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-core": "4.56.10", - "@jsonjoy.com/fs-fsa": "4.56.10", - "@jsonjoy.com/fs-node": "4.56.10", - "@jsonjoy.com/fs-node-builtins": "4.56.10", - "@jsonjoy.com/fs-node-to-fsa": "4.56.10", - "@jsonjoy.com/fs-node-utils": "4.56.10", - "@jsonjoy.com/fs-print": "4.56.10", - "@jsonjoy.com/fs-snapshot": "4.56.10", + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-fsa": "4.57.2", + "@jsonjoy.com/fs-node": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-to-fsa": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/fs-print": "4.57.2", + "@jsonjoy.com/fs-snapshot": "4.57.2", "@jsonjoy.com/json-pack": "^1.11.0", "@jsonjoy.com/util": "^1.9.0", "glob-to-regex.js": "^1.0.1", @@ -29136,33 +32936,6 @@ "tslib": "2" } }, - "node_modules/webpack-dev-middleware/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/webpack-dev-middleware/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/webpack-dev-server": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz", @@ -29203,60 +32976,228 @@ "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">= 18.12.0" + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server/node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/webpack-dev-server/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-dev-server/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-dev-server/node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } + "url": "https://opencollective.com/express" } }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/webpack-dev-server/node_modules/express/node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "side-channel": "^1.1.0" }, "engines": { - "node": ">= 8.10.0" + "node": ">=0.6" }, "funding": { - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/webpack-dev-server/node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "engines": { + "node": ">= 0.8" } }, - "node_modules/webpack-dev-server/node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "node_modules/webpack-dev-server/node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 6" } }, "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { @@ -29284,29 +33225,83 @@ } } }, - "node_modules/webpack-dev-server/node_modules/open": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", - "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "node_modules/webpack-dev-server/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "license": "MIT", "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "wsl-utils": "^0.1.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=18" - }, + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/webpack-dev-server/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server/node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "dev": true, + "license": "MIT" + }, "node_modules/webpack-dev-server/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { @@ -29316,6 +33311,22 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/webpack-dev-server/node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/webpack-dev-server/node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -29343,6 +33354,61 @@ "node": ">=18" } }, + "node_modules/webpack-dev-server/node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/webpack-dev-server/node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/webpack-dev-server/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/webpack-merge": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", @@ -29369,9 +33435,9 @@ } }, "node_modules/webpack-sources": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", - "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.4.0.tgz", + "integrity": "sha512-gHwIe1cgBvvfLeu1Yz/dcFpmHfKDVxxyqI+kzqmuxZED81z2ChxpyqPaWcNqigPywhaEke7AjSGga+kxY55gjQ==", "dev": true, "license": "MIT", "engines": { @@ -29400,6 +33466,24 @@ } } }, + "node_modules/webpack/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -29414,14 +33498,48 @@ "node": ">=8.0.0" } }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack/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": "BSD-2-Clause", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, "engines": { - "node": ">=4.0" + "node": ">=10.13.0" } }, "node_modules/websocket-driver": { @@ -29463,6 +33581,19 @@ "node": ">=12" } }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/whatwg-mimetype": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", @@ -29475,14 +33606,19 @@ } }, "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "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", + "peer": true, "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "@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": { @@ -29526,9 +33662,9 @@ "license": "MIT" }, "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "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": { @@ -29537,10 +33673,7 @@ "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=8" } }, "node_modules/wrap-ansi-cjs": { @@ -29562,6 +33695,70 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs/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-cjs/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-cjs/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/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/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -29583,19 +33780,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/write-file-atomic/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/ws": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", @@ -29634,22 +33818,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wsl-utils/node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/xml-name-validator": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", @@ -29705,32 +33873,37 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", "dev": true, "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">= 6" + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^8.0.1", + "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^7.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yargs-parser": "^22.0.0" }, "engines": { - "node": ">=12" + "node": "^20.19.0 || ^22.12.0 || >=23" } }, "node_modules/yargs-parser": { @@ -29743,6 +33916,116 @@ "node": ">=12" } }, + "node_modules/yargs/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/yargs/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/yargs/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/yargs/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/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/yargs/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/yargs/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/yargs/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/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", @@ -29803,13 +34086,13 @@ } }, "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==", + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", "dev": true, "license": "ISC", "peerDependencies": { - "zod": "^3.25 || ^4" + "zod": "^3.25.28 || ^4" } } }