From 7fe7dbf2e79c2427d9e80719add41fc35b56e427 Mon Sep 17 00:00:00 2001 From: Victor Evogor Date: Fri, 28 Nov 2025 16:45:11 +0100 Subject: [PATCH 1/3] Add nestjs-example folder --- demos/nestjs-example/.gitignore | 56 + demos/nestjs-example/.prettierrc | 4 + demos/nestjs-example/README.md | 98 + demos/nestjs-example/eslint.config.mjs | 36 + demos/nestjs-example/nest-cli.json | 8 + demos/nestjs-example/package.json | 77 + demos/nestjs-example/pnpm-lock.yaml | 7490 +++++++++++++++++ demos/nestjs-example/public/index.html | 93 + demos/nestjs-example/public/script.js | 109 + demos/nestjs-example/public/styles.css | 279 + .../nestjs-example/src/app.controller.spec.ts | 22 + demos/nestjs-example/src/app.controller.ts | 33 + demos/nestjs-example/src/app.module.ts | 23 + demos/nestjs-example/src/app.service.ts | 84 + demos/nestjs-example/src/main.ts | 8 + demos/nestjs-example/test/app.e2e-spec.ts | 25 + demos/nestjs-example/test/jest-e2e.json | 9 + demos/nestjs-example/tsconfig.build.json | 4 + demos/nestjs-example/tsconfig.json | 22 + 19 files changed, 8480 insertions(+) create mode 100644 demos/nestjs-example/.gitignore create mode 100644 demos/nestjs-example/.prettierrc create mode 100644 demos/nestjs-example/README.md create mode 100644 demos/nestjs-example/eslint.config.mjs create mode 100644 demos/nestjs-example/nest-cli.json create mode 100644 demos/nestjs-example/package.json create mode 100644 demos/nestjs-example/pnpm-lock.yaml create mode 100644 demos/nestjs-example/public/index.html create mode 100644 demos/nestjs-example/public/script.js create mode 100644 demos/nestjs-example/public/styles.css create mode 100644 demos/nestjs-example/src/app.controller.spec.ts create mode 100644 demos/nestjs-example/src/app.controller.ts create mode 100644 demos/nestjs-example/src/app.module.ts create mode 100644 demos/nestjs-example/src/app.service.ts create mode 100644 demos/nestjs-example/src/main.ts create mode 100644 demos/nestjs-example/test/app.e2e-spec.ts create mode 100644 demos/nestjs-example/test/jest-e2e.json create mode 100644 demos/nestjs-example/tsconfig.build.json create mode 100644 demos/nestjs-example/tsconfig.json diff --git a/demos/nestjs-example/.gitignore b/demos/nestjs-example/.gitignore new file mode 100644 index 0000000..4b56acf --- /dev/null +++ b/demos/nestjs-example/.gitignore @@ -0,0 +1,56 @@ +# compiled output +/dist +/node_modules +/build + +# Logs +logs +*.log +npm-debug.log* +pnpm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# OS +.DS_Store + +# Tests +/coverage +/.nyc_output + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# temp directory +.temp +.tmp + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json diff --git a/demos/nestjs-example/.prettierrc b/demos/nestjs-example/.prettierrc new file mode 100644 index 0000000..dcb7279 --- /dev/null +++ b/demos/nestjs-example/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "trailingComma": "all" +} \ No newline at end of file diff --git a/demos/nestjs-example/README.md b/demos/nestjs-example/README.md new file mode 100644 index 0000000..3ae04fd --- /dev/null +++ b/demos/nestjs-example/README.md @@ -0,0 +1,98 @@ +

+ Nest Logo +

+ +[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 +[circleci-url]: https://circleci.com/gh/nestjs/nest + +

A progressive Node.js framework for building efficient and scalable server-side applications.

+

+NPM Version +Package License +NPM Downloads +CircleCI +Discord +Backers on Open Collective +Sponsors on Open Collective + Donate us + Support us + Follow us on Twitter +

+ + +## Description + +[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. + +## Project setup + +```bash +$ pnpm install +``` + +## Compile and run the project + +```bash +# development +$ pnpm run start + +# watch mode +$ pnpm run start:dev + +# production mode +$ pnpm run start:prod +``` + +## Run tests + +```bash +# unit tests +$ pnpm run test + +# e2e tests +$ pnpm run test:e2e + +# test coverage +$ pnpm run test:cov +``` + +## Deployment + +When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information. + +If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps: + +```bash +$ pnpm install -g mau +$ mau deploy +``` + +With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure. + +## Resources + +Check out a few resources that may come in handy when working with NestJS: + +- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework. +- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy). +- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/). +- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks. +- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com). +- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com). +- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs). +- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com). + +## Support + +Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). + +## Stay in touch + +- Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec) +- Website - [https://nestjs.com](https://nestjs.com/) +- Twitter - [@nestframework](https://twitter.com/nestframework) + +## License + +Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE). diff --git a/demos/nestjs-example/eslint.config.mjs b/demos/nestjs-example/eslint.config.mjs new file mode 100644 index 0000000..b6cb3d5 --- /dev/null +++ b/demos/nestjs-example/eslint.config.mjs @@ -0,0 +1,36 @@ +// @ts-check +import eslint from '@eslint/js'; +import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; +import globals from 'globals'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + { + ignores: ['eslint.config.mjs', 'public'], + }, + eslint.configs.recommended, + ...tseslint.configs.recommendedTypeChecked, + eslintPluginPrettierRecommended, + { + languageOptions: { + globals: { + ...globals.node, + ...globals.jest, + }, + ecmaVersion: 5, + sourceType: 'module', + parserOptions: { + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, + }, + }, + { + rules: { + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-floating-promises': 'warn', + "@typescript-eslint/no-unsafe-member-access": "off", + "@typescript-eslint/no-unsafe-assignment": "off" + }, + }, +); \ No newline at end of file diff --git a/demos/nestjs-example/nest-cli.json b/demos/nestjs-example/nest-cli.json new file mode 100644 index 0000000..f9aa683 --- /dev/null +++ b/demos/nestjs-example/nest-cli.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/nest-cli", + "collection": "@nestjs/schematics", + "sourceRoot": "src", + "compilerOptions": { + "deleteOutDir": true + } +} diff --git a/demos/nestjs-example/package.json b/demos/nestjs-example/package.json new file mode 100644 index 0000000..85b33a7 --- /dev/null +++ b/demos/nestjs-example/package.json @@ -0,0 +1,77 @@ +{ + "name": "nestjs-example", + "version": "0.0.1", + "description": "", + "author": "", + "private": true, + "license": "UNLICENSED", + "scripts": { + "build": "nest build", + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", + "start": "nest start", + "start:dev": "nest start --watch", + "start:debug": "nest start --debug --watch", + "start:prod": "node dist/main", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", + "test": "jest", + "test:watch": "jest --watch", + "test:cov": "jest --coverage", + "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", + "test:e2e": "jest --config ./test/jest-e2e.json" + }, + "dependencies": { + "@nestjs/common": "^11.0.1", + "@nestjs/core": "^11.0.1", + "@nestjs/platform-express": "^11.0.1", + "@nestjs/serve-static": "^5.0.4", + "docuglean-ocr": "^1.0.0", + "reflect-metadata": "^0.2.2", + "rxjs": "^7.8.1", + "zod": "^3.25.30" + }, + "devDependencies": { + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "^9.18.0", + "@nestjs/cli": "^11.0.0", + "@nestjs/schematics": "^11.0.0", + "@nestjs/testing": "^11.0.1", + "@swc/cli": "^0.6.0", + "@swc/core": "^1.10.7", + "@types/express": "^5.0.0", + "@types/jest": "^29.5.14", + "@types/multer": "^2.0.0", + "@types/node": "^22.10.7", + "@types/supertest": "^6.0.2", + "eslint": "^9.18.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-prettier": "^5.2.2", + "globals": "^16.0.0", + "jest": "^29.7.0", + "prettier": "^3.4.2", + "source-map-support": "^0.5.21", + "supertest": "^7.0.0", + "ts-jest": "^29.2.5", + "ts-loader": "^9.5.2", + "ts-node": "^10.9.2", + "tsconfig-paths": "^4.2.0", + "typescript": "^5.7.3", + "typescript-eslint": "^8.20.0" + }, + "jest": { + "moduleFileExtensions": [ + "js", + "json", + "ts" + ], + "rootDir": "src", + "testRegex": ".*\\.spec\\.ts$", + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + }, + "collectCoverageFrom": [ + "**/*.(t|j)s" + ], + "coverageDirectory": "../coverage", + "testEnvironment": "node" + } +} diff --git a/demos/nestjs-example/pnpm-lock.yaml b/demos/nestjs-example/pnpm-lock.yaml new file mode 100644 index 0000000..14d4515 --- /dev/null +++ b/demos/nestjs-example/pnpm-lock.yaml @@ -0,0 +1,7490 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@nestjs/common': + specifier: ^11.0.1 + version: 11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': + specifier: ^11.0.1 + version: 11.1.9(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.9)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/platform-express': + specifier: ^11.0.1 + version: 11.1.9(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9) + '@nestjs/serve-static': + specifier: ^5.0.4 + version: 5.0.4(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9)(express@5.1.0) + docuglean-ocr: + specifier: ^1.0.0 + version: 1.0.0(ws@8.18.3) + reflect-metadata: + specifier: ^0.2.2 + version: 0.2.2 + rxjs: + specifier: ^7.8.1 + version: 7.8.2 + zod: + specifier: ^3.25.30 + version: 3.25.76 + devDependencies: + '@eslint/eslintrc': + specifier: ^3.2.0 + version: 3.3.1 + '@eslint/js': + specifier: ^9.18.0 + version: 9.39.1 + '@nestjs/cli': + specifier: ^11.0.0 + version: 11.0.13(@swc/cli@0.6.0(@swc/core@1.15.3)(chokidar@4.0.3))(@swc/core@1.15.3)(@types/node@22.19.1) + '@nestjs/schematics': + specifier: ^11.0.0 + version: 11.0.9(chokidar@4.0.3)(typescript@5.9.3) + '@nestjs/testing': + specifier: ^11.0.1 + version: 11.1.9(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9)(@nestjs/platform-express@11.1.9) + '@swc/cli': + specifier: ^0.6.0 + version: 0.6.0(@swc/core@1.15.3)(chokidar@4.0.3) + '@swc/core': + specifier: ^1.10.7 + version: 1.15.3 + '@types/express': + specifier: ^5.0.0 + version: 5.0.5 + '@types/jest': + specifier: ^29.5.14 + version: 29.5.14 + '@types/multer': + specifier: ^2.0.0 + version: 2.0.0 + '@types/node': + specifier: ^22.10.7 + version: 22.19.1 + '@types/supertest': + specifier: ^6.0.2 + version: 6.0.3 + eslint: + specifier: ^9.18.0 + version: 9.39.1 + eslint-config-prettier: + specifier: ^10.0.1 + version: 10.1.8(eslint@9.39.1) + eslint-plugin-prettier: + specifier: ^5.2.2 + version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(prettier@3.7.1) + globals: + specifier: ^16.0.0 + version: 16.5.0 + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)) + prettier: + specifier: ^3.4.2 + version: 3.7.1 + source-map-support: + specifier: ^0.5.21 + version: 0.5.21 + supertest: + specifier: ^7.0.0 + version: 7.1.4 + ts-jest: + specifier: ^29.2.5 + version: 29.4.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)))(typescript@5.9.3) + ts-loader: + specifier: ^9.5.2 + version: 9.5.4(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.3)) + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3) + tsconfig-paths: + specifier: ^4.2.0 + version: 4.2.0 + typescript: + specifier: ^5.7.3 + version: 5.9.3 + typescript-eslint: + specifier: ^8.20.0 + version: 8.48.0(eslint@9.39.1)(typescript@5.9.3) + +packages: + + '@angular-devkit/core@19.2.17': + resolution: {integrity: sha512-Ah008x2RJkd0F+NLKqIpA34/vUGwjlprRCkvddjDopAWRzYn6xCkz1Tqwuhn0nR1Dy47wTLKYD999TYl5ONOAQ==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + peerDependencies: + chokidar: ^4.0.0 + peerDependenciesMeta: + chokidar: + optional: true + + '@angular-devkit/core@19.2.19': + resolution: {integrity: sha512-JbLL+4IMLMBgjLZlnPG4lYDfz4zGrJ/s6Aoon321NJKuw1Kb1k5KpFu9dUY0BqLIe8xPQ2UJBpI+xXdK5MXMHQ==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + peerDependencies: + chokidar: ^4.0.0 + peerDependenciesMeta: + chokidar: + optional: true + + '@angular-devkit/schematics-cli@19.2.19': + resolution: {integrity: sha512-7q9UY6HK6sccL9F3cqGRUwKhM7b/XfD2YcVaZ2WD7VMaRlRm85v6mRjSrfKIAwxcQU0UK27kMc79NIIqaHjzxA==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + hasBin: true + + '@angular-devkit/schematics@19.2.17': + resolution: {integrity: sha512-ADfbaBsrG8mBF6Mfs+crKA/2ykB8AJI50Cv9tKmZfwcUcyAdmTr+vVvhsBCfvUAEokigSsgqgpYxfkJVxhJYeg==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + + '@angular-devkit/schematics@19.2.19': + resolution: {integrity: sha512-J4Jarr0SohdrHcb40gTL4wGPCQ952IMWF1G/MSAQfBAPvA9ZKApYhpxcY7PmehVePve+ujpus1dGsJ7dPxz8Kg==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.28.5': + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.27.1': + resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.27.1': + resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.27.1': + resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@borewit/text-codec@0.1.1': + resolution: {integrity: sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA==} + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.39.1': + resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@google/genai@1.30.0': + resolution: {integrity: sha512-3MRcgczBFbUat1wIlZoLJ0vCCfXgm7Qxjh59cZi2X08RgWLtm9hKOspzp7TOg1TV2e26/MLxR2GR5yD5GmBV2w==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@modelcontextprotocol/sdk': ^1.20.1 + peerDependenciesMeta: + '@modelcontextprotocol/sdk': + optional: true + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@inquirer/ansi@1.0.2': + resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} + engines: {node: '>=18'} + + '@inquirer/checkbox@4.3.2': + resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/confirm@5.1.21': + resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/core@10.3.2': + resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/editor@4.2.23': + resolution: {integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/expand@4.0.23': + resolution: {integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@1.0.15': + resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} + engines: {node: '>=18'} + + '@inquirer/input@4.3.1': + resolution: {integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/number@3.0.23': + resolution: {integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/password@4.0.23': + resolution: {integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/prompts@7.10.1': + resolution: {integrity: sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/prompts@7.3.2': + resolution: {integrity: sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/rawlist@4.1.11': + resolution: {integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/search@3.2.2': + resolution: {integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/select@4.4.2': + resolution: {integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/type@3.0.10': + resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@lukeed/csprng@1.1.0': + resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} + engines: {node: '>=8'} + + '@mistralai/mistralai@1.10.0': + resolution: {integrity: sha512-tdIgWs4Le8vpvPiUEWne6tK0qbVc+jMenujnvTqOjogrJUsCSQhus0tHTU1avDDh5//Rq2dFgP9mWRAdIEoBqg==} + + '@napi-rs/nice-android-arm-eabi@1.1.1': + resolution: {integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@napi-rs/nice-android-arm64@1.1.1': + resolution: {integrity: sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/nice-darwin-arm64@1.1.1': + resolution: {integrity: sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/nice-darwin-x64@1.1.1': + resolution: {integrity: sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/nice-freebsd-x64@1.1.1': + resolution: {integrity: sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@napi-rs/nice-linux-arm-gnueabihf@1.1.1': + resolution: {integrity: sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/nice-linux-arm64-gnu@1.1.1': + resolution: {integrity: sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/nice-linux-arm64-musl@1.1.1': + resolution: {integrity: sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/nice-linux-ppc64-gnu@1.1.1': + resolution: {integrity: sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==} + engines: {node: '>= 10'} + cpu: [ppc64] + os: [linux] + + '@napi-rs/nice-linux-riscv64-gnu@1.1.1': + resolution: {integrity: sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + + '@napi-rs/nice-linux-s390x-gnu@1.1.1': + resolution: {integrity: sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==} + engines: {node: '>= 10'} + cpu: [s390x] + os: [linux] + + '@napi-rs/nice-linux-x64-gnu@1.1.1': + resolution: {integrity: sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/nice-linux-x64-musl@1.1.1': + resolution: {integrity: sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/nice-openharmony-arm64@1.1.1': + resolution: {integrity: sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [openharmony] + + '@napi-rs/nice-win32-arm64-msvc@1.1.1': + resolution: {integrity: sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/nice-win32-ia32-msvc@1.1.1': + resolution: {integrity: sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@napi-rs/nice-win32-x64-msvc@1.1.1': + resolution: {integrity: sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/nice@1.1.1': + resolution: {integrity: sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==} + engines: {node: '>= 10'} + + '@nestjs/cli@11.0.13': + resolution: {integrity: sha512-cPDDahP/IPDcqraIHjUZQXPupYQDoZlBRFOjgM76vVfcVnWQ45TUaat0tgR2ptfeQG0gY2kwtm4/JYwe5xu/8A==} + engines: {node: '>= 20.11'} + hasBin: true + peerDependencies: + '@swc/cli': ^0.1.62 || ^0.3.0 || ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0 + '@swc/core': ^1.3.62 + peerDependenciesMeta: + '@swc/cli': + optional: true + '@swc/core': + optional: true + + '@nestjs/common@11.1.9': + resolution: {integrity: sha512-zDntUTReRbAThIfSp3dQZ9kKqI+LjgLp5YZN5c1bgNRDuoeLySAoZg46Bg1a+uV8TMgIRziHocglKGNzr6l+bQ==} + peerDependencies: + class-transformer: '>=0.4.1' + class-validator: '>=0.13.2' + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: + class-transformer: + optional: true + class-validator: + optional: true + + '@nestjs/core@11.1.9': + resolution: {integrity: sha512-a00B0BM4X+9z+t3UxJqIZlemIwCQdYoPKrMcM+ky4z3pkqqG1eTWexjs+YXpGObnLnjtMPVKWlcZHp3adDYvUw==} + engines: {node: '>= 20'} + peerDependencies: + '@nestjs/common': ^11.0.0 + '@nestjs/microservices': ^11.0.0 + '@nestjs/platform-express': ^11.0.0 + '@nestjs/websockets': ^11.0.0 + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: + '@nestjs/microservices': + optional: true + '@nestjs/platform-express': + optional: true + '@nestjs/websockets': + optional: true + + '@nestjs/platform-express@11.1.9': + resolution: {integrity: sha512-GVd3+0lO0mJq2m1kl9hDDnVrX3Nd4oH3oDfklz0pZEVEVS0KVSp63ufHq2Lu9cyPdSBuelJr9iPm2QQ1yX+Kmw==} + peerDependencies: + '@nestjs/common': ^11.0.0 + '@nestjs/core': ^11.0.0 + + '@nestjs/schematics@11.0.9': + resolution: {integrity: sha512-0NfPbPlEaGwIT8/TCThxLzrlz3yzDNkfRNpbL7FiplKq3w4qXpJg0JYwqgMEJnLQZm3L/L/5XjoyfJHUO3qX9g==} + peerDependencies: + typescript: '>=4.8.2' + + '@nestjs/serve-static@5.0.4': + resolution: {integrity: sha512-3kO1M9D3vsPyWPFardxIjUYeuolS58PnhCoBTkS7t3BrdZFZCKHnBZ15js+UOzOR2Q6HmD7ssGjLd0DVYVdvOw==} + peerDependencies: + '@fastify/static': ^8.0.4 + '@nestjs/common': ^11.0.2 + '@nestjs/core': ^11.0.2 + express: ^5.0.1 + fastify: ^5.2.1 + peerDependenciesMeta: + '@fastify/static': + optional: true + express: + optional: true + fastify: + optional: true + + '@nestjs/testing@11.1.9': + resolution: {integrity: sha512-UFxerBDdb0RUNxQNj25pvkvNE7/vxKhXYWBt3QuwBFnYISzRIzhVlyIqLfoV5YI3zV0m0Nn4QAn1KM0zzwfEng==} + peerDependencies: + '@nestjs/common': ^11.0.0 + '@nestjs/core': ^11.0.0 + '@nestjs/microservices': ^11.0.0 + '@nestjs/platform-express': ^11.0.0 + peerDependenciesMeta: + '@nestjs/microservices': + optional: true + '@nestjs/platform-express': + optional: true + + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nuxt/opencollective@0.4.1': + resolution: {integrity: sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ==} + engines: {node: ^14.18.0 || >=16.10.0, npm: '>=5.10.0'} + hasBin: true + + '@paralleldrive/cuid2@2.3.1': + resolution: {integrity: sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.2.9': + resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@swc/cli@0.6.0': + resolution: {integrity: sha512-Q5FsI3Cw0fGMXhmsg7c08i4EmXCrcl+WnAxb6LYOLHw4JFFC3yzmx9LaXZ7QMbA+JZXbigU2TirI7RAfO0Qlnw==} + engines: {node: '>= 16.14.0'} + hasBin: true + peerDependencies: + '@swc/core': ^1.2.66 + chokidar: ^4.0.1 + peerDependenciesMeta: + chokidar: + optional: true + + '@swc/core-darwin-arm64@1.15.3': + resolution: {integrity: sha512-AXfeQn0CvcQ4cndlIshETx6jrAM45oeUrK8YeEY6oUZU/qzz0Id0CyvlEywxkWVC81Ajpd8TQQ1fW5yx6zQWkQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.15.3': + resolution: {integrity: sha512-p68OeCz1ui+MZYG4wmfJGvcsAcFYb6Sl25H9TxWl+GkBgmNimIiRdnypK9nBGlqMZAcxngNPtnG3kEMNnvoJ2A==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.15.3': + resolution: {integrity: sha512-Nuj5iF4JteFgwrai97mUX+xUOl+rQRHqTvnvHMATL/l9xE6/TJfPBpd3hk/PVpClMXG3Uvk1MxUFOEzM1JrMYg==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.15.3': + resolution: {integrity: sha512-2Nc/s8jE6mW2EjXWxO/lyQuLKShcmTrym2LRf5Ayp3ICEMX6HwFqB1EzDhwoMa2DcUgmnZIalesq2lG3krrUNw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-arm64-musl@1.15.3': + resolution: {integrity: sha512-j4SJniZ/qaZ5g8op+p1G9K1z22s/EYGg1UXIb3+Cg4nsxEpF5uSIGEE4mHUfA70L0BR9wKT2QF/zv3vkhfpX4g==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-x64-gnu@1.15.3': + resolution: {integrity: sha512-aKttAZnz8YB1VJwPQZtyU8Uk0BfMP63iDMkvjhJzRZVgySmqt/apWSdnoIcZlUoGheBrcqbMC17GGUmur7OT5A==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-linux-x64-musl@1.15.3': + resolution: {integrity: sha512-oe8FctPu1gnUsdtGJRO2rvOUIkkIIaHqsO9xxN0bTR7dFTlPTGi2Fhk1tnvXeyAvCPxLIcwD8phzKg6wLv9yug==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-win32-arm64-msvc@1.15.3': + resolution: {integrity: sha512-L9AjzP2ZQ/Xh58e0lTRMLvEDrcJpR7GwZqAtIeNLcTK7JVE+QineSyHp0kLkO1rttCHyCy0U74kDTj0dRz6raA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.15.3': + resolution: {integrity: sha512-B8UtogMzErUPDWUoKONSVBdsgKYd58rRyv2sHJWKOIMCHfZ22FVXICR4O/VwIYtlnZ7ahERcjayBHDlBZpR0aw==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.15.3': + resolution: {integrity: sha512-SpZKMR9QBTecHeqpzJdYEfgw30Oo8b/Xl6rjSzBt1g0ZsXyy60KLXrp6IagQyfTYqNYE/caDvwtF2FPn7pomog==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.15.3': + resolution: {integrity: sha512-Qd8eBPkUFL4eAONgGjycZXj1jFCBW8Fd+xF0PzdTlBCWQIV1xnUT7B93wUANtW3KGjl3TRcOyxwSx/u/jyKw/Q==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '>=0.5.17' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/types@0.1.25': + resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} + + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + + '@tokenizer/inflate@0.2.7': + resolution: {integrity: sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg==} + engines: {node: '>=18'} + + '@tokenizer/inflate@0.3.1': + resolution: {integrity: sha512-4oeoZEBQdLdt5WmP/hx1KZ6D3/Oid/0cUb2nk4F0pTDAWy+KCH3/EnAkZF/bvckWo8I33EqBm01lIPgmgc8rCA==} + engines: {node: '>=18'} + + '@tokenizer/token@0.3.0': + resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} + + '@tsconfig/node10@1.0.12': + resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/cookiejar@2.1.5': + resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/express-serve-static-core@5.1.0': + resolution: {integrity: sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==} + + '@types/express@5.0.5': + resolution: {integrity: sha512-LuIQOcb6UmnF7C1PCFmEU1u2hmiHL43fgFQX67sN3H4Z+0Yk0Neo++mFsBjhOAuLzvlQeqAAkeDOZrJs9rzumQ==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.14': + resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/methods@1.1.4': + resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/multer@2.0.0': + resolution: {integrity: sha512-C3Z9v9Evij2yST3RSBktxP9STm6OdMc5uR1xF1SGr98uv8dUlAL2hqwrZ3GVB3uyMyiegnscEK6PGtYvNrjTjw==} + + '@types/node-fetch@2.6.13': + resolution: {integrity: sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==} + + '@types/node@18.19.130': + resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} + + '@types/node@22.19.1': + resolution: {integrity: sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==} + + '@types/qs@6.14.0': + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/send@0.17.6': + resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} + + '@types/send@1.2.1': + resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} + + '@types/serve-static@1.15.10': + resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/superagent@8.1.9': + resolution: {integrity: sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==} + + '@types/supertest@6.0.3': + resolution: {integrity: sha512-8WzXq62EXFhJ7QsH3Ocb/iKQ/Ty9ZVWnVzoTKc9tyyFRRF3a74Tk2+TLFgaFFw364Ere+npzHKEJ6ga2LzIL7w==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.35': + resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + + '@typescript-eslint/eslint-plugin@8.48.0': + resolution: {integrity: sha512-XxXP5tL1txl13YFtrECECQYeZjBZad4fyd3cFV4a19LkAY/bIp9fev3US4S5fDVV2JaYFiKAZ/GRTOLer+mbyQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.48.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/parser@8.48.0': + resolution: {integrity: sha512-jCzKdm/QK0Kg4V4IK/oMlRZlY+QOcdjv89U2NgKHZk1CYTj82/RVSx1mV/0gqCVMJ/DA+Zf/S4NBWNF8GQ+eqQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/project-service@8.48.0': + resolution: {integrity: sha512-Ne4CTZyRh1BecBf84siv42wv5vQvVmgtk8AuiEffKTUo3DrBaGYZueJSxxBZ8fjk/N3DrgChH4TOdIOwOwiqqw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/scope-manager@8.48.0': + resolution: {integrity: sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.48.0': + resolution: {integrity: sha512-WNebjBdFdyu10sR1M4OXTt2OkMd5KWIL+LLfeH9KhgP+jzfDV/LI3eXzwJ1s9+Yc0Kzo2fQCdY/OpdusCMmh6w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.48.0': + resolution: {integrity: sha512-zbeVaVqeXhhab6QNEKfK96Xyc7UQuoFWERhEnj3mLVnUWrQnv15cJNseUni7f3g557gm0e46LZ6IJ4NJVOgOpw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/types@8.48.0': + resolution: {integrity: sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.48.0': + resolution: {integrity: sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/utils@8.48.0': + resolution: {integrity: sha512-yTJO1XuGxCsSfIVt1+1UrLHtue8xz16V8apzPYI06W0HbEbEWHxHXgZaAgavIkoh+GeV6hKKd5jm0sS6OYxWXQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/visitor-keys@8.48.0': + resolution: {integrity: sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@xhmikosr/archive-type@7.1.0': + resolution: {integrity: sha512-xZEpnGplg1sNPyEgFh0zbHxqlw5dtYg6viplmWSxUj12+QjU9SKu3U/2G73a15pEjLaOqTefNSZ1fOPUOT4Xgg==} + engines: {node: '>=18'} + + '@xhmikosr/bin-check@7.1.0': + resolution: {integrity: sha512-y1O95J4mnl+6MpVmKfMYXec17hMEwE/yeCglFNdx+QvLLtP0yN4rSYcbkXnth+lElBuKKek2NbvOfOGPpUXCvw==} + engines: {node: '>=18'} + + '@xhmikosr/bin-wrapper@13.2.0': + resolution: {integrity: sha512-t9U9X0sDPRGDk5TGx4dv5xiOvniVJpXnfTuynVKwHgtib95NYEw4MkZdJqhoSiz820D9m0o6PCqOPMXz0N9fIw==} + engines: {node: '>=18'} + + '@xhmikosr/decompress-tar@8.1.0': + resolution: {integrity: sha512-m0q8x6lwxenh1CrsTby0Jrjq4vzW/QU1OLhTHMQLEdHpmjR1lgahGz++seZI0bXF3XcZw3U3xHfqZSz+JPP2Gg==} + engines: {node: '>=18'} + + '@xhmikosr/decompress-tarbz2@8.1.0': + resolution: {integrity: sha512-aCLfr3A/FWZnOu5eqnJfme1Z1aumai/WRw55pCvBP+hCGnTFrcpsuiaVN5zmWTR53a8umxncY2JuYsD42QQEbw==} + engines: {node: '>=18'} + + '@xhmikosr/decompress-targz@8.1.0': + resolution: {integrity: sha512-fhClQ2wTmzxzdz2OhSQNo9ExefrAagw93qaG1YggoIz/QpI7atSRa7eOHv4JZkpHWs91XNn8Hry3CwUlBQhfPA==} + engines: {node: '>=18'} + + '@xhmikosr/decompress-unzip@7.1.0': + resolution: {integrity: sha512-oqTYAcObqTlg8owulxFTqiaJkfv2SHsxxxz9Wg4krJAHVzGWlZsU8tAB30R6ow+aHrfv4Kub6WQ8u04NWVPUpA==} + engines: {node: '>=18'} + + '@xhmikosr/decompress@10.2.0': + resolution: {integrity: sha512-MmDBvu0+GmADyQWHolcZuIWffgfnuTo4xpr2I/Qw5Ox0gt+e1Be7oYqJM4te5ylL6mzlcoicnHVDvP27zft8tg==} + engines: {node: '>=18'} + + '@xhmikosr/downloader@15.2.0': + resolution: {integrity: sha512-lAqbig3uRGTt0sHNIM4vUG9HoM+mRl8K28WuYxyXLCUT6pyzl4Y4i0LZ3jMEsCYZ6zjPZbO9XkG91OSTd4si7g==} + engines: {node: '>=18'} + + '@xhmikosr/os-filter-obj@3.0.0': + resolution: {integrity: sha512-siPY6BD5dQ2SZPl3I0OZBHL27ZqZvLEosObsZRQ1NUB8qcxegwt0T9eKtV96JMFQpIz1elhkzqOg4c/Ri6Dp9A==} + engines: {node: ^14.14.0 || >=16.0.0} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + accepts@2.0.0: + resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} + engines: {node: '>= 0.6'} + + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + ansis@4.2.0: + resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} + engines: {node: '>=14'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + append-field@1.0.0: + resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} + + arch@3.0.0: + resolution: {integrity: sha512-AmIAC+Wtm2AU8lGfTtHsw0Y9Qtftx2YXEEtiBP10xFUtMOA+sHHx6OAddyL52mUKh1vsXQ6/w1mVDptZCyUt4Q==} + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-timsort@1.0.3: + resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + b4a@1.7.3: + resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-preset-current-node-syntax@1.2.0: + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} + peerDependencies: + '@babel/core': ^7.0.0 || ^8.0.0-0 + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + bare-events@2.8.2: + resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + baseline-browser-mapping@2.8.31: + resolution: {integrity: sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==} + hasBin: true + + bignumber.js@9.3.1: + resolution: {integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==} + + bin-version-check@5.1.0: + resolution: {integrity: sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g==} + engines: {node: '>=12'} + + bin-version@6.0.0: + resolution: {integrity: sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw==} + engines: {node: '>=12'} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + body-parser@2.2.1: + resolution: {integrity: sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==} + engines: {node: '>=18'} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.28.0: + resolution: {integrity: sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-equal-constant-time@1.0.1: + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001757: + resolution: {integrity: sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.3: + resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + comment-json@4.4.1: + resolution: {integrity: sha512-r1To31BQD5060QdkC+Iheai7gHwoSZobzunqkf2/kQ6xIAfJyrKNAFUwdKvkK7Qgu7pVTKQEa7ok7Ed3ycAJgg==} + engines: {node: '>= 6'} + + component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-disposition@1.0.1: + resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} + engines: {node: '>=18'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.2.2: + resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} + engines: {node: '>=6.6.0'} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + cookiejar@2.1.4: + resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + dedent@1.7.0: + resolution: {integrity: sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + defaults@2.0.2: + resolution: {integrity: sha512-cuIw0PImdp76AOfgkjbW4VhQODRmNNcKR73vdCH5cLd/ifj7aamfoXvYgfGkEAjNJZ3ozMIy9Gu2LutUkGEPbA==} + engines: {node: '>=16'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + dezalgo@1.0.4: + resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + docuglean-ocr@1.0.0: + resolution: {integrity: sha512-9yPzmD4lJBR2WhqVbDZpC4i+DIza2vGBVA93NG7Da8NGoJVg89azPUHaYhMO8jJQ7OzwEU/WSpx43wKR3y3Ltg==} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ecdsa-sig-formatter@1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.262: + resolution: {integrity: sha512-NlAsMteRHek05jRUxUR0a5jpjYq9ykk6+kO0yRaMi5moe7u0fVIOeQ3Y30A8dIiWFBNUoQGi1ljb1i5VtS9WQQ==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + enhanced-resolve@5.18.3: + resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} + engines: {node: '>=10.13.0'} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-plugin-prettier@5.5.4: + resolution: {integrity: sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.39.1: + resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + events-universal@1.0.1: + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + express@5.1.0: + resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} + engines: {node: '>= 18'} + + ext-list@2.2.2: + resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} + engines: {node: '>=0.10.0'} + + ext-name@5.0.0: + resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} + engines: {node: '>=4'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + file-type@20.5.0: + resolution: {integrity: sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg==} + engines: {node: '>=18'} + + file-type@21.1.0: + resolution: {integrity: sha512-boU4EHmP3JXkwDo4uhyBhTt5pPstxB6eEXKJBu2yu2l7aAMMm7QQYQEzssJmKReZYrFdFOJS8koVo6bXIBGDqA==} + engines: {node: '>=20'} + + filename-reserved-regex@3.0.0: + resolution: {integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + filenamify@6.0.0: + resolution: {integrity: sha512-vqIlNogKeyD3yzrm0yhRMQg8hOVwYcYRfjEoODd49iCprMn4HL85gK3HcykQE53EPIpX3HcAbGA5ELQv216dAQ==} + engines: {node: '>=16'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@2.1.0: + resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} + engines: {node: '>= 0.8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-versions@5.1.0: + resolution: {integrity: sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==} + engines: {node: '>=12'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + fork-ts-checker-webpack-plugin@9.1.0: + resolution: {integrity: sha512-mpafl89VFPJmhnJ1ssH+8wmM2b50n+Rew5x42NeI2U78aRWgtkEtGmctp7iT16UjquJTjorEmIfESj3DxdW84Q==} + engines: {node: '>=14.21.3'} + peerDependencies: + typescript: '>3.6.0' + webpack: ^5.11.0 + + form-data-encoder@1.7.2: + resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} + + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + engines: {node: '>= 6'} + + formdata-node@4.4.1: + resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} + engines: {node: '>= 12.20'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + formidable@3.5.4: + resolution: {integrity: sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==} + engines: {node: '>=14.0.0'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@2.0.0: + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-monkey@1.1.0: + resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gaxios@7.1.3: + resolution: {integrity: sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==} + engines: {node: '>=18'} + + gcp-metadata@8.1.2: + resolution: {integrity: sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==} + engines: {node: '>=18'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + hasBin: true + + glob@13.0.0: + resolution: {integrity: sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==} + engines: {node: 20 || >=22} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@16.5.0: + resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} + engines: {node: '>=18'} + + google-auth-library@10.5.0: + resolution: {integrity: sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w==} + engines: {node: '>=18'} + + google-logging-utils@1.1.3: + resolution: {integrity: sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==} + engines: {node: '>=14'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + got@13.0.0: + resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} + engines: {node: '>=16'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + gtoken@8.0.0: + resolution: {integrity: sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw==} + engines: {node: '>=18'} + + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + iconv-lite@0.7.0: + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + inspect-with-kind@1.0.5: + resolution: {integrity: sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + + is-promise@4.0.0: + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} + + iterare@1.2.1: + resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==} + engines: {node: '>=6'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + hasBin: true + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-bigint@1.0.0: + resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + + jwa@2.0.1: + resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} + + jws@4.0.0: + resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + load-esm@1.0.3: + resolution: {integrity: sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==} + engines: {node: '>=13.2.0'} + + loader-runner@4.3.1: + resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} + engines: {node: '>=6.11.5'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@11.2.2: + resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} + engines: {node: 20 || >=22} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + media-typer@1.1.0: + resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} + engines: {node: '>= 0.8'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + merge-descriptors@2.0.0: + resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} + engines: {node: '>=18'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} + + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} + engines: {node: 20 || >=22} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multer@2.0.2: + resolution: {integrity: sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==} + engines: {node: '>= 10.16.0'} + + mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@1.0.0: + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead + + node-emoji@1.11.0: + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-url@8.1.0: + resolution: {integrity: sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==} + engines: {node: '>=14.16'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + openai@4.104.0: + resolution: {integrity: sha512-p99EFNsA/yX6UhVO93f5kJsDRLAg+CTA2RBqdHK4RtK8u5IJw32Hyb2dTGKbnnFmnuoBv5r7Z2CURI9sGZpSuA==} + hasBin: true + peerDependencies: + ws: ^8.18.0 + zod: ^3.23.8 + peerDependenciesMeta: + ws: + optional: true + zod: + optional: true + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-scurry@2.0.1: + resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} + engines: {node: 20 || >=22} + + path-to-regexp@8.3.0: + resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + piscina@4.9.2: + resolution: {integrity: sha512-Fq0FERJWFEUpB4eSY59wSNwXD4RYqR+nR/WiEVcZW8IWfVBxJJafcgTEZDQo8k3w0sUarJ8RyVbbUF4GQ2LGbQ==} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier@3.7.1: + resolution: {integrity: sha512-RWKXE4qB3u5Z6yz7omJkjWwmTfLdcbv44jUVHC5NpfXwFGzvpQM798FGv/6WNK879tc+Cn0AAyherCl1KjbyZQ==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + + qs@6.14.0: + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@3.0.2: + resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} + engines: {node: '>= 0.10'} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + reflect-metadata@0.2.2: + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve.exports@2.0.3: + resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} + engines: {node: '>=10'} + + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + hasBin: true + + router@2.2.0: + resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} + engines: {node: '>= 18'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.3.3: + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} + engines: {node: '>= 10.13.0'} + + seek-bzip@2.0.0: + resolution: {integrity: sha512-SMguiTnYrhpLdk3PwfzHeotrcwi8bNV4iemL9tx9poR/yeaMYwB9VzR1w7b57DuWpuqR8n6oZboi0hj3AxZxQg==} + hasBin: true + + semver-regex@4.0.5: + resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} + engines: {node: '>=12'} + + semver-truncate@3.0.0: + resolution: {integrity: sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg==} + engines: {node: '>=12'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + send@1.2.0: + resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} + engines: {node: '>= 18'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-static@2.2.0: + resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} + engines: {node: '>= 18'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + sort-keys-length@1.0.1: + resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} + engines: {node: '>=0.10.0'} + + sort-keys@1.1.2: + resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + + streamx@2.23.0: + resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-dirs@3.0.0: + resolution: {integrity: sha512-I0sdgcFTfKQlUPZyAqPJmSG3HLO9rWDFnxonnIbskYNM3DwFOeTNB5KzVq3dA1GdRAc/25b5Y7UO2TQfKWw4aQ==} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strtok3@10.3.4: + resolution: {integrity: sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==} + engines: {node: '>=18'} + + superagent@10.2.3: + resolution: {integrity: sha512-y/hkYGeXAj7wUMjxRbB21g/l6aAEituGXM9Rwl4o20+SX3e8YOSV6BxFXl+dL3Uk0mjSL3kCbNkwURm8/gEDig==} + engines: {node: '>=14.18.0'} + + supertest@7.1.4: + resolution: {integrity: sha512-tjLPs7dVyqgItVFirHYqe2T+MfWc2VOBQ8QFKKbWTA3PU7liZR8zoSpAi/C1k1ilm9RsXIKYf197oap9wXGVYg==} + engines: {node: '>=14.18.0'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + symbol-observable@4.0.0: + resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} + engines: {node: '>=0.10'} + + synckit@0.11.11: + resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} + engines: {node: ^14.18.0 || >=16.0.0} + + tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} + engines: {node: '>=6'} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + + terser-webpack-plugin@5.3.14: + resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.44.1: + resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-decoder@1.2.3: + resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + token-types@6.1.1: + resolution: {integrity: sha512-kh9LVIWH5CnL63Ipf0jhlBIy0UsrMj/NJDfpsy1SqOXlLKEVyXXYrnFxFT1yOOYVGBSApeVnjPw/sBz5BfEjAQ==} + engines: {node: '>=14.16'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-jest@29.4.5: + resolution: {integrity: sha512-HO3GyiWn2qvTQA4kTgjDcXiMwYQt68a1Y8+JuLRVpdIzm+UOLSHgl/XqR4c6nzJkq5rOkjc02O2I7P7l/Yof0Q==} + engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} + hasBin: true + 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 + esbuild: '*' + jest: ^29.0.0 || ^30.0.0 + jest-util: ^29.0.0 || ^30.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/transform': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + jest-util: + optional: true + + ts-loader@9.5.4: + resolution: {integrity: sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: '*' + webpack: ^5.0.0 + + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + tsconfig-paths-webpack-plugin@4.2.0: + resolution: {integrity: sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==} + engines: {node: '>=10.13.0'} + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + type-is@2.0.1: + resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} + engines: {node: '>= 0.6'} + + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + typescript-eslint@8.48.0: + resolution: {integrity: sha512-fcKOvQD9GUn3Xw63EgiDqhvWJ5jsyZUaekl3KVpGsDJnN46WJTe3jWxtQP9lMZm1LJNkFLlTaWAxK2vUQR+cqw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true + + uid@2.0.2: + resolution: {integrity: sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==} + engines: {node: '>=8'} + + uint8array-extras@1.5.0: + resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} + engines: {node: '>=18'} + + unbzip2-stream@1.4.3: + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.1.4: + resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + watchpack@2.4.4: + resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==} + engines: {node: '>=10.13.0'} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + web-streams-polyfill@4.0.0-beta.3: + resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} + engines: {node: '>= 14'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webpack-node-externals@3.0.0: + resolution: {integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==} + engines: {node: '>=6'} + + webpack-sources@3.3.3: + resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} + engines: {node: '>=10.13.0'} + + webpack@5.103.0: + resolution: {integrity: sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yauzl@3.2.0: + resolution: {integrity: sha512-Ow9nuGZE+qp1u4JIPvg+uCiUr7xGQWdff7JQSk5VGYTAZMDe2q8lxJ10ygv10qmSj031Ty/6FNJpLO4o1Sgc+w==} + engines: {node: '>=12'} + + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yoctocolors-cjs@2.1.3: + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} + engines: {node: '>=18'} + + zod-to-json-schema@3.25.0: + resolution: {integrity: sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==} + peerDependencies: + zod: ^3.25 || ^4 + + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + +snapshots: + + '@angular-devkit/core@19.2.17(chokidar@4.0.3)': + dependencies: + ajv: 8.17.1 + ajv-formats: 3.0.1(ajv@8.17.1) + jsonc-parser: 3.3.1 + picomatch: 4.0.2 + rxjs: 7.8.1 + source-map: 0.7.4 + optionalDependencies: + chokidar: 4.0.3 + + '@angular-devkit/core@19.2.19(chokidar@4.0.3)': + dependencies: + ajv: 8.17.1 + ajv-formats: 3.0.1(ajv@8.17.1) + jsonc-parser: 3.3.1 + picomatch: 4.0.2 + rxjs: 7.8.1 + source-map: 0.7.4 + optionalDependencies: + chokidar: 4.0.3 + + '@angular-devkit/schematics-cli@19.2.19(@types/node@22.19.1)(chokidar@4.0.3)': + dependencies: + '@angular-devkit/core': 19.2.19(chokidar@4.0.3) + '@angular-devkit/schematics': 19.2.19(chokidar@4.0.3) + '@inquirer/prompts': 7.3.2(@types/node@22.19.1) + ansi-colors: 4.1.3 + symbol-observable: 4.0.0 + yargs-parser: 21.1.1 + transitivePeerDependencies: + - '@types/node' + - chokidar + + '@angular-devkit/schematics@19.2.17(chokidar@4.0.3)': + dependencies: + '@angular-devkit/core': 19.2.17(chokidar@4.0.3) + jsonc-parser: 3.3.1 + magic-string: 0.30.17 + ora: 5.4.1 + rxjs: 7.8.1 + transitivePeerDependencies: + - chokidar + + '@angular-devkit/schematics@19.2.19(chokidar@4.0.3)': + dependencies: + '@angular-devkit/core': 19.2.19(chokidar@4.0.3) + jsonc-parser: 3.3.1 + magic-string: 0.30.17 + ora: 5.4.1 + rxjs: 7.8.1 + transitivePeerDependencies: + - chokidar + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.28.5': {} + + '@babel/core@7.28.5': + 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/core@7.28.5) + '@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.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.28.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + + '@babel/parser@7.28.5': + dependencies: + '@babel/types': 7.28.5 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + + '@babel/traverse@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@bcoe/v8-coverage@0.2.3': {} + + '@borewit/text-codec@0.1.1': {} + + '@colors/colors@1.5.0': + optional: true + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1)': + dependencies: + eslint: 9.39.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.21.1': + dependencies: + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.4.2': + dependencies: + '@eslint/core': 0.17.0 + + '@eslint/core@0.17.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.1': + dependencies: + ajv: 6.12.6 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.39.1': {} + + '@eslint/object-schema@2.1.7': {} + + '@eslint/plugin-kit@0.4.1': + dependencies: + '@eslint/core': 0.17.0 + levn: 0.4.1 + + '@google/genai@1.30.0': + dependencies: + google-auth-library: 10.5.0 + ws: 8.18.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@inquirer/ansi@1.0.2': {} + + '@inquirer/checkbox@4.3.2(@types/node@22.19.1)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@22.19.1) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@22.19.1) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/confirm@5.1.21(@types/node@22.19.1)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@22.19.1) + '@inquirer/type': 3.0.10(@types/node@22.19.1) + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/core@10.3.2(@types/node@22.19.1)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@22.19.1) + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/editor@4.2.23(@types/node@22.19.1)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@22.19.1) + '@inquirer/external-editor': 1.0.3(@types/node@22.19.1) + '@inquirer/type': 3.0.10(@types/node@22.19.1) + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/expand@4.0.23(@types/node@22.19.1)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@22.19.1) + '@inquirer/type': 3.0.10(@types/node@22.19.1) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/external-editor@1.0.3(@types/node@22.19.1)': + dependencies: + chardet: 2.1.1 + iconv-lite: 0.7.0 + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/figures@1.0.15': {} + + '@inquirer/input@4.3.1(@types/node@22.19.1)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@22.19.1) + '@inquirer/type': 3.0.10(@types/node@22.19.1) + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/number@3.0.23(@types/node@22.19.1)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@22.19.1) + '@inquirer/type': 3.0.10(@types/node@22.19.1) + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/password@4.0.23(@types/node@22.19.1)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@22.19.1) + '@inquirer/type': 3.0.10(@types/node@22.19.1) + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/prompts@7.10.1(@types/node@22.19.1)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@22.19.1) + '@inquirer/confirm': 5.1.21(@types/node@22.19.1) + '@inquirer/editor': 4.2.23(@types/node@22.19.1) + '@inquirer/expand': 4.0.23(@types/node@22.19.1) + '@inquirer/input': 4.3.1(@types/node@22.19.1) + '@inquirer/number': 3.0.23(@types/node@22.19.1) + '@inquirer/password': 4.0.23(@types/node@22.19.1) + '@inquirer/rawlist': 4.1.11(@types/node@22.19.1) + '@inquirer/search': 3.2.2(@types/node@22.19.1) + '@inquirer/select': 4.4.2(@types/node@22.19.1) + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/prompts@7.3.2(@types/node@22.19.1)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@22.19.1) + '@inquirer/confirm': 5.1.21(@types/node@22.19.1) + '@inquirer/editor': 4.2.23(@types/node@22.19.1) + '@inquirer/expand': 4.0.23(@types/node@22.19.1) + '@inquirer/input': 4.3.1(@types/node@22.19.1) + '@inquirer/number': 3.0.23(@types/node@22.19.1) + '@inquirer/password': 4.0.23(@types/node@22.19.1) + '@inquirer/rawlist': 4.1.11(@types/node@22.19.1) + '@inquirer/search': 3.2.2(@types/node@22.19.1) + '@inquirer/select': 4.4.2(@types/node@22.19.1) + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/rawlist@4.1.11(@types/node@22.19.1)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@22.19.1) + '@inquirer/type': 3.0.10(@types/node@22.19.1) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/search@3.2.2(@types/node@22.19.1)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@22.19.1) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@22.19.1) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/select@4.4.2(@types/node@22.19.1)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@22.19.1) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@22.19.1) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 22.19.1 + + '@inquirer/type@3.0.10(@types/node@22.19.1)': + optionalDependencies: + '@types/node': 22.19.1 + + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.2 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/console@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.19.1 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.19.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.19.1 + jest-mock: 29.7.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/expect@29.7.0': + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 22.19.1 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + '@jest/globals@29.7.0': + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/reporters@29.7.0': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.31 + '@types/node': 22.19.1 + chalk: 4.1.2 + collect-v8-coverage: 1.0.3 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.2.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.3.0 + transitivePeerDependencies: + - supports-color + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/source-map@29.6.3': + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + callsites: 3.1.0 + graceful-fs: 4.2.11 + + '@jest/test-result@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.3 + + '@jest/test-sequencer@29.7.0': + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.28.5 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.31 + babel-plugin-istanbul: 6.1.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: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.7 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.19.1 + '@types/yargs': 17.0.35 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@lukeed/csprng@1.1.0': {} + + '@mistralai/mistralai@1.10.0': + dependencies: + zod: 3.25.76 + zod-to-json-schema: 3.25.0(zod@3.25.76) + + '@napi-rs/nice-android-arm-eabi@1.1.1': + optional: true + + '@napi-rs/nice-android-arm64@1.1.1': + optional: true + + '@napi-rs/nice-darwin-arm64@1.1.1': + optional: true + + '@napi-rs/nice-darwin-x64@1.1.1': + optional: true + + '@napi-rs/nice-freebsd-x64@1.1.1': + optional: true + + '@napi-rs/nice-linux-arm-gnueabihf@1.1.1': + optional: true + + '@napi-rs/nice-linux-arm64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-arm64-musl@1.1.1': + optional: true + + '@napi-rs/nice-linux-ppc64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-riscv64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-s390x-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-x64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-x64-musl@1.1.1': + optional: true + + '@napi-rs/nice-openharmony-arm64@1.1.1': + optional: true + + '@napi-rs/nice-win32-arm64-msvc@1.1.1': + optional: true + + '@napi-rs/nice-win32-ia32-msvc@1.1.1': + optional: true + + '@napi-rs/nice-win32-x64-msvc@1.1.1': + optional: true + + '@napi-rs/nice@1.1.1': + 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 + optional: true + + '@nestjs/cli@11.0.13(@swc/cli@0.6.0(@swc/core@1.15.3)(chokidar@4.0.3))(@swc/core@1.15.3)(@types/node@22.19.1)': + dependencies: + '@angular-devkit/core': 19.2.19(chokidar@4.0.3) + '@angular-devkit/schematics': 19.2.19(chokidar@4.0.3) + '@angular-devkit/schematics-cli': 19.2.19(@types/node@22.19.1)(chokidar@4.0.3) + '@inquirer/prompts': 7.10.1(@types/node@22.19.1) + '@nestjs/schematics': 11.0.9(chokidar@4.0.3)(typescript@5.9.3) + ansis: 4.2.0 + chokidar: 4.0.3 + cli-table3: 0.6.5 + commander: 4.1.1 + fork-ts-checker-webpack-plugin: 9.1.0(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.3)) + glob: 13.0.0 + node-emoji: 1.11.0 + ora: 5.4.1 + tsconfig-paths: 4.2.0 + tsconfig-paths-webpack-plugin: 4.2.0 + typescript: 5.9.3 + webpack: 5.103.0(@swc/core@1.15.3) + webpack-node-externals: 3.0.0 + optionalDependencies: + '@swc/cli': 0.6.0(@swc/core@1.15.3)(chokidar@4.0.3) + '@swc/core': 1.15.3 + transitivePeerDependencies: + - '@types/node' + - esbuild + - uglify-js + - webpack-cli + + '@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2)': + dependencies: + file-type: 21.1.0 + iterare: 1.2.1 + load-esm: 1.0.3 + reflect-metadata: 0.2.2 + rxjs: 7.8.2 + tslib: 2.8.1 + uid: 2.0.2 + transitivePeerDependencies: + - supports-color + + '@nestjs/core@11.1.9(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.9)(reflect-metadata@0.2.2)(rxjs@7.8.2)': + dependencies: + '@nestjs/common': 11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nuxt/opencollective': 0.4.1 + fast-safe-stringify: 2.1.1 + iterare: 1.2.1 + path-to-regexp: 8.3.0 + reflect-metadata: 0.2.2 + rxjs: 7.8.2 + tslib: 2.8.1 + uid: 2.0.2 + optionalDependencies: + '@nestjs/platform-express': 11.1.9(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9) + + '@nestjs/platform-express@11.1.9(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9)': + dependencies: + '@nestjs/common': 11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.9(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.9)(reflect-metadata@0.2.2)(rxjs@7.8.2) + cors: 2.8.5 + express: 5.1.0 + multer: 2.0.2 + path-to-regexp: 8.3.0 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@nestjs/schematics@11.0.9(chokidar@4.0.3)(typescript@5.9.3)': + dependencies: + '@angular-devkit/core': 19.2.17(chokidar@4.0.3) + '@angular-devkit/schematics': 19.2.17(chokidar@4.0.3) + comment-json: 4.4.1 + jsonc-parser: 3.3.1 + pluralize: 8.0.0 + typescript: 5.9.3 + transitivePeerDependencies: + - chokidar + + '@nestjs/serve-static@5.0.4(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9)(express@5.1.0)': + dependencies: + '@nestjs/common': 11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.9(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.9)(reflect-metadata@0.2.2)(rxjs@7.8.2) + path-to-regexp: 8.3.0 + optionalDependencies: + express: 5.1.0 + + '@nestjs/testing@11.1.9(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9)(@nestjs/platform-express@11.1.9)': + dependencies: + '@nestjs/common': 11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.9(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.9)(reflect-metadata@0.2.2)(rxjs@7.8.2) + tslib: 2.8.1 + optionalDependencies: + '@nestjs/platform-express': 11.1.9(@nestjs/common@11.1.9(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9) + + '@noble/hashes@1.8.0': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@nuxt/opencollective@0.4.1': + dependencies: + consola: 3.4.2 + + '@paralleldrive/cuid2@2.3.1': + dependencies: + '@noble/hashes': 1.8.0 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.2.9': {} + + '@sinclair/typebox@0.27.8': {} + + '@sindresorhus/is@5.6.0': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@swc/cli@0.6.0(@swc/core@1.15.3)(chokidar@4.0.3)': + dependencies: + '@swc/core': 1.15.3 + '@swc/counter': 0.1.3 + '@xhmikosr/bin-wrapper': 13.2.0 + commander: 8.3.0 + fast-glob: 3.3.3 + minimatch: 9.0.5 + piscina: 4.9.2 + semver: 7.7.3 + slash: 3.0.0 + source-map: 0.7.6 + optionalDependencies: + chokidar: 4.0.3 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + + '@swc/core-darwin-arm64@1.15.3': + optional: true + + '@swc/core-darwin-x64@1.15.3': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.15.3': + optional: true + + '@swc/core-linux-arm64-gnu@1.15.3': + optional: true + + '@swc/core-linux-arm64-musl@1.15.3': + optional: true + + '@swc/core-linux-x64-gnu@1.15.3': + optional: true + + '@swc/core-linux-x64-musl@1.15.3': + optional: true + + '@swc/core-win32-arm64-msvc@1.15.3': + optional: true + + '@swc/core-win32-ia32-msvc@1.15.3': + optional: true + + '@swc/core-win32-x64-msvc@1.15.3': + optional: true + + '@swc/core@1.15.3': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.25 + optionalDependencies: + '@swc/core-darwin-arm64': 1.15.3 + '@swc/core-darwin-x64': 1.15.3 + '@swc/core-linux-arm-gnueabihf': 1.15.3 + '@swc/core-linux-arm64-gnu': 1.15.3 + '@swc/core-linux-arm64-musl': 1.15.3 + '@swc/core-linux-x64-gnu': 1.15.3 + '@swc/core-linux-x64-musl': 1.15.3 + '@swc/core-win32-arm64-msvc': 1.15.3 + '@swc/core-win32-ia32-msvc': 1.15.3 + '@swc/core-win32-x64-msvc': 1.15.3 + + '@swc/counter@0.1.3': {} + + '@swc/types@0.1.25': + dependencies: + '@swc/counter': 0.1.3 + + '@szmarczak/http-timer@5.0.1': + dependencies: + defer-to-connect: 2.0.1 + + '@tokenizer/inflate@0.2.7': + dependencies: + debug: 4.4.3 + fflate: 0.8.2 + token-types: 6.1.1 + transitivePeerDependencies: + - supports-color + + '@tokenizer/inflate@0.3.1': + dependencies: + debug: 4.4.3 + fflate: 0.8.2 + token-types: 6.1.1 + transitivePeerDependencies: + - supports-color + + '@tokenizer/token@0.3.0': {} + + '@tsconfig/node10@1.0.12': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.28.5 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.28.5 + + '@types/body-parser@1.19.6': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 22.19.1 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 22.19.1 + + '@types/cookiejar@2.1.5': {} + + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.8 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + + '@types/estree@1.0.8': {} + + '@types/express-serve-static-core@5.1.0': + dependencies: + '@types/node': 22.19.1 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 1.2.1 + + '@types/express@5.0.5': + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 5.1.0 + '@types/serve-static': 1.15.10 + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 22.19.1 + + '@types/http-cache-semantics@4.0.4': {} + + '@types/http-errors@2.0.5': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.14': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/json-schema@7.0.15': {} + + '@types/methods@1.1.4': {} + + '@types/mime@1.3.5': {} + + '@types/multer@2.0.0': + dependencies: + '@types/express': 5.0.5 + + '@types/node-fetch@2.6.13': + dependencies: + '@types/node': 22.19.1 + form-data: 4.0.5 + + '@types/node@18.19.130': + dependencies: + undici-types: 5.26.5 + + '@types/node@22.19.1': + dependencies: + undici-types: 6.21.0 + + '@types/qs@6.14.0': {} + + '@types/range-parser@1.2.7': {} + + '@types/send@0.17.6': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 22.19.1 + + '@types/send@1.2.1': + dependencies: + '@types/node': 22.19.1 + + '@types/serve-static@1.15.10': + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 22.19.1 + '@types/send': 0.17.6 + + '@types/stack-utils@2.0.3': {} + + '@types/superagent@8.1.9': + dependencies: + '@types/cookiejar': 2.1.5 + '@types/methods': 1.1.4 + '@types/node': 22.19.1 + form-data: 4.0.5 + + '@types/supertest@6.0.3': + dependencies: + '@types/methods': 1.1.4 + '@types/superagent': 8.1.9 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.35': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@typescript-eslint/eslint-plugin@8.48.0(@typescript-eslint/parser@8.48.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.48.0(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.48.0 + '@typescript-eslint/type-utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.48.0 + eslint: 9.39.1 + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.48.0(eslint@9.39.1)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.48.0 + '@typescript-eslint/types': 8.48.0 + '@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.48.0 + debug: 4.4.3 + eslint: 9.39.1 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.48.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.48.0(typescript@5.9.3) + '@typescript-eslint/types': 8.48.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.48.0': + dependencies: + '@typescript-eslint/types': 8.48.0 + '@typescript-eslint/visitor-keys': 8.48.0 + + '@typescript-eslint/tsconfig-utils@8.48.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.48.0(eslint@9.39.1)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.48.0 + '@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.39.1 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.48.0': {} + + '@typescript-eslint/typescript-estree@8.48.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.48.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.48.0(typescript@5.9.3) + '@typescript-eslint/types': 8.48.0 + '@typescript-eslint/visitor-keys': 8.48.0 + debug: 4.4.3 + minimatch: 9.0.5 + semver: 7.7.3 + tinyglobby: 0.2.15 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.48.0(eslint@9.39.1)(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) + '@typescript-eslint/scope-manager': 8.48.0 + '@typescript-eslint/types': 8.48.0 + '@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3) + eslint: 9.39.1 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.48.0': + dependencies: + '@typescript-eslint/types': 8.48.0 + eslint-visitor-keys: 4.2.1 + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@xhmikosr/archive-type@7.1.0': + dependencies: + file-type: 20.5.0 + transitivePeerDependencies: + - supports-color + + '@xhmikosr/bin-check@7.1.0': + dependencies: + execa: 5.1.1 + isexe: 2.0.0 + + '@xhmikosr/bin-wrapper@13.2.0': + dependencies: + '@xhmikosr/bin-check': 7.1.0 + '@xhmikosr/downloader': 15.2.0 + '@xhmikosr/os-filter-obj': 3.0.0 + bin-version-check: 5.1.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + + '@xhmikosr/decompress-tar@8.1.0': + dependencies: + file-type: 20.5.0 + is-stream: 2.0.1 + tar-stream: 3.1.7 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + + '@xhmikosr/decompress-tarbz2@8.1.0': + dependencies: + '@xhmikosr/decompress-tar': 8.1.0 + file-type: 20.5.0 + is-stream: 2.0.1 + seek-bzip: 2.0.0 + unbzip2-stream: 1.4.3 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + + '@xhmikosr/decompress-targz@8.1.0': + dependencies: + '@xhmikosr/decompress-tar': 8.1.0 + file-type: 20.5.0 + is-stream: 2.0.1 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + + '@xhmikosr/decompress-unzip@7.1.0': + dependencies: + file-type: 20.5.0 + get-stream: 6.0.1 + yauzl: 3.2.0 + transitivePeerDependencies: + - supports-color + + '@xhmikosr/decompress@10.2.0': + dependencies: + '@xhmikosr/decompress-tar': 8.1.0 + '@xhmikosr/decompress-tarbz2': 8.1.0 + '@xhmikosr/decompress-targz': 8.1.0 + '@xhmikosr/decompress-unzip': 7.1.0 + graceful-fs: 4.2.11 + strip-dirs: 3.0.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + + '@xhmikosr/downloader@15.2.0': + dependencies: + '@xhmikosr/archive-type': 7.1.0 + '@xhmikosr/decompress': 10.2.0 + content-disposition: 0.5.4 + defaults: 2.0.2 + ext-name: 5.0.0 + file-type: 20.5.0 + filenamify: 6.0.0 + get-stream: 6.0.1 + got: 13.0.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + + '@xhmikosr/os-filter-obj@3.0.0': + dependencies: + arch: 3.0.0 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + accepts@2.0.0: + dependencies: + mime-types: 3.0.2 + negotiator: 1.0.0 + + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + agent-base@7.1.4: {} + + agentkeepalive@4.6.0: + dependencies: + humanize-ms: 1.2.1 + + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-formats@3.0.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-colors@4.1.3: {} + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.3: {} + + ansis@4.2.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + append-field@1.0.0: {} + + arch@3.0.0: {} + + arg@4.1.3: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-timsort@1.0.3: {} + + asap@2.0.6: {} + + asynckit@0.4.0: {} + + b4a@1.7.3: {} + + babel-jest@29.7.0(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.28.5) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.27.1 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.28.0 + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.5) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.5) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.5) + + babel-preset-jest@29.6.3(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) + + balanced-match@1.0.2: {} + + bare-events@2.8.2: {} + + base64-js@1.5.1: {} + + baseline-browser-mapping@2.8.31: {} + + bignumber.js@9.3.1: {} + + bin-version-check@5.1.0: + dependencies: + bin-version: 6.0.0 + semver: 7.7.3 + semver-truncate: 3.0.0 + + bin-version@6.0.0: + dependencies: + execa: 5.1.1 + find-versions: 5.1.0 + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + body-parser@2.2.1: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 4.4.3 + http-errors: 2.0.1 + iconv-lite: 0.7.0 + on-finished: 2.4.1 + qs: 6.14.0 + raw-body: 3.0.2 + type-is: 2.0.1 + transitivePeerDependencies: + - supports-color + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.28.0: + dependencies: + baseline-browser-mapping: 2.8.31 + caniuse-lite: 1.0.30001757 + electron-to-chromium: 1.5.262 + node-releases: 2.0.27 + update-browserslist-db: 1.1.4(browserslist@4.28.0) + + bs-logger@0.2.6: + dependencies: + fast-json-stable-stringify: 2.1.0 + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-crc32@0.2.13: {} + + buffer-equal-constant-time@1.0.1: {} + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + busboy@1.6.0: + dependencies: + streamsearch: 1.1.0 + + bytes@3.1.2: {} + + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: + dependencies: + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.2.0 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.1.0 + responselike: 3.0.0 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001757: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + char-regex@1.0.2: {} + + chardet@2.1.1: {} + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + chrome-trace-event@1.0.4: {} + + ci-info@3.9.0: {} + + cjs-module-lexer@1.4.3: {} + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-spinners@2.9.2: {} + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + + cli-width@4.1.0: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone@1.0.4: {} + + co@4.6.0: {} + + collect-v8-coverage@1.0.3: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@2.20.3: {} + + commander@4.1.1: {} + + commander@6.2.1: {} + + commander@8.3.0: {} + + comment-json@4.4.1: + dependencies: + array-timsort: 1.0.3 + core-util-is: 1.0.3 + esprima: 4.0.1 + + component-emitter@1.3.1: {} + + concat-map@0.0.1: {} + + concat-stream@2.0.0: + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + + consola@3.4.2: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-disposition@1.0.1: {} + + content-type@1.0.5: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.2.2: {} + + cookie@0.7.2: {} + + cookiejar@2.1.4: {} + + core-util-is@1.0.3: {} + + cors@2.8.5: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + + cosmiconfig@8.3.6(typescript@5.9.3): + dependencies: + import-fresh: 3.3.1 + js-yaml: 4.1.1 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.9.3 + + create-jest@29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + create-require@1.1.1: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + data-uri-to-buffer@4.0.1: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + dedent@1.7.0: {} + + deep-is@0.1.4: {} + + deepmerge@4.3.1: {} + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + defaults@2.0.2: {} + + defer-to-connect@2.0.1: {} + + delayed-stream@1.0.0: {} + + depd@2.0.0: {} + + detect-newline@3.1.0: {} + + dezalgo@1.0.4: + dependencies: + asap: 2.0.6 + wrappy: 1.0.2 + + diff-sequences@29.6.3: {} + + diff@4.0.2: {} + + docuglean-ocr@1.0.0(ws@8.18.3): + dependencies: + '@google/genai': 1.30.0 + '@mistralai/mistralai': 1.10.0 + openai: 4.104.0(ws@8.18.3)(zod@3.25.76) + zod: 3.25.76 + transitivePeerDependencies: + - '@modelcontextprotocol/sdk' + - bufferutil + - encoding + - supports-color + - utf-8-validate + - ws + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + ecdsa-sig-formatter@1.0.11: + dependencies: + safe-buffer: 5.2.1 + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.262: {} + + emittery@0.13.1: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + encodeurl@2.0.0: {} + + enhanced-resolve@5.18.3: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.0 + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@1.7.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + eslint-config-prettier@10.1.8(eslint@9.39.1): + dependencies: + eslint: 9.39.1 + + eslint-plugin-prettier@5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(prettier@3.7.1): + dependencies: + eslint: 9.39.1 + prettier: 3.7.1 + prettier-linter-helpers: 1.0.0 + synckit: 0.11.11 + optionalDependencies: + '@types/eslint': 9.6.1 + eslint-config-prettier: 10.1.8(eslint@9.39.1) + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint@9.39.1: + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.39.1 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + etag@1.8.1: {} + + event-target-shim@5.0.1: {} + + events-universal@1.0.1: + dependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - bare-abort-controller + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit@0.1.2: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + express@5.1.0: + dependencies: + accepts: 2.0.0 + body-parser: 2.2.1 + content-disposition: 1.0.1 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.2.2 + debug: 4.4.3 + 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.1 + merge-descriptors: 2.0.0 + mime-types: 3.0.2 + 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.2.0 + serve-static: 2.2.0 + statuses: 2.0.2 + type-is: 2.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + ext-list@2.2.2: + dependencies: + mime-db: 1.54.0 + + ext-name@5.0.0: + dependencies: + ext-list: 2.2.2 + sort-keys-length: 1.0.1 + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-fifo@1.3.2: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-safe-stringify@2.1.1: {} + + fast-uri@3.1.0: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + + fflate@0.8.2: {} + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + file-type@20.5.0: + dependencies: + '@tokenizer/inflate': 0.2.7 + strtok3: 10.3.4 + token-types: 6.1.1 + uint8array-extras: 1.5.0 + transitivePeerDependencies: + - supports-color + + file-type@21.1.0: + dependencies: + '@tokenizer/inflate': 0.3.1 + strtok3: 10.3.4 + token-types: 6.1.1 + uint8array-extras: 1.5.0 + transitivePeerDependencies: + - supports-color + + filename-reserved-regex@3.0.0: {} + + filenamify@6.0.0: + dependencies: + filename-reserved-regex: 3.0.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@2.1.0: + dependencies: + debug: 4.4.3 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-versions@5.1.0: + dependencies: + semver-regex: 4.0.5 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flatted@3.3.3: {} + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + fork-ts-checker-webpack-plugin@9.1.0(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.3)): + dependencies: + '@babel/code-frame': 7.27.1 + chalk: 4.1.2 + chokidar: 4.0.3 + cosmiconfig: 8.3.6(typescript@5.9.3) + deepmerge: 4.3.1 + fs-extra: 10.1.0 + memfs: 3.5.3 + minimatch: 3.1.2 + node-abort-controller: 3.1.1 + schema-utils: 3.3.0 + semver: 7.7.3 + tapable: 2.3.0 + typescript: 5.9.3 + webpack: 5.103.0(@swc/core@1.15.3) + + form-data-encoder@1.7.2: {} + + form-data-encoder@2.1.4: {} + + form-data@4.0.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + + formdata-node@4.4.1: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 4.0.0-beta.3 + + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + + formidable@3.5.4: + dependencies: + '@paralleldrive/cuid2': 2.3.1 + dezalgo: 1.0.4 + once: 1.4.0 + + forwarded@0.2.0: {} + + fresh@2.0.0: {} + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + + fs-monkey@1.1.0: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gaxios@7.1.3: + dependencies: + extend: 3.0.2 + https-proxy-agent: 7.0.6 + node-fetch: 3.3.2 + rimraf: 5.0.10 + transitivePeerDependencies: + - supports-color + + gcp-metadata@8.1.2: + dependencies: + gaxios: 7.1.3 + google-logging-utils: 1.1.3 + json-bigint: 1.0.0 + transitivePeerDependencies: + - supports-color + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-package-type@0.1.0: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@6.0.1: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@10.5.0: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@13.0.0: + dependencies: + minimatch: 10.1.1 + minipass: 7.1.2 + path-scurry: 2.0.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@14.0.0: {} + + globals@16.5.0: {} + + google-auth-library@10.5.0: + dependencies: + base64-js: 1.5.1 + ecdsa-sig-formatter: 1.0.11 + gaxios: 7.1.3 + gcp-metadata: 8.1.2 + google-logging-utils: 1.1.3 + gtoken: 8.0.0 + jws: 4.0.0 + transitivePeerDependencies: + - supports-color + + google-logging-utils@1.1.3: {} + + gopd@1.2.0: {} + + got@13.0.0: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + gtoken@8.0.0: + dependencies: + gaxios: 7.1.3 + jws: 4.0.0 + transitivePeerDependencies: + - supports-color + + handlebars@4.7.8: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 + + has-flag@4.0.0: {} + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + html-escaper@2.0.2: {} + + http-cache-semantics@4.2.0: {} + + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + + http2-wrapper@2.2.1: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + + iconv-lite@0.7.0: + dependencies: + safer-buffer: 2.1.2 + + ieee754@1.2.1: {} + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + inspect-with-kind@1.0.5: + dependencies: + kind-of: 6.0.3 + + ipaddr.js@1.9.1: {} + + is-arrayish@0.2.1: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-fn@2.1.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-interactive@1.0.0: {} + + is-number@7.0.0: {} + + is-plain-obj@1.1.0: {} + + is-promise@4.0.0: {} + + is-stream@2.0.1: {} + + is-unicode-supported@0.1.0: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.28.5 + '@babel/parser': 7.28.5 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-instrument@6.0.3: + dependencies: + '@babel/core': 7.28.5 + '@babel/parser': 7.28.5 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.7.3 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.4.3 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.2.0: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + iterare@1.2.1: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jest-changed-files@29.7.0: + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + + jest-circus@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.19.1 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.7.0 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)) + exit: 0.1.2 + import-local: 3.2.0 + jest-config: 29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-config@29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)): + dependencies: + '@babel/core': 7.28.5 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.28.5) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 22.19.1 + ts-node: 10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-docblock@29.7.0: + dependencies: + detect-newline: 3.1.0 + + jest-each@29.7.0: + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.19.1 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-haste-map@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 22.19.1 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-leak-detector@29.7.0: + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.27.1 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.19.1 + jest-util: 29.7.0 + + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + optionalDependencies: + jest-resolve: 29.7.0 + + jest-regex-util@29.6.3: {} + + jest-resolve-dependencies@29.7.0: + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + jest-resolve@29.7.0: + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.11 + resolve.exports: 2.0.3 + slash: 3.0.0 + + jest-runner@29.7.0: + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.19.1 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + + jest-runtime@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.19.1 + chalk: 4.1.2 + cjs-module-lexer: 1.4.3 + collect-v8-coverage: 1.0.3 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-snapshot@29.7.0: + dependencies: + '@babel/core': 7.28.5 + '@babel/generator': 7.28.5 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) + '@babel/types': 7.28.5 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.7.3 + transitivePeerDependencies: + - supports-color + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.19.1 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + jest-watcher@29.7.0: + dependencies: + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.19.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + + jest-worker@27.5.1: + dependencies: + '@types/node': 22.19.1 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@29.7.0: + dependencies: + '@types/node': 22.19.1 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)) + '@jest/types': 29.6.3 + import-local: 3.2.0 + jest-cli: 29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + js-tokens@4.0.0: {} + + js-yaml@3.14.2: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + + jsesc@3.1.0: {} + + json-bigint@1.0.0: + dependencies: + bignumber.js: 9.3.1 + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@2.2.3: {} + + jsonc-parser@3.3.1: {} + + jsonfile@6.2.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jwa@2.0.1: + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + + jws@4.0.0: + dependencies: + jwa: 2.0.1 + safe-buffer: 5.2.1 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@6.0.3: {} + + kleur@3.0.3: {} + + leven@3.1.0: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lines-and-columns@1.2.4: {} + + load-esm@1.0.3: {} + + loader-runner@4.3.1: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.memoize@4.1.2: {} + + lodash.merge@4.6.2: {} + + lodash@4.17.21: {} + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + lowercase-keys@3.0.0: {} + + lru-cache@10.4.3: {} + + lru-cache@11.2.2: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + make-dir@4.0.0: + dependencies: + semver: 7.7.3 + + make-error@1.3.6: {} + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + math-intrinsics@1.1.0: {} + + media-typer@0.3.0: {} + + media-typer@1.1.0: {} + + memfs@3.5.3: + dependencies: + fs-monkey: 1.1.0 + + merge-descriptors@2.0.0: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime-types@3.0.2: + dependencies: + mime-db: 1.54.0 + + mime@2.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-response@3.1.0: {} + + mimic-response@4.0.0: {} + + minimatch@10.1.1: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + ms@2.1.3: {} + + multer@2.0.2: + dependencies: + append-field: 1.0.0 + busboy: 1.6.0 + concat-stream: 2.0.0 + mkdirp: 0.5.6 + object-assign: 4.1.1 + type-is: 1.6.18 + xtend: 4.0.2 + + mute-stream@2.0.0: {} + + natural-compare@1.4.0: {} + + negotiator@1.0.0: {} + + neo-async@2.6.2: {} + + node-abort-controller@3.1.1: {} + + node-domexception@1.0.0: {} + + node-emoji@1.11.0: + dependencies: + lodash: 4.17.21 + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + + node-int64@0.4.0: {} + + node-releases@2.0.27: {} + + normalize-path@3.0.0: {} + + normalize-url@8.1.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + openai@4.104.0(ws@8.18.3)(zod@3.25.76): + dependencies: + '@types/node': 18.19.130 + '@types/node-fetch': 2.6.13 + abort-controller: 3.0.0 + agentkeepalive: 4.6.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + optionalDependencies: + ws: 8.18.3 + zod: 3.25.76 + transitivePeerDependencies: + - encoding + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + p-cancelable@3.0.0: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-try@2.2.0: {} + + package-json-from-dist@1.0.1: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.27.1 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parseurl@1.3.3: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-scurry@2.0.1: + dependencies: + lru-cache: 11.2.2 + minipass: 7.1.2 + + path-to-regexp@8.3.0: {} + + path-type@4.0.0: {} + + pend@1.2.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.2: {} + + picomatch@4.0.3: {} + + pirates@4.0.7: {} + + piscina@4.9.2: + optionalDependencies: + '@napi-rs/nice': 1.1.1 + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + pluralize@8.0.0: {} + + prelude-ls@1.2.1: {} + + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + + prettier@3.7.1: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + punycode@2.3.1: {} + + pure-rand@6.1.0: {} + + qs@6.14.0: + dependencies: + side-channel: 1.1.0 + + queue-microtask@1.2.3: {} + + quick-lru@5.1.1: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.1: {} + + raw-body@3.0.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.1 + iconv-lite: 0.7.0 + unpipe: 1.0.0 + + react-is@18.3.1: {} + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@4.1.2: {} + + reflect-metadata@0.2.2: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + resolve-alpn@1.2.1: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve.exports@2.0.3: {} + + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + responselike@3.0.0: + dependencies: + lowercase-keys: 3.0.0 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + reusify@1.1.0: {} + + rimraf@5.0.10: + dependencies: + glob: 10.5.0 + + router@2.2.0: + dependencies: + debug: 4.4.3 + depd: 2.0.0 + is-promise: 4.0.0 + parseurl: 1.3.3 + path-to-regexp: 8.3.0 + transitivePeerDependencies: + - supports-color + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rxjs@7.8.1: + dependencies: + tslib: 2.8.1 + + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + schema-utils@4.3.3: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + + seek-bzip@2.0.0: + dependencies: + commander: 6.2.1 + + semver-regex@4.0.5: {} + + semver-truncate@3.0.0: + dependencies: + semver: 7.7.3 + + semver@6.3.1: {} + + semver@7.7.3: {} + + send@1.2.0: + 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 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-static@2.2.0: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 1.2.0 + transitivePeerDependencies: + - supports-color + + setprototypeof@1.2.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + sort-keys-length@1.0.1: + dependencies: + sort-keys: 1.1.2 + + sort-keys@1.1.2: + dependencies: + is-plain-obj: 1.1.0 + + source-map-support@0.5.13: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + source-map@0.7.6: {} + + sprintf-js@1.0.3: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + statuses@2.0.2: {} + + streamsearch@1.1.0: {} + + streamx@2.23.0: + dependencies: + events-universal: 1.0.1 + fast-fifo: 1.3.2 + text-decoder: 1.2.3 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + + strip-bom@3.0.0: {} + + strip-bom@4.0.0: {} + + strip-dirs@3.0.0: + dependencies: + inspect-with-kind: 1.0.5 + is-plain-obj: 1.1.0 + + strip-final-newline@2.0.0: {} + + strip-json-comments@3.1.1: {} + + strtok3@10.3.4: + dependencies: + '@tokenizer/token': 0.3.0 + + superagent@10.2.3: + dependencies: + component-emitter: 1.3.1 + cookiejar: 2.1.4 + debug: 4.4.3 + fast-safe-stringify: 2.1.1 + form-data: 4.0.5 + formidable: 3.5.4 + methods: 1.1.2 + mime: 2.6.0 + qs: 6.14.0 + transitivePeerDependencies: + - supports-color + + supertest@7.1.4: + dependencies: + methods: 1.1.2 + superagent: 10.2.3 + transitivePeerDependencies: + - supports-color + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + symbol-observable@4.0.0: {} + + synckit@0.11.11: + dependencies: + '@pkgr/core': 0.2.9 + + tapable@2.3.0: {} + + tar-stream@3.1.7: + dependencies: + b4a: 1.7.3 + fast-fifo: 1.3.2 + streamx: 2.23.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + terser-webpack-plugin@5.3.14(@swc/core@1.15.3)(webpack@5.103.0(@swc/core@1.15.3)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + terser: 5.44.1 + webpack: 5.103.0(@swc/core@1.15.3) + optionalDependencies: + '@swc/core': 1.15.3 + + terser@5.44.1: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + text-decoder@1.2.3: + dependencies: + b4a: 1.7.3 + transitivePeerDependencies: + - react-native-b4a + + through@2.3.8: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + tmpl@1.0.5: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + token-types@6.1.1: + dependencies: + '@borewit/text-codec': 0.1.1 + '@tokenizer/token': 0.3.0 + ieee754: 1.2.1 + + tr46@0.0.3: {} + + ts-api-utils@2.1.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + ts-jest@29.4.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)))(typescript@5.9.3): + dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + handlebars: 4.7.8 + jest: 29.7.0(@types/node@22.19.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3)) + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.7.3 + type-fest: 4.41.0 + typescript: 5.9.3 + yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.28.5 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.28.5) + jest-util: 29.7.0 + + ts-loader@9.5.4(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.3)): + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.18.3 + micromatch: 4.0.8 + semver: 7.7.3 + source-map: 0.7.6 + typescript: 5.9.3 + webpack: 5.103.0(@swc/core@1.15.3) + + ts-node@10.9.2(@swc/core@1.15.3)(@types/node@22.19.1)(typescript@5.9.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.12 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.19.1 + acorn: 8.15.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.9.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.15.3 + + tsconfig-paths-webpack-plugin@4.2.0: + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.18.3 + tapable: 2.3.0 + tsconfig-paths: 4.2.0 + + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@2.8.1: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-detect@4.0.8: {} + + type-fest@0.21.3: {} + + type-fest@4.41.0: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + type-is@2.0.1: + dependencies: + content-type: 1.0.5 + media-typer: 1.1.0 + mime-types: 3.0.2 + + typedarray@0.0.6: {} + + typescript-eslint@8.48.0(eslint@9.39.1)(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.48.0(@typescript-eslint/parser@8.48.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/parser': 8.48.0(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3) + eslint: 9.39.1 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + typescript@5.9.3: {} + + uglify-js@3.19.3: + optional: true + + uid@2.0.2: + dependencies: + '@lukeed/csprng': 1.1.0 + + uint8array-extras@1.5.0: {} + + unbzip2-stream@1.4.3: + dependencies: + buffer: 5.7.1 + through: 2.3.8 + + undici-types@5.26.5: {} + + undici-types@6.21.0: {} + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.1.4(browserslist@4.28.0): + dependencies: + browserslist: 4.28.0 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + util-deprecate@1.0.2: {} + + v8-compile-cache-lib@3.0.1: {} + + v8-to-istanbul@9.3.0: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + + vary@1.1.2: {} + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + watchpack@2.4.4: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + web-streams-polyfill@3.3.3: {} + + web-streams-polyfill@4.0.0-beta.3: {} + + webidl-conversions@3.0.1: {} + + webpack-node-externals@3.0.0: {} + + webpack-sources@3.3.3: {} + + webpack@5.103.0(@swc/core@1.15.3): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.28.0 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.3 + es-module-lexer: 1.7.0 + eslint-scope: 5.1.1 + events: 3.3.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.35 + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.14(@swc/core@1.15.3)(webpack@5.103.0(@swc/core@1.15.3)) + watchpack: 2.4.4 + webpack-sources: 3.3.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + wordwrap@1.0.0: {} + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + + wrappy@1.0.2: {} + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + ws@8.18.3: {} + + xtend@4.0.2: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yauzl@3.2.0: + dependencies: + buffer-crc32: 0.2.13 + pend: 1.2.0 + + yn@3.1.1: {} + + yocto-queue@0.1.0: {} + + yoctocolors-cjs@2.1.3: {} + + zod-to-json-schema@3.25.0(zod@3.25.76): + dependencies: + zod: 3.25.76 + + zod@3.25.76: {} diff --git a/demos/nestjs-example/public/index.html b/demos/nestjs-example/public/index.html new file mode 100644 index 0000000..991799b --- /dev/null +++ b/demos/nestjs-example/public/index.html @@ -0,0 +1,93 @@ + + + + + + Docuglean Demo - Intelligent Document Processing + + + +
+
+

📄 Docuglean Demo

+

Intelligent Document Processing using State of the Art AI Models

+
+ +
+
+

Upload Document

+ +
+
+ + +

Select the AI provider for document processing

+
+ +
+ + +

Your API key is never stored and only used for this request

+
+ +
+ +
+ +
📎
+

Click to upload or drag and drop

+

PDF files only (max 10MB)

+
+
+
+ + +
+ +
+
+

Processing your document...

+
+ +
+
+ +
+

Results

+
+

+ Upload a document to see the extracted data here +

+
+
+
+ + +
+ + + + \ No newline at end of file diff --git a/demos/nestjs-example/public/script.js b/demos/nestjs-example/public/script.js new file mode 100644 index 0000000..2064359 --- /dev/null +++ b/demos/nestjs-example/public/script.js @@ -0,0 +1,109 @@ +const form = document.getElementById('uploadForm'); +const fileInput = document.getElementById('fileInput'); +const fileUpload = document.getElementById('fileUpload'); +const fileName = document.getElementById('fileName'); +const submitBtn = document.getElementById('submitBtn'); +const loading = document.getElementById('loading'); +const error = document.getElementById('error'); +const resultContent = document.getElementById('resultContent'); + +// File upload handling +fileInput.addEventListener('change', (e) => { + if (e.target.files.length > 0) { + const file = e.target.files[0]; + fileName.textContent = `Selected: ${file.name}`; + fileName.style.display = 'block'; + } +}); + +// Drag and drop +fileUpload.addEventListener('dragover', (e) => { + e.preventDefault(); + fileUpload.classList.add('dragover'); +}); + +fileUpload.addEventListener('dragleave', () => { + fileUpload.classList.remove('dragover'); +}); + +fileUpload.addEventListener('drop', (e) => { + e.preventDefault(); + fileUpload.classList.remove('dragover'); + + if (e.dataTransfer.files.length > 0) { + fileInput.files = e.dataTransfer.files; + const file = e.dataTransfer.files[0]; + fileName.textContent = `Selected: ${file.name}`; + fileName.style.display = 'block'; + } +}); + +// Form submission +form.addEventListener('submit', async (e) => { + e.preventDefault(); + + error.classList.remove('active'); + submitBtn.disabled = true; + loading.classList.add('active'); + resultContent.innerHTML = + '

Processing...

'; + + const formData = new FormData(); + formData.append('file', fileInput.files[0]); + formData.append('apiKey', document.getElementById('apiKey').value); + formData.append('provider', document.getElementById('provider').value); + + try { + const response = await fetch('/process-document', { + method: 'POST', + body: formData, + }); + + const data = await response.json(); + + if (!response.ok) { + throw new Error(data.message || 'Failed to process document'); + } + + displayResult(data); + } catch (err) { + error.textContent = + err.message || 'An error occurred while processing the document'; + error.classList.add('active'); + resultContent.innerHTML = + '

Upload a document to see the extracted data here

'; + } finally { + submitBtn.disabled = false; + loading.classList.remove('active'); + } +}); + +function displayResult(data) { + const jsonString = JSON.stringify(data.data, null, 2); + + resultContent.innerHTML = ` +
✓ Document processed successfully
+ +
+
${escapeHtml(jsonString)}
+
+ `; +} + +function copyToClipboard() { + const jsonOutput = document.getElementById('jsonOutput').textContent; + navigator.clipboard.writeText(jsonOutput).then(() => { + const btn = document.querySelector('.copy-btn'); + const originalText = btn.textContent; + btn.textContent = '✓ Copied!'; + setTimeout(() => { + btn.textContent = originalText; + }, 2000); + }); +} + +function escapeHtml(text) { + const div = document.createElement('div'); + div.textContent = text; + return div.innerHTML; +} diff --git a/demos/nestjs-example/public/styles.css b/demos/nestjs-example/public/styles.css new file mode 100644 index 0000000..1ab71db --- /dev/null +++ b/demos/nestjs-example/public/styles.css @@ -0,0 +1,279 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%); + min-height: 100vh; + padding: 20px; +} + +.container { + max-width: 1200px; + margin: 0 auto; +} + +.header { + text-align: center; + margin-bottom: 40px; + padding: 40px 20px; + background: white; + border-radius: 12px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +} + +.header h1 { + font-size: 2.5em; + color: #1a1a1a; + margin-bottom: 10px; + font-weight: 700; +} + +.header p { + color: #666; + font-size: 1.1em; +} + +.main-content { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 30px; + margin-bottom: 30px; +} + +@media (max-width: 968px) { + .main-content { + grid-template-columns: 1fr; + } +} + +.card { + background: white; + border-radius: 12px; + padding: 30px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +} + +.card h2 { + color: #1a1a1a; + margin-bottom: 20px; + font-size: 1.5em; + font-weight: 600; +} + +.form-group { + margin-bottom: 20px; +} + +label { + display: block; + margin-bottom: 8px; + color: #333; + font-weight: 500; + font-size: 0.95em; +} + +input[type="text"], +select { + width: 100%; + padding: 12px 16px; + border: 2px solid #e0e0e0; + border-radius: 8px; + font-size: 1em; + transition: all 0.3s ease; + background: #fafafa; +} + +input[type="text"]:focus, +select:focus { + outline: none; + border-color: #1a1a1a; + background: white; +} + +.file-upload { + position: relative; + border: 3px dashed #d0d0d0; + border-radius: 12px; + padding: 40px; + text-align: center; + cursor: pointer; + transition: all 0.3s ease; + background: #fafafa; +} + +.file-upload:hover { + border-color: #1a1a1a; + background: white; +} + +.file-upload.dragover { + border-color: #1a1a1a; + background: #f0f0f0; +} + +.file-upload input[type="file"] { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + opacity: 0; + cursor: pointer; +} + +.file-upload-icon { + font-size: 3em; + margin-bottom: 10px; + color: #666; +} + +.file-upload p { + color: #666; + margin-bottom: 8px; +} + +.file-name { + margin-top: 15px; + padding: 10px; + background: #f5f5f5; + border-radius: 6px; + color: #333; + font-weight: 500; + display: none; +} + +.btn { + width: 100%; + padding: 14px 28px; + background: #1a1a1a; + color: white; + border: none; + border-radius: 8px; + font-size: 1.1em; + font-weight: 600; + cursor: pointer; + transition: all 0.3s ease; + margin-top: 10px; +} + +.btn:hover { + background: #333; + transform: translateY(-2px); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); +} + +.btn:disabled { + background: #ccc; + cursor: not-allowed; + transform: none; +} + +.loading { + display: none; + text-align: center; + padding: 20px; + color: #666; +} + +.loading.active { + display: block; +} + +.spinner { + border: 3px solid #f3f3f3; + border-top: 3px solid #1a1a1a; + border-radius: 50%; + width: 40px; + height: 40px; + animation: spin 1s linear infinite; + margin: 0 auto 15px; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +.result-container { + background: #1a1a1a; + border-radius: 8px; + padding: 20px; + max-height: 600px; + overflow-y: auto; +} + +.result-container pre { + color: #e0e0e0; + font-family: 'Courier New', monospace; + font-size: 0.9em; + line-height: 1.6; + white-space: pre-wrap; + word-wrap: break-word; +} + +.error { + background: #fee; + color: #c33; + padding: 15px; + border-radius: 8px; + margin-top: 15px; + border-left: 4px solid #c33; + display: none; +} + +.error.active { + display: block; +} + +.success-badge { + background: #e8f5e9; + color: #2e7d32; + padding: 8px 16px; + border-radius: 6px; + display: inline-block; + margin-bottom: 15px; + font-weight: 500; +} + +.info-text { + font-size: 0.85em; + color: #888; + margin-top: 5px; +} + +.copy-btn { + background: #666; + color: white; + border: none; + padding: 8px 16px; + border-radius: 6px; + cursor: pointer; + font-size: 0.9em; + margin-bottom: 10px; + transition: all 0.2s ease; +} + +.copy-btn:hover { + background: #555; +} + +.footer { + text-align: center; + padding: 20px; + color: #666; + font-size: 0.9em; +} + +.footer a { + color: #1a1a1a; + text-decoration: none; + font-weight: 600; +} + +.footer a:hover { + text-decoration: underline; +} \ No newline at end of file diff --git a/demos/nestjs-example/src/app.controller.spec.ts b/demos/nestjs-example/src/app.controller.spec.ts new file mode 100644 index 0000000..d22f389 --- /dev/null +++ b/demos/nestjs-example/src/app.controller.spec.ts @@ -0,0 +1,22 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { AppController } from './app.controller'; +import { AppService } from './app.service'; + +describe('AppController', () => { + let appController: AppController; + + beforeEach(async () => { + const app: TestingModule = await Test.createTestingModule({ + controllers: [AppController], + providers: [AppService], + }).compile(); + + appController = app.get(AppController); + }); + + describe('root', () => { + it('should return "Hello World!"', () => { + expect(appController.getHello()).toBe('Hello World!'); + }); + }); +}); diff --git a/demos/nestjs-example/src/app.controller.ts b/demos/nestjs-example/src/app.controller.ts new file mode 100644 index 0000000..040f8e0 --- /dev/null +++ b/demos/nestjs-example/src/app.controller.ts @@ -0,0 +1,33 @@ +import { + Controller, + Get, + Post, + UploadedFile, + UseInterceptors, + Body, + Res, +} from '@nestjs/common'; +import { FileInterceptor } from '@nestjs/platform-express'; +import { Response } from 'express'; +import { AppService } from './app.service'; +import * as path from 'path'; + +@Controller() +export class AppController { + constructor(private readonly appService: AppService) {} + + @Get() + getDemo(@Res() res: Response) { + return res.sendFile(path.join(__dirname, '..', 'public', 'index.html')); + } + + @Post('process-document') + @UseInterceptors(FileInterceptor('file')) + async processDocument( + @UploadedFile() file: Express.Multer.File, + @Body('apiKey') apiKey: string, + @Body('provider') provider: string, + ) { + return this.appService.processDocument(file, apiKey, provider); + } +} diff --git a/demos/nestjs-example/src/app.module.ts b/demos/nestjs-example/src/app.module.ts new file mode 100644 index 0000000..c52fcf4 --- /dev/null +++ b/demos/nestjs-example/src/app.module.ts @@ -0,0 +1,23 @@ +import { Module } from '@nestjs/common'; +import { MulterModule } from '@nestjs/platform-express'; +import { ServeStaticModule } from '@nestjs/serve-static'; +import { AppController } from './app.controller'; +import { AppService } from './app.service'; +import { join } from 'path'; + +@Module({ + imports: [ + MulterModule.register({ + limits: { + fileSize: 10 * 1024 * 1024, // 10MB limit + }, + }), + ServeStaticModule.forRoot({ + rootPath: join(__dirname, '..', 'public'), + serveRoot: '/static', + }), + ], + controllers: [AppController], + providers: [AppService], +}) +export class AppModule {} diff --git a/demos/nestjs-example/src/app.service.ts b/demos/nestjs-example/src/app.service.ts new file mode 100644 index 0000000..5a0faff --- /dev/null +++ b/demos/nestjs-example/src/app.service.ts @@ -0,0 +1,84 @@ +import { Injectable, BadRequestException } from '@nestjs/common'; +import { extract } from 'docuglean-ocr'; +import { z } from 'zod'; +import * as fs from 'fs'; +import * as path from 'path'; + +// Define schema for document extraction +const DocumentSchema = z.object({ + title: z.string().optional().nullable(), + summary: z.string().optional().nullable(), + content: z.string().optional().nullable(), + metadata: z + .object({ + pageCount: z.number().optional().nullable(), + author: z.string().optional().nullable(), + date: z.string().optional().nullable(), + }) + .optional() + .nullable(), +}); + +@Injectable() +export class AppService { + getHello(): string { + return 'Hello World!'; + } + + async processDocument( + file: Express.Multer.File, + apiKey: string, + provider: string, + ) { + if (!file) { + throw new BadRequestException('No file uploaded'); + } + + if (!apiKey) { + throw new BadRequestException('API key is required'); + } + + // Create temp directory if it doesn't exist + const tempDir = path.join(__dirname, '..', 'temp'); + if (!fs.existsSync(tempDir)) { + fs.mkdirSync(tempDir, { recursive: true }); + } + + // Save uploaded file temporarily + const tempFilePath = path.join( + tempDir, + `${Date.now()}-${file.originalname}`, + ); + fs.writeFileSync(tempFilePath, file.buffer); + + try { + // Process document with Docuglean + const result = await extract({ + filePath: tempFilePath, + provider: (provider as any) || 'openai', + apiKey: apiKey, + responseFormat: DocumentSchema, + prompt: + 'Extract the document content including title, summary, and any relevant metadata. Be comprehensive and detailed.', + }); + + // Clean up temp file + fs.unlinkSync(tempFilePath); + + return { + success: true, + data: result, + filename: file.originalname, + }; + } catch (error) { + // Clean up temp file on error + if (fs.existsSync(tempFilePath)) { + fs.unlinkSync(tempFilePath); + } + + throw new BadRequestException( + `Failed to process document: ${error.message || 'Unknown error'}`, + ); + } + } +} diff --git a/demos/nestjs-example/src/main.ts b/demos/nestjs-example/src/main.ts new file mode 100644 index 0000000..f76bc8d --- /dev/null +++ b/demos/nestjs-example/src/main.ts @@ -0,0 +1,8 @@ +import { NestFactory } from '@nestjs/core'; +import { AppModule } from './app.module'; + +async function bootstrap() { + const app = await NestFactory.create(AppModule); + await app.listen(process.env.PORT ?? 3000); +} +bootstrap(); diff --git a/demos/nestjs-example/test/app.e2e-spec.ts b/demos/nestjs-example/test/app.e2e-spec.ts new file mode 100644 index 0000000..5ffa3c2 --- /dev/null +++ b/demos/nestjs-example/test/app.e2e-spec.ts @@ -0,0 +1,25 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { INestApplication } from '@nestjs/common'; +import * as request from 'supertest'; +import { App } from 'supertest/types'; +import { AppModule } from '../src/app.module'; + +describe('AppController (e2e)', () => { + let app: INestApplication; + + beforeEach(async () => { + const moduleFixture: TestingModule = await Test.createTestingModule({ + imports: [AppModule], + }).compile(); + + app = moduleFixture.createNestApplication(); + await app.init(); + }); + + it('/ (GET)', () => { + return request(app.getHttpServer()) + .get('/') + .expect(200) + .expect('Hello World!'); + }); +}); diff --git a/demos/nestjs-example/test/jest-e2e.json b/demos/nestjs-example/test/jest-e2e.json new file mode 100644 index 0000000..e9d912f --- /dev/null +++ b/demos/nestjs-example/test/jest-e2e.json @@ -0,0 +1,9 @@ +{ + "moduleFileExtensions": ["js", "json", "ts"], + "rootDir": ".", + "testEnvironment": "node", + "testRegex": ".e2e-spec.ts$", + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + } +} diff --git a/demos/nestjs-example/tsconfig.build.json b/demos/nestjs-example/tsconfig.build.json new file mode 100644 index 0000000..64f86c6 --- /dev/null +++ b/demos/nestjs-example/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] +} diff --git a/demos/nestjs-example/tsconfig.json b/demos/nestjs-example/tsconfig.json new file mode 100644 index 0000000..49e6986 --- /dev/null +++ b/demos/nestjs-example/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "declaration": true, + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "target": "ES2023", + "sourceMap": true, + "outDir": "./dist", + "baseUrl": "./", + "incremental": true, + "skipLibCheck": true, + "strictNullChecks": true, + "forceConsistentCasingInFileNames": true, + "noImplicitAny": false, + "strictBindCallApply": false, + "noFallthroughCasesInSwitch": false, + "useUnknownInCatchVariables": false, + } +} From 9b32e7618f2798d42b4e3de39b3974bbcf42d6ae Mon Sep 17 00:00:00 2001 From: Victor Evogor Date: Fri, 28 Nov 2025 17:17:30 +0100 Subject: [PATCH 2/3] fix port issue on railway --- demos/nestjs-example/package.json | 1 + demos/nestjs-example/pnpm-lock.yaml | 9 +++++++++ demos/nestjs-example/src/main.ts | 10 +++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/demos/nestjs-example/package.json b/demos/nestjs-example/package.json index 85b33a7..d29308a 100644 --- a/demos/nestjs-example/package.json +++ b/demos/nestjs-example/package.json @@ -25,6 +25,7 @@ "@nestjs/platform-express": "^11.0.1", "@nestjs/serve-static": "^5.0.4", "docuglean-ocr": "^1.0.0", + "dotenv": "^17.2.3", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.1", "zod": "^3.25.30" diff --git a/demos/nestjs-example/pnpm-lock.yaml b/demos/nestjs-example/pnpm-lock.yaml index 14d4515..45e84e6 100644 --- a/demos/nestjs-example/pnpm-lock.yaml +++ b/demos/nestjs-example/pnpm-lock.yaml @@ -23,6 +23,9 @@ importers: docuglean-ocr: specifier: ^1.0.0 version: 1.0.0(ws@8.18.3) + dotenv: + specifier: ^17.2.3 + version: 17.2.3 reflect-metadata: specifier: ^0.2.2 version: 0.2.2 @@ -1742,6 +1745,10 @@ packages: docuglean-ocr@1.0.0: resolution: {integrity: sha512-9yPzmD4lJBR2WhqVbDZpC4i+DIza2vGBVA93NG7Da8NGoJVg89azPUHaYhMO8jJQ7OzwEU/WSpx43wKR3y3Ltg==} + dotenv@17.2.3: + resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} + engines: {node: '>=12'} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -5441,6 +5448,8 @@ snapshots: - utf-8-validate - ws + dotenv@17.2.3: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 diff --git a/demos/nestjs-example/src/main.ts b/demos/nestjs-example/src/main.ts index f76bc8d..42aef66 100644 --- a/demos/nestjs-example/src/main.ts +++ b/demos/nestjs-example/src/main.ts @@ -1,8 +1,16 @@ import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; +import * as dotenv from 'dotenv'; +// eslint-disable-next-line @typescript-eslint/no-unsafe-call +dotenv.config(); async function bootstrap() { const app = await NestFactory.create(AppModule); - await app.listen(process.env.PORT ?? 3000); + + // Use Railway's PORT if available, otherwise default to 3000 for local dev + const port = parseInt(process.env.PORT || '3000', 10); + + await app.listen(port); + console.log(`Application is running on port ${port}`); } bootstrap(); From 3f33c8b3d55015a03bbf7bccffaed524ffd24ad5 Mon Sep 17 00:00:00 2001 From: Victor Evogor Date: Fri, 28 Nov 2025 17:31:49 +0100 Subject: [PATCH 3/3] remodelled the UI --- demos/nestjs-example/public/banner.png | Bin 0 -> 172285 bytes demos/nestjs-example/public/index.html | 5 +-- demos/nestjs-example/public/styles.css | 52 ++++++++++++++++++++++--- 3 files changed, 47 insertions(+), 10 deletions(-) create mode 100644 demos/nestjs-example/public/banner.png diff --git a/demos/nestjs-example/public/banner.png b/demos/nestjs-example/public/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..27dd429558b46de7611f36da5358a1387aac94fc GIT binary patch literal 172285 zcmd?Rhg(zI^EZm(5i2MtAT25a79gPX5{^d%sS%N0B1L*YdP{;HRHP+Bl+dG8>Agcx zT12FVnoxuQp@$FxBoMfKf8~Ae{TuF1o+qzFRJzN04~|gg;hd<^J3)`C;_)<0m`szOd92y~N$0YP+fW!3=sF%0DT8QS&|B_HUrvJkR-n{-_A_1P7H!Y2x zUVr4{_wu@utemXeP0+dP*RN~%IlHJm)7JT)%a6}AZ@L8pyix-KgM))*gCEHH__+e* zRaI4ia`%Dv@5>xZ$oPkP2RMYtc>9b0x03(Wqy5s~$eeAP+nFJ_SgH|-Z%e_)zxXiF*KX~1FC57q^d>LE^&X&e{cLs0<#O`l7yNJj|4O92`_g(wL{zj_ScuCvH&3K)#`?+fui4kzd4r{5 z7l_Jo0X1vJ={?H6Z=*rBWl?wU-NGW-|XAY@$(#(y#dj7|b{FLR{rf%3|4OtR;@6WnT zMC-~$XG8BXSZWpd=U&ei4_tURlY#kB(4`OEZfR&>EBbRmkWLNi!2#8$cr>~FUwR)} zqG&esGmUfcqVuZXzdo;tzJ|E!vwfvWlU7o?X|(ajvUIC|sZC8GliB2?WG=9{C^(~k zRT=%&G90g+)Qb^qSNrGi&yw3;GsRZ%m)!z3`NFR}*)H)C_F*h-Za&4CKM#=L{7CFN zbzZ$Ku|Hbzr8Co>c5!!l{Oz048kxT2mi{Q?qqe`wp_M+wtokSWe>O|%?$#AXl-hp% z7jf0*iq~MC`Hz0GYRQv045v`dd_wk_NF@bU8(JfPIACVLZ|e~4lB18bRv10exUG5x z=xGl1m~i2?q>MB^Pz$S!y}-f^MDgTt_W@(N;6Tau@xNOfgL0_8?*2c;pbk|ZH)g;3 z{MBG;`kUe*d!S+*Pe*;o#``}l0j5QTdk!rX?-%wr`uWA#dOm}W{CtpK@w)#6>Jb)S zJmaD1>Lu87L9y7KejZX7_*O;Dyj%h@Tndw&6-9wnUOacoFC8rCa)9kmmL2@fBg7Q} z_(8%PR$M@AHe7EFk|7U2ipFgBPV-KMWpSGY^EahYIn3Q_F3nQ2WxZFPQ%mu zvF{t6e$qc;Y6>Ag!vJ5qPy21Y6<6QPhO8Dds!-+BmvqlV*bO zKzww)u)R=J<{qxWx)SjHDi+su9lp2ptX%-9NUfof1ZK0H7LwqQrWe)f?|XyK9`5w@ zPBlEr7;5m3;!^hE1|6)cbLOu7scQA_IhW+A8dDv41~8czb)^ z%dM%2och$4+Gm7z;`WxAY%q05Yk6aLUffqh7K6kGw!a$2)x6r>Xv>;tRd#_r`~l0} zgpcDaE*@m@tnU3uFIuEqa;b&I25mZY%q)lt%g(%HB7W|suY})hcCv!wCmxx@LR|aB z%hrKMb?;nxyg$@C*Zk|`JMQ)R#SW|2K8lZNF7hkwZ)a$zmZAYhBxt+N4zziGw2($#}k}{!}(je*7OC$qF9CR zZa}^k$zh7`~H{qI!iZmV!!whbl-~)%`U_^ zOMqq6=e|ne6s>w-$qzV+HrNB-iFvOwpJZ12Q>SHlHN*ckoil7ii7o0$cZxORv@1%W zr2lPB5r)3~7AQ+==c@elvVA}`29@4=WuED9LM(awy-wOcX|&>Jq&F82znksEa~o00 z6YgpKc!W9$i1_|EpZ67Oo0ibnRxQ-5kDo8^b-f_Zi3VIM)G8gFnVOieva_|-uq<~B z0QuZ)>f(&0UU_i?91r=#i6+%J4G!0SuXWVAZbq+x0<0GMO|J4eO#oOcJ&`~1q1lk{ zrQLH}kdx)Q8qvVNgV(>jK*?KZeY9+G#BCakrO(z%f#m%M#{W z!PFo+{KN-%jNS;kMw|EmJ47Pv1?u#lhkK}$kdMRfVsAG&~R z%r}q$!FwRzKY*>zGVOmw)>rXg!&VH*`c|0EzVh{rX5dxM3i(2&XJ%ZDqx(U0PX&j_ z*q-5$RHbXMvIB)?VSe4d8nbLV(>FjQ0)_{6Ce(C|Gt$u`rap-&MF=t|W+(Gg9mo_MwJo>`V41>v^ey1;x2)3+Y`eg|9g?11*(@ zN3v>(mLv7oI0Cla`Gn`pdSjQ@QUzh7!HQa=u67Uj^{>8uNS|(vDU(a_A$Gh@JqcR9 z<|X&XeM5rNn0w~u#Ldvo$%D>?zQ06HI@2`2OPxc=aj)D}GUxLoCOSx)#TDoM3?AKh z{mPb9Uxe#*y&9#zmrNmX21yh~D0CG9ZPnU7U9X{phZWdK0cgu(-59TcujjRh{HJLN z7Zhfa4DF_F`2=zC1x941070(biuyU!d6*(EpyQO`+36oAuuUVX?UWPPkzy$S_dHRr zKa&-#_o7GBF6;PscBSapdU>n3>yP7=io32F8ib(k zXINS{KXKH1rp&{=6SNjpupSxNF1%CohfDe^`z^bVMvcS!lAQIt@+&pc&5Ux>*s6im z4b0y^=C*X#l{?BZZ7lax-ydwZ%w+z1O_CK-$(cXN*n)!Z2CT%qN}d1yu^5lGpMM;- zcK%TS!%5UvytP2f`yd_e6+~<5#;0E#B#uY#*-LG`CFSyGmVbNf+4j&l%%m16@N$1; z_oXQr7+(U6@K>o^50%hrmcDP&7a{*Xs(CEo;&N!F+s_ZO)@$eU3z86M+xec%{78vL z4-}O&7Y-+?rik>ehJpedVvVtn&b9D2OD08d&r&(Bcn;k4%v&`Zq)FK}x5elTf)DHj>hWT~SwxSTHGIRl1k@?h`b4Yjuk>MkeS$9WEztRX+zT(_0 zGqJgqKn?vFj+lRp+my1Rz*2MIol!!Nc^>$n{^4~}05_>Gys}9A?io10)j#?X?Z~mU zJy2S1tE=Afk!MJ4xSHsKXabCQ3PPMBvX_R2+Qux~n3vCMVq`9!0}PCq-MV?<@QcTr z$$Vp<*uU0#%5mW$4hk6}(;M|9)gxyDT|3)Fq(MH!TF*iy<{c|Akh`b^7m(e&6d2Tr z_8z`0+Mt&C%1<$D=&D#?j$WO%0HkJqxUA^q*y;!KA$p}r*FGS0<-FFM!eA~c)A{jg zQ`h^ofC`BW9QzuV817kPoR0{?@Lbhuh`)bIb|3=+=`--fVC{V0jpYCvYWKv-;!838 z6C983LpS{dRjmaKyZ<$%L}JjrYN6fDXirBaBl#Hr@p+q1J`XTP$xyjl?G(;VCsyse z*hu4@!@vr+s-3mU!xb*sS05=)6H^G73tLOX&l%@5F-wQ#q7fwIQSV;R9cuSyT{UKN z`0fVZJ%jVDP+xb3mb!*YNM)*A+NHD>kCR2DTOI7T}WF;zLhsTkG2< zt^GJy60opooFnpnTzQ9zFiC0SLBe#c&&cEDFQL> zVOZjNA+V)XG04Am9*m?wpKx2Fi^tNElp_A#OnX%EG!29W3S|SZZU~Vq#cn-aKNH}N zM45Hic7mDKN&za}Ip>kl8)Q1>s$H}GtG5x(HcEbQT2{&vjQ1x`5-MbfUjK7|@?k46 zvhOS7hH4p?(N-m&XZOz}*3Ut2*8bvxco2Xs32XI#EzOmyupuIPVS)w&@Hza0Zg#`v zt;gc&+e+(`mN$*qYR!o}LjHPn(U76E!F;KczVJ_@|8zT*&6o)omSL;pFSu}1Zn?*q zkcUIGJy{3Ox9%Jb3Y@NPX=y2pXeL=nq`wHW^;&*#w!w)V;k7d3xZWzcrZ>vtVu!BQ z(6JE~76!}6{AMF_KYyNabCD&A^CwDR&A#iYtS@tZX8d@d;6)=vAns>-8rmWO0;a>B zBmrYR``VUtx1l#ui1`8_E z^(FsrJiw?sIFI?;suL$%H+}dZm9TG5%xk<%9`T8a(%c^H!rdyK)Rm-fO90`61)cQj zyxLdq2cd1HbyCc4T3Hl#O&aqK-Q&oT?7^$ ze=)7Pz0c+4xl~@0Gc4pE_CT;TPJN9^J*?L}wVZ}YGH)fk3Vk}R{p*|SlyVtTq>YZcocQYQMDeEA+#mnW^{;Hav&Uuke-k1XkDe~T5}G}h z&jRzw?)LqJk&PHrDWHw&HCp+32s^zP=4pB!-=pLZCfXg72MWmwT^rZwT73dm7%>5} zzkwkN0q#Y^4xy^^{*`T4?bEF5FPCZiM5>-mF<}dvwXO=j1c${0N6R)y;^y@gS(Tlx zmmjx!#7GI-BbB%!+&&6`g9c`QN|YsndAh zMf^E)-o86CB(c}w5gKS>y!{P>rYn?j*+pRAii0%Dq(F-I=k%uOaA6$8XESGYK_7~m zc?=G*hbTbKoBFMUr_^sWORuLRw`UDzA_`&!+b$=u+P)?s^Yx|)FdMa>1s7ZOcv8}N z2KH}n<;DZx<7v0v8!=lP9U{Jc+H3F7Rx6axOD;tGd~@UM^n0ROUDR6*-r)xJ`irvI))CT-u!2NI4iZ1aM@S_D|h3==y@X*i2 zDD zn~KW&ZK+NsW@2*f644nycUhaT)_A1zb6wb=8D+CmxVCR1F6b8Dayv0SNHg97;V~)E zIPYjD1;NLvR6vH}x4-54YKN8bB*CYT>LsdMgF-`@ka=fT)>IQ;4e+}jd2Pe{$i-l# zbu_V$!j8IiVk~F)FF=ag;jJz--4yhrheqomjEHs3m;^*s1V2+l7+oMoE;N)y;l3r3vW@^~jz!}1`VP*Q4(|E6Sui|QuD)^dbR%KM7CO{Gpjf%TGvh_ZIc*RW}Jt# z5Wq;bt^|M+1@I&nk-+<#H?@c=-LyV0l-LO^ECQ!#XZ~ejX|8{T0C*FELxpQw`%jmS zPPp593boghmG2(2xDDv!P$8Q%rhD6NJ=v{}<|`89pB!U@97~dnt0ix3K?8}b`*F70 zKlY_GN*eTvMSbp#C4uccWczC}`e&SWBM&#@g_TPK2ch@ESAsw?_4oKcYQ30X`qVj1 zY#=Iu7#=BT;E5Oi&YdhoM~#``&I0lHvb>wusQq$eTF~2NcicKOG|Z0V#GMU^(llxw z8u!~4f!aDH$Y}9Ey}pi_GrW()h^%XWD?Nsa-#{b}o%H$=7fP-L1Lv(ck4Lsx$7g(+7jZNK5JBU5h$DLJP zF?s~S@vO!I=-({cS(h04h`)Caby`eVhC1vFZ28+dl zh;$x(3olFrhX?-ZuhBJ!<*)l8++JZ(nw?2pXRS86JKP?A8+`$X@O=}y){ikJ5lPS@ zzJ+FBrc|rn!Evl=Y?D@@ja9_y?Z*J@yeQ6O%LBpVhsJt1I(f)seF3h%@&nBsh@>)F zU^!Ul2*DXe^LW6~<5;K5Q$0E zG!eZYD4}L_aPe^mBK)M)vqjEhJxR{295B%yi^E$6i5eJ-{T68{nXy-9jq!{BisyVl zd^$to?Hz;1cRL}8-dhu7PeeAdE0?(XO~!7vWt9 zTIsqn_6fuAy*JqMJBKu#@7wjtHb_IZBG!MFTtHjEX@#jCeV17d!PTXZ!zY3r)w??I zMMfF})I!4PV3GU2#Za$mQJan=`<%LpYcIdgeXtzZemnWVwePSyK3*M*Sp3~E!^?oy}8RVvpz9uA!k{v{*CLhQwFj&2zUDB~Fj@jL|;wy&qeyl7VPS zg1WttK&$R=GYb6O8QSak%WTlui1KCf{g#rp`7 zF5{iP)7eYy#ag&C9ihvlXYTfocX#}&aqN`Yma3ay6g$7wj6Q!vhq3Z=)A?JY1N$tr zxMCXe7Xof!idwvpGfAT(-W`uyfsmU)1z38hrB*Xlb#m#Eo=yNtAW&+se*)t(-cQ@# z?jik}4XOZ22P`h~BWKrMej2%&=ie>c!tN!JY|a-Ic^-xKnF|n~OJQwnY^W7IUPm$P z`;5?2opUA<89T3U82pVXe7&Tpbiw+eIfq&72B&!D82v!6ZUMDx1`SCl!|j@G73SvS zFpPCcL|@Wa#4yQ-Hn<1AYpmJ?g(p!7&naD|6o`AVL?iy6ydupqEl(`$ltKgo_n1B% zDs-GtEx4?6iGKl#J-zy<6WQoaS$bG~7*0^Y1mbSH#JqMaI4l+epK_e6@FO}w>iW9) zI%!`P7bRVn6?(_qw?12XayQQ$JK#|q#NM7|q^@oQEGaIAi#IzM)JZWec)mQ-vcA5K zDk+v`|78k~i#j***>>|55AZZ^W`G-IZ@}!9@Pal*B=8fh`8Gt#CZ7^oO`6kgsbwz( z4|`TZ@_G7!UZ`G-*dB2wN~%~gP0V%p7_>{T-SKbyQ$3=~f1&$)KcVB1l10w($_|)H zG~^DpcAGv*2itYsk}e~+!op!d@y6|u{J!o`oDZsyS~1+`5Tkohi?!sQiD}=0p-2|$ zt^}tZ#3#O~9(_stBU!wFk&1*J%}JCY9x;qSYZ>kA5AW8dzEboq6Su}RmWZO3p-Ri) zR;aH*Xx#j_)$*IhdP=`S58S;lU4x@zd9-sgJ<;#ud8bI2xG~S6&)gA!EH7>np=%`R zXzQZ-04&0`_T4?ebL9!|xm9Y}{P&UMFWtyBQ-h=+B#$P48E09EeaCVWfW0Ez>YhFh zD5kZC&x|zi1bBK291-&Dyh~dAGUG9%b1wuz6v%>vK0)PIphDYoJ?*`qMaHO~~p}aIobj;oAIAf;X z+P*??7<~uAY^vv%(VsH(;=wy+C=w3<<2&IfU3LHPOh=$mguDAJ$!EHmxmG@!zfoxu zUa?HIv$A4yMxLO3n{kLz8lXQEru@SQ(xLASj+nt3bNTUE?tf8=B8JQ$8Vj&C_V-)~#)nNd>7W=(c=87?ADou=8BD?U)s zS^~=UW!OO=2dk1VeQqq<=iOyichLKbOG^9?ZNx%ikEu-5%tD^xl z#nb(&cGzbwJ?OL_7BRX{M*4Ek5ay#`xqX8g5GYDqD9{*?Ixjv$*Fer|mUuSt#FZ)m zt};Q60u)w`6CXR8jozW&T7NJ@5aOX?e0D2zRvnQtof5 z6($t8pN_4^8PEnaYCa1fVT`aWJ;_n~;{-~X=C77L)Z8n1l;#yG?YxYNNvTrh{+*sd zFg8uE7wtpx*i7%tl$B&K0Zm9x580-vsVSzcM5Z0r<%P4zlc)OYB#QpZAnUn2Q^XC6 zqPLvVgRW53gh8i&$}6)jXBks-LZ^Ldz{GsDeM0%->Oq>47;Wf{PpZ=hVUa3#=w|fo zbbDRYk2M2bU)d4(M9S>8@Eg4n>`>#SmKl@Y0b_$x$wzuuMnk$N)Wc0JyQ`GVcEGz{@>AH$G;V$V zmX8_8vX2VNkgm4}5#3kLH=X5dkW7)Zd4SkGV|aft)v4rcbMN56ZOLV9UHA|bkd5Av zAi5gQ&)lL&5fga^ThS|?GCZDINZ{Os2ll9m$E~qm+jNulv0k8WUuUtwK`u4$L+(;# zStB$(7ii0PClhAVoM;PCkvMol6^i->*x#c%i6f$A5hQC`w37bzhkFfAd`PGu(n`%| z`d&LrNPa2SrK+mFTIEP|u^&^-INQJn2J!3!A8jABwUyzoo#SjgLZoa!%DGrPhjY2F z?^$vhL`F2(j;=C@)&4tvVbBG?M%4ZIP+`hJ+`S-QP|czKjy`Nq-2SYqpxSsP9|P~M zOiW!w+yN2R`~_wdKqCmFztxum2b>{@;A{Q@6X|SU(%Kvr!$2$?>{P;Q{FPdu{nQ>8 z3z37A(^`$J_-0h@Hh9%?{zzd&J_$6vxm|4r#vJ+D6;NNkqq+}awMEx|VSR~7y?Wz9 z6csT=uf^Qe^y{e1v8(SFLw((svx7G#nE~OfbyQ9KM6@J!r!;xSHJTD}m1}`Z&2Vd$ zcIGWl=1ESY6IV(K%)cbWDrJ>o;+w6s04D%d4vSJKqG4}Iq)5rzdA4l#wjRFDmn5Q$ zz|vICN&~R6o(s2NP$vTF;c5?o_#)20#rj}iFRvHCyz0qZ9`pEgO*g`NeHP<*AL$D| zM>i2{&v6_XMLJqrH#O9lO2tk|;$Ubf18=9>s#61Gf9O&1tM*0tygv>t6tueO4|?33Zpi&$<#CFnNEsFlozo2ugrg)H(v4`u;cQ3!2urP;nXa*P zL-dpgZmgR|8c)c?|5^@B4bXmMp)mUmWr&oV!g)@_)K6o7X3ykU%$>hCr_20VR(0pM z$!dBpugkXbujK}wK)=eUI1HbrW6*MVvuv2^1n8i9HVp8xosh$c;>_HW2p!B_^$b|u zGa21=YC5Zn&}kV*sSNSiu_aqXwDQxk6(@LW=Z7uUm;dyf4iNphm7%S%oaBMJlalWJ z32m5jzJ2UxvVnWV(dKzfQqo}s&woD?`WmW}uzyv-Dy+Cd9JaiBbmV3i; zWPVH(zck+19^IE(b!Ia5Z%mCS_*JVt^#rnDb}UF?7JmsISD9Z!#S7y9gysefr!b;o zU!#1uzeZyTs&}jbl$gFAv{2;Q;+*VEV;rG}Rl9bdMtU_>{jcgpUj}G_xK~gyU>>co95YjE4$C?y5BZ~Q$S~8j zS!wr4OjyhDpb}0)Ntm&t(aFgJX00*uu7JSow-8h%BF+qOzU8bq zQ3FbQ2@~S10hIY*x+Fv$o|NX?3+-muVb*q_uEb5pgZ$oB-3e@-;#h~)dIgP4PJsw07I~NtF>6xi)HX^YeaATRZ-0=r0R%_v5Bia4NNl zqVpNM=8|bjrexv6u!qoK*3}PVx`#bCSKCISJ5E^(qm5q%i9W_g2Qt=gy z(Wc+iPRpG|5OToivg{6VUGChNO)`Drrp6a8Kz{o1RJ-s)p}73 zgspB>)oKC9cp7u3?j7$3w`4kNt}E2CEx}=iMmuSHQlb$Dbec#PHvLcmsZMbvgsjdz z_$|1)nF@?2molv>slGVj8^&XE;fBgJU+> zD~=CVIzvz0(~VVX{;e{Xl>uH80RY12y~_P|Eny7f?ap1PL>TdPznIv@(Fl{->5)c& zH3y&E>maC)x{|mwjNPz7#`nzcNP@ic1HI5&B>XSz+W2mBqLzuS-vDXJ0A!)Oyz3zD zx?4RsC!)}~UL8-ZW|FQPNgldi^Vv9X^77R*?g@cSHnDC`$%ZxT-R2L}=zbdBAX}@c zQ(zaR+)K9<>X+NrLz;R%K@?)sxU{H=09P5nJV6B-_@k8GLx%~&7zI(HXgU2urCB9f zi;szttNO1`2fUh5H|$A5X%Zq#aUAOfzSfyY%y^p)3uu`9HBsfNHRg51R@>)mSliir zMU7CD0$rE#{aLpvvKEPd>w8Irn_;Fr@zJ)xdr0ddtTzfkcHi7Lp_$NJHGH|3P*owM zN-f!0$RQusLkIKqt>6$70#s({Y%_=JY^g8I&Of7@THHxW%*=o6#Y*gsZ*hl-iYc|gnqH2>#g)Ta4Le|r9V+x1~^^hS85hT0UPt*m}Kc5*g_gr?Q(yBmw$|G z-^(n^mJL&z1g_ZUj`ulSeHY~%B5dTeU6~xal>o4d*-8M^;wqAzdLlCLdR}8e(5swv)5Y zSlF%pqtNSv)H*vevrH!{ZGeoAu{uh3PbjNclX*r?ph0z|2MwZ;8)*n#d&uE#v^d}@ zAEV-iHFoEwdEa}~*ZHrZR^1^H6055}eTpdZFdJ5;QZJP16W6J*FEi78lvN-Wr165g z=pISRY^>8s1a!x^5bwZgs8u?7puKO8umv&Rtg^SAo|5QM6%@w1J0c-aw?u3gaUUEm zH{HOa#8exdr>~_{MeH0G(LF=+WpADl&n+Na)N1joh-V_&h%dFNK z2QoP{gAe2GyP$NNoYh_1_r*or?Bx9FA6Oq<-t-^Q3Tuu2Jc=3}Ryh!r$~)MV7l5V* zy<3NN3ND72=%@q+8gqG}umqGkmuiap*M+Vnc;t+NJy0ut9ml2$1G_F93^fna-jW0H z>qTBHYbCSr2$m&Stez6c;wD4Hat3Dq9lX-vjk z1Pd75hpspT5dY}sT?Cz_w6#T!)t8paf_wzg#}UI={}D654W&~Dlp@PEbbIoZ`|gkM zw{}}-;cAnqw;GkP1ZT0kopn+Rk#*wx!@1+3Oy9bNewB5@9!tDx*R`E&;S(h@ zdg=G%V^q@){U5==oR8o%@lw{DI8ZcXKvly?4d*>~erDCsl(b(a4@O5A;k1tus6zg7 zS=?~c)I9$7K{~s%)?mxmHhV9Ha1~cqMhmevuH#8v+kF$rD;OxBIxnOVU4d%Pn{)S3 zW+u-@M09sq27&67l@PJl4h9Yn5yv~_cPBDc>>ftH_m=|eDXsLes?L;~&k4n>N=fB;Fe#fOrrhLQd||sw_FRKTrBe{j*@ci;#uj3AYhF=YWhTGT$?tem6Bto*05S2Zl3XOhLXU}Kn=7ZboAX>{z_TKR0U=by_VOM;= zWs9cfb#DY>wrX{5Abcy7&0?JIxmOgSAlge(DwZ)PAv0_Qsls-CKNvs0o#)Uf18TZ? zC@-UaVLxSjapEU75eia8Q%C&$R9*4+@R7MbbE3=lp# zeJExI-Z0w=4G0LS>8qQrYBRvd9&9u)nf_5bIDw*~?7lakkPFk`kJx&pJ^LAQ_29Ze z9>V93!##ThvM7xzy7ThS(jl!pPsT-@<#hc)h;6Wben}rT9RcG>)m@fiS6qD4lt% zlpisq(3`!Y$1;tv^Y(tv=plW8vee#pYTap>gt<#2(z96<%FSAMD>&^K_tF8(EL3$p zgyNZM>^TdnS}w28G3YYY)6;{k#2|^8uKqOS&5{$}kY^GFT5d_<>_ZyoW!YEXkM$0I zzdiV_%-U}SAiUAs@r}%MKEcP56e}7N-v|7tZr1KgN6)++%)z!Zl8spQ=9cYCU+!t5?xdEJM%x6Or*jddNk|N%euxGe%=?PNG+OSME+qTKtQGz$Kh1cN z?|rCZ(t^FKcko87d|50dFR_%%nJNL^%CWgvy4f_mi>~$FIURP&Zcsh)oBBa;o7CN(kFDWJG{+s@*rbbke{?e zohU!;^4-H`h7fr8dy4dR`_7H&w^@6s6`}N?&6&SlF3Be@lgCvLe#kCeAH-oloL(D% zS_61dt2rf^+jz4cAQj~{z8%2OjIc%YzH+@R=z7X>j8KkTJ@`frjJ`;Yqxjmu0pc|+ z5Tp8~ILFo!Y`&HE_}+!0F$Gt`6$9!$a_+Z{o_<@A{n|lH8JyhV%S*NWy)%UWgOoUVg=sC_+eqN<7w8Tpx_j&kDln(6#HJt0si~$1pDgi~ z2~3d!+(W7Uwhe)!igx6Zht{om_&BLYDzLvIMC$FF$P4UbO}0X9K3qCAg6fJ?GF*$Y zq6P*vqZ$;`sst839ZgttjC|T4CTz@m?Nrj;cf)W!-t>bJ!H;yJ?{mnHKGi|xUedF2 z4Wpg;G?vse^lj0Safi|Fm&l!Un?9Pc+voM$4R4n9JFB$2J%W}te2Y4YSR)SCZ6)-K zQHz{bpHiyVP@g<;`a$a!OXsdU{*Lkt8#09|{Nlu%<#{r7^cgF<^6TRL0j5*#-6VWo z3ySAfw$ihXnnxbZcM+1Pa|t51*8V&o(YFWL!LA6cBMrfopoGp7KbkX?!ra zruSH0sIQvdj^BGF>M zbPK3o&oQ4!a%y{R7;(vZ{q)TwUcJIA4dBZS%!hNg{UltECJjD5$rF>+5DlJo_5!Ys zZ$~m(avscqE+{(azxvsA>Go%>-S-fNw6VTMG~is&ZG5RSl>7AZ-XBNXo9Z7NMk=|_ zu7t#l&V>x}QzhL|dku1Du{t$_3V9|p@UvEL&5L9Vq^Nym zY+3V{zr4p9Z1PIJ9@eLF6;50C-6uHD?Ej(#GM{fbrz2j>U5QTL2w% zUWF&Hr36Fn%6xK5Pob_$faPzbm=48wC_Gf!1(2G@vB)exDf~h2%8uJav1aA|ixz`% z&~%kZz3&>}s!8~FJKn*_yOo@$4b=w#wj8}6xt52MFM!W)=b2usO9fmI<52vnTfOK1 zZR4PTteN#S<)WwI<$+YX=dZd>K&OVF7{MvD(d!|fokH0Iq|%PFK`q`vH+eeKt)X$= zG&-~WwIq`_LMKA*Bm(il&fDnIlGvSm3X?G1S90u4A~UG&o`1^FW#rJ`x&@+SvePHB zroI!^Q#yt((Du>XXRpW1#L4<4)%|JLJ(0#qbHv{dR5ylr{geRFJ^MHGO+|LJ>qruA+q;ry-Q#u<8f#&=h+d>6J(*Ewv3NA#jW@M zSkCTk42Gi~oU|B!QBc0R9Q$tV4R7O!Y=HpBJ;{j7nPD+=%p~ex5Z9DQ(k}LArGduy z9WjkhZt;_s9~b=)iF4g7ll>uTi;VqAoBUZ{5N~Z+l&ffs7asApfoGUXguq zq#b@`?6|Nh1y*XQ zJAK^n@&V+GjJ&IE_1uTWdikQ=CKhVF(l&?+8>xjx^uvwg%mq^1XrpuU9kHC8#HRBB zbG8dGL4Mnsc1_-)ahAO`jxAO%yD?-OawM6X)RMBz_F5DXx1% zrJDMc?do6MI9{7`MOVv8OY>~%ymRw2!|qNs_)BG|`gawlLJ1GwA2L?Q2u>)?q>!V+ z7M|L|y4u>``0VP|R>3J1ET520}oFS3)qPUut*CwjmUBgL^ zRnB2M2Y=Y&bl;{#8|(7Dac)XVO>Q+5akNH>Fb~@$P=@w14VLeOUz8pDD}DAxyE)aS z3s+h0DwyWpI|sJ<^TsYJHb}j+WaNbV#|7)9-E~nH{>EPxj-B_stxzI+KkGk0?FwuF zn{zDWRsu=}m>u-#-k?8j(fPQd0}U(Ksk9@u9eH-Du}Q3tk&FP!_6N94vm;gv@3YFOj8nSpVQvza)BG~{V>eyk_l zxG6Uj_d9UuYvU)Cx6OdnXe(9X~QF0VOl zF*No?|3Fgh$4`en;8j%s?C&(M3q4Y^DOFsH<5*b(1;#Hlv--Z)cnL^FE)!}byNT~r zO6JGNR8-PFzU{S2QuEo3^s8GheVGE&RkO4)tdqVxrTndRr%o&7unodiU+xmQt=Km)AMgPJ3tEMW+HbvfGywn~p-Lf~=V?I-TYulLE;D4`Wb%G*2 z3+vH&!dvSZz5HOgPwLR_^A%Yc8B5;KrxGr=vg(vK%+E^eQIHa?si@;E_ZVZ|;E+AS z&Kz;-uKY{TIs@eXa`07bSF z=NUa`+Zf_<$Ig06@90PW{@*O(5i52`_56O{k7sI4uWn2c)eI>~i-ePUi%Cq6Zml|E zWmWTw{NYig#MHgW&^7=scr+E_V-!u1TXjheEC>k;Z~qg*wh9ju|G3|rX73|Ky+-TK z;G0G(-M2@KB3yM|B>Nkw8F_AITpDzb{^6d?$NUy}c|U8{ZeKM^rU^GyXSCToC4%77 z$~V;|)UP;q^{zS@66BC%m4rEGgM@_7+#T!dO%aYSU#{1oZNGJVzx?(I+Kbe9=cCcy zruchmIDF8*y7n*#?c}p{eVybzJ$Ezux1(D1lu@lTr9mvo=s~H+E$YK<6|LN}p(Jkm ztae!nxb@@E?m-E_C}KbS$b>jyqaR-D6ztrDu)v0@Y3_88-QD4eP$)I;yg=Ew=2!ai z`f8nFkCNe75~0_|XJTVs)j-6@@+8Z$@zsV`BYeM9A|$QWCRDNI_?LCdcGNJGL;hR9{n_w5o00+gCMNJW6LzcT0u=Tekm|$N@j^o?)>jwzqnK=5XG&)iIyE zSPU>FgOqf=^m%JixjJhe4VK(@$li*Nc(VB9=>*d`fBV?6zyd(~;=}=AW$&EMcRzst z5?iK-lX{-6eUd>MdQS(fDz)it@BH0+68qNIOSU`67KNh2VAvdAZFcA<`-2pLq0d#T z?(`DnAucRjl099vzp|acV^a@(K-^+_fcW`kdNN5hjAn@DjpSkM*^1`zp~+m2_=MMm zA8(U`v7Kc-YPKa#&dtcBO!FvCuv#@~B~)}fuR$Tcz+F0f1>;C~Ycmv?NmreFoN}CA z=91k55uaf0L(6S=0p`0*7`>V|)45YuN|#=5ucRvg2}A=}6@|{~Eb&PbPv*#5U_)Yy z3B#Zsx@@#Vnv1(hahhijriUHg4$`Q7rPJBxaIWb&%7Z}WcA8nmz@qC-N|8XZz+rl= z0kllKSgBIt8W_mDvK|6x20?+V3mSH6n_puo3klKi<$|P4*08-4ez(#H%9Lv0t<5(W z9UDYRhA!)94mJ%}Uaim;FrSYtRr?idZ*ktVaV4A62u^#quzYZl;F3wy)lC{(qavoa zwpgtnk!4ZFpx$zL4+us(hItEAYp0R1BF|>jf!1Sc+-fVjX$e%us&k8oU}F6C2Q6!? z!jLSz`htu18;ep)>CaXt4P~9GI%MA4S~WqVxo2w?z99_dBmeim0MzX3l$T)ix+B82 zGH!RDP?APkKIqIR{693EXHXO0`}VQ&MFkWTl&X?|NE2z&f{K)Y5Jiz1dau$#NdN^A zsevGbj#8Btz$A2#PC!~hO$4M9AoO0J{Qfh~o1L9AJNstOp1rU8T-Rq4g-Y{83^H{M zvJm-NuO{nGjcX7)dI4KBxs}JGiuy#nD|m6PoBqV#UgP6g855t-s&PgC(KD!xe3$St z{)I;bZFoEe+o?PGQ49;DSk}8mWbIUo!YD8iPSLHul13)%coW5}-m$#0BfRR-XJ8ak zW#i(xlG!Ah=LB=@u}^ob*Fv9xV#(;#UFs|wRJ=slch%I#A2a{4O)U7^z`Uo4cu(8e z+}zNT%@|%AIraK$)v7TYy#OIERSfJFZSeA}6cl74kc3RBXIm$|)%9{`fX|lv`lL@md4_jY#^y4H^cMGqYKTsg4x}`tTlVpOpIfwm$OWjfUGUBg1i~O zG-5+`HmzW2jGjm%I%X%@c)>oU%sfjFBP1RIPb?QJ=4j~mbuPNwfR@hSrIyJ88-AF6+Dyk+c%oH;1*i zN(#_EmH38BXVal5;#?-I-6udS}G zE41dmE_I9AWLcPb$a6hg-6e- z`?e2zD2aW5I_)7~C1nUKWseqJ8w28xj#lnU7}sa*vM}z2xQ)8mKc-ymr0h!W<)TK# z4O#q2>%%S@3G6HLJL0cDvXZlOrAv`3s_Gyf}bdRI4Yl28Jd$f02>#5QOn#AJ6n#A;x~RA%}o0T@j_-69MF;r zHXSk`{+9G{FzNV-kn2%~-P&s<$YEwn{?6#m@iS03l?s(S;`8FH6Eyd-riDzZ4^!4@ zvNbx7n?+)NMVL2BOeM}1#FTo-9q6OdP#cqtqO#XoE7GUBGEC%x&c?PD8ZEyC@~f~U z|9)YNHN0Z>Rb(e^J;w~Yu+!E(a9>v?@G<%!9E|rjpq=0RM~3o=+E85TE`92_?%`OH z_llZ!I(n9Iid;K5SDU^|-99b|{;q7gXr)lmftwhwwnYEd)bWl;F`;E3q4I9%->OkXzy{qPc1mos zsqD-*Fbgixvhx*dQZ8dWmv<1>rNa00?YNv1_yL-dsS=DQ&keE&vkKH8rmPZwH>@{n z>+97h*+{U&fBhI@LA-zVEVsY>R9@yk{4<7If%ibf+R1YiDafZ-gU$;+u@d z&m1U)Lnmn~3}%giLK(Pm0+d2eei+v6Pe%>q;Z5C+enJ8tDsTOf(y!=f`OtswXTTAy zlEe;^7gJ1Hc~Lrg5@QO3x1feaV8Qd*v}2D08n9MntEY0JV*Jne(&N7!G2wqH>WY2r zUM2NbV9`yvl?qBXT3lZyz&(X|k+Yat`~(6&Jy_cOr@HlV)_1Gd&gZ`Av*S=IF0(75ig<@;*{d9R$J?c=E^dv%rMj5aAiz{Tl*6q?PX`;pyn`5 z2@l~i0x!9g20SJBhG8fH~U|*vUhrsc4 zm)PN<&$G62yE!rRs3EW*sFgEtRAIX9w5)1hOmxViZR6{Dy{>LP(?af!7YJ^g5Nswp zvb)iCg;<6<3fqLJBuHluz2c3Fu7p4wH=KIvS0^5ADg; zW3m@!TXTBpkrQ(B#%4BMWRJe?8{t1Byk<#U(M7y?B1vSQifWll;;xYwXi#jWrg z_s%8%f)?m)uq4@}F6LN$!>Hn|K6ufczEqXB3C{{got0g>iq3wF85BpNKR)V^DXMe0 z*Z_>q_q74{@xEE0iB!56&?HWKMo0#T9e%Jxy$pKd|Gt7x$eu6rnPiW{}=z~2HaZTQc;%8$TSqhAZz4xx3CPx7_9lU`Elv*%Uv zxN?B$O4YuZ@|9=!lHjr9g~w(NN-cz5pI`2^Kkb71#DyCC=Jb40wmuU!AKh29Boa5X z9lgxyceX{{TeD)s1e44JF4QxYs!V$^)v0D%*|SDtC_ii9Y? z9f_>J-?75WH-6S~ZV27v`KaNzPQ66+?vGPusrLO7fdvEJ64tEc^)x>r*U2Lx^S3R_ zZ01ydUZl!PlVn$KN|(C)Vf;L8&QCsdgn%2kCmRWA{c^&ip6fHAf>cG%Oso90V4 zN)k&uV;yn_1zdCQ?J{s2!oXO|2B&B9^~xV6KPsUZl6CeGdMKUm3C6jW4bipRk5xdc-I~K z@yNTxdTf%16X}^HNcfmhHB|o*CNG%s9eUpR?mH8^Y8ygd6CNl6L*~)5MS3^j(LJVQ z>5|~>P~j8S;D5EWO=8b>yu^MpHYiAWe5}EF&zUb@M>{u3Y)T$mP&ZMtfmi1Bm4m|j z;6$2<62YgEUMtO*_2hI7TjIJ22?qXg*LMn){lX23-aD?6AS$jAGbZ{xRf9?6y0fEG zvuq|X=7@nr5rc;cUcJhx>v7g2Z}#M@*hOJlWAccZ7`ei3zo}pBow35TA^$%1*)}Y$ zZyQfAUExp&@D#g!A=p49@KIT}xWM5)-mW(554U0&WHiCEn&&nsS><$1C1ql7rLUCF zbo;MYUtZQRA**<$tR)HxwL`SSg393sn{!vZM#L%Ol~1JJt*jZMdc{R*vCByeIki{| z%$I5}<&$Op;{xixU2f{xajd&$)>#l-p%nP7NOnhKHy}m6_T$d)iJpq5!_I9%*Q~q} zZ7t!y@O&$VKit-N0jN%;SB54$KMb6^`E+gN$QAgN=eCM|W4#|-^{odE-EMlHFZRb2 zz?3*&MM&Gozc3KGGp3-gL4jHL{`$lS=(^JPS@bLQ)D2Fl7IQl z6QKWw_U-^X{k{32CNhP5j?UmwH>vfx{ZDqv??k~!g406)GII{onh?F@U=k27?mvWj zlSN*h-GAM_+zuP$#4mLs4`)`%hEb{FCka zV#X#;zRcY}Qwo>cS5KcA>|eQhc4kj#<#aBq{-~zm^l$Z&i2@&M>e|BlT=a~ZF-!My zR94Q%IqJ46^Ed>Qc=xTZILh!E3Svg^DAPb$_JMJ;QQ_;q$)gAoD%mFif3b}%f|>L$ zQTUADez>~bcSaMTjU%N7g?I4vGyxA$ig z19O6JFp*2>#sWU@1H!-B$&=M3K3%p4Y|q3~)RF+v7g6B{ar=@5fbh<;AJt!PaYfwO z+^)XH$rs2b#U}eGs4Mekl=34mS(8P0^nBVZTX41cSA$%O(2;_t!F0o@h|#+6K6vv# z=*+n{dv6N`Q`%%3-eTUC!^Jn4U9Ny1xU#SrTYVCj9cc1(SpRZPM&V&JuRqGvvcH|f zx_Xn|0nGW37qa_4KX|7;SUzw^;-GH3BY3id=$|%y%Y=Jtt9?e$OeEjVaNp)yTDLz% zzeg}@$cS)QZiT)~nJ!baW1RK^WYy|#I`*xWbV?o!a>-H)_hq>KQ9q0FCe;lpnxhor zk)~fiCMASsipU2_2o*ozq%Ogs{6H%zavK)$1_NKR6tHZ~#2wo9vEUbp+B$2NJxC4Pqdlh*euHSL*ye(A=}4KN|sd zGYrVU1dby2bE1W;e0aAW;Ok4$`EQs!j$idiB`;nn09+UQRRHY@GGNniJ8c z?6D)5gdI-{_*f^s{i8(qvFq2L%SlBUh{^9zhIOi%H}+k9aup-UM+-DHbD&U-)7)#~ zE$B%;mw#Cp5@8T6$Q{4tN|z{E>&-ib7ekKm3n8&pzJ?xMrRAOkKmX zU5)*-_aKI+xcnZyi)3CHrX8cJ3wfL=lzP0ee~UxTo_wZ(m-0z}d~Ne08zbds?)t0D zOWK3Q6$N9SR;*@Yia+!A$W7G5m)7r%dGGa#g(hQA(zKfosaBQ=*m8D)^GnS#&0)=JVC<+` zZhqWdl;3?-Hcg`DdCd@Th1xlEYaAe z*_06)j8K?0_;$If4)KBcSbUqfQrUW9d0aB;Nr(nBlGo%|@N#Dv=_*Uj=;H9rQwJ zCv15~0CG~JP_Q8jXEh2NQ@6Aa|J`vLq1 zt~+_09yLo>HGEpxp)y(QsMlg1-0joF0X1Hp*E+tx*UYM8sz1hz9)c z?oq3Ib61-HXXBTIgd0hI#MfdCPK2Kl)pQHcFmx^lbOL&Gzx0s+eadVkZl`U3GAD92 zGIcDE5CY`O>Ro32DZosdw{Rr~Vw5)l?LDcc2|jVgpWiWY@{)`PY|R;%fjK42%hE#` z4_xwq@PXM7+tP6S5zd0p&u)-e44X|_$)v=@)aqBXk7`c;0Dm2o0mKKim5sV0h~nCT z#~U3Ye2Up?0VB1AP(745+hf#olsrlr1!5C@uemzWl2_l(n9xcK<23sLlQ+6xK?>Js z24|}`Yi1J&Z7hO{*#M6f>E}WbGZhAG;8}1$d`s|q&GoVinJ60s;GP|Nhm3O`5-;4} zk6=D-x;*pwvTX8x(-ZI$@R#bp$)L^k4JO6KXR65CUy!2sCz=zCOiMuuQJAFb=H&%U z7z%s9Bw{0M`)csq+1G~MkwC{o*T&NYvT~(xh6#5uQYT8tS`pj!`{*s>V3X&a;`?M# z9zE^I6K8^LqVK~-tjyD_g45Kr3maMt2jN#w_w+x@`{t6`SS3VG8rmP}Jb`w6u0!^K zqw|XT5_aSFUlKbMOrU}1qHL1%!WCU!HbpNB?RHrD8U_zUoyLU7xIx#J%RK&2Bjz_` zI5r0PePim=`E_9RS@PHV7@co(>wuy|RfJW9Z0&g@Q!OWuzpEBr?{6S#)|x_tO#o{L zfjCx{`M#twr-q7oebGAy506l%=-KzHsuz1|K5Ez?FF^vyK!o2z9sDQGInQkcu3f(N zyE#0F>dL_SE+FdjvkD6%Tim#e=3PyYoM?)X@xp2EGqyujl~f|;EY)4dmvxx95Y)7g zuLJj;|2Y1p%GLZSi{FF3sfKZqL#_XA?hue-1jQa*W2H5`hJ)giBX+E6oLR32tTY=@ z@({nYzN{ldB_095EAt*q;)Gl1C{#L?&6w>ON*N`NQbMVrWWB+U!DUsVNxZMx!diER z49rVVugh#hbK~@AmyNA7HoNAk$*%$BxgSE65%=!28aVv>Cjegg)dw;Gegwq!H{Bh$ za3RYvw5jUJdPc$O!}yErMmFo=pizsD;PblNe4bj5!B?mP+B!;~Le~}_*{zBJ&k4Ss zy9e=gUw7iDHTXI^Y$mofss^uFk6ETNHtfMk8o?94s1kt`1M-B7;&|u`12m`2BSP0>@sfld-L2@nXfW?HSLBW83vZPrVnUn`H<47?{zqO@m8YRSgRan_=W zy}cBs=bWb0>e=d9RO`L~1E6AXRK#r^1l6Y`jGM-!f!NVU&$g`0Br^76@*U)GrZgwG!eCR1crrQJ$^H&)e0#s`dqc-MXkq_< zn*4CR={haws9zQfQ*oN?I}2jTIW^HxZ-Iq?lI|fBTfZ&E3eL1#tYnhv5K8XoLzO3; z1oZgA)JDllH~o6pAjC*!?H7#)Cc)Bygy3U1u{kd*qv2n7klM5>S}_XWU1f{zAkzb` zqQXYda$fuaQ2Qb+kslT~*PIRgR9oTJCo=6hIPN`x9~?~tSl%DIe@@_@^&fzvY4#Ol zZp>_Ch7wAC8vNLYM#eoPdejQ z==AV=BfiCb2stNvnvH3Vo8>&ybealfm6i4z%|-0D@Rzzg(q%I^W=sHu*>J;KpU?c} zq-{>~ZvyfF30&+o`;g*)AH#zevo9c%SMTiN7P7QQXqhI6<_QrDS$u7-fP@a58_5mc zBydwh&9{$;%q_K+jZa3g2LAV1zfXrV1-<-M_HvbfC4=>}C>fvRS-tQ<&d|=OvP6b| z(DlmJ3{qBs-oRa6(q>=9Zrrgqx4kKfS*Ab(xz#F*N=i3fN4yOFDjX=JMc%@ZeGEGn z5kC^Rlh9kwc8{OL2{668uT)&Gp(DXrBy0VrOZ8N zT9Mwe%^;T+tMpHq$FX?r?FYW7lZ51jhK`~q=%v!#`z(^gfm_bTv)ZQ;qCCtEU+j7G zoxWPmf$e4mrmw$<)`d4gw64W*G&!77Rx^NChMqkre18pAvSOvHExR&Nrb0tm-%@Z=u{<7vT*N%|dzmFSKJ(*(%=fFgpG<3nd_$CX^ zBw2z~1YZP?;*ZYqt5-p{0TC-&Rx=4%$2N1E)@n&m8maTgXz(B#rd7LDoeC?mnOwHqA5s5sJg_VY(kqKRu ztzlFBP+xaJppo@p>51B6(pkupO_< zs17CvU?(d#zP+#|Gu1`SIi+T;*|ZInqn0wtUw|AK#_ohipxZx`vJ8BV$TR1LZhKX1 z+JE(M6b&2{q9W;#qh~9rR)9Ma1<7z@mPTfsQ-9H^H+@|#H? z`h>#z#!dZ(P7Q)zgC9!le};Zw{hj)({~UUMSP#^x2cR1|`oL@kE7ECn6!}es0c=b^aQDWov zV4?=`MMzukBF=fFa5mzFF4L`unQn>9)6X3C7#WaVi4PgX`a|(URW_E^<&>zeut%qMCof#cWMAZGKw@vh$)l#00uJ=3 zh<(pBSZEQy#QwGLx4`cl-Aht|cU$^yhn~Cs*}R@G%YIIgYWvxHcH2OL+uy^juGk%3&GUHyUZ3E!a2z46!ZHaG&a#J5)V@g@ z{Bcj8fqmK0Yu1NKC};e|d)!giRVWm?^RbE}HkQK;y`r)&mJjfGSt&7-Wof>y(u;<{ zLLRj;c|H%xp%Ot{=W-8iIqt|ZA~bS^O*7Mi8Z z^5EppvTz{50P&_~e|3QfpFFdqOks}>Tnx64ZD;7#h;hh1wqDLtq$JBoE6oJvNNuNi zQ=9X!HSdL8|IR;?sZ+NVhBngqek%609wJ_$+J>$g-oEy6cjHAp%t zfD^#s4?p1!(=DcZj06s_AQPt&pF-|zLboeU1Z<_54z8Oxn%H|MBkgj-8CYu(|80uV z4}czhinNIZF#!noD*%Om&9yc=$c5tOxNyKdjm?)8+IrFAO7Ht^l@|Nk8G)GS8%AZ{ zrx-689qX~h@TfKXsx5kv=JC)ifZqY=a`sR4R^?9Ob{7R>uxC^HhvG&ntUsM~=rD`0 zt}RqlDs~`D(|to@b@kf>WI@)!KydQug!$R$ZAS=2^@|Iw?3_ZS0|qiyxi40nmjgZe zjo(Q4v`PtuagOxdZghPM7K);cPIle64ZC81@hsmJ7Ev%y>wQgd^n1-0luOSDMXoNR zO3^=C2vqn1&!jb)Y@BxdfT*zn@@aD3G_L~6Z)nSE2hf$5kgm_|X*Cr(Q{sQx$1Fm^ zpYW64nJQ2qAD(}q#wNS8Bk5)CLC~N(sc$M<$aI5Z;gfjI1lHd(wt39c;GLbmXeQM4 zB25Q@9KvU`xD;`pEN73rlU>L{LSxs;>x&DDGDv%LgQE9O`Z>vssFts*Vl``HE3m2M z{U|U#olfC?pJN)a>O;ZK*s~}!=f^-Nk=RAf;|HuU_l?Z=cJ^E?EZ5x$4fG@i{4BLB zb-(%HSSYJHQ$bM!TEa5G93Ww|0~Dw^tmfh+jJtdJ%(WL_iqp?*bPGt8Tt^{iz}x*+ z@d^D)vFTH<9Y%LL9vB8L^2Pr)WGO3q;?5KSB|3fsWacs{GI~+xClH5d6<9K8&AL%e z*>PByZCa?6qW4p2)(Yk-*3$~ z@bPr;4Me{-%Czgs8eJ>xq2wR=f4fe&Ll6e@DFBLBG!LJje|cW3SyL}cS={{OHzVlP z*!_DiJ_8b7#9!p%Qp9fi-^ainZm{yOxg3YH;!)=9O>|u6U2Q#WVoX-_M@h+sto?|r zDm0dj&SAJm0P6nxC*;w=>22uMU)JF!tRN@$G3b>1iyF~Uny+Z*?A$Sd4uC0-SDo0A zCjj3;Xt!~HvHGBsp6x$gS@9s+FHma3KhCq=Z4AhA%^MfyY2iPQA4~g%Yr)+1a`{At zs|rU2+%7F)8on8^@WFbob7@0Oc26Ve!{OFFyvUI7DPwS8{8{Ea<@Ll?`v6}%pEJf) zcq(+@Qb7s5;_2jBihB0L#?rW!bk^Won zY7mw(Q0a;Go*wUIW(u>Sp-xntSsT8|?XSN;j|7D;8CbmRyvvo4CzWr_%2W|PT&Ajt zdSR9OA`%e!DK?dUh<_0snyb_37yk+z&U)XkE;THd{iVa=={DrdJMruHJ{Br{5o>rT zeB8u;-1M+q;2B9bzu_r?4-|JzDjX0AC{o!JP|*v^kcF+s9|WvcFBAe&3YMlhBZL$a z|8{`cB9uU(gxd}Yh9TPb!FpQU6u?XkBq2AsI~x2O95V2XPyT(?Ukba>) zwUcR}eR=bgpdt5tYifc7eSO;>w>pTXj%81wXqU7@Mpm#kav4P_V`U|})kg(|P+yA| z6iXFpt_}|;rw;+UFn-IG_mtG;6SaGsb9Ru)CiO%Zf*?5G#u+0 zV>_nJ8oXtAjpnkx5Pa-qO6bP=6Cnj+qz}rRNWo&%XDS^9${gIL|gQ5S4An>8l;X z@3^pE_}G=lQ26NJeMmFTAIBX8H3Opv&t5Ap>IeCK5B;IFu6OFP(0I@YjTXlz~J4n1bP zM%lc;MN3yP3mV;hQa)F^=W05$F1tjoSep?!;L)k`7-}I8J~`YiV&Tl(lf!dzE@VCm z24!who7~IgBdk;Jq*MZC9DmEtUiTrrzCek*wUL8D+!$wkiuD*az2bOugU2wu zr%v%a3jdA0j$dTQC~I-VN$ss%RgJE}sMxHnDB9&!=5!2l*c z#jI9n1oz_=t_szz(z|}fA}dNEJ-`yJ^(t)A2=1Q<6Yw#XKHERIanv&1 z)n~brlgTdu>eZ_K@4-6{vmy6zPfxv6--9Bq8c+_Tw-%Npb6FxI$G?HxiHqNP+`1@z ztB2~i>5po_Lodi@3F0_r=|I$mj4c|L=xNOh6HQ3XvOL)e0GfMkrRVq;<6Yg^UxK!7 zo#Ahrx!r^!Ng5QQIy_9H!TW#@K5+LkMccplzJAk#A+@%9w@1JI;5(n46FL62)*7>1 zrp;gN{J!tcnqkHM$(dlD%C^{KMo<$vP(RhYGJJb90kXHZC%R$7D4Dlq-=`nZR~@xL z+~W7k$}6p~NU>e2ry=rco8Z z5b%QDqn&>y;4zJQ4b%caS9arz;}NLn8v@?dJhv3ULW*lT{&A z)O};oi>2#bdxvEMM0I2NS4pFp&s~ZSc_pe%tgQ z(T4F))W9BG6LH{^jA-y*I%)0J&eE{nS6We4nzjl=2eyRhwUnDu3*rSSsZ^G`PIe#p z^)2)QKOCS`s6^=-ffxNoCC9k=Nk-b&T_BRK6y2fmv#ff#b6DDsrMeN`zUr<0c}f3! z_bxD9KVNdA?4#Y=>u+DAK69;cJ^JO?#(G_n3pC(%(}m~N+m|``$maqf(iTsfZ+?pV zc+DnAb>es;qrj`ftMLre3zgV`?Sfi(C%&4j(M)hf?@Ekug}Stp$)d|KIdZ`rD|48@ zaOfG4zru?BpGPkry#_Ygk;X}3VqCD|-j{_KdDFKD+eYN?4r1~Q?;KNwfB*OD(}i@)#F_Kn=d&5S zvHTXy*XKXP{KPJfJ`?>AUAFZ*oJ0HGhpQhh8(KenXxWwP!ccnQ`R@m|35@*4jL6P~ zyS;KkA(y{h`=`p$%WSKfbAgfN;v-F^e?2AT>mfpSIgH|1Q>HY=7&IN?A}SbCS4yK= z0=ial>z^(MY!Z=QLOE@}OWB+gWzTnkT)5d%tL8d5I_z*^M)iDTPb!RZ?@)dD>n->@ zop&li{iY5T5#{nFmw2%VgWgycM_OSfN3>%4HAh5ri|>w%?VLQ)(p%qIG$JotvyA* zBl}i69PRJ(jED)VrsKIPo}7)EGdJ`K%r9F)6iph=+(Z)jmlaqHx(tMQ%@&(8mVvQb zSkIu6?KwXniMW);f&L?uqBWdq6SC@DhLBzPUS{*r*=XvfKSU&}!XWS1LSd75d`abv z{e97MDq{U2VylDR1o;xm;Mt?FO&@oEjPjmFP#5{Ia_ryiCx-4i*NH*s_602W zyZ!iZ1tv^eT4jIYeB<`R3>kR^$zmx1%i3=`4t9`_cR#SY`Pp;^90fF2qkjD&p=@3= zu>Ll3KRIuv_OT^?;9j?5<@hQn?o# z0|E{&7IR$GLteU5kpJZ9*MqWfeVp!Noc4VBQl8$WKk7K{wf*g{G2MkGH{Uxs4A*Fg zd8QBX%zj4vf_b`L*$}JP?R65$ACA@KmCDI+u$h7m*0hIBrw>=b$oW0o&ksHrZI?Te zI6kVEs3w}mR4D1{#8T3i{$NKLygP(0{%zMLxp9}f^%6o9ZY`xb50wi+Gnzt*!^%;v zdUHv!8sEj!bQ6~GyCEh zHkGY}+8@>&E&F{buC%sU0VNWoL z;6JF?95x=&vW0e1!BGFStYsfvd~gNdLd~(W*ko8fvUu{)czJ`+87$+SaU3YP*7wPb z6m-GSqe!gVX;DHu|JU~pQ6u7X-&X`y0F7PSxfh$6e;Ha6*ID_okZJ&$H-AW?s z?=8G|t@TW=2MG_spG7*{OlH!(tFGBSFC*vq++XOX|IXe?HqC!tyI6-|=1aZ>$2@m2 z*j`Dz7vkttTAVX;A=T`sjxW}uKl-|5eJ`a`&M6~z5t6Rt5Jje8?jM`3B?`b-=K*<)8Tw3#O{I!Wm$`!>t0mF+G7r&&+xc@S$5Q~%}DMsy}bh6KL za7Ov;uIC&Ttle$-|qshWi`D& zq36;~4I|Gb8hV_|HVhgsyt;3rCC)(_uk}U8nht3EM|QCC7G=<1Jokf~Yq%-qP~w)+ z6SHi1JEc918#{yPwH+TE$N1Eq-`8Lr{agyF-33Ziu%3>c;j#j@hVXB?-*PYGBvF69 zHE(#jK=Vo+fd?0!>$6J`+an9)3d3}l7y5;u6>CRp_ha{}Y$j#{ao)302SNwAc?AOn zZSkD)M50qXvOM}U!y79f*ph)}-x7?4iyubPe~{=OkhvB#5? zzBTJqfJ6a!%lZ4x<7p*6&Mn=jD3SqJY&WJ=M4JQYYZkP2Oq^EkbzDz4_!32(e&h&V zpn^estbvck2%!r}!O~$#$e~vMQU6vY?X~v>jr-3TV@UCnEriD>4SIBjSK{Uq_hV^t zvOUjdP=k=WanNF+55YqzMIx%PqgE+s?Lay6$i^5Ym@lTWc3`EFGD50*xu*=;oxuY5 z8CDncduB?Rg)ge&!UMjV2sa?RCYW zyJwU@FGNo^wx5XK*+u9s?|~H{d;8KgcXhzIz$mt1fVn_-TH}Xrr@fB6W}(FaANuAM z+Sns@x0~e!gJ16T!4Kdi{iDtXpoKPB(O2@IybNvJ_g7KFaPdD~6+bdwnqc3tlLVcQ zK6}5=uvU%2EvIrWlB@DapW9;@Eh5$4JRsJP;VYw4*3HhwCS%#cc!mGI3cP|r>oh*l za%JVMtg}8dAjn(tA}^69Yo9Y8`Jn5ajL8bN5v1)`yj;~jp~aX4>*2B=I=-n~EBn8} zMyhg*MS>D!kgeQg$PPxB;Srz3%4a|^Cj(1^F*F^G4|(_gonj?N4ou(b{bE+ow8Wg! zb^jE`(bpWbf%{iouRb+>_vZI%uJ=2kr-ZS*sPjcDSN;yCwc*#4vYtGk!{!J-PAWji2tDlpUjc={;Rn zy0Vx4vuF*8h&FwBVLsC{J~7~*)v^#N2(0M6_^Rx;)$7ZHzvOQ$oAQ1^g*!H{+dO=X zD9_Cn*mPlc09BtQD+i2-?bc%&NHzLzqr{gm6M5RVpkG)1ROPLC6tUj=yTty=A!ON)^Nmh@Lvqm(S>+XpWVi+&uChd;ZCR&UJ&* zV?z#B(t?MQDbtbaFe#y-J0%)32O56Hp;8b*iilbxb!{Uu-$hJN|01^v=5(}?GwBeZ z3PF*OqZa@?#pMfi7kzC+)g^9rP$e;1o~>9(B(`iTa?8(@>%^(G%~mYj9C(l(j1s@I zw&(a5u+=U-x7p?m=F610!@sccsP930@n}3N-^T5mNF7PncccC`c?RrRf{i03smDgr zjtG*2K~AxBL(we*-42h`5ji7%B<5YF&8gNw*9Ioc0EJx8X&0LFsIfud_MF=$4~Fk& zE&P19D_S%6HRVr&pf*ad=-5W7P6>mQs|$9XpZvA63O7Mz9um2jcp z!uj?T;@9g181*M5f8QWlt~RVbhi<>54EI-h60yo`F5! zNJ2Bp{cx-i+iW#adLpM{p?aQOjn|zNXM&B@En&Jjnl@C^ce$rKV@Un^dI{$P+E@M3 zFZ!?VS_Q$LC-q$VSa->2xLx|>?HjM1O-k9_55P1>cu{X+dXlR?hq~w&4HiC*>m0v_ zN-GCrWWKyfwW5#*?2#bE+owNN)5fu%ND9gMiss2U#??BCF3*I0Tk{VeM;bMEI0KuxFeVnU_hHUjh-NG&>_z0z{E0Q56^QL_EDibq4!g z$L6PNmoqe%!Pcu(Cj&=+2i`3j4Ke>VZhWxp(V)%o?wqobKer8`e!ozph1~hGI)p*A z1JA=&_V$464|5Bcu#=AQ>&_3NUnXyRL;T7*gc|xZu!#Ikcjr%$8#DQ$mP%Y^ua2xl z5#YmhhRA3`x$+O2PZye4EM_yMf8YPc!!;afo7y1eTLOrVI0)20cZ1+D@J{jv!C8L9;1OLv55XzFM;r}&ul^U)P`GM#7jxNO{p$srpn1*TnK`zlenlb zBIe`&cv;J*uQi#a_94FVa&hhUeIK3UY_)u1E%bm>$sp+O-PxWQ{|cfO z3eBMR>N2CZXLn5gClsjYlApX0UzFFI^KuoYPFg?8P`AQV%j1LSmK-<*bCwAcJ9(}6 zb0^3vbyY!9pl-*NdZy30I-`Sjr^*p;%vKOQB%e=B?niofM~sfOFWRwdWv$M z_>Cdi>f|EgFkVWjGbJ-BEWwZAs)z0chqk6P^ts|J78t|BPn>zl{=7Xz@}R9Uih4Ec z^y(2=D{)P^h$chHyT4z0POykl%dVNcedm`7GS@8sgXNmN(j3=A`P6Q+LGHUF|%C zt~oQWwC@56nHC-^h1Gp8CX;Vjn z*G!_fY{TC?{?CDcGPub$9hQkc$lD7bMh4t)z5e5344VXxz;?dW<2l#H-4U8m-pH$k zuVbKQ_d4Gp8O6h4=9WkrDfMYahX23cX0=O>Xs4KOu>2uu;yWFFUM{wOFTAV8D6*9A z&&~nQ{f+3 zKgE&_VcOh@(<(dE3%k_5;GxyJvkx*j_lgWosH>uQ!ymzUL6_o3;&B9TQ=@WR>@8@Y z#LIBznEuH@tf;YqBJP_`^z}lc2WhP57<6E5%!>b#I7~m+ZOg=dZfcIU8vXQz|IS_S zr=)LSM(^`aI-}+iyo=KqUK1m7+^vLdLkk!@FPSdm?4;2o52=K!!;=(&yrVw+o?8pJBB)HT=lP%244q;a7~%a^a; zcHpb_)^Q@j@BPN>&V#87_satWc^%7DWyyS5(u^7X@7K0Hc&Ez>I+UE54WrMSV zCOo}|a`T2{=GUkmrZR}{8+E#CO8dOi#}k1CMZ>rvxm#y6mpUT6$r`*Vt7VNotqQO za95;R6C`L+dGa5b)NT+(EAwIki_=J^&9V^@Ry`R6#=%mIh@aPc06(MGe; zl#tlh!lQq(pWaxOzZ7DO-4Y8MBovb;h&M#ti;Y}pombPZU3C`yB$38Wo{}9gHI^G4 zDUy;9YPans2`U6sZ98y|<*+K-gs;|+8aArUal8uO^@R|fhd*RK7kd@wT&sU1@+a49 z%wFI9mc$ldn53Ta(7%2@BWBlU!Ll;o^8LjZFaIB7Z}}GG_l12AEg~YKAdT_`q(Qnt z1*E%%mK?f}%Z?-?Jtb>^E#GP*Q;i zKh{hXRy%!Em6b z7IDX3*+Z(hpQa-mdehT^$HGjiBEqJv9uAG10XLNgixTJ$x7Rbq7VS4Q>M&g8l)r$J z4L;2FjR_v%bs6uI<-j9lSCr#l&{|W{EMmQh4Ol1#Uk6?3U5goOx1b>$VFf^%QC9eN z57r^MCByIE?q`ePVlTI8r6XI1QI`(r^^$rSru& zl98FRuG%+)1{S|gR_J8}b)^~foD>@Yv0igS1vybDzhS0P5|~wRtgp=oEn4aH4?_F3 zd-C@On#R{1o2UI2@wssMQtb|Nq5oCziR--120}MU9OTNUF5-ipr(P*&CyKTEITG=< zKM*1_!3?21v>knnZro#nX^i@5M^9Ji>1p}@T_K8PUOm={{Cu4fGXv%N z>vhqSN`7O$nlAYD?d|wv%9!oBxUVb)R2{0Q5W3czG_#;~J&($p3RIwOaX;C`Oek$a zG(D38s;Kn0+GSM6s66ylxkom7GDBbd#cn(UM*&IlrCN$WbrC74!i55lIpObhMVC?f z#j7*vNTL@;mgd)H^apufMr@cffV>6N8k!_CjP*r-3X zz+52;Hv8JouIIYzb^CT5q4gQ_=Cb<~7#|KE<`-uePWW;XP3?d12vJ-i34VtU-od;- zM_LH^UR6nsGwSi6-FLF_4tMS!ZJxk?!M@1Y|^uCmhYYr zoQ!uUs*$556DxUvIkeS8c5hbBsKL2QCfc>2FW>r=1lPbJs^VVirLJiSJHoXPN3#0& zYrGTldq&AO;*fVVC%QdXBR{>L<(*(k-o*{s#^JX&OT(6nDk5qcw#-c{S;J?=j30h3 z`oLT5b4xgVn*SRP7S6HZom4cT_RX1G@ijQP-Mp&fv&Z3_597xc)m|fH_X25jJKX;l zkl!|5Hq~d5hl0y9iARVhFpW~eIGNJ4wTG9VZj%lC>7B^jP-9+1=U+Q7CH?QnrwRN& zANk`=&z9xFYdtT7b?lv}qqgsGPo}~{8j8rsm#PnCN(g(`SIb2Hl9)N*2 zrR{Osf^yE-+s|t(t(9o-jHzDV+yy4KFLN|sp&Op3E|S zwPOyO`;fY|W2fj|a(FO))Ns(iVoOSxUl{m@q%A20!BK{u2Na5k{#VsDg-@qsTlg=# zT56%lm8-CTkylGcHr4vUBE7(r)Up8E^YkypjP{Jp^6hA&y~7E2>o(~BD&0cLBq_zF-x1%9g+uer*|*>zISv0NH43+*XCmorE0C{yuWv$*7T@An z?vq^RNx>w>WAziN+mQQx5&%d(UY>XIBo6M^!8fZW%)x}v#15J zO^U$vx*W;EVQus^2Cv85^pIY!WwbRhcK#dn8t=Rdh7`9!G^w)U$S}nfO-wB=7jf^` z%ccwx0i_TpA0w+Dd$xbeGjH?SS2xG%h#oq}ka(B}e@oo0xwQ;U58rCp2%NFvq$3OC zH%0?!2i>3^!gv1>I)mJLTNVEAcc9-((4I8C(CS(j$CKIYkI44GWPcs4S-MK1`%<+^ zQrmbi5%JCJ$w?0pp4g;-wUvjQo|r$MZz8_Ypo>9(^7`)JEt^mp2WxwRC#T3L3HtI$ z3M^nJyJ%C6-H>WQJSnUhOz=zJJeb#S=<)iUbB3TeYubi}?L(4dj80lZOcneM`m!nh zggsG!qm;@}8(4qJ07v-_dJds@yPdtMR46!w+sE`WwH={nqW+m@v8S;{%qqk5 zqnQbu%22eIAUm`$9e;UKVQ3XK5T)qaoW}USdz2xznTGy0nTJxG%v%(ZxMYn#7EN0^ zZoe~cD{MV>`=5%ceV6W-;+v7cV4GI>+MWWsxdBCYA>a&4Js=CMKj^#BWf*-|VWhcl zg{6tFSOnhj+1qq%+i5-^8SvGoZ9-Cd7=@V3M@6&L8*zvERUY~vYNj4O*?Su@i zpv;gQT_s%!@_v=1WeNrgB9Y3!j^eiuAKY9o?fOF zg)^(wruKQcd_NDpD5+;~1?SbQWVBnA%c;{-QtAoCD0|*0yW80#94cgw{JJP$MEG@g zY2cFldE#Z(kTK~nEX_D&C1+lns-x$k{A__8LL(siNsekrO;sxUPfXjLRw>jt+61#{ z^?3|yq3~*362wp|!J|efnK}9M@I9usDqAE=2w`ZI|97{1&MwM4y%4r%p@)JYwQlF=%u#|fL5|)3t=B4WT_6@Gx=}CXhTnQK8CzoXW-8dQrSdkO$ ziX#K?bFHls(Vp@wy340({&n>H-pfcJ+^9v%>ODo<57va6dH4<qIPFN2@G!y-|vf(Aj%XU?RIbayx1FFeKg)Rsr!*<1%p7hmk1ww=!+e~RP zWQAWeO2fPuz4}1h%Sjwzj0MJUCpHD35Jx8BTCC1FErh(0%GduSh_=r7I^GyxK?aZ! zuF^);64pZl<4L-EQu+O-TXgxy)?J)46OP>U{L>`D3JgRoEKwg5w?qvsw^uLoe9{mF z*Mpx#JGako>)LvSs7Ucpt1w6qyIdxcMKu89g;pXYn_MNN(JZq>91bnRu^3bfmwNQ;4}p zu1H?iQwH2>Q~zyVbT{;lr=C%6$fq{tOV_XpjC^ihXB(7_i;<$HlsdBeLZ$zv!Ks5u zKc`l|#J%gSy=lROaGlgR#Jy~j4c2n)9SEJAco`vdxY3fm0IXvk9bCoO-#w1)Q*Pbb z5&@h4hGbgfDZc=QxjWlCIyCxSE}HfQ${to!-v0pGP(8aKZAik&wl2)j&^G7;JQO+3 z#%r6>NaK_X43{d}i06+)16rDd`M<@C&2~59L0BBrh>EJ#D?dF`DS76OlTX5t-xGj; z_lZw?OfwV^9Xe}J0nD;rDE@1Fb(=Yf{#Dy3p zMyc)$WhLxzTTvIpMxLm+h;E1{WY6ae)*fYuQhd8e-JEKB4RzVwzqc2nkPsuf*_7Xl zu_D}7T6aAl8)M0k8*e_Ad`n9so*>mTijsSR+qe09F!Dwr8{!le%If@TJPW4@fF4F1 z&dzOxmACs8l2~D3g!#-_%zGc(ou4LPIS^vL);i_gbYwEa@ssmdWj$G1-~MjBtM;b{ zARU7cpO~A$4OlRSt2EfVCiGG3;ZWkAjZcNYl%VpHySuQt+1Ze%q1q~T#AffH%)L2% z+M(q9bGbcrigxj#Ia3|^gt?T4W&Ns>zJ3@aL9(bzp}k5>!TP0JJH3XUg zAecJgZ!udHWf^o!;w4k}us2xWixg~6*^a!g&d*gooxl6d^`_esptn-j_O3LwPtYQnWUC%ias%3xtGMdiz>^ zr`avd+;>j@bCp>?yrb$RCBFti9xE)E$^Zqs5$0^Iu)l>-!d_6&7YyFhz9dkRZWFF~ z1h$FE`vpb?Mnn-lmMDPbz@K1cSzWS5`UFwyR0?txCQ@Kzf#Ma>5?4dxmgpp zvI{rww3(yQjXzPq|Iyth#~GK4$xkrZt@3adQjf6DJa<^I|AGjTXSdliZ;g2ATK5YQ zh>LO$>>;;5h($1d((My;{Zz?Av0n#g16%Z@3I|p&m*W|lhb$l`c^5t-%mI>$ZeH}jK zD`%7w(@WWRGcz+}S6x`FERc9my>GDll5fN>TC!9sa9xA0@|i|WUZaQGuk;waNb34h zPQQ}PTaSg1$J46&Ny^4*zGy%z3)>>1K>C~zwvc^tF2QFD={O`yZchi5UP(v#uW;HM z{YJPD5gjc$L&MfZ?fLw+p~s&*=ceN{A{z{Vd~KX=6f>92Mq_M3wQD*++T++0xr^+2 zmRi!}*iX|jmj-ze=OcoBJcEU^pDZ!hFp|Tq1c_p0jC}FZHWG>roDZ< z^}Kf49d#}?t3H3UkHcTUyXgKlP7?UdZs<7I{Ng@OpmykVU52zD)H_zIr6YvOUH?n1 z$C$_~=y9*V{H?0NZB>_`x_>TcRih+XrQG!#FeEJH=kuZur)w^UUdrtSfoO|zqL%s1OUUPPh?&Fg=Ax&}6OJW#Y@x7YK&UDV88_3M``Hz&I2}J0 zWT$;vOUf&ng&jr8r8cyQU4oIxFy2u#;tI4^lMs-k6J~Xx8cP`sy-mfJd?j7HHl>9D` zDQ&At(CC_E*F9s0&=c7KE{gX0-8LFVBUjAuaTLw^aGfS)C-A&KaQb=<@N9-wjzP!) zteiLoPvC;9*d_Kb!L1dq&CTp(7D?fc1iO(6mDNOd6UGbr%V#esGwoif_O)nFDG#L3 zu%}N@x^KQeg36OlQ_2CREcE& z-{di~%q{-xSh!R5oMdJUyebZkL~v?Smszw^skU&Chx|j`eVqw^QqsQAtWC5x24kt; zfjw5Oy8?`tMyHW%VN2IqYZ~l^4B}QF76S;Za>|%A$R}+<<8sArT3PDXG_)h?NmH-2 z?CEtDoJ;fJaTCk%jYP>eS-(NWf(4%Zdmjl`->v4*`k-NU>!a|xgg#P3`WTAmMqss{DSai+{?f^X6yRg#~HJV9fXOb>BrX)x#z^9DtFq#c%l?ermf zmor6%{2sI1TY9k$kIi~6)GJSLcuEvm>Y=?p}otx z4EeCz8xoT3hNJ^LSGAncvG$rHqNKs!!8oxj*tYv_H~I2t!S?vJc5F7{*k^d&wf5rI zOvlvHHNjZDktu)r66n)+d09+Y%rn=I`;v(%|4k{mD<~Og?T=0`+%BCTPq{DG68Ud9 z9(YNdQj{KB6G)N>HAg`g6)@tb@KpyniWDm?h7K4K4ZcIgZ>+1Vzfa(N!{i^7y{)lj zx$M=T^?W@xufErdv$BEpwe~5yW2R-=dDq)r$|_9Rny{k4On?AFBPL{$deg9whV=5k zl&ZBdF5uTNwtiJop^hsz@n2$m>0Q>g` zdY!u*S$)@u{=8_SZBF+*trDMss&0wFPcfI%HBdCM_`;!j`9G^aN4`k8e+|_gHEU)m z(=Rd!sr$i-`v_-mpdsQkZz8>1Ffr4a$-n;t5vUjaqMJK|c$>^QqaXeIZu|rld*ZTx z^yzQFVz~iU#n@&8-fKak?)WQB`4HKZF!(nGV>yGEOBajb7!3cxPc_yv>!nD^pMuI` z8thl1Vmd>H>=D|wh0ZtTWcRBefnT|ZDAM&0YP@|~X8+3dA%EAg+ zF`D6&vHoV|E2N^-$E+$t>}KFE;EHr>-wx4lkMX;1WB#0O{5n<`t4@#fK*sNz=T4xA zz5fAZ@gn~69l!Wj$LHJmCZ=!RFxO}>X~^Ob)FbPRR&Z6>lE}Ik&)#A0@40>L%_&Gc zI%v!eHTyGR`K4wDGrYT^4Ti_}ZSaZ9(#KIxLWP$T@|sk|Ak3&D75fhN7p}#wUER9y zT5xeGM484wk-aa3mPqpShA6FJBj1p~3};?JHf?x}R30|I^X_fe$1X=Vd2Ka4b$$N& z`N&Z*VAF=WR*nc^ zRygavq80eTrf^g}KRw`D!q{|yzkaS&{LH!aV);Qe33vF7X~EDb-PZeX${9<^snsI! z7XVF5bLXebkq|6F923RJh>(_Rp=`xUoVF8Hyr}iqUmW9DS#h3j(g7bw2f9nanP9Ko zZv|74H|~fUQ+xjDf{MBSdhBZL=UNt*ZUZ~3p^v-!N^sXNiRCkqYO}iv#=nqE%fI@8 zTeJ{*zgYfmFNys2#qUvlDa_O3BJc7YU6097wz~$}oIySYE^TLL;K#vyjAOhdPGrl4 zk&(e@GK&ZYdhm^VI!|Pu*}E~y$tKYZ)bP3|Keu>vKTjmruEEJEk&OzYVTLXEyg{0y z`$4}Oia^RA@u>9!2RlYD4{Rj;;$n$34C@`GEu{96_tNfW*I4Ui;GwxKj2sk5Z)5qSLYEA`*9ljzC2%m#?~g%D(toCr$pR zRc7)+`Gy{rA~#}H-{N#9hi~FzmS{t;k|6$e(DGYtjfst!IlOVZtX-e-!{(lw?;rP> z>7yDunK(y;&6jH>FR>!GJNUs}-6)M1h$$rUmv1@sh$l#C(3qXv4 zARUqkar#ngG~V-BN$g}JcIjV^nPtmDxfUf4AIrag1)LSYec=!sCn;fSq4!}czmdUv zA4wJ^+)sa}zk23ywD4WU4@op%&v~boI^@{6-Lcnr*j#z%C-R~6J-d1oxHeMexx5tZ z{EA#xtsbRtHV-3KUGb3wnxyrhT;jav;*c{yCY222o&UzgAQij1*7>m@Vs&+4VcK4$ z*%L}LUi0vru5ovVl0R~Oe1=w%0jWr{B-&I>TD$rR`KgPaR0Hq=lJ@XfR5C6^7_j`7h>#=_a0QC)27kRwaHF1$6ubX<|Vh*H854u@sf^ zn;3Fp+w8gDA0E%6vD~M@V-5I+yuc{1lN92=eT%o|!uD$00pgpJi!~0<4W8^Q!NugM zsjtQ-oZov<2T!ETFiQ30nwGDG<9ZipUYz6S)o)djjDp<1N zH1+$hI99q@tM$eCncLiN_teD(i_%EZi9Dc~-){Vxwh6*0i~_ zc`>`nicB~RY(plEkD^GnTi!1PGNYWu()#@-YpHna4dlfCw}vctQ+Av8Vl+4ADel3* z*FalHc=9P(TQuNP$7K5qgB)IGo_5B=cME71wH+i&H0DU#*sUA%Or)mWcB46dil|sa!4ba0 zAD~bTh%yx|%u5-Soyu#u%5{YLI|BO6)J}1-d)n6l4?K49@ms5_a~ckDN(&G&^=wku zy1WAVCPGE!{6Uw_*BhZ|*dqG_??=5f6{W;7fO+_edmE6 zXwOSAYKa7amx&5tyP{O+GJXSQM_>zV)yJ>qj#sE;@c4T2${Wbnv8^)Mj|!*#x8A1A zKn|vo{*q%U-yAlA}g_i2b|r%w<9^a^~@@9!AkGr=g{r6EpTCe zdop$6cT;CdBfNwOY`9xE7%@2S)3Bgo6m0rJfufP0S9K#S^F#PT{+M-TM)8%F7K*e@ zeF`Q~c;_Nub7)jpW}7-A3mjD;ovs8Alx$S<8j-6lmcA>YbGAhh= z|B>JBpw_v(aib`@2be0KzH6;me|TU+L`Uw_$E(5S2Vlu`*`tmLp|{7T<`rG3`gr)S znP1I%(NQkR_4!i(|V-m!VUzy5YI z*?@lzZQNmKikRPR5#SLHn00Z&P_<@;yvwjFvCzZ3niG~Wi2vf6SZ_^A>JYH?R+ ztaqGs2)G|yILudRMY`PBjQ=akcqgo@3j6a|wjrQtyBfC{q*d-U6GM~iiR!)#yKq@- z8a}ht>@~nl>}8LkEv|sROaYPDHCW&L;wbkAO_u{3#`ZH@!=jrmD}RY z$+vV2O^CId!u?zpo?mQcWf6eAa2-RoJ==nZ#vST+Pz~$G72U{vF+*>9#g#rCNae*$ z`3kxjRkJ##xs{=O=)cf85=kwb1;q=y2&(jru0Q%`>ZjrrvgiV3o0)v8mC4Bl3>j7L z;~V?|4*?-kg=kYL8I9JPIUmN1ky5J5zp6HiAcyp=DZc*#oA+`>MjWt9liN@wC zs9Wu7kznPW;puiCqMt;B2Y#3)j9V*r(>}1V6@1Uia?%xjK_A^{bEl> z0;9rR>VLy%4&3-&6!FyVx63d=PoB~8dh{u3QLVxFshOHZm)&j`;{ei;e&9-(yphDPm z2t9Xbt{!Di7Ccc(Pav3#R;=heNPe!(Okc1uwm1jU%YS(GJc{bIE+Fq(SRB`tKMuo= z4lCAleMm2S-n}KC-U8N2X5P$2IQ32khD)Qfd-4ZYXd zCmS^ndQVNu(pAz=a&g9&HxSUG5u1OmaU)k;`H@bwqEj@gyG0#C*o|-n>)9zCCY{T% zmFA6(`s7?vh<8;#aTm_jX$Yl;YO|+j^~2k!dcRh8dqd3P@ff^Up~_XSUo%pN&@|(P zXIq_N|Nb&F5IiP4#AvU}OIpx-8Z`w}dtZOg6ggL6TT#8;exY=+_vo2>zq>49ry*~z zx-g;)Vlq73>d~}4<#@JHO>mS`po~TSxLWXNP7*>>X1G8r+Fmwn44$=MaDHB9mc=@ zV{~&fqhn~(xti)}W$Iz@l?*MaJ^`$ZxCbUQ&bN(uT8v+?n+_UZ@8SW_%ZS@UhFPOy*nkY zn9&^Z)i0%{6(mRcxu0KHmso-{QmR@@09ICo1?$h1XvDp`NpU{9TbHl*G%kZkZjWpA zA5c06AJT0HafJwKp-*Lxm|3oMvM8momY>GB;K421+vl;~ui}w(-v|5lc8Qn(Jao_K zLXR*YQ)H@NMTt0}LB9ld#tFgOOM&ce0OwOc9l)Zk?egN{m*|5Dw%aKHd#BrKA6fnv z27D$a`Yq%!t>9mcWrN1P8o>d@!est#wLZAlYRPh*^e~yzKlJ|Q*l+X!-r5OTcZ*Bo zS5^1nwLug~Q>!5IaA!7*%JJSxFw{m~R8+S0^hf%_EH#aMI-q{3b*bEl=xz4Obnvzn z#o|WD+oIDLC4w}<5atIUI`AS9y=C?v3=g5y>NBe19 z&6D?nlW~+WGr(8h{cREmOb8T6fs)7YA^z99i3o9{^;S~-otxlT6eN34D zeg}f-K96dYo;mI}bX)5OcNn5Z_;hz1w?bOk*5DI=G!R2@V`X z|MAS=_IEz!-S?}bI26CO-l6p`mpM$=ndF4ECOjBNjx}eH?)O@pw`A^jsthKEa`TY1 z#VCmD9;CT$zB!K2h#yzr^bf<#WGKx-GQEzA-q(1%V{ctcp26RYN4}pV-YT%H|59Ec z%aW;$^Gk|SRVqbA49EJUW=N6-P}HrchVyj=pw>2k`Egcvry47yJF;@zVH!Bre)-P< zA$wfg>fi-E+_iEkk17cNA#{k%TCv7eiRQd6$^vJuW;7wFm#=3(mZZ@qe~KoViz4Rw zNjby#1@eCH7Y@;@zBs)y7u_pBpuq-=Se613<_l5aD9d$NG!xL>SplD{{8i;xiNm8s z<(c7I46)zf?6^n~5xEVYX+TngjCW)NkG=u|v#?Vt1^iG-uazxB1iI%((&*Y+V=bA5ttW3#jdWcbCsRzOo#iK4?ghyp07qL4Y{?f zRDL}a%k1~5cD3%}6*Is^uk`Do(Z;&^{pZy0Np3b)BcTU7(Vhi6uT^N=z8IT+Dex-y z2*$nfJ`d#z)<>64^O}+rSz>H=JVac?JN~PHzCU==Hf0!ek@$$0+!VvXDlV7Urm~eg zVguelv9ce#cov}Eb5yh@4ju=FJ$cod(QZefh3((T&>#HyHpAi0LdZV>2HNGTx((A& zj(na|z>w)YW83Td%Y@BJOT$qzqiPN$@X<=0X(}Iia|Po$Mg3cKfn9Cgjgyi<}h!1h32@;DPnG&b+pGM`Hs7HxBA1{mEbU3tilxZeEo;&(vO?o_ezdwNi(BP z<%aXuZXeT*2Q){NF@AZM7oNFbkj7y>!_xfJW8CtqwAK$ZRiImgP5OKmmvAv!uU;Ii3^1lU46gJ`zn@t4TUdHz3MnfB!3n*j z<&n7J!`5FaTD%NJJ;4NL{%{o|n=yZ+^u;-+KXA|Rm1Ce}{bE@p#LMmY3%{VJ=Ajy` z`wcY}vr_v~le5`4@nJ+CY1mOD^}&rkP(tB;g6SrkLs#HhcY>|-=7)K|n#8HPgxilV zR=u@8PLIEoF1qMLf;MCMGfYvAZzF4BIoLVmG)BaH*I3!1kJ^)yG0yeljOdDuB{+E5 z%lSAFwkl!>OxZ`?3mR(+7DV*uoo%bP?RSA|=4;B|E>9=8rY}E98=tY39?8j`ey9Yi0myy?h8u$xs7zy?D_wr91+dR1fKXxM_jkm#?3Y8i)P|n84QM^Y3 zrw2+fZF0^DiLq$nPyf4E|776Q2oe;$I_Fwpm)J$gQ?f#W%UM{y5whjVzQXz=Gzt50 zb3bJ(X@4S`8c3UsRsfJ4C=NkJuG4hO03;AD2w9LIsR)1!LfDM)T0ATEWfVZvEB&)k zAc=KLs;m34fJ1e6w$H&rWL^P2pGq>#;}T$5+B0T{0_o_xa;mU_@{|b0i2fuXA)fk#+6No3j7B6SCn-tb|^!{ob ziWc8}koU~r3_iYIxx4(MlIh-jpW!br@!t|Vp7NLbHD?gtUhDjw_LqVrS%XVK|N0)Q zlC@(bla z6~X|OERQFme9c;{8|V^c60<>4NPOXT$D5cZacER|Wamz46sFQnY1^pAeREa#ILB|d zU=}e_K7V4Nwyn>iT~J+&uarCWX5e*~ukVC7mH@Ks$LNhYlm5p0$lyF(+GK~pvk61Y zR}nQ$U=O#1u2RqX{WMsgDRuqnESCFn;qz!>9eat7IN5prwAkm=2bRibs!&T zJ_DE`?@=`3+3R|qMXP{d00*1T%kJ!Ti*)#m7iQiHR(g=)6;{)LO7aQzD;|bK&o0UY z9Zxz+?_NjZ0Xrl&6Cq}rNTXe~DRtPVQXWay`SXPIP_nHv3!Q1E&Woh_u#9`f+p*&Z z9uZMS134etnT4#cC0%1b!RbQNY8q91w@CkUdkK*7?W9#%r$-RKm(4`WqLiLUJyHvn zMI{m_s>q%3+=L`K>66dK0I|JH9RoxG!0ZPRJ_-CGoGY=1|1m!jJ-_tMBqC!%r>Jt2 z--6I3yGvM2&j*a$`))1JF3Ag?m!lRbar}_IEN>`f^;%$B&FEn5ffn|K%-DI}=4Y&n zIm(T^W-`x}K9iG>%WS*! zUV)8X_d0Wzhp^_07$(qes}QtO#oq}!D(-JiLYwbsBzD*8%mwB4FP-&hE_i*RVfSTc zf=h5HIzM<_^vSUln~*?CmMGP-%mhNLg}QEU3RAC>IfsM%Q7^x=NaPOgucvK$_`}cJ z?`-aY@ZtnV#cgm8bR8ZX>mp?T$-n;CmYJ!7%=F1aw>k6&iWXEluzE5>+2Ct*vTcJs zBqAyj?nap|%rZbOuwCa_5Nn^8cfCvh*#^qx1YwYtL8=TVf%UbVIHegWB{?tdhrIY1 zYHP=)Y`GagRc@{pw?-n^|JpCs1iMsyORg*IUk< z!}(X1-@mg#-WzFKSrD6X;i;~?8^FWE>!FKOp^+q6F_)LM;i`9&PpGU~QiXhXC9)Mg zo@$O0Sn%k$+DCF0Ew^z|vt^jfzzla8n%ycBO{FwAr1+$zm6|o7>h;(iae3`R;I`iv zV8ijh`Is5f@%nE7zv3G5X{Io|lGpykM})kRoI=c@Nb#J^Wsznu=ufV!Kgf6K}Z2|vv`ufZtYcuyl-REKfd*hIRN7QAwl;jri8<;-f&Qu;N|f3|=uG_ut(d~{DuFtU`qU|Wc7%p%N}kJY8b zHrlVtEuT|qw}gWE$L9PRA8i3al>82abTQ1+3w-$v%sSqlw`V}}oDP76+ut7QDonw@ zF5!0o^|K$N#hk0fgP{HWBSLQ%xS($q=d>aFViBK+P1SWv+F~}n`3@n0t^)&s+q9rt z)6vuL!8@=jDhfi38#6Y-)2%|}5;s#*8*P_^kIpgJ_!YoP@F;o5X7^^`w5-KO7SGbKH9LURDg z^)@C^g+?96UJN)k$Ml)|&+DQcLe65v9`kv-R(FmOPzeX=UvCub6#v!XaN|5i`nu5R z?7jPpPQY}7TWBzsomtSnE?%h=6Xm?dkAHN#yVzI4-F7g{#!32Z27+F3DNtQw+@Jgx`N@m!1D=~<4UGy* zKy21*PFVs$PU?)Ne)VL_zZ|8=Cp7XnzMhoqlsKXL*MtdprdRW!_q^6c%#7av;~7B` z?1!$-Gh9_anODE3;cfF#q$@XJMD2@_2e%dH&#?uNoA!3!Wn>SmgXl5FqoZl2+VXP zO#8#bbY$Lcb&pw3&PQCp-~KNE9HXz~Rrpx*Rlrpd)ya|xK=&5*-X8B5ng0{>WMAxip4qn2@jFQAmWzDw>s=32mDvbTIiP;t{-|b*>3Wi z9~tcn;N47mE2v*KGZz!}8@H<;s9=;MDH`?p-TR%T41J~^8%Zp#bn5iP=e40?yMi_t`L^0K*c;@_O0 zb~{+A@_rNa8ZO0&60?ged!*pC2_bJWuhXXUbBAYOI!>hO9_DhlUAtJ@aTQRbOAlOf zUVr}CduP&E8~!(p|2Ll5(Qbf&;F(IMbVzS}f22A=Z;fW@x}ZwFwi`?>+L$|cH4f;S;ZkA}j8+sbuF@=TgXBNZ~7!o<( z>*Q82P>*s4a!reg&*w2FewfDKnXpZ^+g6In(v5n1%kh3x!-7Kz;FJ|wNex9-A&V358W#>ldt*Nab_eHlnRdTuwkSsuX$ z{hY9Tf5CpydVHgCoTbU{}gVe94 zjK^cusnVV?5>&4i%q;G62x=V#lcA5umG~u0hGJPF?*>_)EPAr zTiulR+RpxHd8=hriNi)4c^c?yon>_z>%s7wSvJ*d!^~TsdRJ6+EdM8QM-`t{=q%jm zQQs7u;kApq;1ugtQ1JY@MRA#B%dc7qiJOp4Yv@1c)QHTf>$3T&kA>g@4WPz+aZNET z9p&ORh1OZEaVm?mGK(L?dqSXyz`OTGLG--)!waIbE=GCXR-uJB!@!9Et3rP2*VYab z!m3B;n`e{bWf5inSt@J%$qXN*jV#r>EW=~JPkuNKa($u7ETQb`C6DDexF?ymeeQNw zcKSVK`WdX{^dyQLOvsqqPQkg3SHX$^>5!n8{&Ls}f_z^jv5(V5m&^ zR<|mKf`fzK!oQs*LO#CPDpIm^qOtu{&)))-pz_yECX&NciSDBk?&tJJ>x-2yKIQrC z(vZ)bcbHHiz1o7{r^O^$w#1p6ZzEpVz8D`s|8LafHvGQ+8!J zm5X^kV!2;4h#bOudhpL9~(4nCSXabb~c zquMp^4rjqVh-AIB_)UsiV>!ZnpW4~EIKLpw;KKo-OC*bWLo3Xg$BQ=eMNAZG_$LV<)mdWovelP*U`}neo9vriH{_O31Ca(?aN zZo|R-I&ycs%_SanBi9Go`VUF8_s{QPiJeu%vY9O)Zw8BtP=Q%JElq@@x^5d*$Q zFq+uNLtI^e`&c+Ox=f)A&jG|`u9!|F!Nmai)sXX-cwOD|o03LffAIW&EP%35>c~1u zj;;-X=VGMohOO@D-g2-Tydvyy494c|??9H#=IJ=*`W?hfu(#;V_Kzo` zAL4_gP~T|x6LB;8xM9mH+oRmde$+NLdkcqkwvKI@IwhmkdYyhf<*1BDtI?tHUN&+L z_4j@2+R*ka?c?qUe@U#Jh`Caobh+zv3eY_(op{#l$UYWe64C+_@qbue=#cF&qr7#y z3uDViXskE*?c=6zHnR@|KVVFXx0AMG@F%+~roS5~Ca75lJmHQ2478sHLO6<_+_Y@t zb)+i^&=2GMyJiDj<3%?nCb2h6{+_+2O#U@Q6%}~CXC$|)G6Cb!SiIfiUJFeRzjN)I zpy|sZ$L1+$g(ruu4!t5dC=q?pVt%dc!GF&ymfy!N+h6AGbLZk&Awx4Hk(sv7dX2da z{#L32OhaT6F7Lm(WsRrbdMa)r0!WM!8u37)I!*tC+M%xhT>HGzF6^%5?ir2^FW6|C z4auxZ{|^A1Kx4lSYgukmAAav`==G0v;52I~*SW&m>zd`q{RSGpclvXs9%oVx9|wGV zSV7s2NS?sr@logrNsmV~EH0K%)ZCO4p~s^rw8rn z7yH!NSy{7~o~n#EEM7tzbrJ@6i6e!UELl8>DLFP3LN@H%;Sy26ou`^zFUXpP%Gspg z*;%nG3Zs4To6|N}5MZ7x9Rt#?O_T@D5t|t4xQ9AU4d~O z$wJ)+2ZpVutC#(ZbVNxmfNXFxK=<&`lLG77j74>5*Ywwh1~wsTu-@(s0(Y7Yq=(!| z^e4R)G;Ov{=`-RpFg&1{#tYWop`Btiy}3d2q5FFJgBA4X(W3!`_4W6JdjK2&HmFNr z8D0S(3zRp8>9Kjy6+>Hes%>bKS)p#GPtR*j@1||rW&PY}zwtlsGK`6hbuBi_@g{kF zFlf<71#K=RF}3@!*{fgNYPsT&J+|)=)wM$wRat_y;gN4P#0Lg|2q2sdmWT(8(gy(2 z08D_rgHj*lg8a(Yy#&JNW@dvPdsRo|>`)ni*lw*g1*Es>gU8VLaQH|<52$63T!q1e zBF~zmuB+{mI-v~OhPK4=j!Wv;B|Yjv)tu!CH>@!=yJ+l z&$BifSc`tLHjmVCgS_GkZ85*AL}+LZ=B|JqiuL6 z@r!tW7R5B=MHlC~L*{aq%OC5)<1Pe0?ypHbB-;-iB=r#IcYQcrlGf8NBtNOMBf8yt@UX0qi+b7D20J+&vC@(shU5pv?^e|+~J+1AT`(2fk~{Lb!DrVX1mT31iE zK;bbf2srh3cLn_cW{;jcq_p1B^j!d@Kv11c$f~GKgS0y@yZ3U&X;05)?F`I@M2%Xv zc+`dlj|Al0-PvbbH*K{}@$Zwx@X+Ch!}`fFO*8J_wB3fr3buLc78@AcXX8^t)|GF! z7J>E2Q5}A*dCECWTi(27qtYe>PzSYxFaT1=w`i>=ZQRnqW>2G**HI*`+KCpOm#k8C zVMC(4fFB@mK~rWMv`cKO)=(DaChU^yo?$or`TGYGY0Rm0Z(mH>{cfNgN*`0E&QNKqqTL0jF3l>7!UU znRW}9K7L}rHf-qA*|2kJSFIn`R?BPv#aiM%q8Hiq*IyriI{-0Q^OeWTr5xvvPdq$b zUVNO_pL-8Ok0TD*;qCX(B*&bPs6V9P$nQLm4IZusFBjkWy3Fo74ZJAJ{_~%2&wcK5?b1sx4ducE8h63!E;*?K z<)_K#v@RdCUT05B`mTp$e0=ZxsH?Z7=kxnm2lNX*0(l*vbvYOVzVn^$*yld?IlJ}N zTf=XV-!8P!P-lL}9G|p(`*yqHiYx5$%P+U*Jm)!K4L5SdWjSw;!-tReNz%PPcs)GM z+dQr-VV9M#*THGYi-U$V+7tfp_HtY%=sX``=Y`Iob$ZfP;+!us#d3H#aed-2a>lwy z$`tdeBwt!TAP@X$6aOuF-yqHTd)&R+dH!xaoB8d0?|a`1zZ>#-n=)qeTj6)Y#oGL2 zxy}pz=!M_5*O|5;49~cYpiOfwA8F8Y?_;UwPisTU;Bs2$?fNARS=@1tqn_~Pw?iDy zuSyR3q;r16yY5_0r*|6fJFZ9SNFFYigIQyIfMsdVEw|iacinZD-E+@9VUGl4gf}0{ zdB$$oupx|Td-m+H*SzL6cF{!_g>f#H(aZFiZeRcU*F%40$qw}*jXdyXoacRwvHj|+uMW>geCmjUCzqE& zo#OT&-uZbv`QkA5S&s45mvoT_{{HOu-({K}k%@AlC7;XZKIu58;hr{gp0Ui%i?RO; zU-&}!oj>rv13_2xq20T8+m%;dY0rD!^XvsLctM!4=6%5V!2>y=r>}YW$UwO+C%)Gw zrhyKZj7#3fG@j=C0)wSLX>oCS%qNa_p2St+5vO}T_v8G;J(0HQ@j)gQfN~S}skc*e zQ{R_w%-yQ)A3zT47I9u!EJ!MYrAQYnrYA1GPs{K5NORgaE{-ScX;sr=+*o=yE~skb zy8Xrf@fG{hZCb;3#dX?2b@TR7SMg>&ob#w~nPXa<|ApmEcEO$+^ z0&0gE{a`e}2-pIyf8zi7gnj$LDZA!5|JKIGj#*QSe%zFz<5sYGvU_YJ1F!P7Dz2dE z$BP0*dF?EFa$raUS%=ob%8FRf?yHk}z{*P7prcM&TXOc`efQakqeo;NY_cn_xXiX} z>ao85UVHe_y;>u=S60DMt(nc+GoNvt%5Ap^4UP*ckBy!R^Ll`^h)-+1bv9{d+OcVy zFK7y{bT=|NByg?GjyhYkbFBuVVpHh@fIb>9;PRkiP{L<$p#6OiXZk9Djt3MkmJEhG z(DZt5yDz=mzWDby*&qD;E9^}_bg`yD3ux+{Td&u_+FaD`vKsdSDAfkJ_JcqDCwA5I ze$)mhhP3gJ2JbnYi7L>|!;t}!!QRWJUoa4HPnisc08#Fdh3U8)*)lXVpsBx_irlRo zmDO@=m^3?6l*PDH{aN+UuD;Fs0MXdoY7ZYiZX5HXcFP~W%z9|!Af*~L!%@~+I{&>@ zDuclpS)fM`{^0XLn>chw`{6$EiBH&D-}=@74r1Q4F#rL*;&=$)&^_&qo=Jl*j`Du) z=YGyU@PQA6e3TPE90JkOAFm65jA_u}1B>#*i+srM`h1px|L_mn4L96i*IaW=h^I{Q#DEmNP?qO&UX3>miGVbjrZRJY!kBt)W4O zIO<5<`Ox!Azw}G?(T{#K=#n_@#C^$ zo{Vpdf90I#^|pf6+k~*!hj2N^Zb-`nnEoyY05nH}HwWk=NzT z!|6Z%@sHc5yk80I&~SK^?dN6E$HiPeupkRUnnT$kC)|1F)xq9cl{G~8tU)A z3FP9QGTlA=@Wb}u4}aJ`@{x~(Sw!S>c?o-+$%9^St}p1&t@Gt$62IBEyyY#SeB|M` zO?{!^a-G1(`((0yq{Ytb635jNMh%e(>*)A`#)uJQ#CS9CAsUv9P^kiP{)AFRzWyQt(V_qKi-wkwJ#Fu=Y zqYIZyuMed0E}_V@lqgQ%^Ll~Lub<1{6LDP`gkyzqAG;^eh4H)eg=J3Y4{-KhZv29M z^{!F7^12_iv4YN|6zFMg&_Jcm#F>}DLZ@k^Op)x=PNaao!fffNmFcN5Va7TAsCV1J z!$)MX)S>hMNrA|GuFcvSJMGrb{*`^{FMi&hd9gON;Tfa+Q_7!j)=LnUOo6L90knC6 z&jz6(;SbPIaB~fyWqsYzecgh7Kt-WZ-pv~HVx(<(=jQYS6i6unQ}iNKr=wLEngQ0Y z{^`H92aiqL)1UWZJ1Oht=H3n)92pcz&W;V7uucJ@EU4d8QP zaw^n)aIVDGU-=okTy^W$Mzidd%=*$MSrn0B zO4o1y-nZ=IAHUPKU;K32b=k#sn6o$qEjxO;?AXZ@(zRat)QLCs>9`l|D%{%E5vH0- zIo8wP5zfAx7%2!SHra+v{o#e17jW9vfA|b`JdhYjcsTLZlou2qtoYH)%r6Mc_Snpc zgEsK3FW7xwy-}lzrcCGcQm(ng8u}%N9{%WFWsj+yHeL7IcFA*o$XYiD>}oTwW?4rM z?A;fD3j7&}7|8H>0r3|w%42XsM$R(@3?qyF>%pgoopv^+t(!H?xI>_`sI84zUz`(& zXH%mdP4`~ZhDv*n4cNAhDf_|)USJ*CD2sKh$me;vM~+&-r}Lp)@3X|YLm#BU8=1Up;<)Fbi3Q+Q zuX@LwF^ONC2%|F` zyx{9?8X}kZC)P789MpK(X>5_57qs`h=RK!hI2a#TUmo{E^x-<89M={75PiG;=?Bz_ zi!gnQG_K$O{ofDZgZkol3G%Us^rW2r5<^+EJGA8-Q};Q730)!+m$#M6OMb$XM?G+H z*yFsPC1na3mifnJ!1D6K7rrpafqd?em-1Z(k9XhY{Nq3VV|(Kp-x&HEd2r+*y&9M7 zYo3>Qo&nC250wBitRJz?=o@^PM0WIqju^Y)<9TUg@_3!;2kc?sd|2QAjcPz{reB~>{IE}pS z&@Jsj9JKJ@qOBNrXba-ukI%(8Mj9U{xZq8l7}KzBGe#12y}0kcQFu8JaXFHHvcAdm zO80SF(oc|&GJPB&KOaZl@P;?oLk~R^>O-B8n{feJc;H-C>Va;MjWm4p%|#kxDD6R* zj|}Jto-cp-%fm-s=-}mJZD6iHv8?FZ$9qrD^1Xf0CvEKfo!;A$d%`%^D`k*BcF2M3 z-lx32eox=!S-)Q=4iHDVyl?R_nX-vP*YM#U{=75zZx$I?Hib@n=@c^_Xb1B6I~`%1 z=R;rgJ1-O8>l4dgOW5@g=ZSfyrDxH`@zsXmAD5TRM>=}IciNI4P6FAZ{=7Gthx^jg zGA$*F6U(aTqAY6`q*7@vOF6`6<%#)tC-OK3DLNkc2{&mDD;;z}_YDG}Jir*(02_4T zHi55}7CNz}%_@#{lKcSZi1mw&>a1-xFfy#;IrR0auT5Z*BSQ2;(=(bWt@PoXfG0n@ zxp}@S<%0!tK_E<+w1h2{NLR;Nr|;F_1eP%CmPi4ng#`^5vZCp?q_8fSflUQGwU3dV z7&Ck2>wnh8JZ%-(MCueX!OPuQLvyX??`$HH+k4dRg# z_?Z@pEXa!6l54ek?ZPuFaN6I~X=8)O?7)L}+Hc(O7JJK&_Jti{+f;sGSjV+!Eom_C z>V8TWQ0cw@?K$?}-uxVU*=zp9zB{zfF24F{me(;Ui^Un+(zitvp@v$6IvBuxK~qgb z2N!_nA%gXtL7KIu41%;1x~8q5V{qUBf@RSM8Frs#ohkzbgAp`XA%}*C?2?@q+5KOv zxBK^*UA;#5lB!Phk$E%oX5O5K%9_hts0i9>DF_1n zmbegG9M)1=9G{}%#3cA|mKMaepCh7(%VDW4h&VhzuoaMEP?5m`0SBgrBB92d$D8B5 znQ#B%%YW9X&pTyi6=1vXIycUV*s-VBu_NM~^Tm+|-$EYl+IoHWO#Ke^Wc@yPwl-0+ z_&hRmtR_So%N~4$BaB`vq36FBU~l^APXfKvHGQ;O0=0qf4R3fu&tn@l@(PvLMGb^> z&LD$k23>><_exn?76tWWwKu8E;*uVZ;qIE)Wy@+I=bN2HNc9C0L1zQgsULSoZ= zG}sEz#W`Q0vpP55d~??!gEC)cD>!Hw1Y-wv>B)9zNzsX(@IYjcvb_a3e6Oj#{q1k> ze#@V|j>w(>9e}U?NFJ#+Mn5`qq)YrqU;3cs$iR;`UGN5(2zlk&4F>$-&_g{kSvZCc zn*i6LBL(~*pdO!L7l#Qe$Yl1J&wOTk+S8uaC(N&U)vLPxX)8QpBX;K34uDo8}id>r&vrXBD!xg-x+^t<>% z#nUkaGO__VyjE{>Iuk%X=O8Pbr2sBEAh9KW7+Wcm_eEdyMeTzh{9vb#mj!2hgM93T z2HDxx*dZT%vcQcl>`cEKZn&Y-gDb{(?Vl~Y!kf0n3%LH=&;8tf?zKnr2r{DWKwC@! z?1C>jP- z0*lVqzV@{pNBiq*@guskS9E6==VXm7(9(u*(R8hh-Sr>Wo*1&>jrGLOQ)^FEzv`>L z>Vof(BmFY=khc)TRtuFcWRu|I!H?(?KT$@0HxIty8@{2pi#D>@gcse!AhDP&=!O>` z5dpSHJqzJ?^1_H#r^jb;L%|W1$po+LtVV3_xs) z{gTQjCtgx|rJtG$@CP!ngLZ`H9IzvOe5Q`fZdkAde(39?WPmRoga$fjg3wdOMs7%n zXI{}2=iDIs-QWG)UKdUD*%Mvmp@SCLBb)2{1BQ0{MAO$kOTcJ?Fb~qQW=$0q7k{)e z58+Q_*3kHj5rfDdmMtigIlVw%2VhPP&Y5&>z`=ANPMi+mvlyd0XY2b@53fp2uA3^S z9(_`TsQ>pgXoXr}1GReon(Kl5ka(H``upKfi-gW9zZ z{_LXbwcc}W%hq~Tw4R==sSSjV9y?NGjAgVnOLm$0_h zv7#2jSC`E1e&hGG8@8Qp?|s{w+R9VM+Pb27s5UX$zsEw&#BlVg+nF*_|MX3L{w4uz zu4GHl&@KiXfdhC7WiiO^f{;LY#~pX{33S?!ZYSznoxZzz@X+yg?Pols{nks~S-?y0cTCb1|9WCqth>+hL&NH{_HG zPGmEPxH(}#N*^*NzzbIVmdqy3aQKp-mO(|}B-g64*Cz{xeQhxr1Ykffb?7Cfi#$&O z*ua9y1i|m@3^pbaAN}Y@FVuxIJlIQ{vpxHwr)^_Dc?Jc*4-Bd%h0;I$(?9LL!lv4Z z-#BMybTh!Y#uIIA5_~vx!0U1Wt12VkrZEx$>CTV=&#+pF6sX~4e2>P-K zo!DJIns7raI-yA?dhkoIFF?1U zo%j>mJn2bK>bku7&2R29npnEgqb?sIr-=lcWRW4wq@KKJu@8Fe0@pPhxNuBh*cdKf zvLNTTCTrTtLNxW!h@H?$Uyvq0dM%W~!?*YOO4%4)*J(>~;z>vN^c6S6K>6yEEwuC# z=i2;oA#Fn@{z5K?8+~krk3*Z$+mUl^nF(Q@I-$5rzIn!Urls=%n$ws%>7~S+MDZpE7!2?e|=k?BA^~8m5;EM;~Kk(=VEL6jv z437BL@Ei`g=%anLXWHBOasVD#9jVV|4%gDyJGd!d4*kV&$r^j%;XK!L;?FO9;S0MA zfAJT8(XX|UxWh*5%a^o|e7s_Bw9!xo*hiZ=d{5J>YD*J;?wBA@|Cab zeQ;OxJ!6%=s7$+yhiJ&BHyVkf_}~FIvZ;fgKFz-Tj=xA>{NfjPIq*!IsUIM-GV~mm z3)*k|xLlgU`a_$~cRs{*KEz2`@^U>$7aU-gXPN$k!vVRmQ;Zh_hPxb4e<2>1OS{W8 z>PLEgz1BF=C7pz`AFZdEt|#j^m4IWesf}Pbz6FHE%eB{D-}cpHO{dzraeX^fPwZCI zBGcmG#Id^Le&lF<@}nj-^$>Zc7I_v<^|{bmm{~wrfYu$l6`r!4zq4909jQ6{%U=1h zcE|3!Ye7_#=T!(>aL^T za(dE9|Cw5-)tb0Zv`*FQx2tLsrsD_qw)g(sYuj7?>Ur(Dy1AuPa)susydDu}G9-=4B#O?CR@((ffV*V9)6mG&~Y2pEE=K*M+Jifi)WDULQt zP&!k)>H5v(=?Xv_c3$6J{<_z<=l}FW+uCaDliIw3&&vAL&AHkL2ym5$)s5>_bqk=T zdd&{Ht5>Y;!A;u>Xy}``yIVFrJ>3U5!QFz>WY{?$5(uTEfnl_;IZ?h=OP$&kd9(lx z9=&D`)bCo)2g)_|8`)0=EYuGdlSKgMKf^$5&_c@%9E&D?M@KlFsG#rT+HluKNR3FY$8ttHMfWb;VgA}>Y3}59L)R$wA$f4eR5Sf&b z2apy2@T9*Df!d+re z=*dhL?J1Q{PBOC*|CG;u@)9?cIXCHm!#`qQ`M|{3q>XL#`xm|FMg4bK^5v0>jqyY; zJbUG3{8K-Z95$d=7DOiI+Knu+d(!aJhVsxr3q+n}uwN2IJH&74#s;xBp6u%2hv_e_ zfopbk(2bn2tGdqFY%xFsp8EO#8nFRBVy^xy&jgY^$V|pzyE|tyZ3fphdT8T;zH)LY zqboY{T*H&X&BEpffA9zU@6BwEGvtRBzqCL_M;(wf=j4aW=arEQf2n%Py!=Q)(4uPpez(gOeBEe7OFpGA+aNYiE(32w+r#rynx!Oat6c6=2dw8%!M z=q^PM55A}U_ze8SGeNp-s+(dd!Q*_IX&p7-@8T&Uh2Abz{eXMekz9QGhR<8 zi`RVte}|j4OTX`h3;a_jaVPj>#wTruCK%eCm^}q07E_u?M@W%ie5hUV=x)7JlO!XEU7BvuApcq>#?AroO$%Y2yqTh|blIK{-7->uTekQ?)_QsN+_}>TlH- zx@lL|lf~8b+rfG{s(RqcS}?Zu>|glX_Pc-d`gZm7bnVJogIg6%R0mkOibGf6Ia_zR z>io!x+HtmOPM%%Yc5bQNQ0x1Z6{g$N#)ef-xkIb~0diD2Y$#C8E z*VQhvhuTza>Qf|&@XGqm{#kq4lfI-q_}UV?$e21;_b#1kkhWAS+Wj*&mEQ|%!B)=;M;rOBT37Ze zlrs2h{`?v3a~}Fr?V9TzTzQpIuefg6y0P6=cP80%O>O$KYHbDS+GS~?1YTFK#Gb7O z^0T$`u%IAl2+RpE0)Tu0Td)uy5-yPh_mtp=yly4u8PwtiboUV%tTH&gMsdLq240_>+UuzLnLa_U?3 z_j;Q4(l!POwxd@j`s(pFwxzcN9#H0Biws0)1>owx@C`7jr>{D<;C1)=;~)QcpI{g~ z(29+<1NwMNfqLoR=!+LanZkR%6rQ^CL3olsgEL(G_!e0`T?112aQU%wHj6DnKf1Fu zT4V*0fjkaif@PwG7GGoweAxhPb(OKB_CRxbdb+<3?e}C}m-K|19w2rhllu1skSFaN zdB|!*D!&yZtNw?d2|?NtZc!E!@BCz0}cH2N3sMT4gRYw&~#IP zEc_eK-}sH+Xy5Za-_!Hd)4ps8@Wm_FJ#(Iac+r_0@ewJ0c%cCY9XP>tt}Ou^pbk5d z10H{fPjrM!_{T12Nzr1XEQ(_%=@4A!U_UpU*hl?L2-DufdJCNgmtN?S2R-e}E^ZF6 zg?u>LE$z=v^6*wS_D~N#zfzZ6>I8@F@nzGrMcRiyOjjS_H{Oh48#w$^9kj(cliJ9R zE(rgm>XA_!l1E*THjO+BlaKCFs(@hH~Hdjo;YG zTCBtKW`%eJUq5AYx;S#eG$R>f-4Du9b_c+ECkg71~qKr$7Da z{kP&??_AEpvlG0`f84+A)$DiP6 z6Ls0fHJxKyH-_D~VGH%;M-H-};~3`29|v`#AN;hHvBctVxgN`W~Z> zG+W=cRKNdDaCYPzu50>Gop^P-vYzZs);Bk69^6*@=@gXuWXQSI)#>WVps~gNL?8Ot z!FJ>4{pa?OM?Ab8DF;7Uox&3_n;ZF7Wt*+1JN4S-ij6h-s8>MGo;cGsRK=6Wj<)r7 zsP)9Q>fBK>&()`7Hg4J4JMfyx&F!PNe!N|^V|zPQuL$>zbxQv;wX0ECxxXrU!*$p9 z&PJbewHVZ?bjHtm&}X*WKDMi#1fFiUe)!gU>UW|&sJpi>%2N|Z8;=sqV%VBz2Vz7m=_i96TbFw?X`b*OZ&n{e`)D=v^E2pXqx|3JGaos2A?5I!J)SXj-L~s%e1W~Er;Sf08wK6FZi~xPM zZQIdij+|=oPt(_IX#aZq z-R%K4eR|pSXz@DU?}lk-K9~uwU?s@P6OhQlhXgYI$*zK(atlen`CMBY2nk^I{hj`5 zw)3M^XItGAfM*asadz~CZlZ3Me5ynGV%M<(zM$=nGy7*!$WCmNLC!#<4cU&q%GeL2 zU$Y_G#jdVn*YM0BAmtCr(Nd0fo>1URK8pwW{9YRxRLG*9!3w|w=+J@e%K`Nw`w&0* z=;b_vnAd~-#>BOO&ce#TM{ffn{$%4Ld{63{OeQdyu*DwuDyI{W57#6vgKp@^$Ae7z zob$v16E{yPT<@yaoX{EChg^>P3eZYBNb$Py#v6OABCiFE_R_y2zqX^3Hw@^)2lRb; zbYgG$?18?#*hZOi_Kbh^*j{z{3P2~5Uoy!Tf7I1h&cFZrzrXn%sLuqk6`Ev+k1n1| zL3}2B)m2YQZuA_X9eT=B7rrAtrVOYPoYcG66pir0BQ()<9dJF&OPMy4uO8rMdn zke;DMZ+^q3;l<8qumSsNgTzhrof{J^?!T-w3y06dhH!>D@VR_EObNpI<=rHi`NS&nf zHNY@0b%Q^oo4lmMdL6It+EbVJM+OEG&S?-ac)3gEnggGz-%D=4Vn@H` zkUA(QmvUrIkB;y_0zcONL3>TcH7dTnrJ z{T{NOkRG4e+h*&xsa_TC!KD^7^(eI#-a2vx?s{f9eZ!6IVC{5kk-cX1+UmH+dZ#1z z-o3j^=$a7JYH|PW+uM`B_la#?>9MwCmp54}vx(AaRlQRiv(j(XYEKXANl4Mhqn3Vk zj9z2qgzM_x|MLTnsHe;IZhrmt({E0vrYf)%+QB0w%bL+7d;9hsZDV~m)egEA2^O3J zkwHsaYKKfJ1O#OQr=TmadiB-0`~W>y)}sE%=_7696R0 zM_0k#VX#UtSBAbceNoCrX=m5riLNqf^4Zwo8l4P&Y|C%t#lC0`>(jwCh@GXO4L|uE zY48u-9E0qCbBcxoNPq6$Cp752ifqeC(@*=BL zz336UlNTNI^?Q8fu^EUh)OEK$_Tlr&hCG}{=A`mK-S8IIidXcF zJ=9$av}0t%8^ku503|lyL5|px{Ek3mhUa{-BXyQaV<&j*gJ$HQZ;s@LcW|{GoS~e` z0^>3!KlP)dSHgX(Pkx?Eu$zOu@paBN>YxjkO>?c>IeGYub9sp;c&n#Qd?h%1Q#+*p zz?rW0*H?b%hkmH{7r5%NS#&0sgDiNVAytl-I`Fl%YXDz9NUAJ#oCgP8I4N_kTt0{| z!e<-TDeDLe{7b#)f6FP{#v1sZ7cF*X>|P{tM+*PO#Je@qmlC_pw!^%N1g>9S{2z5)b2wy4D@rfd$!+y)^8h+ z)sC`uKRs8kWge{8U$^)cWIZyRT3=65ch+LK@VD0QNmteTj|Zgim<<^?f7T8fq%92A#7dIeW&Y9%=R$nN65W_xfL9z5mhHQO^UqzE{=y zYGUG4+kaqhy)wL^9jMoW57ch5XJ${-upqAi;FBuI0asK1 z&Xuc&Z}9klHh=@vWq0@nGK*oUI`ZJ9P4IB2gLWW%;HRE4`Qx~$GoF$&Hd2S2J`wV> zKl`&6d=_s2cX&kC)Mr0Fh`)34yTL&=?F86BJ-pb4-QYUMCpOeB^6-NTqAz;#9B%I9 zw@Lg~pF&?f^qiwZuR!DuO=aPMHi({NqhI9F-+=Z~Pk!W5XFl8Gk3QYiaSdF8*l74k!;cwyTgGWU3-OP{2SLTyoOcfIp}z? z^oMkodmg>X<^Yi^a?slm7{^QgVrgi?8J_2wzI@Lvvh?;e!~`+ziobkE+9AFZ8nJJ1 z>89O>{V#edOMUWa>tWyFA13Q?^5o_D&wqaR+sL3y-Pn*0kquA0#&sp@5Ms;Z!A~7& z$|HBKgU^@4iyX?y5gNf;D21zzenR&22iG9w&h0Au&Ue1Ek7MeXPlb;Z|JZeS9(%!I zV=>Di-xz7kM^8Ea;<);FYXiU+=&C)<6@WGh&9sv^nH!{ZK-Yn;xBK_j_>%6u1jpWl>Up^2oLrE&STeH%ZnV^MeMg3lLaR|EQ-CdPfl%4rr29O zb=W8E#*V;s^kio?R*zljuAcVhJIdgy%f0|@AkX(v(eo1&Z2;0H{o+6HzcS@$;xLa5 z?imf{DNL47RxZ#l7jvZGkEiM^cBCN}syCj0UtQ0qOJa#Koq}_5YUf_f;Fwa{eUfEsZDLf5!IkxUK=0|!R8Tlsi{B%)0Z{!m@Z5=7@YHW4r%JXhwP-tXWKS(r zkF`Tb?yBEb*4?f8?&qep+uF%PC)(k?ceiV=^ZAk8ZSTH2+C(iNSJxuy#0d)^8wJ&5 zt6t^p3#;nfI*|@{pn|(sepl6ZD7Vz7KhD+WKl|>k-zL<}tR8;r6;ZE=UVzH%4-4y+ z)t+7`7~!v|g{r-hCh9nQre2S&a?bc^H*D*_lRRqL;Tv*T!oQNDq%NwI}7z>^=~V?gOon`@CO z^{r2S#h0WG_6GdK&5QVp6iowYbbvQ=e5B8OzO4Kc0Rk?2>MML(8>B7hX7Bq`a;c7ci8ZQ)5au?CcdFV*V3GgFB&ZX+;o0&9_TV8Ahhb;2Q&d2DZTpe~B^2Nio zBX#w4eb;aQe5;QPp&8ja@-qHKFZJ;vlRQU2S=uIfi>2r+b}Uv`S@=hWT&LcU_7LB> zvdaZ+fG2;q;G{pF6ieeH+5?U_23J2S@yNp0-v;eZHH%AOA!{nQLv6 zYjxb5G-;McK0bs#yzuKM=XpoQbn$j1mce0rb+mLsK7yqo1Np zCbZaF9VwdRlfsLv_@beo`z^b23m(^K@D(%x+rV84v^}~3yh6io*3B!kNls*fAOFBV zw#pomPKi~@qo;agj1AaF{2>GRrR-0y$lx5fPJ27YQ%Vl}(Bi{3ne)3!`FLF}XcK%K z&gmcpQnr`IHh7vFxsk2yT+=K47cMztALsmoZg{YR*o_aJVl(+5dQ0h@>(~bU;bBgO zzfZS02YABIe6DByAN()2NlMl8HX0dq9^LQh5%Ux#>)fnITK6wR=%km*ZRixsp#i_I zp2|_mTl!){y>xEDE`iCw2H%~2j!IT{T7eB?4%QC0I)Kh_TxYEy$aHt_+1;P0?%BVu zt*#XfNA>BD&6~^o)$bX%?q^}&MbYhgIH=b=Z7eidi@p;_kF@o*E9*o(S*+(2ZMHsj zvej<@>xt&N>PVi<)eurIwpM37ajf{&0=MGA)@}8gM6sEyryBb=!RsmRo;|h0ZtVnXF}Aw&u`v%@&`mHqP6)Y1;aQN{jhFP*`4_2khL*vWbYc+cMbRlfp2ZE&=1YO?N@UQyqJ z`*+Eh@`h6aD-v-Mi@nsp{0^&84+ zld~oKnhiVp_ddzz^vnnzYX%8$qs8IU1s_$uRfe51#m@<(OP^#?X^ zkOd7sNoV!Y4;^}`GqevJ{KFFt{L~=_x@@eUv2$L*<=g7QVSA|q;Gc6m)ep!=A20lY z`oJd<^d+Ck&{xO`A1*o63%GUwJmBFYj~xIXWp}?9C#!rshxG6m)>p>Xd5QvGd1%Hy zox%Bk+7f@ioqFj@U)o;ridS@eyi;$8KYkv)qED{jktZ-L$1g|9@2?c!9OFF5N{*pj za-RJ0I*VP;$A|spi!IvAIL)rHyRyi^=8o`ICT5_azrfQ+#G2qbM~@%!Av}zQ@Bte9 zM_a(--|%vdrabl0R@agCQ7`QnpF~rA$K?Y40d#XDFT7nVi>;)tmjdwxkd@5=+r=L8 zfAJT8vH$kjjYrq|uaqsrBdL0LE7!l+5?wU)JN?fMBQ`ajyCJ1-$@dgAW4!u+-Ni_4 zWU(Sm8!6ZJuJIy+w!w>ESlDT^$3FJ4T_*BsHxPOI#UlT-DIEa4!V4|m7-c{C;xSq9 zbxl@s^FJV!$3E-<7Y#O{YuW)nWnwbB&_BLQm-r?f>7cH2sWNq?%IHc4c3?L?kFJ}d z_$&wL0;D-lJv`*$?{FTwO6jUy$>5x9+L!)*b`c!%hBlkPCm&n0S@=88HGQ>t_)66U z=(8EX6Cd;(_^2yS9eLB!)BRc-0z8zH^*;*4{z>Uw`=yKm!aPQ}XXKiv@IqGg{|o2m zPZ)N{WW4;}+cjOr^`Rq&cbA7VE9Yo&Y(eU(t9DjUsLo#-_IMSR^G(#Qu@(#P)i)8- zff7Iu*Fv&}<5mwY`}*r_Z5Fg*Wp!ka0t;5w?BDVm(`fM9 zv-e=zylH3cWLul;?5|fl>c-usO`hD=)1y2dkmA{;IRq(U;ZrDsg{osjzTQ*KV__ zIF8j5*fsU7)Y*Df*wZn=PY_V|)QMVfZ>kMp4%xs*pfKRq3%~W$GJ#iM6hH)w1S|uc zc3^+)pbdfcb-l8FoVuZYUwXETH(B2momjKI{qI{3R{$=gY7*aL?f&kvZYHd*w$^Z4 zwy$qTjvcJFKGfS7&t1EA^_@S-W6^6uj-T_~!6X-*;0x#(47DYn61XguoeTEqYiRK) zfe*bdA4NXNkinRZK?b+T{i8qnqdng%!`grjf;K%2oa)PiZ!pLtKt4QnQqE=ule9H^ zX={B>o`cPRK^ASG|G|OFw(6njhJZYBkX;`7z8CZwQZ}9N{UC{Lx_?C;7p@)bx4JdtP7Acp^@J{-~Y!q=O&f75g}sr%XF* zC%!3P8);kT=U`-Gr5io<91OG z49n#uKV`~up7L=VUZ$ifj`L8)@)}Uz-Hu^W+84|>q)Kl_giv$L1^sg+t;tUOl>o%23(zt}PjoAhFsZ~(ASUF8dv z^@`QJbGJtT06+jqL_t)4R#;&aB&6tIt5%JEeC*EJ?A(dA`>x&nQ!6I3`w!N~k81-U z3pI{9RlCccwjoU|WajF7mU!yymR|0xUvcHty^~zAfp7T?AqFR z$YShRt&CT1H1Ld`kZdSn&m1w)s+?jnRi9t^=UZ>>apbMg!;Gy=A8bUufuN=>L}V z{d-U^`HY@MU-pGGo%=u2|NsA;RYK(z$ze)aaw>9|F(g!CMRKM>$oYKQ9E(a$ zQF59yA;-+woN^9x9CK!jIn5X|%xCZK}QrNwISV?5S%k z=tTCY7MAWEM~g(mptR?CYSH7ipJ1ASYgPO-E=bYLWwrZH`rAcojN<0Rlmc?ZRu?{U zS?+q5agOz8m!0InI3Oyd<1IPMNd=zF*rrxBZ|21toubORmP1i#4VgXOckBl{)V2~f z@<%+HBPrrRgIzTrNxs4pUeanhoA^|>tXx#x@~URnk8C$_OaX&%W-`GE z7QtOOoA1CB+zF)H+`BmZTE40%_Ykzbu{h_=uUtZte>-?YTt~(!R~kQ9IqScIJo!NpHcN<_|HeG$2gmr4 zGcQZ#w~(s09@cr^2=V^pVp&*P9aaaGR^Ct>lp7pQo*~9?Ch!lT+kpF%;nwIVRmSTM z?N6rrI?@J3JnwQhkJ)E-tE}GVJNasPmfIcxo|n5XAorK#>J($tP%bmtv+R97#JUZg zLgUoi)x5+{T#omsf&^I76KJ$WNTvBK5Us=Q|FP5;WoF4C`r!SIDLZMiG=(_d`^c0y zj20+AcDpg|k6~_O;MI-yJR-VC&wZ4IT=tz8?{DJ|zse(vwBEQptt?XzQufI!E!y$j zE;rT#I(em^b~|}xG%)%!jWctZNvvL$J1(}- zH(Izp%X(nD*H^O9YvHmj2dYPgztB_KaPyH;-;lV2Y%PHz$9A6dU;JL1&8}7@q-^51 z`u+yp36XLcW#eeSD`SdrD5h>+C@Kk>c=3q3qdsI^1@(am@QlYVI&@jiOH}!+wh%q7rimM&gzU0^5t(;qt_hwKMT&= zO887gUUdCg39?`YA^O6+Lf>uXs!lSf`4dt^aN5i>6fN8{fjVI<&%k7&i|RnTp=3qq zDmzv0?OoGIg(m{N+!sAohGlAQ$(-#g%hZ2Af)|*$7)Qe(e&=JC8d?{=6v-?E% zIIZO<4M8&W_$&>xdddc$Qi`zZ0z$Oie26Q$ba%v|@rUvVP3X;Lrsuu=xJgCF;t#I= zoEw!|4j&3g`$y=XGD0-~?0&(Y2JR3_$1yUkYO|M)T#;JUbQXa&_e3L@h1GSy6*nq4 z>N3UdK!aF~K{N-{x}F=MyuXiUV@B|`n__vV*z14l=E7#YzLnhk=wZm)ocSN`!S@+k zs;z<5f7Kd_68*&|81|UGiO-JXBUJkSUYG5Uj?!Jbx{( zGz;f+h}~OPp(Mnjt%HPEn|Qk4hZ$t)O%#y+Eo?~=1k%HznrHxeLgqHna2A6 z=9R&}zZ{Ahbkoep)zN{<45t5PeO5X7ibH{`Ih)rdcyDs*RWN55d46g5N_7^Zifn8w zp=u81)*CnMX4cv8b0RAfrtbdS0xyj1C@Q)Y1MPgG3VGwxHhLFQ0{cM5RjyXnfIHHV z;CV;Q^pbK^4W!Z24`c5|S8vC2M*9Eo)(R+$&GzKnNBUMN<0E~4Sv9J@Y|+cN{}^$7 z{QYI4XpxrVeVm(*D$>$O;O4;ij)HON)N_CxE%Cr!hT7FGAjS5{`oh<5Co)=6gX>^w zCTpa(Z4`F-*J)R@tK&}4nObc*e1sm>o@=hn_*pt2@Ls2&sF%9yTgupD8;Kd`VO z1$$+m2AASCyRETDjT@rJ)KQD*_3vcc2{%n3x}>F-`XHLG#M%3Sv4*}oFYy@#+1zTw z4vt`^G5rX8^_pjswZWpq{+?HJF>KSJx!tKv>{o4|%^OR);7XqgDL*n(aVl%637KV8 zb|e+|kp0Yn$$d#Ge;%XIl$rWFH_x>HF0}KjEIP2anIXb%imcg-Ji;ud!uLTnZ}AsD zIWQ`P&K1eguUkQ1larLpqZG)I2kl2~Q~q+`h3{cP)_9nfz&i#^u%@}T80;4-}Pgdez03^QMrUh5ooF=fT$p+1kLa%T;eiTz(40ucY zZLeA~3)>r*?PBwzVB@&B>PW<|g0{A`yDBbreCnAK0R+QLZ1A39$e;fBK->Uspk9+7 z4J0nhxrH20AK!eQw#?JgKJ+jJ!7ISnkR|HFprB<4r)dHMDH98FnMeO1*|vaqx=`h! z_p0gP<`Y(|nEbw`VOrKzl%pud0nHrJ@JaWx21)p+N5?9@QqFqG+W+zJcjb1#PAEyR zx3R?l7I~?DgsajJ>n9ju;+MU*rXrclZbeVRAO8GY_VXsHs#(dovh~0@*8(D<3(J(* zl@K?bg@w9#-I>q91)Zp;P&Lge>l;uj)Pebv0af2UV4|m@bPxZTEMx3Y4qr3+GX&QU zO4kjWG)eVR21CJrd0{DPOm_Yo5+YP`v=*%hFCt?(HTuThV0ZrJ-I|Cf0G22UKrPC| z=*_U)9O}2Gkx)O;u0&!omM`{KDBIG2AOtVk@K<45O3 zpx(C$n&S#)j^_?h@9^)d66Jg?{;Kf31zNBJyhKx7DPa_ovR&bt7XRMbfruH&zsI$~ z8@1TO;GIL?dYh;>LN%c})@mUhP0K<%YnALV>(>Ef{=m@`nZL%nZ=FaEy6V0G&f#Uy z>s!U06K^loM=DYBn{7I7AiUTGeMNZYu;MP7Y%4f#xwtvrl#t`vkZHaNVn+lQ=nPwa ziiH5Oc+#BMRVE*Q)dt@000rCP;<&tp)KT^4O~*ga%pYaUPo2uw2oh)^qyX&K*iFms z@ExJJ(krWq{q=JARmsa2?;G5huY9;1YxH?HYCYga!#$g|(<{;@=VVrd95?6VhfIc> zk{3P7AI9w{QIGDw%!z|8ev6x7+cJ7dnnH%JYIrn%a`k1~WVc)Nnjse;|kE@-bR zQc|h;#&^Z?pB@ub_`-zV)fsJltlxL3201x-5ndnY=;ZL>eMS(~4d_%W;1tb#%w0R$ z?ex&1u>$MwKu#SlX_j!}o0gccp7M3AFW5p&+j?n9xjPNl6G zC|~c@$J4LoE7D6XJ%AGnCW&3*P~2S+x8KGOo~~*JagWC~IAJ3Ls~QelQ3{ncY~5yK zLM5DEtEn^2oM`f6-_wEtyYg>m`^8krCoa!k${J_>4k6z;u+>|7=OmgVhxj|@CQhjR zeI&Kk!_kkxU-Xt=OR~h@jXzo}5)F$Q@EeE zU-Jc69Yo%%LT>{2?iEH`vk;1LYIl-+9EUvhIV8Q5Qo&%@o=p5ptNmU!{@eb2Wf>>( zW9xlG0S=+N$|diY3q|FS=wDjD49jRA0Qw6;?W*f4E=8dln$2eYc`P!im8< z@l92**M?uMLPe@1l?gcC%Tlbr!@ACQ*w^$o8f_-2WhPPp%wQ!&LH4sVY_^|rG1q!2 z5wiNFHyQU|9Q950A{$595XQ{}quCm^^ACt#ENFf!pmlL9@TxhOLU-o0xSNphwWoULCX?WvrP9-NVgiD}czx;2$~JZc zud$f1Z3Z{`(^(4R_!YK;}X9CWfygTRZ2@3#IKQ+|9xx?DDOzV zP>ydp+_1L-Fg=mp&_b9p2%|tLj2Y{Y*~**k$rc3o_>SLtBG9s*FS8ZsAHF0$?jFv- z#|cYMJbMur_%bAh8xG}=e5hB@%T6qaIEXKfQ@lQ$61P|y3sd|V`h+Kqi;+`FL^=0- z4~}869HN35ZV??*JK|sz<_r3#BT=QLSd)xT73$Fedg^F<6Jwhn^69VjMx&fL-tyr$ zw-5jLJ7_i#m`8AnF$fdMPMNCKl}6%jr3exCDE;})ZJB^4J7E9a+#dO{HV~-QIC#a_ z7XaHZpT}-A?!FZcgQ)Cs%u=dO&@Tb8qRQ=FoI@asC?^IeXo|VRE1=Ctrp8tPL(rWP z^G*WYjM&Q;@kVC>-1YskxZ7SR{58^sc=r0me>|%w@~u$XOM3qM;6IKmJ=ZM#Q0`j* zE_XN`+d-}*i$epRLObQRdJ6@;pQSx|6?`L3#Xmmk_u6$#&sSfHR^-Q#o`^2!=@^t8 zNLh+g5H9-;jLW>MJCg+ff7-PTwO>5nH4VR`<1E<;gyv2qw+Lhod&Y<9`#Z50DLW_p z{8Cf%@1_YzM8Z9W@9}lP08qERLpOynJ*fyPc0$BJ45}o&^w}TG?;#HN1@?|!70Vvc zGuKe?f(FoIO7HyM1)Do&oBviR?flq>!t>|dFoWY-9NYnj-%NJP3_$w%86cjhXdT># z*EO{N$+b%~U%R#h;#NtQ_hsI1r>vjUD|1Klh59s|YRcX|q+`|pmtXJGk*hd{j> zZy>j`(|Jr@GDP2M>&{vH1-?l(i5;C5%iuyhEd}i)rRx?h=S|nRh_egA&GOm5nz63< zi6FjZ7ovdnkbGGq=;Yv7NfP4T#3h5$*{Q?)JISTl_33{5W-H9XM1FEosnzmt)=!oW zKA#f1oiso4cy0Mhz4f#5aG8D%Rf)DxP4LDS1m`v!m*vPd^skAB89OzLHT5Nqn>`ku ztZnhDmLq$67{dGPe0o=U2?;jjmwx7_+f@ka;P~5aiH2vkiZh=Z=9*mLL73_J5wYp) zgN7EEcF1r|JU`loLvo`j{AZ`1Dt}p#>AFE!V^yzZNB5DpmZLO8($we)Uyr@w~xx%IDeuP1OuZFrs*<@7Y*8b!KWWkzmG9_WL^|b6mUdeMI4$ zpj}CjhN@8aQ2cKppsqG}(d^!ZIVL_KWJ{LV_?bbj&pCBKO_Bu_3`W(YF)Fa-w>pP=AAB` z$O~k3a4#fUBEZ8~3q;a3p)t~p>2JY_MoMQM3D@RfY-J(KK+-CI-K%3G{)vk?xll{L zn~&c{!^CiXUPMbz;?SBp*UB(7z_sq@xt_BLx6_H(I24NEt^Gl0M5ZT(8o?RKaJn)I z@=ee#NbiUa$&S&74dsPz_NivP6*w8o;Ep_6PjlEVX8k?1z>sL-Er`ST;{Ix8JhPB` zAY~B-;mVY3l}=sLc2!OQpDZ)GujH%dHo{=bYDGZ6SL--WnQgV}pw*Hm01|`0ZIZS& z6*Ll=tpPo_7KMHap~9X8fw9DCm(^ypTUH`yr20=KbSn} z%`h2)K(eD>v>9Am?Y5i4w=lhtOrnS!I3BDfN-1ffme@^2S~yfWuF?JnQc+8Wy4g93 z!j^(;-vX;T?0`krcGeMrbl($h9PL1o9o_`CyOJqpp+hcY0TOaWMY$I(;{aE zs)mJVBeVYSlFELLTA+U}^p#QvjcI7q$)&*ZEB%?QMh8|kyf96pXWh?}Pol%Dc>)GZCw-dqhfEd#N8N8wO&;kM-9PFPGM1kZ4eCe4_+(jpGLu%h z*y3Kth?F7uX()%>jP#6y8RUw$f3Owh$i%Yj%HHrZtBXH2bf5MH(+lWri$0#rpFSsr zB1^=C(_{C%?&)`HaGELKRpEIR_Dxe_k0nf$aEnboKv`C2!r0~c11{&=wS|Klt;v#W z0*`muj}L`@8wb9)oE*+d118cR5|>u03oyv~<~s-Iz`#gQpP@a^yw~Rm!3iYn)zW zEWc5BA+2_tcgEgHfJA-Jk0pZ%ioY|h%Aa89#7;jgRqeT;h1hRJC=dTKu|~3)J6!hH zL=M@qMSg>DoabZg)!AEPXX!&7iL(r=VGM78j(zPw#~~|yA7odC;$%)92?%)WDWDU& zb)HQkZ&)wV7Cs{iH^(Q^Rf5~?US!(u~vUK@0}}Azuxu= zcC8}Ci>j1f!VQcl3S$-W3z+($w=irO^0wsSYQ~x@E#bDT`XRMS1^&|7x6HEVVOh`D zA^)#0P!`YmV$gPRq4Oofol7t1qXQxSv))vg<(NGm?Z31>VC}r$UA_p4Da@-!LWS?? zE(^im?w)Mj=Wwy9YG#O-v`8Q*YDgNZ=(GMhoZKC9(k;X%JkQ$4g#Gw0fsY%CT+>x! zP*chC2M#>?r20+g6?`;rX;1BJ@0jzlH}P8MJV!_BW(c#RjVyy_eA{3~dBA{E10YAs zmpx_tGW)`NMUm}(AO|{gC4~rIUAS)J;X)kGb1_i~d;y$NAp=dGkfz+mkD&dyTL}%jJwz@e~&7 zh;v@N3YP4O5gOGQALaX>J<(+RhUfITpbd}95CqHQAaklUU8N;PbUu`~-jm-l4j~(Z zT@J45j2U)^`BHq}a-2j5e`$uCHDH>{jzbTg&nKV+(iSwW;7ZHa1wGpb7}` zs!dy2JN-HWmJPdF9zRqm_Ny2BV#4aPb+#$xRr#UP*vn@NI?xAQJ8rkiF*C z*B>ekiEZSalffNt>|!>`%T9B;pF1nT*P9FAO3DB)I7IBrRG~9tCNFcHF%g&o``ACX z{jXV$%LAvnvM_rw?I{N4=pIfoy5LDkAUwu)9D%*^X^TU{)=1biqu=`1vm@BOzW^D) zh_H-+RTSIF*psv``0Snk)^rZ6ecWzGl(wCL0`Jclkp6W; zd@fEG^f283E+sKBbzfm%&{?k7CV=^Fv0M@Qu$LlOzt5QzhPa5=M$G zYkzkJX#w)<5s-dtU#?^`!(1{IiqP&udS9x}&tcO6=d`ht3r?Qfmrexx7JHZJa2nP& z0JlqIi%LX%TW>gvRFo_Pcr7RQv^n;qhy|C&VLE@ZsyOddH5AOXB648Mp6F2&oLlDP zdyft$OH`yPv-eG6+i1FNmvq1jrFwb(gf!kel5efDHgKm(D zl6r6-F>tEiY9fn}DNqX4sg9jGY2Kz&4wY^I}@J_=l@5BZiGc=_5@pbDczh!FiA;o_CIygb_I>{9U}|AV1ALJ$c#(Db+lycamJn3Z z>EiNEdeb@pad+5=uqAqA`!PbnvPV96Ap*hdQm2`IgfqDVZNBk!^oI5REpslPbQ!*! ze)A2a&Hb^ox0`95FDd9KntI4EbfGBMt#0woyOX2Lvw+&GVJ{OZ^@&U2U)WD_avY9`5kh5d^0_+`H4VNtQVVM)|>F$nSU-#7eg zj&dyaHsUv8E(aLP;A?WB=Q=}rE5DiikvNn@jf z%c#PO7vcB36AJ{J7aT(ld^2GF*!UU3(s`m!kDR_VYe%30E~t&e3cVG^hFvdNt6)AA zT1#Yg5b&Oqk;R(7{bi_Qfy)dGTMQsci*@>en!1nbgohfhq4*-e^H_Tn^)R(9$)C?X z63-`l)|~ND(9m z=C>lPbk_GCrEvINhnG5KCF5kXjYz7?x^pwzG(ZKzgbbb?R}rPO&Y$>C`x8XBG|ynV z$G-#f-yZ*Pn#N*@Jvn>Ce{F%IwFs*ps+jVULQ#pKnju&#(#7%=LAGfAak7qqn>F8T zYJlVD#EX=U!f741Q-AC9@?xXyBC~s$Hx3H|^#XNWBA=(}p1;nubyH7$BzQ0E-fx#H z-YjhwzqwivudbvxKj!>#61vlh2eZA?czAplFF^=wj@rpyf37da<4E3RMTmq{g$-O; zTYHW6E|o!l@21;c7W$_JPzOL7_`>pVFoY8?Oqflw`idzcm zJ!Tlormi`guiiY?nHoa4RZV5d?>SMkgXcL)f|eLH zCqmC8K?2mpWX0pG5P}zX7r4nUjS)4h;$He(n0=AL2L~^HD7(vCMSFZ@PVu_KVKtKU zWMx=`pe);^P^9)OBVtnXsg6sJeKnF+pq zEa%2?jM-KeBqDF19n|lJWbi2k zop;X`y}-6zbEI1EIoiqZoINxZH?A$-y#bCSA9tpt1a?;Y_L>?&rKiZwtg$i30CZ*G zO=Y9Z?VnN&g@oPg`8Q=2Mo=)JXtAr5EcD05Z(P4jUTG|6Yb=4v`Sx^fPkq(}{DPzH zDtWtTJ{(1MDR)fM7j_Qu+mpi{T(=?c`IFm{8l2WZcBg1>A68?1&uUufFV>uuaE~@! zA$Z-j7=F8miT5G72Tm;qsRyUf01J3y6>qzdy-!Ftl5J<4-1uR{QO^ZtdnX7l5L`V= zA)eJXFO%)D%x9x|E~_T=xyY$G(5wq=+3;^nU9H|X$6=!DX^`tqBE4d9JY)%=Il$>a ztj4!qaJ~wZUts4|V@yds+3`EJqDT9MRWy=6X*Lu(fj1H(Bq|2WHH;{__P~PUb+K|F zog=muK9VevKS^OQ7A5-r-sM{>PgnyXZ@(2wYV@(pwH9Y+w;0pOGpU+nb0hLa6c72! zK2`Py@XvPe^#>UJ7_mhHQ{yGS%q`>0rjT$sOUmm1#$~_hYj;>|mAhlv{)EyxF=UQ| z?Ap+svfBBlQ=fF|scU~~JL*N^GQD8D5q}HEv<&B;q4w!hly^%+iRHdeU`6GDA-6uU zJHRgMVl3%~v_O0UXW)F9r_ZwoIed*oe&tSWhrEo861Ud_^@{grvi#{-`}wV?IN8v+ z^Rd9(en!}2efOV{O!!-4=!eP9o4Vl78nzx4oK{?(qq@SXf(a?VVJ3jr=1q}VT#rL4 zd2)df`&wyMnzLwq#Di1LU|!z+p^YAI4FPKk?vdgpY`t(nhr+jVSE63iIV6^|Sk$P{*gyNNqUdsOEHY1q9~azDKrc;x3!ITvWKf_U16Su}aD>xEx$ zOmIQ{2awHLw0O$9U^a7*G!Z-0%f6^|+ty+J1n zjI@7)n}uqB+4g+~S2cw}d}rf6J;(nmgUzX}{my($*Ll#1fS_Bx`|SZVaj5en>*IJs z!0pDGQQo!P^Gdi*#iqZV)fzb7p&!f%Jkq8Xi8oLiK*rcm5=EIVPrnFqkg4%R37$Qh zt!B4eyLx?}6j=9jV?g;NNq09C4|Cx2Owa^B9uDnCxaSl3m?>QTM6V3xvf)nAtxML~ z(Uv{Ej8V-!=P936Fq=H5ntm!mKY*@hbSzNdS#xFmr(J0m{lT6uQOszNcMoA^2l2fl zlN+69BT_?er9+Q8^D0%9b%(E$gz%LnQ%c(>800lmhSl1>Yow_^5?q6Y>P0?`axpyl zGXF_>$^r(o(0q~)@t%&IpYJW|mw}qWP^QErP1FC}9}5kRitA^pcdiR5vlIe(l*?FC z7qk*cm_Z2)vzJwm=ePNytf*S>JLMnySf}!GA>$1{qu_3nXsIx}jR~yeFUSp9@s>82i_&2S_i&D5tiQO6(L8(rwU)8ysiTc6#+vN6m^O(kE?0 zd@0g*D|Q1bbVdrRfp=E=_NO6Uq+K*(Kn8hk`Ti;B8yeg#B}I_(Y`%{HLDTpX>$6hT zg*R%`h|_j%WXqAel*o?j7J0{QE8op^D=K(>cB{>rlyfj2vbQr`tGYM76_0#u-D`BI zWIhz}`y;;C%s+=f+^CqI-(7YY2=l9HR3nvdQJvg=Ve~eNw41G*I&LcurKdYeyk~!% zXtY)7IzYvmtbOraa+fN@xRgMPzM{_iki7LEg#^C}vJ1Kcskyt==#*XOp)*~x{KYDH zi{*mLou6X@ZHM6$lM{qmD~3y~25W3C&?+c~#a(W?*c1GBd#1He60T*LD74Nh^pp*f z+ss1|{n`t*%G%*g4~H7`vF*n`3kGYwYuI3ieJ>-@4OtZhJDtp}$?66|d zmx~VE(>XklGw$Y(p%!613B3Y=VpxdLvJc4RrVngQ6F`WzRy4qYn<|&?#ZvU*&r7N? zJ1{HcLA^IqB0@;tnd|liu=g82%w-X7XK3T2^A(dK(of_(+L1PsA>HdyZti)Nz4YA< z?PY&zB^EfRl-ywyNBepUmO#L4PnYGC2u$(z6J=GxS!rm6H;C>yqeS17DU!c4Moq$3?Va zw=efM*H-OppF;(H@j*7v?+a|z{pY~!z1Ri)3s!;oc2G)B*ExtE;^LU;z=rQ}J28rL zljY>)di?^FAW0O>a} z(hHr_@md!1xicpD`9ZEmcQo{`ynCI?Vf*Z_M73p|Z3GV$}4@t+Dsvb_U|edzViX+-6OJ zR+Azy_IiU8T@NJ)PhN9&pYF*N64uxH35bXESv&BJdF0h&wGrB))DWR%*8=>a`~{+vv6&Y+ zku?kKlLmfi79Wc{jZ>_VGvs#7JR|DVBsZ=8ILJ{uvL?SgQkS9fQX z#XeS_i|0R2Bx0q^YsPmhhmalYgeT8bFRL0I;R);bU2K!1i_~MCh+zj$zLv}BFg2sV zvN=b6@OjuDvME1?iF*Nf5@ju}c*$@64wxv;a|4nCR~!@5XR8$g*O1Q>@TY}C8{WP< zAoNaOP(x{%7Gz%2&-3jA@yuT*x8Is4<7qSuAEzq_V1L9|zKX93!P%FPj5A7T$>pk3;lO-#t zm5b6G`ZPslbJiK2WOPdtcSmWwCb){$5yYU}6S@R*oj~MSNl7OH6>^6J<|*21vt76k ze9dDY|NPh5CQ*mmfLJ<`EYxr}xE*(b4;ves9Nx>VV3SpeY`8~pWhAsNc*=h*j@Mji3@mNS+ zO!It@0ba9Jw1&zM6+l;Vqfl*Z4i35LiRK}LUH>gYYdwM&qu=4|0PGf|Uxm&m*D!cg zUF^l^;c!g_g&P3t&tLZ$+?Q;khac)#M%Dbef6kncnH?bpcATGNaEWpvPYPSXCS2=9 zXyVpz_EtA>bpdPT9QyPZs!u|#n4|LDzU2vK_ONkt#`|vb;mdPts|3ZZ^}i?_Kk4Q^ z@=hLt?3ORY^~(X&8s6J9(C7gbGaZd?rkAIaW?@eL!^{95IbrN#swLAJS}mZA&XPL+ zgPHmm%b+HrHEQ^3#g>JxG%wug7|n@-Pxi_SrB55p99q&l+oFw01HB*gZO?NaZRW=Q zmpRD}`PBTq&GaIX2e6oPevOIv4w~ueAsv~c2T|g}J1}6VLh5lUeS(|fddC&w7XEu- zCq0ksLxtg<8I(w_skJvVA#-~Ozp$Zrd&08bb~Iy6Te2|D(?)`0k^(sGh)Z{7!*C`+ zWF$blKB8JMdyW+j4XnO$Y;x5{0@t3QU%gMHKS)Q^8?8@^AL>M4BKiX{9>H~m$wSt2 zUdClAwNm;LxsRGE7OIJY7n;tc+>XxKRBGPc_;{|3Bj&~+ETDr#DxhJVKd#YkRn2|b z($I;*I|#aV_FYgR-x_|6N4_d|8GLE)4)oFi6)kvsx;}6p$EXgn|D!r=y>!_Lp&~Hb zJvpM4_^ueyy~Bl3Yp~FhtLD19m>VoC>bycXg#H$4>Q989pEc65Ic?BG_6|8*x#?E( z>XXFKxKIWs($as6Wg{rTZ+ps|I>9qIm0CBJ*ngGWjGi+4Hy~VMX|h3{?WJF2 zWz|ut=W~3hfPtodIO1G;WNsaeGq*a_+zR79Zu_?IG6<~~=j=D?fSDOv%@7j(C2*FQx>BeL#3 zt`Dn(S%qK5SaI{TrEJ;vn9U6m9(n9u4iqBf> z1s}KMW&$CwG1nq0n<}GahJ?-DT;UhD6R<4qNo$GqDS?Bz?Rm|93|jDql=s{;>BROP z^YXp86E3KsGsB}O*Ntyi)$DKstp#euP+v!PqMuOEBVnI)E|~~|SLX4Iz8oZbFrEwa zeH~9>@VNYW;1O3U97U9KYArZr*e6FOlKdT{BjKtNo; zKO5ztH%Fc6e{O&|11=6}M(gze(*AIsu03QAZiA5WNR#T2YXp!A_i6N#D01(jvd&sv z0lRsE{iJWl-WZ1vwMd6sBt|u-yzs};R)sz#_1;qND;TFfVc98Xt@fickDC7M8?|pb zHTfddi(N92WL!drThJLj{F?{OS?|$7#>jeRYre`t?M*)9H=Uil#?oT z>Q~dWUipyoiQm;!q5!7p8zl~jSGSTt$@uFsaDh@cYJrYyjUz$aZ7Ujk^lp^D#IDWp|M zR!5N|6#of~2+DA)9>v}m2FOx{QjWtcmLq(HBIm8k#ECI%rIS$F5U z5#THD_{i`E=lW|0FR_eo9qTL#MwJz4@!4j5`|&4{8a%O#5ng@9$#5#PH*LvfFup|q zxp1!CHs{{4Q#dS9i8$^8p1um|nD#~LsI0b3kiYmIhN*6;Z;1tMK2nV_G4cz2`VyYTzk6XS1Z?jfZR$`7-Q2$qD@UR z&d`g2sSU+j;JU(r^kR*m9M@Z8T~Dum*-*@vKVJkaH8et@oVyFe4mJg?b8>5*i2Uvk z(jbnF(yRo=%a{Q7;%_rJ`T2+cREhZWu~v zN{vBHiTy;e5Y$V_oA?36`I)1&2>y))i9%7;>Xe`B7T4znTTZ82nynMLdkpzn{aD@t zF&$o*Hld|{>&MBks_v67Fh=Fu6N_!ywmE6{eYA#)}O3(gil2AXc{5EjQ-T@&VwW-Q7=4GZkT!F! zZKhk&%3$T&oMDqnj<(nHQ33bWB!%h&o9pW@Au|8LGX+?slSx%LVWns70zj`{GUFgA zrX_!|?m;QS%&_s`3#kVyVUi*zRxj0`OFMX&dH35NOJpTfRw<(`J8ac`VhVaIxjvTz zZFyx|AF>U|AzPJ$$`m-2;dzKup;GSxA&`HTOFGtMp8Pu|AvWD9O{}JdQ$nG}Nx^EW z3|moZSxY9=xV*PFm#Zu~J;TkOuY0FsDnlg%Z0q~I>x%uLktF`_#y5uWWDWK3bF!=& zfR~q8u5!Cy8f?ySe*v-*z6|QS6?g6n@J`~nH&{WE*xF8v2mTf@+xcgJY^vs~4srWQx=7b{he zdD`G`^zvQ-a2`&EIKVaXrS9HG(aL4ql7kPLw=(B;Td)|&+2@+mFCk9-zVK$ty_gV} zGb+um1`1zec6q;d;Jf4j#8?i>`y|%}FIv6GyayUQRCh8c$=EyzAP>}T5E4qUyMa+- z47nMn4@*jA&sFYdSf{&+Y;|5IA|2VZ({!TWZM6er6T}rO>&@-rtJZM>*eeLV0@iBl z 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 literal 0 HcmV?d00001 diff --git a/demos/nestjs-example/public/index.html b/demos/nestjs-example/public/index.html index 991799b..3330054 100644 --- a/demos/nestjs-example/public/index.html +++ b/demos/nestjs-example/public/index.html @@ -8,10 +8,7 @@
-
-

📄 Docuglean Demo

-

Intelligent Document Processing using State of the Art AI Models

-
+ Docugen banner
diff --git a/demos/nestjs-example/public/styles.css b/demos/nestjs-example/public/styles.css index 1ab71db..481e9d2 100644 --- a/demos/nestjs-example/public/styles.css +++ b/demos/nestjs-example/public/styles.css @@ -16,15 +16,55 @@ body { margin: 0 auto; } -.header { - text-align: center; - margin-bottom: 40px; - padding: 40px 20px; - background: white; +/* Container */ +.container { + max-width: 900px; + margin: 0 auto; + padding: 20px; + font-family: 'Arial', sans-serif; +} + +/* Banner Image Styling */ +.container > img { + display: block; + width: 100%; /* Full width, responsive */ + max-width: 800px; /* Optional max width */ + height: auto; /* Maintain aspect ratio */ + margin: 0 auto 30px auto; /* Center horizontally and add bottom spacing */ + border-radius: 12px; /* Slightly rounded corners */ + box-shadow: 0 6px 18px rgba(0,0,0,0.15); /* Soft shadow for depth */ + transition: transform 0.3s ease, box-shadow 0.3s ease; +} + +/* Optional hover effect */ +.container > img:hover { + transform: scale(1.02); + box-shadow: 0 10px 25px rgba(0,0,0,0.2); +} + +/* Main Content Cards */ +.main-content { + display: flex; + flex-direction: column; + gap: 20px; +} + +.card { + background-color: #fff; + padding: 25px; border-radius: 12px; - box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + box-shadow: 0 4px 12px rgba(0,0,0,0.08); } +/* Footer */ +.footer { + text-align: center; + margin-top: 50px; + color: #666; + font-size: 0.9rem; +} + + .header h1 { font-size: 2.5em; color: #1a1a1a;