├── README.md ├── chat-app-backend ├── .prettierrc ├── tsconfig.build.json ├── src │ ├── app.service.ts │ ├── main.ts │ ├── app.controller.ts │ ├── app.module.ts │ └── voice-chat │ │ └── voice-chat.gateway.ts ├── nest-cli.json ├── README.md ├── tsconfig.json ├── .eslintrc.js ├── .gitignore ├── LICENSE └── package.json ├── chat-app-frontend ├── .eslintrc.json ├── app │ ├── globals.css │ ├── favicon.ico │ ├── fonts │ │ ├── GeistVF.woff │ │ └── GeistMonoVF.woff │ ├── utils │ │ ├── tools │ │ │ └── classNames.ts │ │ └── validations │ │ │ ├── voice-settings.validation.ts │ │ │ ├── boolean.validation.ts │ │ │ └── integer.validation.ts │ ├── page.tsx │ ├── components │ │ ├── dialog-head.tsx │ │ ├── button.tsx │ │ ├── voice-player.tsx │ │ ├── input.tsx │ │ ├── switch.tsx │ │ ├── voice-recoreder.tsx │ │ └── voice-settings.tsx │ ├── layout.tsx │ └── provider │ │ ├── socket-io.provider.tsx │ │ └── recorder-provider.tsx ├── example.env ├── next.config.mjs ├── postcss.config.mjs ├── README.md ├── tailwind.config.ts ├── .gitignore ├── tsconfig.json ├── package.json ├── LICENSE └── pnpm-lock.yaml └── LICENSE /README.md: -------------------------------------------------------------------------------- 1 | # VOIP -------------------------------------------------------------------------------- /chat-app-backend/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /chat-app-frontend/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["next/core-web-vitals", "next/typescript"] 3 | } 4 | -------------------------------------------------------------------------------- /chat-app-frontend/app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /chat-app-frontend/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahdieslaminet/VOIP/HEAD/chat-app-frontend/app/favicon.ico -------------------------------------------------------------------------------- /chat-app-frontend/example.env: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_SOCKET_SERVER_URL=http://127.0.0.1:3000 2 | NEXT_PUBLIC_REFRESH_MEDIA_RECORDER_TIMEOUT=1000 -------------------------------------------------------------------------------- /chat-app-frontend/app/fonts/GeistVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahdieslaminet/VOIP/HEAD/chat-app-frontend/app/fonts/GeistVF.woff -------------------------------------------------------------------------------- /chat-app-frontend/app/fonts/GeistMonoVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahdieslaminet/VOIP/HEAD/chat-app-frontend/app/fonts/GeistMonoVF.woff -------------------------------------------------------------------------------- /chat-app-frontend/next.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = {}; 3 | 4 | export default nextConfig; 5 | -------------------------------------------------------------------------------- /chat-app-backend/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /chat-app-frontend/app/utils/tools/classNames.ts: -------------------------------------------------------------------------------- 1 | export function classNames(...classes: string[]) { 2 | return classes.filter(Boolean).join(" "); 3 | } 4 | -------------------------------------------------------------------------------- /chat-app-frontend/postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | tailwindcss: {}, 5 | }, 6 | }; 7 | 8 | export default config; 9 | -------------------------------------------------------------------------------- /chat-app-backend/src/app.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@nestjs/common'; 2 | 3 | @Injectable() 4 | export class AppService { 5 | getHello(): string { 6 | return 'Hello World!'; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /chat-app-backend/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nest-cli", 3 | "collection": "@nestjs/schematics", 4 | "sourceRoot": "src", 5 | "compilerOptions": { 6 | "deleteOutDir": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /chat-app-backend/src/main.ts: -------------------------------------------------------------------------------- 1 | import { NestFactory } from '@nestjs/core'; 2 | import { AppModule } from './app.module'; 3 | 4 | async function bootstrap() { 5 | const app = await NestFactory.create(AppModule); 6 | await app.listen(3000); 7 | } 8 | bootstrap(); 9 | -------------------------------------------------------------------------------- /chat-app-backend/src/app.controller.ts: -------------------------------------------------------------------------------- 1 | import { Controller, Get } from '@nestjs/common'; 2 | import { AppService } from './app.service'; 3 | 4 | @Controller() 5 | export class AppController { 6 | constructor(private readonly appService: AppService) {} 7 | 8 | @Get() 9 | getHello(): string { 10 | return this.appService.getHello(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /chat-app-backend/src/app.module.ts: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common'; 2 | 3 | import { AppService } from './app.service'; 4 | import { AppController } from './app.controller'; 5 | import { VoiceChatGateway } from './voice-chat/voice-chat.gateway'; 6 | 7 | @Module({ 8 | imports: [], 9 | controllers: [AppController], 10 | providers: [AppService, VoiceChatGateway], 11 | }) 12 | export class AppModule {} 13 | -------------------------------------------------------------------------------- /chat-app-frontend/README.md: -------------------------------------------------------------------------------- 1 | ## Project setup 2 | 3 | Copy ".example.env" file to ".env.local"
4 | Then install dependencies: 5 | 6 | ```bash 7 | npm install 8 | # or 9 | yarn install 10 | # or 11 | pnpm install 12 | # or 13 | bun install 14 | ``` 15 | 16 | ## Getting Started 17 | 18 | First, run the development server: 19 | 20 | ```bash 21 | npm run dev 22 | # or 23 | yarn dev 24 | # or 25 | pnpm dev 26 | # or 27 | bun dev 28 | ``` 29 | -------------------------------------------------------------------------------- /chat-app-backend/README.md: -------------------------------------------------------------------------------- 1 | ## Project setup 2 | 3 | ```bash 4 | $ pnpm install 5 | ``` 6 | 7 | ## Compile and run the project 8 | 9 | ```bash 10 | # development 11 | $ pnpm run start 12 | 13 | # watch mode 14 | $ pnpm run start:dev 15 | 16 | # production mode 17 | $ pnpm run start:prod 18 | ``` 19 | 20 | ## Run tests 21 | 22 | ```bash 23 | # unit tests 24 | $ pnpm run test 25 | 26 | # e2e tests 27 | $ pnpm run test:e2e 28 | 29 | # test coverage 30 | $ pnpm run test:cov 31 | ``` 32 | -------------------------------------------------------------------------------- /chat-app-frontend/tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "tailwindcss"; 2 | 3 | const config: Config = { 4 | content: [ 5 | "./pages/**/*.{js,ts,jsx,tsx,mdx}", 6 | "./components/**/*.{js,ts,jsx,tsx,mdx}", 7 | "./app/**/*.{js,ts,jsx,tsx,mdx}", 8 | ], 9 | theme: { 10 | extend: { 11 | colors: { 12 | background: "var(--background)", 13 | foreground: "var(--foreground)", 14 | }, 15 | }, 16 | }, 17 | plugins: [], 18 | }; 19 | export default config; 20 | -------------------------------------------------------------------------------- /chat-app-frontend/app/utils/validations/voice-settings.validation.ts: -------------------------------------------------------------------------------- 1 | import * as z from "zod"; 2 | 3 | import { integerSchema } from "./integer.validation"; 4 | import { booleanSchema } from "./boolean.validation"; 5 | 6 | export const voiceSettingsFormSchema = z.object({ 7 | quantization: integerSchema(true), 8 | echoCancellation: booleanSchema(true), 9 | noiseSuppression: booleanSchema(true), 10 | }); 11 | 12 | export type voiceSettingsFormSchemaType = z.infer< 13 | typeof voiceSettingsFormSchema 14 | >; 15 | -------------------------------------------------------------------------------- /chat-app-frontend/app/utils/validations/boolean.validation.ts: -------------------------------------------------------------------------------- 1 | import * as z from "zod"; 2 | 3 | export const booleanSchema = (required?: boolean) => { 4 | return z 5 | .string() 6 | .trim() 7 | .refine( 8 | (val) => { 9 | if (!val) val = ""; 10 | const validValues = ["true", "false"]; 11 | if (!required) validValues.push(""); 12 | return validValues.includes(val); 13 | }, 14 | { 15 | message: "Must be true or false", 16 | } 17 | ); 18 | }; 19 | -------------------------------------------------------------------------------- /chat-app-frontend/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | .yarn/install-state.gz 8 | 9 | # testing 10 | /coverage 11 | 12 | # next.js 13 | /.next/ 14 | /out/ 15 | 16 | # production 17 | /build 18 | 19 | # misc 20 | .DS_Store 21 | *.pem 22 | 23 | # debug 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # local env files 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | next-env.d.ts 37 | -------------------------------------------------------------------------------- /chat-app-backend/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "declaration": true, 5 | "removeComments": true, 6 | "emitDecoratorMetadata": true, 7 | "experimentalDecorators": true, 8 | "allowSyntheticDefaultImports": true, 9 | "target": "ES2021", 10 | "sourceMap": true, 11 | "outDir": "./dist", 12 | "baseUrl": "./", 13 | "incremental": true, 14 | "skipLibCheck": true, 15 | "strictNullChecks": false, 16 | "noImplicitAny": false, 17 | "strictBindCallApply": false, 18 | "forceConsistentCasingInFileNames": false, 19 | "noFallthroughCasesInSwitch": false 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /chat-app-frontend/app/page.tsx: -------------------------------------------------------------------------------- 1 | import { VoicePlayer } from "./components/voice-player"; 2 | import { VoiceRecorder } from "./components/voice-recoreder"; 3 | import { VoiceSettings } from "./components/voice-settings"; 4 | import { RecorderProvider } from "./provider/recorder-provider"; 5 | 6 | export default function Home() { 7 | return ( 8 |
9 |
10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 | ); 18 | } 19 | -------------------------------------------------------------------------------- /chat-app-frontend/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["dom", "dom.iterable", "esnext"], 4 | "allowJs": true, 5 | "skipLibCheck": true, 6 | "strict": true, 7 | "noEmit": true, 8 | "esModuleInterop": true, 9 | "module": "esnext", 10 | "moduleResolution": "bundler", 11 | "resolveJsonModule": true, 12 | "isolatedModules": true, 13 | "jsx": "preserve", 14 | "incremental": true, 15 | "plugins": [ 16 | { 17 | "name": "next" 18 | } 19 | ], 20 | "paths": { 21 | "@/*": ["./*"] 22 | } 23 | }, 24 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 25 | "exclude": ["node_modules"] 26 | } 27 | -------------------------------------------------------------------------------- /chat-app-frontend/app/components/dialog-head.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import React from "react"; 4 | import { IoClose } from "react-icons/io5"; 5 | 6 | interface IDialogHeadProps { 7 | title: string; 8 | onClickCloseBtn?: React.MouseEventHandler; 9 | } 10 | export const DialogHead: React.FC = ({ 11 | onClickCloseBtn, 12 | title, 13 | }) => { 14 | return ( 15 |
16 |

{title}

17 | 23 |
24 | ); 25 | }; 26 | -------------------------------------------------------------------------------- /chat-app-frontend/app/components/button.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { DetailedHTMLProps, ButtonHTMLAttributes } from "react"; 4 | import { classNames } from "../utils/tools/classNames"; 5 | 6 | interface IStandardButton 7 | extends DetailedHTMLProps< 8 | ButtonHTMLAttributes, 9 | HTMLButtonElement 10 | > { 11 | additionalClassNames?: string; 12 | } 13 | 14 | export const StandardButton: React.FC = ({ 15 | children, 16 | additionalClassNames = "", 17 | className = "bg-gray-100 px-3 py-2 border-gray-200 border rounded-xl", 18 | ...props 19 | }) => { 20 | return ( 21 | 24 | ); 25 | }; 26 | -------------------------------------------------------------------------------- /chat-app-backend/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | parser: '@typescript-eslint/parser', 3 | parserOptions: { 4 | project: 'tsconfig.json', 5 | tsconfigRootDir: __dirname, 6 | sourceType: 'module', 7 | }, 8 | plugins: ['@typescript-eslint/eslint-plugin'], 9 | extends: [ 10 | 'plugin:@typescript-eslint/recommended', 11 | 'plugin:prettier/recommended', 12 | ], 13 | root: true, 14 | env: { 15 | node: true, 16 | jest: true, 17 | }, 18 | ignorePatterns: ['.eslintrc.js'], 19 | rules: { 20 | '@typescript-eslint/interface-name-prefix': 'off', 21 | '@typescript-eslint/explicit-function-return-type': 'off', 22 | '@typescript-eslint/explicit-module-boundary-types': 'off', 23 | '@typescript-eslint/no-explicit-any': 'off', 24 | }, 25 | }; 26 | -------------------------------------------------------------------------------- /chat-app-frontend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "voice-chat-next", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev -p 7070", 7 | "build": "next build", 8 | "start": "next start -p 7070", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@headlessui/react": "^2.1.10", 13 | "@hookform/resolvers": "^3.9.0", 14 | "next": "14.2.15", 15 | "react": "^18", 16 | "react-dom": "^18", 17 | "react-hook-form": "^7.53.0", 18 | "react-icons": "^5.3.0", 19 | "socket.io-client": "^4.8.0", 20 | "zod": "^3.23.8" 21 | }, 22 | "devDependencies": { 23 | "@types/node": "^20", 24 | "@types/react": "^18", 25 | "@types/react-dom": "^18", 26 | "eslint": "^8", 27 | "eslint-config-next": "14.2.15", 28 | "postcss": "^8", 29 | "tailwindcss": "^3.4.1", 30 | "typescript": "^5" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /chat-app-backend/.gitignore: -------------------------------------------------------------------------------- 1 | # compiled output 2 | /dist 3 | /node_modules 4 | /build 5 | 6 | # Logs 7 | logs 8 | *.log 9 | npm-debug.log* 10 | pnpm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | lerna-debug.log* 14 | 15 | # OS 16 | .DS_Store 17 | 18 | # Tests 19 | /coverage 20 | /.nyc_output 21 | 22 | # IDEs and editors 23 | /.idea 24 | .project 25 | .classpath 26 | .c9/ 27 | *.launch 28 | .settings/ 29 | *.sublime-workspace 30 | 31 | # IDE - VSCode 32 | .vscode/* 33 | !.vscode/settings.json 34 | !.vscode/tasks.json 35 | !.vscode/launch.json 36 | !.vscode/extensions.json 37 | 38 | # dotenv environment variable files 39 | .env 40 | .env.development.local 41 | .env.test.local 42 | .env.production.local 43 | .env.local 44 | 45 | # temp directory 46 | .temp 47 | .tmp 48 | 49 | # Runtime data 50 | pids 51 | *.pid 52 | *.seed 53 | *.pid.lock 54 | 55 | # Diagnostic reports (https://nodejs.org/api/report.html) 56 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 57 | -------------------------------------------------------------------------------- /chat-app-frontend/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import localFont from "next/font/local"; 3 | 4 | import { SocketIoProvider } from "./provider/socket-io.provider"; 5 | 6 | import "./globals.css"; 7 | 8 | const geistSans = localFont({ 9 | src: "./fonts/GeistVF.woff", 10 | variable: "--font-geist-sans", 11 | weight: "100 900", 12 | }); 13 | const geistMono = localFont({ 14 | src: "./fonts/GeistMonoVF.woff", 15 | variable: "--font-geist-mono", 16 | weight: "100 900", 17 | }); 18 | 19 | export const metadata: Metadata = { 20 | title: "Create Next App", 21 | description: "Generated by create next app", 22 | }; 23 | 24 | export default function RootLayout({ 25 | children, 26 | }: Readonly<{ 27 | children: React.ReactNode; 28 | }>) { 29 | return ( 30 | 31 | 34 | {children} 35 | 36 | 37 | ); 38 | } 39 | -------------------------------------------------------------------------------- /chat-app-frontend/app/utils/validations/integer.validation.ts: -------------------------------------------------------------------------------- 1 | import * as z from "zod"; 2 | 3 | export const integerSchema = ( 4 | required?: boolean, 5 | max?: number | string, 6 | min = 0 7 | ) => { 8 | return z 9 | .string() 10 | .refine( 11 | (val) => { 12 | return required && !!val?.trim?.(); 13 | }, 14 | { 15 | message: "* Required", 16 | } 17 | ) 18 | .refine( 19 | (val) => { 20 | if (isNaN(Number(val))) return false; 21 | return /^\d+$/g.test(val.replace(/^-/g, "")); 22 | }, 23 | { 24 | message: `Must be integer`, 25 | } 26 | ) 27 | .refine( 28 | (val) => { 29 | return Number(val) > min; 30 | }, 31 | { 32 | message: `Must be bigger then ${min}`, 33 | } 34 | ) 35 | .refine( 36 | (val) => { 37 | if (isNaN(Number(max))) return true; 38 | return Number(val) <= Number(max); 39 | }, 40 | { 41 | message: `Must be less then or equals to ${max}`, 42 | } 43 | ); 44 | }; 45 | -------------------------------------------------------------------------------- /chat-app-frontend/app/provider/socket-io.provider.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import React from "react"; 4 | import io, { Socket } from "socket.io-client"; 5 | 6 | export const SocketIoContext = React.createContext<{ socket: Socket | null }>({ 7 | socket: null, 8 | }); 9 | 10 | interface ISocketIoProviderProps { 11 | children: JSX.Element | JSX.Element[] | React.ReactNode; 12 | } 13 | export const SocketIoProvider: React.FC = ({ 14 | children, 15 | }) => { 16 | const [socket, setSocket] = React.useState(null); 17 | 18 | React.useEffect(() => { 19 | if (!!socket) return; 20 | const newSocket = io(process.env.NEXT_PUBLIC_SOCKET_SERVER_URL, { 21 | transports: ["websocket"], 22 | upgrade: false, 23 | }); 24 | setSocket(newSocket); 25 | 26 | return () => { 27 | newSocket.close(); 28 | setSocket(null); 29 | }; 30 | // eslint-disable-next-line react-hooks/exhaustive-deps 31 | }, []); 32 | 33 | return ( 34 | 35 | {children} 36 | 37 | ); 38 | }; 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 mahdieslaminet 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /chat-app-backend/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 rajabinekoo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /chat-app-frontend/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 rajabinekoo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /chat-app-frontend/app/components/voice-player.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import * as React from "react"; 4 | 5 | import { StandardButton } from "./button"; 6 | import { SocketIoContext } from "../provider/socket-io.provider"; 7 | 8 | export const VoicePlayer: React.FC = () => { 9 | const { socket } = React.useContext(SocketIoContext); 10 | const [isListening, setIsIslistening] = React.useState(false); 11 | const listen = React.useRef(false); 12 | 13 | const toggleListening = () => { 14 | setIsIslistening(!isListening); 15 | }; 16 | React.useEffect(() => { 17 | listen.current = isListening; 18 | }, [isListening]); 19 | 20 | React.useEffect(() => { 21 | if (!socket) return; 22 | 23 | socket.on("audioStream", (audioData: string) => { 24 | if (!listen.current) return; 25 | const newData = audioData.split(";"); 26 | const audio = new Audio(`data:audio/ogg;${newData[1]}`); 27 | if (!audio || document.hidden) return; 28 | audio.play(); 29 | }); 30 | }, [socket]); 31 | 32 | return ( 33 |
34 |

Real-Time Voice Listener

35 | 36 | {isListening ? "Stop" : "Start"} Listening 37 | 38 |
39 | ); 40 | }; 41 | -------------------------------------------------------------------------------- /chat-app-backend/src/voice-chat/voice-chat.gateway.ts: -------------------------------------------------------------------------------- 1 | import { Logger } from '@nestjs/common'; 2 | import { 3 | SubscribeMessage, 4 | WebSocketGateway, 5 | WebSocketServer, 6 | } from '@nestjs/websockets'; 7 | import { Server, Socket } from 'socket.io'; 8 | 9 | @WebSocketGateway() 10 | export class VoiceChatGateway { 11 | private readonly logger = new Logger(VoiceChatGateway.name); 12 | 13 | @WebSocketServer() io: Server; 14 | 15 | afterInit() { 16 | this.logger.log('Initialized'); 17 | } 18 | 19 | handleConnection(client: any) { 20 | const { sockets } = this.io.sockets; 21 | 22 | this.logger.log(`Client id: ${client.id} connected`); 23 | this.logger.debug(`Number of connected clients: ${sockets.size}`); 24 | } 25 | 26 | handleDisconnect(client: any) { 27 | this.logger.log(`Cliend id:${client.id} disconnected`); 28 | } 29 | 30 | @SubscribeMessage('ping') 31 | handleMessage(client: Socket, data: any) { 32 | this.logger.log(`Message received from client id: ${client.id}`); 33 | this.logger.debug(`Payload: ${data}`); 34 | return { 35 | event: 'pong', 36 | data: 'Wrong data that will make the test fail', 37 | }; 38 | } 39 | 40 | @SubscribeMessage('audioStream') 41 | handleAudioStream(client: Socket, data: any) { 42 | client.broadcast.emit('audioStream', data); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /chat-app-frontend/app/components/input.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { classNames } from "../utils/tools/classNames"; 3 | 4 | interface IStandardInputProps 5 | extends React.DetailedHTMLProps< 6 | React.InputHTMLAttributes, 7 | HTMLInputElement 8 | > { 9 | value?: string; 10 | label?: string; 11 | error?: string; 12 | showError?: boolean; 13 | labelClassName?: string; 14 | } 15 | export const StandardInput: React.FC = ({ 16 | label, 17 | error = "", 18 | value = "", 19 | className = "", 20 | showError = true, 21 | labelClassName = "", 22 | ...props 23 | }) => { 24 | return ( 25 | <> 26 | {!!label && ( 27 |

32 | {label} 33 |

34 | )} 35 | 47 | {!!error && showError && ( 48 |

{error}

49 | )} 50 | 51 | ); 52 | }; 53 | -------------------------------------------------------------------------------- /chat-app-frontend/app/provider/recorder-provider.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import React from "react"; 4 | 5 | export const RecorderContext = React.createContext<{ 6 | quantizationTime: number; 7 | echoCancellation: boolean; 8 | noiseSuppression: boolean; 9 | setQuantizationTime: (_: number) => void; 10 | setEchoCancellation: (_: boolean) => void; 11 | setNoiseSuppression: (_: boolean) => void; 12 | }>({ 13 | quantizationTime: Number( 14 | process.env.NEXT_PUBLIC_REFRESH_MEDIA_RECORDER_TIMEOUT || 1000 15 | ), 16 | echoCancellation: true, 17 | noiseSuppression: true, 18 | setQuantizationTime: () => undefined, 19 | setEchoCancellation: () => undefined, 20 | setNoiseSuppression: () => undefined, 21 | }); 22 | 23 | interface IRecorderProviderProps { 24 | children: JSX.Element | JSX.Element[] | React.ReactNode; 25 | } 26 | export const RecorderProvider: React.FC = ({ 27 | children, 28 | }) => { 29 | const [echoCancellation, setEchoCancellation] = 30 | React.useState(true); 31 | const [noiseSuppression, setNoiseSuppression] = 32 | React.useState(true); 33 | const [quantizationTime, setQuantizationTime] = React.useState( 34 | Number(process.env.NEXT_PUBLIC_REFRESH_MEDIA_RECORDER_TIMEOUT || 1000) 35 | ); 36 | 37 | return ( 38 | 48 | {children} 49 | 50 | ); 51 | }; 52 | -------------------------------------------------------------------------------- /chat-app-frontend/app/components/switch.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import * as React from "react"; 4 | import { Switch } from "@headlessui/react"; 5 | import { classNames } from "../utils/tools/classNames"; 6 | 7 | interface ISwitchButtonProps { 8 | name?: string; 9 | checked: boolean; 10 | disabled?: boolean; 11 | onChange: (_: boolean) => void; 12 | } 13 | 14 | export const SwitchButton: React.FC = (props) => { 15 | return ( 16 | 24 | 30 | 31 | ); 32 | }; 33 | 34 | interface ISwitchWithinLabelProps extends ISwitchButtonProps { 35 | error?: string; 36 | label: string; 37 | desc?: string; 38 | } 39 | export const SwitchWithinLabel: React.FC = ({ 40 | error, 41 | label, 42 | desc, 43 | ...props 44 | }) => { 45 | return ( 46 |
47 |
48 |
49 |

{label}

50 | {!!desc && ( 51 |

52 | {desc} 53 |

54 | )} 55 |
56 |
57 | 58 |
59 |
60 | {!!error &&

{error}

} 61 |
62 | ); 63 | }; 64 | -------------------------------------------------------------------------------- /chat-app-backend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "voice-chat-nest", 3 | "version": "0.0.1", 4 | "description": "", 5 | "author": "", 6 | "private": true, 7 | "license": "UNLICENSED", 8 | "scripts": { 9 | "build": "nest build", 10 | "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", 11 | "start": "nest start", 12 | "start:dev": "nest start --watch", 13 | "start:debug": "nest start --debug --watch", 14 | "start:prod": "node dist/main", 15 | "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", 16 | "test": "jest", 17 | "test:watch": "jest --watch", 18 | "test:cov": "jest --coverage", 19 | "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", 20 | "test:e2e": "jest --config ./test/jest-e2e.json" 21 | }, 22 | "dependencies": { 23 | "@nestjs/common": "^10.0.0", 24 | "@nestjs/core": "^10.0.0", 25 | "@nestjs/platform-express": "^10.0.0", 26 | "@nestjs/platform-socket.io": "^10.4.4", 27 | "@nestjs/websockets": "^10.4.4", 28 | "reflect-metadata": "^0.2.0", 29 | "rxjs": "^7.8.1", 30 | "socket.io": "^4.8.0" 31 | }, 32 | "devDependencies": { 33 | "@nestjs/cli": "^10.0.0", 34 | "@nestjs/schematics": "^10.0.0", 35 | "@nestjs/testing": "^10.0.0", 36 | "@types/express": "^4.17.17", 37 | "@types/jest": "^29.5.2", 38 | "@types/node": "^20.3.1", 39 | "@types/supertest": "^6.0.0", 40 | "@typescript-eslint/eslint-plugin": "^8.0.0", 41 | "@typescript-eslint/parser": "^8.0.0", 42 | "eslint": "^8.42.0", 43 | "eslint-config-prettier": "^9.0.0", 44 | "eslint-plugin-prettier": "^5.0.0", 45 | "jest": "^29.5.0", 46 | "prettier": "^3.0.0", 47 | "source-map-support": "^0.5.21", 48 | "supertest": "^7.0.0", 49 | "ts-jest": "^29.1.0", 50 | "ts-loader": "^9.4.3", 51 | "ts-node": "^10.9.1", 52 | "tsconfig-paths": "^4.2.0", 53 | "typescript": "^5.1.3" 54 | }, 55 | "jest": { 56 | "moduleFileExtensions": [ 57 | "js", 58 | "json", 59 | "ts" 60 | ], 61 | "rootDir": "src", 62 | "testRegex": ".*\\.spec\\.ts$", 63 | "transform": { 64 | "^.+\\.(t|j)s$": "ts-jest" 65 | }, 66 | "collectCoverageFrom": [ 67 | "**/*.(t|j)s" 68 | ], 69 | "coverageDirectory": "../coverage", 70 | "testEnvironment": "node" 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /chat-app-frontend/app/components/voice-recoreder.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import * as React from "react"; 4 | 5 | import { StandardButton } from "./button"; 6 | import { SocketIoContext } from "../provider/socket-io.provider"; 7 | import { RecorderContext } from "../provider/recorder-provider"; 8 | 9 | export const VoiceRecorder: React.FC = () => { 10 | const { socket } = React.useContext(SocketIoContext); 11 | const settings = React.useContext(RecorderContext); 12 | 13 | const [isRecording, setIsRecording] = React.useState(false); 14 | 15 | const record = React.useRef(false); 16 | const audioBlob = React.useRef([]); 17 | const mediaRecorderRef = React.useRef(null); 18 | 19 | const sendVoiceToServer = (blob: Blob) => { 20 | if (!socket) return; 21 | const fileReader = new FileReader(); 22 | fileReader.readAsDataURL(blob); 23 | fileReader.onloadend = function () { 24 | const base64String = fileReader.result as string; 25 | socket.emit("audioStream", base64String); 26 | audioBlob.current = []; 27 | }; 28 | }; 29 | 30 | const resetMediaRecorder = () => { 31 | if (!mediaRecorderRef.current) return; 32 | mediaRecorderRef.current.start(); 33 | setTimeout(() => { 34 | if (!mediaRecorderRef.current) return; 35 | mediaRecorderRef.current.stop(); 36 | }, settings.quantizationTime); 37 | }; 38 | 39 | const startRecording = async () => { 40 | try { 41 | const stream = await navigator.mediaDevices.getUserMedia({ 42 | audio: { 43 | echoCancellation: settings.echoCancellation, 44 | noiseSuppression: settings.noiseSuppression, 45 | }, 46 | video: false, 47 | }); 48 | mediaRecorderRef.current = new MediaRecorder(stream); 49 | 50 | mediaRecorderRef.current.ondataavailable = async (event) => { 51 | if (!record.current) return; 52 | if (event.data.size <= 0 || !socket) return; 53 | audioBlob.current.push(event.data); 54 | }; 55 | 56 | mediaRecorderRef.current.addEventListener("stop", async () => { 57 | if (!record.current) return; 58 | if (!socket || !mediaRecorderRef.current) return; 59 | sendVoiceToServer(new Blob(audioBlob.current)); 60 | resetMediaRecorder(); 61 | }); 62 | 63 | resetMediaRecorder(); 64 | setIsRecording(true); 65 | record.current = true; 66 | } catch (err) { 67 | console.error("Error accessing microphone:", err); 68 | } 69 | }; 70 | 71 | const stopRecording = () => { 72 | if (!mediaRecorderRef.current) return; 73 | 74 | mediaRecorderRef.current.stop(); 75 | setIsRecording(false); 76 | record.current = false; 77 | 78 | if (!audioBlob.current?.length) return; 79 | sendVoiceToServer(new Blob(audioBlob.current)); 80 | }; 81 | 82 | return ( 83 |
84 |

Real-Time Voice Recorder

85 | {isRecording ? ( 86 | Stop Recording 87 | ) : ( 88 | 89 | Start Recording 90 | 91 | )} 92 |
93 | ); 94 | }; 95 | -------------------------------------------------------------------------------- /chat-app-frontend/app/components/voice-settings.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import React from "react"; 4 | import { Controller, useForm } from "react-hook-form"; 5 | import { zodResolver } from "@hookform/resolvers/zod"; 6 | import { Dialog, DialogPanel, DialogBackdrop } from "@headlessui/react"; 7 | 8 | import { StandardInput } from "./input"; 9 | import { StandardButton } from "./button"; 10 | import { DialogHead } from "./dialog-head"; 11 | import { SwitchWithinLabel } from "./switch"; 12 | import { RecorderContext } from "../provider/recorder-provider"; 13 | import { 14 | voiceSettingsFormSchema, 15 | voiceSettingsFormSchemaType, 16 | } from "../utils/validations/voice-settings.validation"; 17 | 18 | export const VoiceSettings: React.FC = () => { 19 | const [open, setOpen] = React.useState(false); 20 | const settings = React.useContext(RecorderContext); 21 | 22 | const form = useForm({ 23 | mode: "all", 24 | resolver: zodResolver(voiceSettingsFormSchema), 25 | }); 26 | 27 | const handleSubmit = (data: voiceSettingsFormSchemaType) => { 28 | settings.setEchoCancellation( 29 | data.echoCancellation === "true" ? true : false 30 | ); 31 | settings.setNoiseSuppression( 32 | data.noiseSuppression === "true" ? true : false 33 | ); 34 | settings.setQuantizationTime( 35 | Number( 36 | data.quantization || 37 | process.env.NEXT_PUBLIC_REFRESH_MEDIA_RECORDER_TIMEOUT || 38 | 1000 39 | ) 40 | ); 41 | }; 42 | 43 | React.useEffect(() => { 44 | form.reset({ 45 | quantization: settings.quantizationTime.toString(), 46 | echoCancellation: settings.echoCancellation ? "true" : "false", 47 | noiseSuppression: settings.noiseSuppression ? "true" : "false", 48 | }); 49 | // eslint-disable-next-line react-hooks/exhaustive-deps 50 | }, [settings]); 51 | 52 | return ( 53 | <> 54 | setOpen(true)}>Settings 55 | 56 | 60 | 61 |
62 |
63 | 67 |
68 | setOpen(false)} 70 | title="Voice settings" 71 | /> 72 |
76 | ( 80 |
81 | 87 |
88 | )} 89 | /> 90 | ( 94 | 99 | field.onChange(checked ? "true" : "false") 100 | } 101 | error={error?.message} 102 | /> 103 | )} 104 | /> 105 | ( 109 | 114 | field.onChange(checked ? "true" : "false") 115 | } 116 | error={error?.message} 117 | /> 118 | )} 119 | /> 120 | 121 | Submit 122 | 123 | 124 |
125 |
126 |
127 |
128 |
129 | 130 | ); 131 | }; 132 | -------------------------------------------------------------------------------- /chat-app-frontend/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@headlessui/react': 12 | specifier: ^2.1.10 13 | version: 2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 14 | '@hookform/resolvers': 15 | specifier: ^3.9.0 16 | version: 3.9.0(react-hook-form@7.53.0(react@18.3.1)) 17 | next: 18 | specifier: 14.2.15 19 | version: 14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 20 | react: 21 | specifier: ^18 22 | version: 18.3.1 23 | react-dom: 24 | specifier: ^18 25 | version: 18.3.1(react@18.3.1) 26 | react-hook-form: 27 | specifier: ^7.53.0 28 | version: 7.53.0(react@18.3.1) 29 | react-icons: 30 | specifier: ^5.3.0 31 | version: 5.3.0(react@18.3.1) 32 | socket.io-client: 33 | specifier: ^4.8.0 34 | version: 4.8.0 35 | zod: 36 | specifier: ^3.23.8 37 | version: 3.23.8 38 | devDependencies: 39 | '@types/node': 40 | specifier: ^20 41 | version: 20.16.11 42 | '@types/react': 43 | specifier: ^18 44 | version: 18.3.11 45 | '@types/react-dom': 46 | specifier: ^18 47 | version: 18.3.0 48 | eslint: 49 | specifier: ^8 50 | version: 8.57.1 51 | eslint-config-next: 52 | specifier: 14.2.15 53 | version: 14.2.15(eslint@8.57.1)(typescript@5.6.3) 54 | postcss: 55 | specifier: ^8 56 | version: 8.4.47 57 | tailwindcss: 58 | specifier: ^3.4.1 59 | version: 3.4.13 60 | typescript: 61 | specifier: ^5 62 | version: 5.6.3 63 | 64 | packages: 65 | 66 | '@alloc/quick-lru@5.2.0': 67 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 68 | engines: {node: '>=10'} 69 | 70 | '@eslint-community/eslint-utils@4.4.0': 71 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 72 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 73 | peerDependencies: 74 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 75 | 76 | '@eslint-community/regexpp@4.11.1': 77 | resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} 78 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 79 | 80 | '@eslint/eslintrc@2.1.4': 81 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 82 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 83 | 84 | '@eslint/js@8.57.1': 85 | resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} 86 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 87 | 88 | '@floating-ui/core@1.6.8': 89 | resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} 90 | 91 | '@floating-ui/dom@1.6.11': 92 | resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} 93 | 94 | '@floating-ui/react-dom@2.1.2': 95 | resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} 96 | peerDependencies: 97 | react: '>=16.8.0' 98 | react-dom: '>=16.8.0' 99 | 100 | '@floating-ui/react@0.26.25': 101 | resolution: {integrity: sha512-hZOmgN0NTOzOuZxI1oIrDu3Gcl8WViIkvPMpB4xdd4QD6xAMtwgwr3VPoiyH/bLtRcS1cDnhxLSD1NsMJmwh/A==} 102 | peerDependencies: 103 | react: '>=16.8.0' 104 | react-dom: '>=16.8.0' 105 | 106 | '@floating-ui/utils@0.2.8': 107 | resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} 108 | 109 | '@headlessui/react@2.1.10': 110 | resolution: {integrity: sha512-6mLa2fjMDAFQi+/R10B+zU3edsUk/MDtENB2zHho0lqKU1uzhAfJLUduWds4nCo8wbl3vULtC5rJfZAQ1yqIng==} 111 | engines: {node: '>=10'} 112 | peerDependencies: 113 | react: ^18 114 | react-dom: ^18 115 | 116 | '@hookform/resolvers@3.9.0': 117 | resolution: {integrity: sha512-bU0Gr4EepJ/EQsH/IwEzYLsT/PEj5C0ynLQ4m+GSHS+xKH4TfSelhluTgOaoc4kA5s7eCsQbM4wvZLzELmWzUg==} 118 | peerDependencies: 119 | react-hook-form: ^7.0.0 120 | 121 | '@humanwhocodes/config-array@0.13.0': 122 | resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} 123 | engines: {node: '>=10.10.0'} 124 | deprecated: Use @eslint/config-array instead 125 | 126 | '@humanwhocodes/module-importer@1.0.1': 127 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 128 | engines: {node: '>=12.22'} 129 | 130 | '@humanwhocodes/object-schema@2.0.3': 131 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} 132 | deprecated: Use @eslint/object-schema instead 133 | 134 | '@isaacs/cliui@8.0.2': 135 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 136 | engines: {node: '>=12'} 137 | 138 | '@jridgewell/gen-mapping@0.3.5': 139 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 140 | engines: {node: '>=6.0.0'} 141 | 142 | '@jridgewell/resolve-uri@3.1.2': 143 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 144 | engines: {node: '>=6.0.0'} 145 | 146 | '@jridgewell/set-array@1.2.1': 147 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 148 | engines: {node: '>=6.0.0'} 149 | 150 | '@jridgewell/sourcemap-codec@1.5.0': 151 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 152 | 153 | '@jridgewell/trace-mapping@0.3.25': 154 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 155 | 156 | '@next/env@14.2.15': 157 | resolution: {integrity: sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==} 158 | 159 | '@next/eslint-plugin-next@14.2.15': 160 | resolution: {integrity: sha512-pKU0iqKRBlFB/ocOI1Ip2CkKePZpYpnw5bEItEkuZ/Nr9FQP1+p7VDWr4VfOdff4i9bFmrOaeaU1bFEyAcxiMQ==} 161 | 162 | '@next/swc-darwin-arm64@14.2.15': 163 | resolution: {integrity: sha512-Rvh7KU9hOUBnZ9TJ28n2Oa7dD9cvDBKua9IKx7cfQQ0GoYUwg9ig31O2oMwH3wm+pE3IkAQ67ZobPfEgurPZIA==} 164 | engines: {node: '>= 10'} 165 | cpu: [arm64] 166 | os: [darwin] 167 | 168 | '@next/swc-darwin-x64@14.2.15': 169 | resolution: {integrity: sha512-5TGyjFcf8ampZP3e+FyCax5zFVHi+Oe7sZyaKOngsqyaNEpOgkKB3sqmymkZfowy3ufGA/tUgDPPxpQx931lHg==} 170 | engines: {node: '>= 10'} 171 | cpu: [x64] 172 | os: [darwin] 173 | 174 | '@next/swc-linux-arm64-gnu@14.2.15': 175 | resolution: {integrity: sha512-3Bwv4oc08ONiQ3FiOLKT72Q+ndEMyLNsc/D3qnLMbtUYTQAmkx9E/JRu0DBpHxNddBmNT5hxz1mYBphJ3mfrrw==} 176 | engines: {node: '>= 10'} 177 | cpu: [arm64] 178 | os: [linux] 179 | 180 | '@next/swc-linux-arm64-musl@14.2.15': 181 | resolution: {integrity: sha512-k5xf/tg1FBv/M4CMd8S+JL3uV9BnnRmoe7F+GWC3DxkTCD9aewFRH1s5rJ1zkzDa+Do4zyN8qD0N8c84Hu96FQ==} 182 | engines: {node: '>= 10'} 183 | cpu: [arm64] 184 | os: [linux] 185 | 186 | '@next/swc-linux-x64-gnu@14.2.15': 187 | resolution: {integrity: sha512-kE6q38hbrRbKEkkVn62reLXhThLRh6/TvgSP56GkFNhU22TbIrQDEMrO7j0IcQHcew2wfykq8lZyHFabz0oBrA==} 188 | engines: {node: '>= 10'} 189 | cpu: [x64] 190 | os: [linux] 191 | 192 | '@next/swc-linux-x64-musl@14.2.15': 193 | resolution: {integrity: sha512-PZ5YE9ouy/IdO7QVJeIcyLn/Rc4ml9M2G4y3kCM9MNf1YKvFY4heg3pVa/jQbMro+tP6yc4G2o9LjAz1zxD7tQ==} 194 | engines: {node: '>= 10'} 195 | cpu: [x64] 196 | os: [linux] 197 | 198 | '@next/swc-win32-arm64-msvc@14.2.15': 199 | resolution: {integrity: sha512-2raR16703kBvYEQD9HNLyb0/394yfqzmIeyp2nDzcPV4yPjqNUG3ohX6jX00WryXz6s1FXpVhsCo3i+g4RUX+g==} 200 | engines: {node: '>= 10'} 201 | cpu: [arm64] 202 | os: [win32] 203 | 204 | '@next/swc-win32-ia32-msvc@14.2.15': 205 | resolution: {integrity: sha512-fyTE8cklgkyR1p03kJa5zXEaZ9El+kDNM5A+66+8evQS5e/6v0Gk28LqA0Jet8gKSOyP+OTm/tJHzMlGdQerdQ==} 206 | engines: {node: '>= 10'} 207 | cpu: [ia32] 208 | os: [win32] 209 | 210 | '@next/swc-win32-x64-msvc@14.2.15': 211 | resolution: {integrity: sha512-SzqGbsLsP9OwKNUG9nekShTwhj6JSB9ZLMWQ8g1gG6hdE5gQLncbnbymrwy2yVmH9nikSLYRYxYMFu78Ggp7/g==} 212 | engines: {node: '>= 10'} 213 | cpu: [x64] 214 | os: [win32] 215 | 216 | '@nodelib/fs.scandir@2.1.5': 217 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 218 | engines: {node: '>= 8'} 219 | 220 | '@nodelib/fs.stat@2.0.5': 221 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 222 | engines: {node: '>= 8'} 223 | 224 | '@nodelib/fs.walk@1.2.8': 225 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 226 | engines: {node: '>= 8'} 227 | 228 | '@nolyfill/is-core-module@1.0.39': 229 | resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} 230 | engines: {node: '>=12.4.0'} 231 | 232 | '@pkgjs/parseargs@0.11.0': 233 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 234 | engines: {node: '>=14'} 235 | 236 | '@react-aria/focus@3.18.4': 237 | resolution: {integrity: sha512-91J35077w9UNaMK1cpMUEFRkNNz0uZjnSwiyBCFuRdaVuivO53wNC9XtWSDNDdcO5cGy87vfJRVAiyoCn/mjqA==} 238 | peerDependencies: 239 | react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 240 | 241 | '@react-aria/interactions@3.22.4': 242 | resolution: {integrity: sha512-E0vsgtpItmknq/MJELqYJwib+YN18Qag8nroqwjk1qOnBa9ROIkUhWJerLi1qs5diXq9LHKehZDXRlwPvdEFww==} 243 | peerDependencies: 244 | react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 245 | 246 | '@react-aria/ssr@3.9.6': 247 | resolution: {integrity: sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==} 248 | engines: {node: '>= 12'} 249 | peerDependencies: 250 | react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 251 | 252 | '@react-aria/utils@3.25.3': 253 | resolution: {integrity: sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==} 254 | peerDependencies: 255 | react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 256 | 257 | '@react-stately/utils@3.10.4': 258 | resolution: {integrity: sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==} 259 | peerDependencies: 260 | react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 261 | 262 | '@react-types/shared@3.25.0': 263 | resolution: {integrity: sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==} 264 | peerDependencies: 265 | react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 266 | 267 | '@rtsao/scc@1.1.0': 268 | resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} 269 | 270 | '@rushstack/eslint-patch@1.10.4': 271 | resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} 272 | 273 | '@socket.io/component-emitter@3.1.2': 274 | resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} 275 | 276 | '@swc/counter@0.1.3': 277 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 278 | 279 | '@swc/helpers@0.5.5': 280 | resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} 281 | 282 | '@tanstack/react-virtual@3.10.8': 283 | resolution: {integrity: sha512-VbzbVGSsZlQktyLrP5nxE+vE1ZR+U0NFAWPbJLoG2+DKPwd2D7dVICTVIIaYlJqX1ZCEnYDbaOpmMwbsyhBoIA==} 284 | peerDependencies: 285 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 286 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 287 | 288 | '@tanstack/virtual-core@3.10.8': 289 | resolution: {integrity: sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==} 290 | 291 | '@types/json5@0.0.29': 292 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 293 | 294 | '@types/node@20.16.11': 295 | resolution: {integrity: sha512-y+cTCACu92FyA5fgQSAI8A1H429g7aSK2HsO7K4XYUWc4dY5IUz55JSDIYT6/VsOLfGy8vmvQYC2hfb0iF16Uw==} 296 | 297 | '@types/prop-types@15.7.13': 298 | resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} 299 | 300 | '@types/react-dom@18.3.0': 301 | resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} 302 | 303 | '@types/react@18.3.11': 304 | resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==} 305 | 306 | '@typescript-eslint/eslint-plugin@8.8.1': 307 | resolution: {integrity: sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==} 308 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 309 | peerDependencies: 310 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 311 | eslint: ^8.57.0 || ^9.0.0 312 | typescript: '*' 313 | peerDependenciesMeta: 314 | typescript: 315 | optional: true 316 | 317 | '@typescript-eslint/parser@8.8.1': 318 | resolution: {integrity: sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==} 319 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 320 | peerDependencies: 321 | eslint: ^8.57.0 || ^9.0.0 322 | typescript: '*' 323 | peerDependenciesMeta: 324 | typescript: 325 | optional: true 326 | 327 | '@typescript-eslint/scope-manager@8.8.1': 328 | resolution: {integrity: sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==} 329 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 330 | 331 | '@typescript-eslint/type-utils@8.8.1': 332 | resolution: {integrity: sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==} 333 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 334 | peerDependencies: 335 | typescript: '*' 336 | peerDependenciesMeta: 337 | typescript: 338 | optional: true 339 | 340 | '@typescript-eslint/types@8.8.1': 341 | resolution: {integrity: sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==} 342 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 343 | 344 | '@typescript-eslint/typescript-estree@8.8.1': 345 | resolution: {integrity: sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==} 346 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 347 | peerDependencies: 348 | typescript: '*' 349 | peerDependenciesMeta: 350 | typescript: 351 | optional: true 352 | 353 | '@typescript-eslint/utils@8.8.1': 354 | resolution: {integrity: sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==} 355 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 356 | peerDependencies: 357 | eslint: ^8.57.0 || ^9.0.0 358 | 359 | '@typescript-eslint/visitor-keys@8.8.1': 360 | resolution: {integrity: sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==} 361 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 362 | 363 | '@ungap/structured-clone@1.2.0': 364 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 365 | 366 | acorn-jsx@5.3.2: 367 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 368 | peerDependencies: 369 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 370 | 371 | acorn@8.12.1: 372 | resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} 373 | engines: {node: '>=0.4.0'} 374 | hasBin: true 375 | 376 | ajv@6.12.6: 377 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 378 | 379 | ansi-regex@5.0.1: 380 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 381 | engines: {node: '>=8'} 382 | 383 | ansi-regex@6.1.0: 384 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 385 | engines: {node: '>=12'} 386 | 387 | ansi-styles@4.3.0: 388 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 389 | engines: {node: '>=8'} 390 | 391 | ansi-styles@6.2.1: 392 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 393 | engines: {node: '>=12'} 394 | 395 | any-promise@1.3.0: 396 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 397 | 398 | anymatch@3.1.3: 399 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 400 | engines: {node: '>= 8'} 401 | 402 | arg@5.0.2: 403 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 404 | 405 | argparse@2.0.1: 406 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 407 | 408 | aria-query@5.1.3: 409 | resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} 410 | 411 | array-buffer-byte-length@1.0.1: 412 | resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} 413 | engines: {node: '>= 0.4'} 414 | 415 | array-includes@3.1.8: 416 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} 417 | engines: {node: '>= 0.4'} 418 | 419 | array.prototype.findlast@1.2.5: 420 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} 421 | engines: {node: '>= 0.4'} 422 | 423 | array.prototype.findlastindex@1.2.5: 424 | resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} 425 | engines: {node: '>= 0.4'} 426 | 427 | array.prototype.flat@1.3.2: 428 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} 429 | engines: {node: '>= 0.4'} 430 | 431 | array.prototype.flatmap@1.3.2: 432 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} 433 | engines: {node: '>= 0.4'} 434 | 435 | array.prototype.tosorted@1.1.4: 436 | resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} 437 | engines: {node: '>= 0.4'} 438 | 439 | arraybuffer.prototype.slice@1.0.3: 440 | resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} 441 | engines: {node: '>= 0.4'} 442 | 443 | ast-types-flow@0.0.8: 444 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} 445 | 446 | available-typed-arrays@1.0.7: 447 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 448 | engines: {node: '>= 0.4'} 449 | 450 | axe-core@4.10.0: 451 | resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} 452 | engines: {node: '>=4'} 453 | 454 | axobject-query@4.1.0: 455 | resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 456 | engines: {node: '>= 0.4'} 457 | 458 | balanced-match@1.0.2: 459 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 460 | 461 | binary-extensions@2.3.0: 462 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 463 | engines: {node: '>=8'} 464 | 465 | brace-expansion@1.1.11: 466 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 467 | 468 | brace-expansion@2.0.1: 469 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 470 | 471 | braces@3.0.3: 472 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 473 | engines: {node: '>=8'} 474 | 475 | busboy@1.6.0: 476 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 477 | engines: {node: '>=10.16.0'} 478 | 479 | call-bind@1.0.7: 480 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 481 | engines: {node: '>= 0.4'} 482 | 483 | callsites@3.1.0: 484 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 485 | engines: {node: '>=6'} 486 | 487 | camelcase-css@2.0.1: 488 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 489 | engines: {node: '>= 6'} 490 | 491 | caniuse-lite@1.0.30001667: 492 | resolution: {integrity: sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==} 493 | 494 | chalk@4.1.2: 495 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 496 | engines: {node: '>=10'} 497 | 498 | chokidar@3.6.0: 499 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 500 | engines: {node: '>= 8.10.0'} 501 | 502 | client-only@0.0.1: 503 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 504 | 505 | clsx@2.1.1: 506 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 507 | engines: {node: '>=6'} 508 | 509 | color-convert@2.0.1: 510 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 511 | engines: {node: '>=7.0.0'} 512 | 513 | color-name@1.1.4: 514 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 515 | 516 | commander@4.1.1: 517 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 518 | engines: {node: '>= 6'} 519 | 520 | concat-map@0.0.1: 521 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 522 | 523 | cross-spawn@7.0.3: 524 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 525 | engines: {node: '>= 8'} 526 | 527 | cssesc@3.0.0: 528 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 529 | engines: {node: '>=4'} 530 | hasBin: true 531 | 532 | csstype@3.1.3: 533 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 534 | 535 | damerau-levenshtein@1.0.8: 536 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 537 | 538 | data-view-buffer@1.0.1: 539 | resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} 540 | engines: {node: '>= 0.4'} 541 | 542 | data-view-byte-length@1.0.1: 543 | resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} 544 | engines: {node: '>= 0.4'} 545 | 546 | data-view-byte-offset@1.0.0: 547 | resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} 548 | engines: {node: '>= 0.4'} 549 | 550 | debug@3.2.7: 551 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 552 | peerDependencies: 553 | supports-color: '*' 554 | peerDependenciesMeta: 555 | supports-color: 556 | optional: true 557 | 558 | debug@4.3.7: 559 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} 560 | engines: {node: '>=6.0'} 561 | peerDependencies: 562 | supports-color: '*' 563 | peerDependenciesMeta: 564 | supports-color: 565 | optional: true 566 | 567 | deep-equal@2.2.3: 568 | resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} 569 | engines: {node: '>= 0.4'} 570 | 571 | deep-is@0.1.4: 572 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 573 | 574 | define-data-property@1.1.4: 575 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 576 | engines: {node: '>= 0.4'} 577 | 578 | define-properties@1.2.1: 579 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 580 | engines: {node: '>= 0.4'} 581 | 582 | didyoumean@1.2.2: 583 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 584 | 585 | dlv@1.1.3: 586 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 587 | 588 | doctrine@2.1.0: 589 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 590 | engines: {node: '>=0.10.0'} 591 | 592 | doctrine@3.0.0: 593 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 594 | engines: {node: '>=6.0.0'} 595 | 596 | eastasianwidth@0.2.0: 597 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 598 | 599 | emoji-regex@8.0.0: 600 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 601 | 602 | emoji-regex@9.2.2: 603 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 604 | 605 | engine.io-client@6.6.1: 606 | resolution: {integrity: sha512-aYuoak7I+R83M/BBPIOs2to51BmFIpC1wZe6zZzMrT2llVsHy5cvcmdsJgP2Qz6smHu+sD9oexiSUAVd8OfBPw==} 607 | 608 | engine.io-parser@5.2.3: 609 | resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} 610 | engines: {node: '>=10.0.0'} 611 | 612 | enhanced-resolve@5.17.1: 613 | resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} 614 | engines: {node: '>=10.13.0'} 615 | 616 | es-abstract@1.23.3: 617 | resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} 618 | engines: {node: '>= 0.4'} 619 | 620 | es-define-property@1.0.0: 621 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} 622 | engines: {node: '>= 0.4'} 623 | 624 | es-errors@1.3.0: 625 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 626 | engines: {node: '>= 0.4'} 627 | 628 | es-get-iterator@1.1.3: 629 | resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} 630 | 631 | es-iterator-helpers@1.1.0: 632 | resolution: {integrity: sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==} 633 | engines: {node: '>= 0.4'} 634 | 635 | es-object-atoms@1.0.0: 636 | resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} 637 | engines: {node: '>= 0.4'} 638 | 639 | es-set-tostringtag@2.0.3: 640 | resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} 641 | engines: {node: '>= 0.4'} 642 | 643 | es-shim-unscopables@1.0.2: 644 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} 645 | 646 | es-to-primitive@1.2.1: 647 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 648 | engines: {node: '>= 0.4'} 649 | 650 | escape-string-regexp@4.0.0: 651 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 652 | engines: {node: '>=10'} 653 | 654 | eslint-config-next@14.2.15: 655 | resolution: {integrity: sha512-mKg+NC/8a4JKLZRIOBplxXNdStgxy7lzWuedUaCc8tev+Al9mwDUTujQH6W6qXDH9kycWiVo28tADWGvpBsZcQ==} 656 | peerDependencies: 657 | eslint: ^7.23.0 || ^8.0.0 658 | typescript: '>=3.3.1' 659 | peerDependenciesMeta: 660 | typescript: 661 | optional: true 662 | 663 | eslint-import-resolver-node@0.3.9: 664 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 665 | 666 | eslint-import-resolver-typescript@3.6.3: 667 | resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} 668 | engines: {node: ^14.18.0 || >=16.0.0} 669 | peerDependencies: 670 | eslint: '*' 671 | eslint-plugin-import: '*' 672 | eslint-plugin-import-x: '*' 673 | peerDependenciesMeta: 674 | eslint-plugin-import: 675 | optional: true 676 | eslint-plugin-import-x: 677 | optional: true 678 | 679 | eslint-module-utils@2.12.0: 680 | resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} 681 | engines: {node: '>=4'} 682 | peerDependencies: 683 | '@typescript-eslint/parser': '*' 684 | eslint: '*' 685 | eslint-import-resolver-node: '*' 686 | eslint-import-resolver-typescript: '*' 687 | eslint-import-resolver-webpack: '*' 688 | peerDependenciesMeta: 689 | '@typescript-eslint/parser': 690 | optional: true 691 | eslint: 692 | optional: true 693 | eslint-import-resolver-node: 694 | optional: true 695 | eslint-import-resolver-typescript: 696 | optional: true 697 | eslint-import-resolver-webpack: 698 | optional: true 699 | 700 | eslint-plugin-import@2.31.0: 701 | resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} 702 | engines: {node: '>=4'} 703 | peerDependencies: 704 | '@typescript-eslint/parser': '*' 705 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 706 | peerDependenciesMeta: 707 | '@typescript-eslint/parser': 708 | optional: true 709 | 710 | eslint-plugin-jsx-a11y@6.10.0: 711 | resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==} 712 | engines: {node: '>=4.0'} 713 | peerDependencies: 714 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 715 | 716 | eslint-plugin-react-hooks@4.6.2: 717 | resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} 718 | engines: {node: '>=10'} 719 | peerDependencies: 720 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 721 | 722 | eslint-plugin-react@7.37.1: 723 | resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==} 724 | engines: {node: '>=4'} 725 | peerDependencies: 726 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 727 | 728 | eslint-scope@7.2.2: 729 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 730 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 731 | 732 | eslint-visitor-keys@3.4.3: 733 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 734 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 735 | 736 | eslint@8.57.1: 737 | resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} 738 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 739 | deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. 740 | hasBin: true 741 | 742 | espree@9.6.1: 743 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 744 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 745 | 746 | esquery@1.6.0: 747 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 748 | engines: {node: '>=0.10'} 749 | 750 | esrecurse@4.3.0: 751 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 752 | engines: {node: '>=4.0'} 753 | 754 | estraverse@5.3.0: 755 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 756 | engines: {node: '>=4.0'} 757 | 758 | esutils@2.0.3: 759 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 760 | engines: {node: '>=0.10.0'} 761 | 762 | fast-deep-equal@3.1.3: 763 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 764 | 765 | fast-glob@3.3.2: 766 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 767 | engines: {node: '>=8.6.0'} 768 | 769 | fast-json-stable-stringify@2.1.0: 770 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 771 | 772 | fast-levenshtein@2.0.6: 773 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 774 | 775 | fastq@1.17.1: 776 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 777 | 778 | file-entry-cache@6.0.1: 779 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 780 | engines: {node: ^10.12.0 || >=12.0.0} 781 | 782 | fill-range@7.1.1: 783 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 784 | engines: {node: '>=8'} 785 | 786 | find-up@5.0.0: 787 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 788 | engines: {node: '>=10'} 789 | 790 | flat-cache@3.2.0: 791 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 792 | engines: {node: ^10.12.0 || >=12.0.0} 793 | 794 | flatted@3.3.1: 795 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 796 | 797 | for-each@0.3.3: 798 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 799 | 800 | foreground-child@3.3.0: 801 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 802 | engines: {node: '>=14'} 803 | 804 | fs.realpath@1.0.0: 805 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 806 | 807 | fsevents@2.3.3: 808 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 809 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 810 | os: [darwin] 811 | 812 | function-bind@1.1.2: 813 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 814 | 815 | function.prototype.name@1.1.6: 816 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} 817 | engines: {node: '>= 0.4'} 818 | 819 | functions-have-names@1.2.3: 820 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 821 | 822 | get-intrinsic@1.2.4: 823 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} 824 | engines: {node: '>= 0.4'} 825 | 826 | get-symbol-description@1.0.2: 827 | resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} 828 | engines: {node: '>= 0.4'} 829 | 830 | get-tsconfig@4.8.1: 831 | resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} 832 | 833 | glob-parent@5.1.2: 834 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 835 | engines: {node: '>= 6'} 836 | 837 | glob-parent@6.0.2: 838 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 839 | engines: {node: '>=10.13.0'} 840 | 841 | glob@10.3.10: 842 | resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} 843 | engines: {node: '>=16 || 14 >=14.17'} 844 | hasBin: true 845 | 846 | glob@10.4.5: 847 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 848 | hasBin: true 849 | 850 | glob@7.2.3: 851 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 852 | deprecated: Glob versions prior to v9 are no longer supported 853 | 854 | globals@13.24.0: 855 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 856 | engines: {node: '>=8'} 857 | 858 | globalthis@1.0.4: 859 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} 860 | engines: {node: '>= 0.4'} 861 | 862 | gopd@1.0.1: 863 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 864 | 865 | graceful-fs@4.2.11: 866 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 867 | 868 | graphemer@1.4.0: 869 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 870 | 871 | has-bigints@1.0.2: 872 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 873 | 874 | has-flag@4.0.0: 875 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 876 | engines: {node: '>=8'} 877 | 878 | has-property-descriptors@1.0.2: 879 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 880 | 881 | has-proto@1.0.3: 882 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} 883 | engines: {node: '>= 0.4'} 884 | 885 | has-symbols@1.0.3: 886 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 887 | engines: {node: '>= 0.4'} 888 | 889 | has-tostringtag@1.0.2: 890 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 891 | engines: {node: '>= 0.4'} 892 | 893 | hasown@2.0.2: 894 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 895 | engines: {node: '>= 0.4'} 896 | 897 | ignore@5.3.2: 898 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 899 | engines: {node: '>= 4'} 900 | 901 | import-fresh@3.3.0: 902 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 903 | engines: {node: '>=6'} 904 | 905 | imurmurhash@0.1.4: 906 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 907 | engines: {node: '>=0.8.19'} 908 | 909 | inflight@1.0.6: 910 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 911 | 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. 912 | 913 | inherits@2.0.4: 914 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 915 | 916 | internal-slot@1.0.7: 917 | resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} 918 | engines: {node: '>= 0.4'} 919 | 920 | is-arguments@1.1.1: 921 | resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} 922 | engines: {node: '>= 0.4'} 923 | 924 | is-array-buffer@3.0.4: 925 | resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} 926 | engines: {node: '>= 0.4'} 927 | 928 | is-async-function@2.0.0: 929 | resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} 930 | engines: {node: '>= 0.4'} 931 | 932 | is-bigint@1.0.4: 933 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 934 | 935 | is-binary-path@2.1.0: 936 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 937 | engines: {node: '>=8'} 938 | 939 | is-boolean-object@1.1.2: 940 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 941 | engines: {node: '>= 0.4'} 942 | 943 | is-bun-module@1.2.1: 944 | resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} 945 | 946 | is-callable@1.2.7: 947 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 948 | engines: {node: '>= 0.4'} 949 | 950 | is-core-module@2.15.1: 951 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 952 | engines: {node: '>= 0.4'} 953 | 954 | is-data-view@1.0.1: 955 | resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} 956 | engines: {node: '>= 0.4'} 957 | 958 | is-date-object@1.0.5: 959 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 960 | engines: {node: '>= 0.4'} 961 | 962 | is-extglob@2.1.1: 963 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 964 | engines: {node: '>=0.10.0'} 965 | 966 | is-finalizationregistry@1.0.2: 967 | resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} 968 | 969 | is-fullwidth-code-point@3.0.0: 970 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 971 | engines: {node: '>=8'} 972 | 973 | is-generator-function@1.0.10: 974 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} 975 | engines: {node: '>= 0.4'} 976 | 977 | is-glob@4.0.3: 978 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 979 | engines: {node: '>=0.10.0'} 980 | 981 | is-map@2.0.3: 982 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 983 | engines: {node: '>= 0.4'} 984 | 985 | is-negative-zero@2.0.3: 986 | resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} 987 | engines: {node: '>= 0.4'} 988 | 989 | is-number-object@1.0.7: 990 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 991 | engines: {node: '>= 0.4'} 992 | 993 | is-number@7.0.0: 994 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 995 | engines: {node: '>=0.12.0'} 996 | 997 | is-path-inside@3.0.3: 998 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 999 | engines: {node: '>=8'} 1000 | 1001 | is-regex@1.1.4: 1002 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1003 | engines: {node: '>= 0.4'} 1004 | 1005 | is-set@2.0.3: 1006 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 1007 | engines: {node: '>= 0.4'} 1008 | 1009 | is-shared-array-buffer@1.0.3: 1010 | resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} 1011 | engines: {node: '>= 0.4'} 1012 | 1013 | is-string@1.0.7: 1014 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1015 | engines: {node: '>= 0.4'} 1016 | 1017 | is-symbol@1.0.4: 1018 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1019 | engines: {node: '>= 0.4'} 1020 | 1021 | is-typed-array@1.1.13: 1022 | resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} 1023 | engines: {node: '>= 0.4'} 1024 | 1025 | is-weakmap@2.0.2: 1026 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 1027 | engines: {node: '>= 0.4'} 1028 | 1029 | is-weakref@1.0.2: 1030 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1031 | 1032 | is-weakset@2.0.3: 1033 | resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} 1034 | engines: {node: '>= 0.4'} 1035 | 1036 | isarray@2.0.5: 1037 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1038 | 1039 | isexe@2.0.0: 1040 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1041 | 1042 | iterator.prototype@1.1.3: 1043 | resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==} 1044 | engines: {node: '>= 0.4'} 1045 | 1046 | jackspeak@2.3.6: 1047 | resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} 1048 | engines: {node: '>=14'} 1049 | 1050 | jackspeak@3.4.3: 1051 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1052 | 1053 | jiti@1.21.6: 1054 | resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 1055 | hasBin: true 1056 | 1057 | js-tokens@4.0.0: 1058 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1059 | 1060 | js-yaml@4.1.0: 1061 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1062 | hasBin: true 1063 | 1064 | json-buffer@3.0.1: 1065 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1066 | 1067 | json-schema-traverse@0.4.1: 1068 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1069 | 1070 | json-stable-stringify-without-jsonify@1.0.1: 1071 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1072 | 1073 | json5@1.0.2: 1074 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1075 | hasBin: true 1076 | 1077 | jsx-ast-utils@3.3.5: 1078 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} 1079 | engines: {node: '>=4.0'} 1080 | 1081 | keyv@4.5.4: 1082 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1083 | 1084 | language-subtag-registry@0.3.23: 1085 | resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} 1086 | 1087 | language-tags@1.0.9: 1088 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} 1089 | engines: {node: '>=0.10'} 1090 | 1091 | levn@0.4.1: 1092 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1093 | engines: {node: '>= 0.8.0'} 1094 | 1095 | lilconfig@2.1.0: 1096 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1097 | engines: {node: '>=10'} 1098 | 1099 | lilconfig@3.1.2: 1100 | resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} 1101 | engines: {node: '>=14'} 1102 | 1103 | lines-and-columns@1.2.4: 1104 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1105 | 1106 | locate-path@6.0.0: 1107 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1108 | engines: {node: '>=10'} 1109 | 1110 | lodash.merge@4.6.2: 1111 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1112 | 1113 | loose-envify@1.4.0: 1114 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1115 | hasBin: true 1116 | 1117 | lru-cache@10.4.3: 1118 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1119 | 1120 | merge2@1.4.1: 1121 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1122 | engines: {node: '>= 8'} 1123 | 1124 | micromatch@4.0.8: 1125 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1126 | engines: {node: '>=8.6'} 1127 | 1128 | minimatch@3.1.2: 1129 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1130 | 1131 | minimatch@9.0.5: 1132 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1133 | engines: {node: '>=16 || 14 >=14.17'} 1134 | 1135 | minimist@1.2.8: 1136 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1137 | 1138 | minipass@7.1.2: 1139 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1140 | engines: {node: '>=16 || 14 >=14.17'} 1141 | 1142 | ms@2.1.3: 1143 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1144 | 1145 | mz@2.7.0: 1146 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1147 | 1148 | nanoid@3.3.7: 1149 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1150 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1151 | hasBin: true 1152 | 1153 | natural-compare@1.4.0: 1154 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1155 | 1156 | next@14.2.15: 1157 | resolution: {integrity: sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw==} 1158 | engines: {node: '>=18.17.0'} 1159 | hasBin: true 1160 | peerDependencies: 1161 | '@opentelemetry/api': ^1.1.0 1162 | '@playwright/test': ^1.41.2 1163 | react: ^18.2.0 1164 | react-dom: ^18.2.0 1165 | sass: ^1.3.0 1166 | peerDependenciesMeta: 1167 | '@opentelemetry/api': 1168 | optional: true 1169 | '@playwright/test': 1170 | optional: true 1171 | sass: 1172 | optional: true 1173 | 1174 | normalize-path@3.0.0: 1175 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1176 | engines: {node: '>=0.10.0'} 1177 | 1178 | object-assign@4.1.1: 1179 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1180 | engines: {node: '>=0.10.0'} 1181 | 1182 | object-hash@3.0.0: 1183 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1184 | engines: {node: '>= 6'} 1185 | 1186 | object-inspect@1.13.2: 1187 | resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} 1188 | engines: {node: '>= 0.4'} 1189 | 1190 | object-is@1.1.6: 1191 | resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} 1192 | engines: {node: '>= 0.4'} 1193 | 1194 | object-keys@1.1.1: 1195 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1196 | engines: {node: '>= 0.4'} 1197 | 1198 | object.assign@4.1.5: 1199 | resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} 1200 | engines: {node: '>= 0.4'} 1201 | 1202 | object.entries@1.1.8: 1203 | resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} 1204 | engines: {node: '>= 0.4'} 1205 | 1206 | object.fromentries@2.0.8: 1207 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} 1208 | engines: {node: '>= 0.4'} 1209 | 1210 | object.groupby@1.0.3: 1211 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 1212 | engines: {node: '>= 0.4'} 1213 | 1214 | object.values@1.2.0: 1215 | resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} 1216 | engines: {node: '>= 0.4'} 1217 | 1218 | once@1.4.0: 1219 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1220 | 1221 | optionator@0.9.4: 1222 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1223 | engines: {node: '>= 0.8.0'} 1224 | 1225 | p-limit@3.1.0: 1226 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1227 | engines: {node: '>=10'} 1228 | 1229 | p-locate@5.0.0: 1230 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1231 | engines: {node: '>=10'} 1232 | 1233 | package-json-from-dist@1.0.1: 1234 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1235 | 1236 | parent-module@1.0.1: 1237 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1238 | engines: {node: '>=6'} 1239 | 1240 | path-exists@4.0.0: 1241 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1242 | engines: {node: '>=8'} 1243 | 1244 | path-is-absolute@1.0.1: 1245 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1246 | engines: {node: '>=0.10.0'} 1247 | 1248 | path-key@3.1.1: 1249 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1250 | engines: {node: '>=8'} 1251 | 1252 | path-parse@1.0.7: 1253 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1254 | 1255 | path-scurry@1.11.1: 1256 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1257 | engines: {node: '>=16 || 14 >=14.18'} 1258 | 1259 | picocolors@1.1.0: 1260 | resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} 1261 | 1262 | picomatch@2.3.1: 1263 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1264 | engines: {node: '>=8.6'} 1265 | 1266 | pify@2.3.0: 1267 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1268 | engines: {node: '>=0.10.0'} 1269 | 1270 | pirates@4.0.6: 1271 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1272 | engines: {node: '>= 6'} 1273 | 1274 | possible-typed-array-names@1.0.0: 1275 | resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} 1276 | engines: {node: '>= 0.4'} 1277 | 1278 | postcss-import@15.1.0: 1279 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 1280 | engines: {node: '>=14.0.0'} 1281 | peerDependencies: 1282 | postcss: ^8.0.0 1283 | 1284 | postcss-js@4.0.1: 1285 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1286 | engines: {node: ^12 || ^14 || >= 16} 1287 | peerDependencies: 1288 | postcss: ^8.4.21 1289 | 1290 | postcss-load-config@4.0.2: 1291 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 1292 | engines: {node: '>= 14'} 1293 | peerDependencies: 1294 | postcss: '>=8.0.9' 1295 | ts-node: '>=9.0.0' 1296 | peerDependenciesMeta: 1297 | postcss: 1298 | optional: true 1299 | ts-node: 1300 | optional: true 1301 | 1302 | postcss-nested@6.2.0: 1303 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 1304 | engines: {node: '>=12.0'} 1305 | peerDependencies: 1306 | postcss: ^8.2.14 1307 | 1308 | postcss-selector-parser@6.1.2: 1309 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 1310 | engines: {node: '>=4'} 1311 | 1312 | postcss-value-parser@4.2.0: 1313 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1314 | 1315 | postcss@8.4.31: 1316 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 1317 | engines: {node: ^10 || ^12 || >=14} 1318 | 1319 | postcss@8.4.47: 1320 | resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} 1321 | engines: {node: ^10 || ^12 || >=14} 1322 | 1323 | prelude-ls@1.2.1: 1324 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1325 | engines: {node: '>= 0.8.0'} 1326 | 1327 | prop-types@15.8.1: 1328 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 1329 | 1330 | punycode@2.3.1: 1331 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1332 | engines: {node: '>=6'} 1333 | 1334 | queue-microtask@1.2.3: 1335 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1336 | 1337 | react-dom@18.3.1: 1338 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} 1339 | peerDependencies: 1340 | react: ^18.3.1 1341 | 1342 | react-hook-form@7.53.0: 1343 | resolution: {integrity: sha512-M1n3HhqCww6S2hxLxciEXy2oISPnAzxY7gvwVPrtlczTM/1dDadXgUxDpHMrMTblDOcm/AXtXxHwZ3jpg1mqKQ==} 1344 | engines: {node: '>=18.0.0'} 1345 | peerDependencies: 1346 | react: ^16.8.0 || ^17 || ^18 || ^19 1347 | 1348 | react-icons@5.3.0: 1349 | resolution: {integrity: sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg==} 1350 | peerDependencies: 1351 | react: '*' 1352 | 1353 | react-is@16.13.1: 1354 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 1355 | 1356 | react@18.3.1: 1357 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} 1358 | engines: {node: '>=0.10.0'} 1359 | 1360 | read-cache@1.0.0: 1361 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1362 | 1363 | readdirp@3.6.0: 1364 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1365 | engines: {node: '>=8.10.0'} 1366 | 1367 | reflect.getprototypeof@1.0.6: 1368 | resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} 1369 | engines: {node: '>= 0.4'} 1370 | 1371 | regexp.prototype.flags@1.5.3: 1372 | resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} 1373 | engines: {node: '>= 0.4'} 1374 | 1375 | resolve-from@4.0.0: 1376 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1377 | engines: {node: '>=4'} 1378 | 1379 | resolve-pkg-maps@1.0.0: 1380 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 1381 | 1382 | resolve@1.22.8: 1383 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1384 | hasBin: true 1385 | 1386 | resolve@2.0.0-next.5: 1387 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 1388 | hasBin: true 1389 | 1390 | reusify@1.0.4: 1391 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1392 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1393 | 1394 | rimraf@3.0.2: 1395 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1396 | deprecated: Rimraf versions prior to v4 are no longer supported 1397 | hasBin: true 1398 | 1399 | run-parallel@1.2.0: 1400 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1401 | 1402 | safe-array-concat@1.1.2: 1403 | resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} 1404 | engines: {node: '>=0.4'} 1405 | 1406 | safe-regex-test@1.0.3: 1407 | resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} 1408 | engines: {node: '>= 0.4'} 1409 | 1410 | scheduler@0.23.2: 1411 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} 1412 | 1413 | semver@6.3.1: 1414 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1415 | hasBin: true 1416 | 1417 | semver@7.6.3: 1418 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 1419 | engines: {node: '>=10'} 1420 | hasBin: true 1421 | 1422 | set-function-length@1.2.2: 1423 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1424 | engines: {node: '>= 0.4'} 1425 | 1426 | set-function-name@2.0.2: 1427 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 1428 | engines: {node: '>= 0.4'} 1429 | 1430 | shebang-command@2.0.0: 1431 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1432 | engines: {node: '>=8'} 1433 | 1434 | shebang-regex@3.0.0: 1435 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1436 | engines: {node: '>=8'} 1437 | 1438 | side-channel@1.0.6: 1439 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} 1440 | engines: {node: '>= 0.4'} 1441 | 1442 | signal-exit@4.1.0: 1443 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1444 | engines: {node: '>=14'} 1445 | 1446 | socket.io-client@4.8.0: 1447 | resolution: {integrity: sha512-C0jdhD5yQahMws9alf/yvtsMGTaIDBnZ8Rb5HU56svyq0l5LIrGzIDZZD5pHQlmzxLuU91Gz+VpQMKgCTNYtkw==} 1448 | engines: {node: '>=10.0.0'} 1449 | 1450 | socket.io-parser@4.2.4: 1451 | resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} 1452 | engines: {node: '>=10.0.0'} 1453 | 1454 | source-map-js@1.2.1: 1455 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1456 | engines: {node: '>=0.10.0'} 1457 | 1458 | stop-iteration-iterator@1.0.0: 1459 | resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} 1460 | engines: {node: '>= 0.4'} 1461 | 1462 | streamsearch@1.1.0: 1463 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 1464 | engines: {node: '>=10.0.0'} 1465 | 1466 | string-width@4.2.3: 1467 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1468 | engines: {node: '>=8'} 1469 | 1470 | string-width@5.1.2: 1471 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1472 | engines: {node: '>=12'} 1473 | 1474 | string.prototype.includes@2.0.0: 1475 | resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} 1476 | 1477 | string.prototype.matchall@4.0.11: 1478 | resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} 1479 | engines: {node: '>= 0.4'} 1480 | 1481 | string.prototype.repeat@1.0.0: 1482 | resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} 1483 | 1484 | string.prototype.trim@1.2.9: 1485 | resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} 1486 | engines: {node: '>= 0.4'} 1487 | 1488 | string.prototype.trimend@1.0.8: 1489 | resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} 1490 | 1491 | string.prototype.trimstart@1.0.8: 1492 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 1493 | engines: {node: '>= 0.4'} 1494 | 1495 | strip-ansi@6.0.1: 1496 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1497 | engines: {node: '>=8'} 1498 | 1499 | strip-ansi@7.1.0: 1500 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1501 | engines: {node: '>=12'} 1502 | 1503 | strip-bom@3.0.0: 1504 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1505 | engines: {node: '>=4'} 1506 | 1507 | strip-json-comments@3.1.1: 1508 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1509 | engines: {node: '>=8'} 1510 | 1511 | styled-jsx@5.1.1: 1512 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} 1513 | engines: {node: '>= 12.0.0'} 1514 | peerDependencies: 1515 | '@babel/core': '*' 1516 | babel-plugin-macros: '*' 1517 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' 1518 | peerDependenciesMeta: 1519 | '@babel/core': 1520 | optional: true 1521 | babel-plugin-macros: 1522 | optional: true 1523 | 1524 | sucrase@3.35.0: 1525 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1526 | engines: {node: '>=16 || 14 >=14.17'} 1527 | hasBin: true 1528 | 1529 | supports-color@7.2.0: 1530 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1531 | engines: {node: '>=8'} 1532 | 1533 | supports-preserve-symlinks-flag@1.0.0: 1534 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1535 | engines: {node: '>= 0.4'} 1536 | 1537 | tabbable@6.2.0: 1538 | resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} 1539 | 1540 | tailwindcss@3.4.13: 1541 | resolution: {integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==} 1542 | engines: {node: '>=14.0.0'} 1543 | hasBin: true 1544 | 1545 | tapable@2.2.1: 1546 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 1547 | engines: {node: '>=6'} 1548 | 1549 | text-table@0.2.0: 1550 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1551 | 1552 | thenify-all@1.6.0: 1553 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1554 | engines: {node: '>=0.8'} 1555 | 1556 | thenify@3.3.1: 1557 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1558 | 1559 | to-regex-range@5.0.1: 1560 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1561 | engines: {node: '>=8.0'} 1562 | 1563 | ts-api-utils@1.3.0: 1564 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} 1565 | engines: {node: '>=16'} 1566 | peerDependencies: 1567 | typescript: '>=4.2.0' 1568 | 1569 | ts-interface-checker@0.1.13: 1570 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1571 | 1572 | tsconfig-paths@3.15.0: 1573 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 1574 | 1575 | tslib@2.7.0: 1576 | resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} 1577 | 1578 | type-check@0.4.0: 1579 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1580 | engines: {node: '>= 0.8.0'} 1581 | 1582 | type-fest@0.20.2: 1583 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 1584 | engines: {node: '>=10'} 1585 | 1586 | typed-array-buffer@1.0.2: 1587 | resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} 1588 | engines: {node: '>= 0.4'} 1589 | 1590 | typed-array-byte-length@1.0.1: 1591 | resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} 1592 | engines: {node: '>= 0.4'} 1593 | 1594 | typed-array-byte-offset@1.0.2: 1595 | resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} 1596 | engines: {node: '>= 0.4'} 1597 | 1598 | typed-array-length@1.0.6: 1599 | resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} 1600 | engines: {node: '>= 0.4'} 1601 | 1602 | typescript@5.6.3: 1603 | resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} 1604 | engines: {node: '>=14.17'} 1605 | hasBin: true 1606 | 1607 | unbox-primitive@1.0.2: 1608 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 1609 | 1610 | undici-types@6.19.8: 1611 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 1612 | 1613 | uri-js@4.4.1: 1614 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1615 | 1616 | util-deprecate@1.0.2: 1617 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1618 | 1619 | which-boxed-primitive@1.0.2: 1620 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 1621 | 1622 | which-builtin-type@1.1.4: 1623 | resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} 1624 | engines: {node: '>= 0.4'} 1625 | 1626 | which-collection@1.0.2: 1627 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 1628 | engines: {node: '>= 0.4'} 1629 | 1630 | which-typed-array@1.1.15: 1631 | resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} 1632 | engines: {node: '>= 0.4'} 1633 | 1634 | which@2.0.2: 1635 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1636 | engines: {node: '>= 8'} 1637 | hasBin: true 1638 | 1639 | word-wrap@1.2.5: 1640 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1641 | engines: {node: '>=0.10.0'} 1642 | 1643 | wrap-ansi@7.0.0: 1644 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1645 | engines: {node: '>=10'} 1646 | 1647 | wrap-ansi@8.1.0: 1648 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1649 | engines: {node: '>=12'} 1650 | 1651 | wrappy@1.0.2: 1652 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1653 | 1654 | ws@8.17.1: 1655 | resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} 1656 | engines: {node: '>=10.0.0'} 1657 | peerDependencies: 1658 | bufferutil: ^4.0.1 1659 | utf-8-validate: '>=5.0.2' 1660 | peerDependenciesMeta: 1661 | bufferutil: 1662 | optional: true 1663 | utf-8-validate: 1664 | optional: true 1665 | 1666 | xmlhttprequest-ssl@2.1.1: 1667 | resolution: {integrity: sha512-ptjR8YSJIXoA3Mbv5po7RtSYHO6mZr8s7i5VGmEk7QY2pQWyT1o0N+W1gKbOyJPUCGXGnuw0wqe8f0L6Y0ny7g==} 1668 | engines: {node: '>=0.4.0'} 1669 | 1670 | yaml@2.5.1: 1671 | resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} 1672 | engines: {node: '>= 14'} 1673 | hasBin: true 1674 | 1675 | yocto-queue@0.1.0: 1676 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1677 | engines: {node: '>=10'} 1678 | 1679 | zod@3.23.8: 1680 | resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} 1681 | 1682 | snapshots: 1683 | 1684 | '@alloc/quick-lru@5.2.0': {} 1685 | 1686 | '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': 1687 | dependencies: 1688 | eslint: 8.57.1 1689 | eslint-visitor-keys: 3.4.3 1690 | 1691 | '@eslint-community/regexpp@4.11.1': {} 1692 | 1693 | '@eslint/eslintrc@2.1.4': 1694 | dependencies: 1695 | ajv: 6.12.6 1696 | debug: 4.3.7 1697 | espree: 9.6.1 1698 | globals: 13.24.0 1699 | ignore: 5.3.2 1700 | import-fresh: 3.3.0 1701 | js-yaml: 4.1.0 1702 | minimatch: 3.1.2 1703 | strip-json-comments: 3.1.1 1704 | transitivePeerDependencies: 1705 | - supports-color 1706 | 1707 | '@eslint/js@8.57.1': {} 1708 | 1709 | '@floating-ui/core@1.6.8': 1710 | dependencies: 1711 | '@floating-ui/utils': 0.2.8 1712 | 1713 | '@floating-ui/dom@1.6.11': 1714 | dependencies: 1715 | '@floating-ui/core': 1.6.8 1716 | '@floating-ui/utils': 0.2.8 1717 | 1718 | '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 1719 | dependencies: 1720 | '@floating-ui/dom': 1.6.11 1721 | react: 18.3.1 1722 | react-dom: 18.3.1(react@18.3.1) 1723 | 1724 | '@floating-ui/react@0.26.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 1725 | dependencies: 1726 | '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 1727 | '@floating-ui/utils': 0.2.8 1728 | react: 18.3.1 1729 | react-dom: 18.3.1(react@18.3.1) 1730 | tabbable: 6.2.0 1731 | 1732 | '@floating-ui/utils@0.2.8': {} 1733 | 1734 | '@headlessui/react@2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 1735 | dependencies: 1736 | '@floating-ui/react': 0.26.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 1737 | '@react-aria/focus': 3.18.4(react@18.3.1) 1738 | '@react-aria/interactions': 3.22.4(react@18.3.1) 1739 | '@tanstack/react-virtual': 3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 1740 | react: 18.3.1 1741 | react-dom: 18.3.1(react@18.3.1) 1742 | 1743 | '@hookform/resolvers@3.9.0(react-hook-form@7.53.0(react@18.3.1))': 1744 | dependencies: 1745 | react-hook-form: 7.53.0(react@18.3.1) 1746 | 1747 | '@humanwhocodes/config-array@0.13.0': 1748 | dependencies: 1749 | '@humanwhocodes/object-schema': 2.0.3 1750 | debug: 4.3.7 1751 | minimatch: 3.1.2 1752 | transitivePeerDependencies: 1753 | - supports-color 1754 | 1755 | '@humanwhocodes/module-importer@1.0.1': {} 1756 | 1757 | '@humanwhocodes/object-schema@2.0.3': {} 1758 | 1759 | '@isaacs/cliui@8.0.2': 1760 | dependencies: 1761 | string-width: 5.1.2 1762 | string-width-cjs: string-width@4.2.3 1763 | strip-ansi: 7.1.0 1764 | strip-ansi-cjs: strip-ansi@6.0.1 1765 | wrap-ansi: 8.1.0 1766 | wrap-ansi-cjs: wrap-ansi@7.0.0 1767 | 1768 | '@jridgewell/gen-mapping@0.3.5': 1769 | dependencies: 1770 | '@jridgewell/set-array': 1.2.1 1771 | '@jridgewell/sourcemap-codec': 1.5.0 1772 | '@jridgewell/trace-mapping': 0.3.25 1773 | 1774 | '@jridgewell/resolve-uri@3.1.2': {} 1775 | 1776 | '@jridgewell/set-array@1.2.1': {} 1777 | 1778 | '@jridgewell/sourcemap-codec@1.5.0': {} 1779 | 1780 | '@jridgewell/trace-mapping@0.3.25': 1781 | dependencies: 1782 | '@jridgewell/resolve-uri': 3.1.2 1783 | '@jridgewell/sourcemap-codec': 1.5.0 1784 | 1785 | '@next/env@14.2.15': {} 1786 | 1787 | '@next/eslint-plugin-next@14.2.15': 1788 | dependencies: 1789 | glob: 10.3.10 1790 | 1791 | '@next/swc-darwin-arm64@14.2.15': 1792 | optional: true 1793 | 1794 | '@next/swc-darwin-x64@14.2.15': 1795 | optional: true 1796 | 1797 | '@next/swc-linux-arm64-gnu@14.2.15': 1798 | optional: true 1799 | 1800 | '@next/swc-linux-arm64-musl@14.2.15': 1801 | optional: true 1802 | 1803 | '@next/swc-linux-x64-gnu@14.2.15': 1804 | optional: true 1805 | 1806 | '@next/swc-linux-x64-musl@14.2.15': 1807 | optional: true 1808 | 1809 | '@next/swc-win32-arm64-msvc@14.2.15': 1810 | optional: true 1811 | 1812 | '@next/swc-win32-ia32-msvc@14.2.15': 1813 | optional: true 1814 | 1815 | '@next/swc-win32-x64-msvc@14.2.15': 1816 | optional: true 1817 | 1818 | '@nodelib/fs.scandir@2.1.5': 1819 | dependencies: 1820 | '@nodelib/fs.stat': 2.0.5 1821 | run-parallel: 1.2.0 1822 | 1823 | '@nodelib/fs.stat@2.0.5': {} 1824 | 1825 | '@nodelib/fs.walk@1.2.8': 1826 | dependencies: 1827 | '@nodelib/fs.scandir': 2.1.5 1828 | fastq: 1.17.1 1829 | 1830 | '@nolyfill/is-core-module@1.0.39': {} 1831 | 1832 | '@pkgjs/parseargs@0.11.0': 1833 | optional: true 1834 | 1835 | '@react-aria/focus@3.18.4(react@18.3.1)': 1836 | dependencies: 1837 | '@react-aria/interactions': 3.22.4(react@18.3.1) 1838 | '@react-aria/utils': 3.25.3(react@18.3.1) 1839 | '@react-types/shared': 3.25.0(react@18.3.1) 1840 | '@swc/helpers': 0.5.5 1841 | clsx: 2.1.1 1842 | react: 18.3.1 1843 | 1844 | '@react-aria/interactions@3.22.4(react@18.3.1)': 1845 | dependencies: 1846 | '@react-aria/ssr': 3.9.6(react@18.3.1) 1847 | '@react-aria/utils': 3.25.3(react@18.3.1) 1848 | '@react-types/shared': 3.25.0(react@18.3.1) 1849 | '@swc/helpers': 0.5.5 1850 | react: 18.3.1 1851 | 1852 | '@react-aria/ssr@3.9.6(react@18.3.1)': 1853 | dependencies: 1854 | '@swc/helpers': 0.5.5 1855 | react: 18.3.1 1856 | 1857 | '@react-aria/utils@3.25.3(react@18.3.1)': 1858 | dependencies: 1859 | '@react-aria/ssr': 3.9.6(react@18.3.1) 1860 | '@react-stately/utils': 3.10.4(react@18.3.1) 1861 | '@react-types/shared': 3.25.0(react@18.3.1) 1862 | '@swc/helpers': 0.5.5 1863 | clsx: 2.1.1 1864 | react: 18.3.1 1865 | 1866 | '@react-stately/utils@3.10.4(react@18.3.1)': 1867 | dependencies: 1868 | '@swc/helpers': 0.5.5 1869 | react: 18.3.1 1870 | 1871 | '@react-types/shared@3.25.0(react@18.3.1)': 1872 | dependencies: 1873 | react: 18.3.1 1874 | 1875 | '@rtsao/scc@1.1.0': {} 1876 | 1877 | '@rushstack/eslint-patch@1.10.4': {} 1878 | 1879 | '@socket.io/component-emitter@3.1.2': {} 1880 | 1881 | '@swc/counter@0.1.3': {} 1882 | 1883 | '@swc/helpers@0.5.5': 1884 | dependencies: 1885 | '@swc/counter': 0.1.3 1886 | tslib: 2.7.0 1887 | 1888 | '@tanstack/react-virtual@3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 1889 | dependencies: 1890 | '@tanstack/virtual-core': 3.10.8 1891 | react: 18.3.1 1892 | react-dom: 18.3.1(react@18.3.1) 1893 | 1894 | '@tanstack/virtual-core@3.10.8': {} 1895 | 1896 | '@types/json5@0.0.29': {} 1897 | 1898 | '@types/node@20.16.11': 1899 | dependencies: 1900 | undici-types: 6.19.8 1901 | 1902 | '@types/prop-types@15.7.13': {} 1903 | 1904 | '@types/react-dom@18.3.0': 1905 | dependencies: 1906 | '@types/react': 18.3.11 1907 | 1908 | '@types/react@18.3.11': 1909 | dependencies: 1910 | '@types/prop-types': 15.7.13 1911 | csstype: 3.1.3 1912 | 1913 | '@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': 1914 | dependencies: 1915 | '@eslint-community/regexpp': 4.11.1 1916 | '@typescript-eslint/parser': 8.8.1(eslint@8.57.1)(typescript@5.6.3) 1917 | '@typescript-eslint/scope-manager': 8.8.1 1918 | '@typescript-eslint/type-utils': 8.8.1(eslint@8.57.1)(typescript@5.6.3) 1919 | '@typescript-eslint/utils': 8.8.1(eslint@8.57.1)(typescript@5.6.3) 1920 | '@typescript-eslint/visitor-keys': 8.8.1 1921 | eslint: 8.57.1 1922 | graphemer: 1.4.0 1923 | ignore: 5.3.2 1924 | natural-compare: 1.4.0 1925 | ts-api-utils: 1.3.0(typescript@5.6.3) 1926 | optionalDependencies: 1927 | typescript: 5.6.3 1928 | transitivePeerDependencies: 1929 | - supports-color 1930 | 1931 | '@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3)': 1932 | dependencies: 1933 | '@typescript-eslint/scope-manager': 8.8.1 1934 | '@typescript-eslint/types': 8.8.1 1935 | '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) 1936 | '@typescript-eslint/visitor-keys': 8.8.1 1937 | debug: 4.3.7 1938 | eslint: 8.57.1 1939 | optionalDependencies: 1940 | typescript: 5.6.3 1941 | transitivePeerDependencies: 1942 | - supports-color 1943 | 1944 | '@typescript-eslint/scope-manager@8.8.1': 1945 | dependencies: 1946 | '@typescript-eslint/types': 8.8.1 1947 | '@typescript-eslint/visitor-keys': 8.8.1 1948 | 1949 | '@typescript-eslint/type-utils@8.8.1(eslint@8.57.1)(typescript@5.6.3)': 1950 | dependencies: 1951 | '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) 1952 | '@typescript-eslint/utils': 8.8.1(eslint@8.57.1)(typescript@5.6.3) 1953 | debug: 4.3.7 1954 | ts-api-utils: 1.3.0(typescript@5.6.3) 1955 | optionalDependencies: 1956 | typescript: 5.6.3 1957 | transitivePeerDependencies: 1958 | - eslint 1959 | - supports-color 1960 | 1961 | '@typescript-eslint/types@8.8.1': {} 1962 | 1963 | '@typescript-eslint/typescript-estree@8.8.1(typescript@5.6.3)': 1964 | dependencies: 1965 | '@typescript-eslint/types': 8.8.1 1966 | '@typescript-eslint/visitor-keys': 8.8.1 1967 | debug: 4.3.7 1968 | fast-glob: 3.3.2 1969 | is-glob: 4.0.3 1970 | minimatch: 9.0.5 1971 | semver: 7.6.3 1972 | ts-api-utils: 1.3.0(typescript@5.6.3) 1973 | optionalDependencies: 1974 | typescript: 5.6.3 1975 | transitivePeerDependencies: 1976 | - supports-color 1977 | 1978 | '@typescript-eslint/utils@8.8.1(eslint@8.57.1)(typescript@5.6.3)': 1979 | dependencies: 1980 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) 1981 | '@typescript-eslint/scope-manager': 8.8.1 1982 | '@typescript-eslint/types': 8.8.1 1983 | '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) 1984 | eslint: 8.57.1 1985 | transitivePeerDependencies: 1986 | - supports-color 1987 | - typescript 1988 | 1989 | '@typescript-eslint/visitor-keys@8.8.1': 1990 | dependencies: 1991 | '@typescript-eslint/types': 8.8.1 1992 | eslint-visitor-keys: 3.4.3 1993 | 1994 | '@ungap/structured-clone@1.2.0': {} 1995 | 1996 | acorn-jsx@5.3.2(acorn@8.12.1): 1997 | dependencies: 1998 | acorn: 8.12.1 1999 | 2000 | acorn@8.12.1: {} 2001 | 2002 | ajv@6.12.6: 2003 | dependencies: 2004 | fast-deep-equal: 3.1.3 2005 | fast-json-stable-stringify: 2.1.0 2006 | json-schema-traverse: 0.4.1 2007 | uri-js: 4.4.1 2008 | 2009 | ansi-regex@5.0.1: {} 2010 | 2011 | ansi-regex@6.1.0: {} 2012 | 2013 | ansi-styles@4.3.0: 2014 | dependencies: 2015 | color-convert: 2.0.1 2016 | 2017 | ansi-styles@6.2.1: {} 2018 | 2019 | any-promise@1.3.0: {} 2020 | 2021 | anymatch@3.1.3: 2022 | dependencies: 2023 | normalize-path: 3.0.0 2024 | picomatch: 2.3.1 2025 | 2026 | arg@5.0.2: {} 2027 | 2028 | argparse@2.0.1: {} 2029 | 2030 | aria-query@5.1.3: 2031 | dependencies: 2032 | deep-equal: 2.2.3 2033 | 2034 | array-buffer-byte-length@1.0.1: 2035 | dependencies: 2036 | call-bind: 1.0.7 2037 | is-array-buffer: 3.0.4 2038 | 2039 | array-includes@3.1.8: 2040 | dependencies: 2041 | call-bind: 1.0.7 2042 | define-properties: 1.2.1 2043 | es-abstract: 1.23.3 2044 | es-object-atoms: 1.0.0 2045 | get-intrinsic: 1.2.4 2046 | is-string: 1.0.7 2047 | 2048 | array.prototype.findlast@1.2.5: 2049 | dependencies: 2050 | call-bind: 1.0.7 2051 | define-properties: 1.2.1 2052 | es-abstract: 1.23.3 2053 | es-errors: 1.3.0 2054 | es-object-atoms: 1.0.0 2055 | es-shim-unscopables: 1.0.2 2056 | 2057 | array.prototype.findlastindex@1.2.5: 2058 | dependencies: 2059 | call-bind: 1.0.7 2060 | define-properties: 1.2.1 2061 | es-abstract: 1.23.3 2062 | es-errors: 1.3.0 2063 | es-object-atoms: 1.0.0 2064 | es-shim-unscopables: 1.0.2 2065 | 2066 | array.prototype.flat@1.3.2: 2067 | dependencies: 2068 | call-bind: 1.0.7 2069 | define-properties: 1.2.1 2070 | es-abstract: 1.23.3 2071 | es-shim-unscopables: 1.0.2 2072 | 2073 | array.prototype.flatmap@1.3.2: 2074 | dependencies: 2075 | call-bind: 1.0.7 2076 | define-properties: 1.2.1 2077 | es-abstract: 1.23.3 2078 | es-shim-unscopables: 1.0.2 2079 | 2080 | array.prototype.tosorted@1.1.4: 2081 | dependencies: 2082 | call-bind: 1.0.7 2083 | define-properties: 1.2.1 2084 | es-abstract: 1.23.3 2085 | es-errors: 1.3.0 2086 | es-shim-unscopables: 1.0.2 2087 | 2088 | arraybuffer.prototype.slice@1.0.3: 2089 | dependencies: 2090 | array-buffer-byte-length: 1.0.1 2091 | call-bind: 1.0.7 2092 | define-properties: 1.2.1 2093 | es-abstract: 1.23.3 2094 | es-errors: 1.3.0 2095 | get-intrinsic: 1.2.4 2096 | is-array-buffer: 3.0.4 2097 | is-shared-array-buffer: 1.0.3 2098 | 2099 | ast-types-flow@0.0.8: {} 2100 | 2101 | available-typed-arrays@1.0.7: 2102 | dependencies: 2103 | possible-typed-array-names: 1.0.0 2104 | 2105 | axe-core@4.10.0: {} 2106 | 2107 | axobject-query@4.1.0: {} 2108 | 2109 | balanced-match@1.0.2: {} 2110 | 2111 | binary-extensions@2.3.0: {} 2112 | 2113 | brace-expansion@1.1.11: 2114 | dependencies: 2115 | balanced-match: 1.0.2 2116 | concat-map: 0.0.1 2117 | 2118 | brace-expansion@2.0.1: 2119 | dependencies: 2120 | balanced-match: 1.0.2 2121 | 2122 | braces@3.0.3: 2123 | dependencies: 2124 | fill-range: 7.1.1 2125 | 2126 | busboy@1.6.0: 2127 | dependencies: 2128 | streamsearch: 1.1.0 2129 | 2130 | call-bind@1.0.7: 2131 | dependencies: 2132 | es-define-property: 1.0.0 2133 | es-errors: 1.3.0 2134 | function-bind: 1.1.2 2135 | get-intrinsic: 1.2.4 2136 | set-function-length: 1.2.2 2137 | 2138 | callsites@3.1.0: {} 2139 | 2140 | camelcase-css@2.0.1: {} 2141 | 2142 | caniuse-lite@1.0.30001667: {} 2143 | 2144 | chalk@4.1.2: 2145 | dependencies: 2146 | ansi-styles: 4.3.0 2147 | supports-color: 7.2.0 2148 | 2149 | chokidar@3.6.0: 2150 | dependencies: 2151 | anymatch: 3.1.3 2152 | braces: 3.0.3 2153 | glob-parent: 5.1.2 2154 | is-binary-path: 2.1.0 2155 | is-glob: 4.0.3 2156 | normalize-path: 3.0.0 2157 | readdirp: 3.6.0 2158 | optionalDependencies: 2159 | fsevents: 2.3.3 2160 | 2161 | client-only@0.0.1: {} 2162 | 2163 | clsx@2.1.1: {} 2164 | 2165 | color-convert@2.0.1: 2166 | dependencies: 2167 | color-name: 1.1.4 2168 | 2169 | color-name@1.1.4: {} 2170 | 2171 | commander@4.1.1: {} 2172 | 2173 | concat-map@0.0.1: {} 2174 | 2175 | cross-spawn@7.0.3: 2176 | dependencies: 2177 | path-key: 3.1.1 2178 | shebang-command: 2.0.0 2179 | which: 2.0.2 2180 | 2181 | cssesc@3.0.0: {} 2182 | 2183 | csstype@3.1.3: {} 2184 | 2185 | damerau-levenshtein@1.0.8: {} 2186 | 2187 | data-view-buffer@1.0.1: 2188 | dependencies: 2189 | call-bind: 1.0.7 2190 | es-errors: 1.3.0 2191 | is-data-view: 1.0.1 2192 | 2193 | data-view-byte-length@1.0.1: 2194 | dependencies: 2195 | call-bind: 1.0.7 2196 | es-errors: 1.3.0 2197 | is-data-view: 1.0.1 2198 | 2199 | data-view-byte-offset@1.0.0: 2200 | dependencies: 2201 | call-bind: 1.0.7 2202 | es-errors: 1.3.0 2203 | is-data-view: 1.0.1 2204 | 2205 | debug@3.2.7: 2206 | dependencies: 2207 | ms: 2.1.3 2208 | 2209 | debug@4.3.7: 2210 | dependencies: 2211 | ms: 2.1.3 2212 | 2213 | deep-equal@2.2.3: 2214 | dependencies: 2215 | array-buffer-byte-length: 1.0.1 2216 | call-bind: 1.0.7 2217 | es-get-iterator: 1.1.3 2218 | get-intrinsic: 1.2.4 2219 | is-arguments: 1.1.1 2220 | is-array-buffer: 3.0.4 2221 | is-date-object: 1.0.5 2222 | is-regex: 1.1.4 2223 | is-shared-array-buffer: 1.0.3 2224 | isarray: 2.0.5 2225 | object-is: 1.1.6 2226 | object-keys: 1.1.1 2227 | object.assign: 4.1.5 2228 | regexp.prototype.flags: 1.5.3 2229 | side-channel: 1.0.6 2230 | which-boxed-primitive: 1.0.2 2231 | which-collection: 1.0.2 2232 | which-typed-array: 1.1.15 2233 | 2234 | deep-is@0.1.4: {} 2235 | 2236 | define-data-property@1.1.4: 2237 | dependencies: 2238 | es-define-property: 1.0.0 2239 | es-errors: 1.3.0 2240 | gopd: 1.0.1 2241 | 2242 | define-properties@1.2.1: 2243 | dependencies: 2244 | define-data-property: 1.1.4 2245 | has-property-descriptors: 1.0.2 2246 | object-keys: 1.1.1 2247 | 2248 | didyoumean@1.2.2: {} 2249 | 2250 | dlv@1.1.3: {} 2251 | 2252 | doctrine@2.1.0: 2253 | dependencies: 2254 | esutils: 2.0.3 2255 | 2256 | doctrine@3.0.0: 2257 | dependencies: 2258 | esutils: 2.0.3 2259 | 2260 | eastasianwidth@0.2.0: {} 2261 | 2262 | emoji-regex@8.0.0: {} 2263 | 2264 | emoji-regex@9.2.2: {} 2265 | 2266 | engine.io-client@6.6.1: 2267 | dependencies: 2268 | '@socket.io/component-emitter': 3.1.2 2269 | debug: 4.3.7 2270 | engine.io-parser: 5.2.3 2271 | ws: 8.17.1 2272 | xmlhttprequest-ssl: 2.1.1 2273 | transitivePeerDependencies: 2274 | - bufferutil 2275 | - supports-color 2276 | - utf-8-validate 2277 | 2278 | engine.io-parser@5.2.3: {} 2279 | 2280 | enhanced-resolve@5.17.1: 2281 | dependencies: 2282 | graceful-fs: 4.2.11 2283 | tapable: 2.2.1 2284 | 2285 | es-abstract@1.23.3: 2286 | dependencies: 2287 | array-buffer-byte-length: 1.0.1 2288 | arraybuffer.prototype.slice: 1.0.3 2289 | available-typed-arrays: 1.0.7 2290 | call-bind: 1.0.7 2291 | data-view-buffer: 1.0.1 2292 | data-view-byte-length: 1.0.1 2293 | data-view-byte-offset: 1.0.0 2294 | es-define-property: 1.0.0 2295 | es-errors: 1.3.0 2296 | es-object-atoms: 1.0.0 2297 | es-set-tostringtag: 2.0.3 2298 | es-to-primitive: 1.2.1 2299 | function.prototype.name: 1.1.6 2300 | get-intrinsic: 1.2.4 2301 | get-symbol-description: 1.0.2 2302 | globalthis: 1.0.4 2303 | gopd: 1.0.1 2304 | has-property-descriptors: 1.0.2 2305 | has-proto: 1.0.3 2306 | has-symbols: 1.0.3 2307 | hasown: 2.0.2 2308 | internal-slot: 1.0.7 2309 | is-array-buffer: 3.0.4 2310 | is-callable: 1.2.7 2311 | is-data-view: 1.0.1 2312 | is-negative-zero: 2.0.3 2313 | is-regex: 1.1.4 2314 | is-shared-array-buffer: 1.0.3 2315 | is-string: 1.0.7 2316 | is-typed-array: 1.1.13 2317 | is-weakref: 1.0.2 2318 | object-inspect: 1.13.2 2319 | object-keys: 1.1.1 2320 | object.assign: 4.1.5 2321 | regexp.prototype.flags: 1.5.3 2322 | safe-array-concat: 1.1.2 2323 | safe-regex-test: 1.0.3 2324 | string.prototype.trim: 1.2.9 2325 | string.prototype.trimend: 1.0.8 2326 | string.prototype.trimstart: 1.0.8 2327 | typed-array-buffer: 1.0.2 2328 | typed-array-byte-length: 1.0.1 2329 | typed-array-byte-offset: 1.0.2 2330 | typed-array-length: 1.0.6 2331 | unbox-primitive: 1.0.2 2332 | which-typed-array: 1.1.15 2333 | 2334 | es-define-property@1.0.0: 2335 | dependencies: 2336 | get-intrinsic: 1.2.4 2337 | 2338 | es-errors@1.3.0: {} 2339 | 2340 | es-get-iterator@1.1.3: 2341 | dependencies: 2342 | call-bind: 1.0.7 2343 | get-intrinsic: 1.2.4 2344 | has-symbols: 1.0.3 2345 | is-arguments: 1.1.1 2346 | is-map: 2.0.3 2347 | is-set: 2.0.3 2348 | is-string: 1.0.7 2349 | isarray: 2.0.5 2350 | stop-iteration-iterator: 1.0.0 2351 | 2352 | es-iterator-helpers@1.1.0: 2353 | dependencies: 2354 | call-bind: 1.0.7 2355 | define-properties: 1.2.1 2356 | es-abstract: 1.23.3 2357 | es-errors: 1.3.0 2358 | es-set-tostringtag: 2.0.3 2359 | function-bind: 1.1.2 2360 | get-intrinsic: 1.2.4 2361 | globalthis: 1.0.4 2362 | has-property-descriptors: 1.0.2 2363 | has-proto: 1.0.3 2364 | has-symbols: 1.0.3 2365 | internal-slot: 1.0.7 2366 | iterator.prototype: 1.1.3 2367 | safe-array-concat: 1.1.2 2368 | 2369 | es-object-atoms@1.0.0: 2370 | dependencies: 2371 | es-errors: 1.3.0 2372 | 2373 | es-set-tostringtag@2.0.3: 2374 | dependencies: 2375 | get-intrinsic: 1.2.4 2376 | has-tostringtag: 1.0.2 2377 | hasown: 2.0.2 2378 | 2379 | es-shim-unscopables@1.0.2: 2380 | dependencies: 2381 | hasown: 2.0.2 2382 | 2383 | es-to-primitive@1.2.1: 2384 | dependencies: 2385 | is-callable: 1.2.7 2386 | is-date-object: 1.0.5 2387 | is-symbol: 1.0.4 2388 | 2389 | escape-string-regexp@4.0.0: {} 2390 | 2391 | eslint-config-next@14.2.15(eslint@8.57.1)(typescript@5.6.3): 2392 | dependencies: 2393 | '@next/eslint-plugin-next': 14.2.15 2394 | '@rushstack/eslint-patch': 1.10.4 2395 | '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) 2396 | '@typescript-eslint/parser': 8.8.1(eslint@8.57.1)(typescript@5.6.3) 2397 | eslint: 8.57.1 2398 | eslint-import-resolver-node: 0.3.9 2399 | eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) 2400 | eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) 2401 | eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) 2402 | eslint-plugin-react: 7.37.1(eslint@8.57.1) 2403 | eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) 2404 | optionalDependencies: 2405 | typescript: 5.6.3 2406 | transitivePeerDependencies: 2407 | - eslint-import-resolver-webpack 2408 | - eslint-plugin-import-x 2409 | - supports-color 2410 | 2411 | eslint-import-resolver-node@0.3.9: 2412 | dependencies: 2413 | debug: 3.2.7 2414 | is-core-module: 2.15.1 2415 | resolve: 1.22.8 2416 | transitivePeerDependencies: 2417 | - supports-color 2418 | 2419 | eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1): 2420 | dependencies: 2421 | '@nolyfill/is-core-module': 1.0.39 2422 | debug: 4.3.7 2423 | enhanced-resolve: 5.17.1 2424 | eslint: 8.57.1 2425 | eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) 2426 | fast-glob: 3.3.2 2427 | get-tsconfig: 4.8.1 2428 | is-bun-module: 1.2.1 2429 | is-glob: 4.0.3 2430 | optionalDependencies: 2431 | eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) 2432 | transitivePeerDependencies: 2433 | - '@typescript-eslint/parser' 2434 | - eslint-import-resolver-node 2435 | - eslint-import-resolver-webpack 2436 | - supports-color 2437 | 2438 | eslint-module-utils@2.12.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): 2439 | dependencies: 2440 | debug: 3.2.7 2441 | optionalDependencies: 2442 | '@typescript-eslint/parser': 8.8.1(eslint@8.57.1)(typescript@5.6.3) 2443 | eslint: 8.57.1 2444 | eslint-import-resolver-node: 0.3.9 2445 | eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) 2446 | transitivePeerDependencies: 2447 | - supports-color 2448 | 2449 | eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): 2450 | dependencies: 2451 | '@rtsao/scc': 1.1.0 2452 | array-includes: 3.1.8 2453 | array.prototype.findlastindex: 1.2.5 2454 | array.prototype.flat: 1.3.2 2455 | array.prototype.flatmap: 1.3.2 2456 | debug: 3.2.7 2457 | doctrine: 2.1.0 2458 | eslint: 8.57.1 2459 | eslint-import-resolver-node: 0.3.9 2460 | eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) 2461 | hasown: 2.0.2 2462 | is-core-module: 2.15.1 2463 | is-glob: 4.0.3 2464 | minimatch: 3.1.2 2465 | object.fromentries: 2.0.8 2466 | object.groupby: 1.0.3 2467 | object.values: 1.2.0 2468 | semver: 6.3.1 2469 | string.prototype.trimend: 1.0.8 2470 | tsconfig-paths: 3.15.0 2471 | optionalDependencies: 2472 | '@typescript-eslint/parser': 8.8.1(eslint@8.57.1)(typescript@5.6.3) 2473 | transitivePeerDependencies: 2474 | - eslint-import-resolver-typescript 2475 | - eslint-import-resolver-webpack 2476 | - supports-color 2477 | 2478 | eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): 2479 | dependencies: 2480 | aria-query: 5.1.3 2481 | array-includes: 3.1.8 2482 | array.prototype.flatmap: 1.3.2 2483 | ast-types-flow: 0.0.8 2484 | axe-core: 4.10.0 2485 | axobject-query: 4.1.0 2486 | damerau-levenshtein: 1.0.8 2487 | emoji-regex: 9.2.2 2488 | es-iterator-helpers: 1.1.0 2489 | eslint: 8.57.1 2490 | hasown: 2.0.2 2491 | jsx-ast-utils: 3.3.5 2492 | language-tags: 1.0.9 2493 | minimatch: 3.1.2 2494 | object.fromentries: 2.0.8 2495 | safe-regex-test: 1.0.3 2496 | string.prototype.includes: 2.0.0 2497 | 2498 | eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): 2499 | dependencies: 2500 | eslint: 8.57.1 2501 | 2502 | eslint-plugin-react@7.37.1(eslint@8.57.1): 2503 | dependencies: 2504 | array-includes: 3.1.8 2505 | array.prototype.findlast: 1.2.5 2506 | array.prototype.flatmap: 1.3.2 2507 | array.prototype.tosorted: 1.1.4 2508 | doctrine: 2.1.0 2509 | es-iterator-helpers: 1.1.0 2510 | eslint: 8.57.1 2511 | estraverse: 5.3.0 2512 | hasown: 2.0.2 2513 | jsx-ast-utils: 3.3.5 2514 | minimatch: 3.1.2 2515 | object.entries: 1.1.8 2516 | object.fromentries: 2.0.8 2517 | object.values: 1.2.0 2518 | prop-types: 15.8.1 2519 | resolve: 2.0.0-next.5 2520 | semver: 6.3.1 2521 | string.prototype.matchall: 4.0.11 2522 | string.prototype.repeat: 1.0.0 2523 | 2524 | eslint-scope@7.2.2: 2525 | dependencies: 2526 | esrecurse: 4.3.0 2527 | estraverse: 5.3.0 2528 | 2529 | eslint-visitor-keys@3.4.3: {} 2530 | 2531 | eslint@8.57.1: 2532 | dependencies: 2533 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) 2534 | '@eslint-community/regexpp': 4.11.1 2535 | '@eslint/eslintrc': 2.1.4 2536 | '@eslint/js': 8.57.1 2537 | '@humanwhocodes/config-array': 0.13.0 2538 | '@humanwhocodes/module-importer': 1.0.1 2539 | '@nodelib/fs.walk': 1.2.8 2540 | '@ungap/structured-clone': 1.2.0 2541 | ajv: 6.12.6 2542 | chalk: 4.1.2 2543 | cross-spawn: 7.0.3 2544 | debug: 4.3.7 2545 | doctrine: 3.0.0 2546 | escape-string-regexp: 4.0.0 2547 | eslint-scope: 7.2.2 2548 | eslint-visitor-keys: 3.4.3 2549 | espree: 9.6.1 2550 | esquery: 1.6.0 2551 | esutils: 2.0.3 2552 | fast-deep-equal: 3.1.3 2553 | file-entry-cache: 6.0.1 2554 | find-up: 5.0.0 2555 | glob-parent: 6.0.2 2556 | globals: 13.24.0 2557 | graphemer: 1.4.0 2558 | ignore: 5.3.2 2559 | imurmurhash: 0.1.4 2560 | is-glob: 4.0.3 2561 | is-path-inside: 3.0.3 2562 | js-yaml: 4.1.0 2563 | json-stable-stringify-without-jsonify: 1.0.1 2564 | levn: 0.4.1 2565 | lodash.merge: 4.6.2 2566 | minimatch: 3.1.2 2567 | natural-compare: 1.4.0 2568 | optionator: 0.9.4 2569 | strip-ansi: 6.0.1 2570 | text-table: 0.2.0 2571 | transitivePeerDependencies: 2572 | - supports-color 2573 | 2574 | espree@9.6.1: 2575 | dependencies: 2576 | acorn: 8.12.1 2577 | acorn-jsx: 5.3.2(acorn@8.12.1) 2578 | eslint-visitor-keys: 3.4.3 2579 | 2580 | esquery@1.6.0: 2581 | dependencies: 2582 | estraverse: 5.3.0 2583 | 2584 | esrecurse@4.3.0: 2585 | dependencies: 2586 | estraverse: 5.3.0 2587 | 2588 | estraverse@5.3.0: {} 2589 | 2590 | esutils@2.0.3: {} 2591 | 2592 | fast-deep-equal@3.1.3: {} 2593 | 2594 | fast-glob@3.3.2: 2595 | dependencies: 2596 | '@nodelib/fs.stat': 2.0.5 2597 | '@nodelib/fs.walk': 1.2.8 2598 | glob-parent: 5.1.2 2599 | merge2: 1.4.1 2600 | micromatch: 4.0.8 2601 | 2602 | fast-json-stable-stringify@2.1.0: {} 2603 | 2604 | fast-levenshtein@2.0.6: {} 2605 | 2606 | fastq@1.17.1: 2607 | dependencies: 2608 | reusify: 1.0.4 2609 | 2610 | file-entry-cache@6.0.1: 2611 | dependencies: 2612 | flat-cache: 3.2.0 2613 | 2614 | fill-range@7.1.1: 2615 | dependencies: 2616 | to-regex-range: 5.0.1 2617 | 2618 | find-up@5.0.0: 2619 | dependencies: 2620 | locate-path: 6.0.0 2621 | path-exists: 4.0.0 2622 | 2623 | flat-cache@3.2.0: 2624 | dependencies: 2625 | flatted: 3.3.1 2626 | keyv: 4.5.4 2627 | rimraf: 3.0.2 2628 | 2629 | flatted@3.3.1: {} 2630 | 2631 | for-each@0.3.3: 2632 | dependencies: 2633 | is-callable: 1.2.7 2634 | 2635 | foreground-child@3.3.0: 2636 | dependencies: 2637 | cross-spawn: 7.0.3 2638 | signal-exit: 4.1.0 2639 | 2640 | fs.realpath@1.0.0: {} 2641 | 2642 | fsevents@2.3.3: 2643 | optional: true 2644 | 2645 | function-bind@1.1.2: {} 2646 | 2647 | function.prototype.name@1.1.6: 2648 | dependencies: 2649 | call-bind: 1.0.7 2650 | define-properties: 1.2.1 2651 | es-abstract: 1.23.3 2652 | functions-have-names: 1.2.3 2653 | 2654 | functions-have-names@1.2.3: {} 2655 | 2656 | get-intrinsic@1.2.4: 2657 | dependencies: 2658 | es-errors: 1.3.0 2659 | function-bind: 1.1.2 2660 | has-proto: 1.0.3 2661 | has-symbols: 1.0.3 2662 | hasown: 2.0.2 2663 | 2664 | get-symbol-description@1.0.2: 2665 | dependencies: 2666 | call-bind: 1.0.7 2667 | es-errors: 1.3.0 2668 | get-intrinsic: 1.2.4 2669 | 2670 | get-tsconfig@4.8.1: 2671 | dependencies: 2672 | resolve-pkg-maps: 1.0.0 2673 | 2674 | glob-parent@5.1.2: 2675 | dependencies: 2676 | is-glob: 4.0.3 2677 | 2678 | glob-parent@6.0.2: 2679 | dependencies: 2680 | is-glob: 4.0.3 2681 | 2682 | glob@10.3.10: 2683 | dependencies: 2684 | foreground-child: 3.3.0 2685 | jackspeak: 2.3.6 2686 | minimatch: 9.0.5 2687 | minipass: 7.1.2 2688 | path-scurry: 1.11.1 2689 | 2690 | glob@10.4.5: 2691 | dependencies: 2692 | foreground-child: 3.3.0 2693 | jackspeak: 3.4.3 2694 | minimatch: 9.0.5 2695 | minipass: 7.1.2 2696 | package-json-from-dist: 1.0.1 2697 | path-scurry: 1.11.1 2698 | 2699 | glob@7.2.3: 2700 | dependencies: 2701 | fs.realpath: 1.0.0 2702 | inflight: 1.0.6 2703 | inherits: 2.0.4 2704 | minimatch: 3.1.2 2705 | once: 1.4.0 2706 | path-is-absolute: 1.0.1 2707 | 2708 | globals@13.24.0: 2709 | dependencies: 2710 | type-fest: 0.20.2 2711 | 2712 | globalthis@1.0.4: 2713 | dependencies: 2714 | define-properties: 1.2.1 2715 | gopd: 1.0.1 2716 | 2717 | gopd@1.0.1: 2718 | dependencies: 2719 | get-intrinsic: 1.2.4 2720 | 2721 | graceful-fs@4.2.11: {} 2722 | 2723 | graphemer@1.4.0: {} 2724 | 2725 | has-bigints@1.0.2: {} 2726 | 2727 | has-flag@4.0.0: {} 2728 | 2729 | has-property-descriptors@1.0.2: 2730 | dependencies: 2731 | es-define-property: 1.0.0 2732 | 2733 | has-proto@1.0.3: {} 2734 | 2735 | has-symbols@1.0.3: {} 2736 | 2737 | has-tostringtag@1.0.2: 2738 | dependencies: 2739 | has-symbols: 1.0.3 2740 | 2741 | hasown@2.0.2: 2742 | dependencies: 2743 | function-bind: 1.1.2 2744 | 2745 | ignore@5.3.2: {} 2746 | 2747 | import-fresh@3.3.0: 2748 | dependencies: 2749 | parent-module: 1.0.1 2750 | resolve-from: 4.0.0 2751 | 2752 | imurmurhash@0.1.4: {} 2753 | 2754 | inflight@1.0.6: 2755 | dependencies: 2756 | once: 1.4.0 2757 | wrappy: 1.0.2 2758 | 2759 | inherits@2.0.4: {} 2760 | 2761 | internal-slot@1.0.7: 2762 | dependencies: 2763 | es-errors: 1.3.0 2764 | hasown: 2.0.2 2765 | side-channel: 1.0.6 2766 | 2767 | is-arguments@1.1.1: 2768 | dependencies: 2769 | call-bind: 1.0.7 2770 | has-tostringtag: 1.0.2 2771 | 2772 | is-array-buffer@3.0.4: 2773 | dependencies: 2774 | call-bind: 1.0.7 2775 | get-intrinsic: 1.2.4 2776 | 2777 | is-async-function@2.0.0: 2778 | dependencies: 2779 | has-tostringtag: 1.0.2 2780 | 2781 | is-bigint@1.0.4: 2782 | dependencies: 2783 | has-bigints: 1.0.2 2784 | 2785 | is-binary-path@2.1.0: 2786 | dependencies: 2787 | binary-extensions: 2.3.0 2788 | 2789 | is-boolean-object@1.1.2: 2790 | dependencies: 2791 | call-bind: 1.0.7 2792 | has-tostringtag: 1.0.2 2793 | 2794 | is-bun-module@1.2.1: 2795 | dependencies: 2796 | semver: 7.6.3 2797 | 2798 | is-callable@1.2.7: {} 2799 | 2800 | is-core-module@2.15.1: 2801 | dependencies: 2802 | hasown: 2.0.2 2803 | 2804 | is-data-view@1.0.1: 2805 | dependencies: 2806 | is-typed-array: 1.1.13 2807 | 2808 | is-date-object@1.0.5: 2809 | dependencies: 2810 | has-tostringtag: 1.0.2 2811 | 2812 | is-extglob@2.1.1: {} 2813 | 2814 | is-finalizationregistry@1.0.2: 2815 | dependencies: 2816 | call-bind: 1.0.7 2817 | 2818 | is-fullwidth-code-point@3.0.0: {} 2819 | 2820 | is-generator-function@1.0.10: 2821 | dependencies: 2822 | has-tostringtag: 1.0.2 2823 | 2824 | is-glob@4.0.3: 2825 | dependencies: 2826 | is-extglob: 2.1.1 2827 | 2828 | is-map@2.0.3: {} 2829 | 2830 | is-negative-zero@2.0.3: {} 2831 | 2832 | is-number-object@1.0.7: 2833 | dependencies: 2834 | has-tostringtag: 1.0.2 2835 | 2836 | is-number@7.0.0: {} 2837 | 2838 | is-path-inside@3.0.3: {} 2839 | 2840 | is-regex@1.1.4: 2841 | dependencies: 2842 | call-bind: 1.0.7 2843 | has-tostringtag: 1.0.2 2844 | 2845 | is-set@2.0.3: {} 2846 | 2847 | is-shared-array-buffer@1.0.3: 2848 | dependencies: 2849 | call-bind: 1.0.7 2850 | 2851 | is-string@1.0.7: 2852 | dependencies: 2853 | has-tostringtag: 1.0.2 2854 | 2855 | is-symbol@1.0.4: 2856 | dependencies: 2857 | has-symbols: 1.0.3 2858 | 2859 | is-typed-array@1.1.13: 2860 | dependencies: 2861 | which-typed-array: 1.1.15 2862 | 2863 | is-weakmap@2.0.2: {} 2864 | 2865 | is-weakref@1.0.2: 2866 | dependencies: 2867 | call-bind: 1.0.7 2868 | 2869 | is-weakset@2.0.3: 2870 | dependencies: 2871 | call-bind: 1.0.7 2872 | get-intrinsic: 1.2.4 2873 | 2874 | isarray@2.0.5: {} 2875 | 2876 | isexe@2.0.0: {} 2877 | 2878 | iterator.prototype@1.1.3: 2879 | dependencies: 2880 | define-properties: 1.2.1 2881 | get-intrinsic: 1.2.4 2882 | has-symbols: 1.0.3 2883 | reflect.getprototypeof: 1.0.6 2884 | set-function-name: 2.0.2 2885 | 2886 | jackspeak@2.3.6: 2887 | dependencies: 2888 | '@isaacs/cliui': 8.0.2 2889 | optionalDependencies: 2890 | '@pkgjs/parseargs': 0.11.0 2891 | 2892 | jackspeak@3.4.3: 2893 | dependencies: 2894 | '@isaacs/cliui': 8.0.2 2895 | optionalDependencies: 2896 | '@pkgjs/parseargs': 0.11.0 2897 | 2898 | jiti@1.21.6: {} 2899 | 2900 | js-tokens@4.0.0: {} 2901 | 2902 | js-yaml@4.1.0: 2903 | dependencies: 2904 | argparse: 2.0.1 2905 | 2906 | json-buffer@3.0.1: {} 2907 | 2908 | json-schema-traverse@0.4.1: {} 2909 | 2910 | json-stable-stringify-without-jsonify@1.0.1: {} 2911 | 2912 | json5@1.0.2: 2913 | dependencies: 2914 | minimist: 1.2.8 2915 | 2916 | jsx-ast-utils@3.3.5: 2917 | dependencies: 2918 | array-includes: 3.1.8 2919 | array.prototype.flat: 1.3.2 2920 | object.assign: 4.1.5 2921 | object.values: 1.2.0 2922 | 2923 | keyv@4.5.4: 2924 | dependencies: 2925 | json-buffer: 3.0.1 2926 | 2927 | language-subtag-registry@0.3.23: {} 2928 | 2929 | language-tags@1.0.9: 2930 | dependencies: 2931 | language-subtag-registry: 0.3.23 2932 | 2933 | levn@0.4.1: 2934 | dependencies: 2935 | prelude-ls: 1.2.1 2936 | type-check: 0.4.0 2937 | 2938 | lilconfig@2.1.0: {} 2939 | 2940 | lilconfig@3.1.2: {} 2941 | 2942 | lines-and-columns@1.2.4: {} 2943 | 2944 | locate-path@6.0.0: 2945 | dependencies: 2946 | p-locate: 5.0.0 2947 | 2948 | lodash.merge@4.6.2: {} 2949 | 2950 | loose-envify@1.4.0: 2951 | dependencies: 2952 | js-tokens: 4.0.0 2953 | 2954 | lru-cache@10.4.3: {} 2955 | 2956 | merge2@1.4.1: {} 2957 | 2958 | micromatch@4.0.8: 2959 | dependencies: 2960 | braces: 3.0.3 2961 | picomatch: 2.3.1 2962 | 2963 | minimatch@3.1.2: 2964 | dependencies: 2965 | brace-expansion: 1.1.11 2966 | 2967 | minimatch@9.0.5: 2968 | dependencies: 2969 | brace-expansion: 2.0.1 2970 | 2971 | minimist@1.2.8: {} 2972 | 2973 | minipass@7.1.2: {} 2974 | 2975 | ms@2.1.3: {} 2976 | 2977 | mz@2.7.0: 2978 | dependencies: 2979 | any-promise: 1.3.0 2980 | object-assign: 4.1.1 2981 | thenify-all: 1.6.0 2982 | 2983 | nanoid@3.3.7: {} 2984 | 2985 | natural-compare@1.4.0: {} 2986 | 2987 | next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1): 2988 | dependencies: 2989 | '@next/env': 14.2.15 2990 | '@swc/helpers': 0.5.5 2991 | busboy: 1.6.0 2992 | caniuse-lite: 1.0.30001667 2993 | graceful-fs: 4.2.11 2994 | postcss: 8.4.31 2995 | react: 18.3.1 2996 | react-dom: 18.3.1(react@18.3.1) 2997 | styled-jsx: 5.1.1(react@18.3.1) 2998 | optionalDependencies: 2999 | '@next/swc-darwin-arm64': 14.2.15 3000 | '@next/swc-darwin-x64': 14.2.15 3001 | '@next/swc-linux-arm64-gnu': 14.2.15 3002 | '@next/swc-linux-arm64-musl': 14.2.15 3003 | '@next/swc-linux-x64-gnu': 14.2.15 3004 | '@next/swc-linux-x64-musl': 14.2.15 3005 | '@next/swc-win32-arm64-msvc': 14.2.15 3006 | '@next/swc-win32-ia32-msvc': 14.2.15 3007 | '@next/swc-win32-x64-msvc': 14.2.15 3008 | transitivePeerDependencies: 3009 | - '@babel/core' 3010 | - babel-plugin-macros 3011 | 3012 | normalize-path@3.0.0: {} 3013 | 3014 | object-assign@4.1.1: {} 3015 | 3016 | object-hash@3.0.0: {} 3017 | 3018 | object-inspect@1.13.2: {} 3019 | 3020 | object-is@1.1.6: 3021 | dependencies: 3022 | call-bind: 1.0.7 3023 | define-properties: 1.2.1 3024 | 3025 | object-keys@1.1.1: {} 3026 | 3027 | object.assign@4.1.5: 3028 | dependencies: 3029 | call-bind: 1.0.7 3030 | define-properties: 1.2.1 3031 | has-symbols: 1.0.3 3032 | object-keys: 1.1.1 3033 | 3034 | object.entries@1.1.8: 3035 | dependencies: 3036 | call-bind: 1.0.7 3037 | define-properties: 1.2.1 3038 | es-object-atoms: 1.0.0 3039 | 3040 | object.fromentries@2.0.8: 3041 | dependencies: 3042 | call-bind: 1.0.7 3043 | define-properties: 1.2.1 3044 | es-abstract: 1.23.3 3045 | es-object-atoms: 1.0.0 3046 | 3047 | object.groupby@1.0.3: 3048 | dependencies: 3049 | call-bind: 1.0.7 3050 | define-properties: 1.2.1 3051 | es-abstract: 1.23.3 3052 | 3053 | object.values@1.2.0: 3054 | dependencies: 3055 | call-bind: 1.0.7 3056 | define-properties: 1.2.1 3057 | es-object-atoms: 1.0.0 3058 | 3059 | once@1.4.0: 3060 | dependencies: 3061 | wrappy: 1.0.2 3062 | 3063 | optionator@0.9.4: 3064 | dependencies: 3065 | deep-is: 0.1.4 3066 | fast-levenshtein: 2.0.6 3067 | levn: 0.4.1 3068 | prelude-ls: 1.2.1 3069 | type-check: 0.4.0 3070 | word-wrap: 1.2.5 3071 | 3072 | p-limit@3.1.0: 3073 | dependencies: 3074 | yocto-queue: 0.1.0 3075 | 3076 | p-locate@5.0.0: 3077 | dependencies: 3078 | p-limit: 3.1.0 3079 | 3080 | package-json-from-dist@1.0.1: {} 3081 | 3082 | parent-module@1.0.1: 3083 | dependencies: 3084 | callsites: 3.1.0 3085 | 3086 | path-exists@4.0.0: {} 3087 | 3088 | path-is-absolute@1.0.1: {} 3089 | 3090 | path-key@3.1.1: {} 3091 | 3092 | path-parse@1.0.7: {} 3093 | 3094 | path-scurry@1.11.1: 3095 | dependencies: 3096 | lru-cache: 10.4.3 3097 | minipass: 7.1.2 3098 | 3099 | picocolors@1.1.0: {} 3100 | 3101 | picomatch@2.3.1: {} 3102 | 3103 | pify@2.3.0: {} 3104 | 3105 | pirates@4.0.6: {} 3106 | 3107 | possible-typed-array-names@1.0.0: {} 3108 | 3109 | postcss-import@15.1.0(postcss@8.4.47): 3110 | dependencies: 3111 | postcss: 8.4.47 3112 | postcss-value-parser: 4.2.0 3113 | read-cache: 1.0.0 3114 | resolve: 1.22.8 3115 | 3116 | postcss-js@4.0.1(postcss@8.4.47): 3117 | dependencies: 3118 | camelcase-css: 2.0.1 3119 | postcss: 8.4.47 3120 | 3121 | postcss-load-config@4.0.2(postcss@8.4.47): 3122 | dependencies: 3123 | lilconfig: 3.1.2 3124 | yaml: 2.5.1 3125 | optionalDependencies: 3126 | postcss: 8.4.47 3127 | 3128 | postcss-nested@6.2.0(postcss@8.4.47): 3129 | dependencies: 3130 | postcss: 8.4.47 3131 | postcss-selector-parser: 6.1.2 3132 | 3133 | postcss-selector-parser@6.1.2: 3134 | dependencies: 3135 | cssesc: 3.0.0 3136 | util-deprecate: 1.0.2 3137 | 3138 | postcss-value-parser@4.2.0: {} 3139 | 3140 | postcss@8.4.31: 3141 | dependencies: 3142 | nanoid: 3.3.7 3143 | picocolors: 1.1.0 3144 | source-map-js: 1.2.1 3145 | 3146 | postcss@8.4.47: 3147 | dependencies: 3148 | nanoid: 3.3.7 3149 | picocolors: 1.1.0 3150 | source-map-js: 1.2.1 3151 | 3152 | prelude-ls@1.2.1: {} 3153 | 3154 | prop-types@15.8.1: 3155 | dependencies: 3156 | loose-envify: 1.4.0 3157 | object-assign: 4.1.1 3158 | react-is: 16.13.1 3159 | 3160 | punycode@2.3.1: {} 3161 | 3162 | queue-microtask@1.2.3: {} 3163 | 3164 | react-dom@18.3.1(react@18.3.1): 3165 | dependencies: 3166 | loose-envify: 1.4.0 3167 | react: 18.3.1 3168 | scheduler: 0.23.2 3169 | 3170 | react-hook-form@7.53.0(react@18.3.1): 3171 | dependencies: 3172 | react: 18.3.1 3173 | 3174 | react-icons@5.3.0(react@18.3.1): 3175 | dependencies: 3176 | react: 18.3.1 3177 | 3178 | react-is@16.13.1: {} 3179 | 3180 | react@18.3.1: 3181 | dependencies: 3182 | loose-envify: 1.4.0 3183 | 3184 | read-cache@1.0.0: 3185 | dependencies: 3186 | pify: 2.3.0 3187 | 3188 | readdirp@3.6.0: 3189 | dependencies: 3190 | picomatch: 2.3.1 3191 | 3192 | reflect.getprototypeof@1.0.6: 3193 | dependencies: 3194 | call-bind: 1.0.7 3195 | define-properties: 1.2.1 3196 | es-abstract: 1.23.3 3197 | es-errors: 1.3.0 3198 | get-intrinsic: 1.2.4 3199 | globalthis: 1.0.4 3200 | which-builtin-type: 1.1.4 3201 | 3202 | regexp.prototype.flags@1.5.3: 3203 | dependencies: 3204 | call-bind: 1.0.7 3205 | define-properties: 1.2.1 3206 | es-errors: 1.3.0 3207 | set-function-name: 2.0.2 3208 | 3209 | resolve-from@4.0.0: {} 3210 | 3211 | resolve-pkg-maps@1.0.0: {} 3212 | 3213 | resolve@1.22.8: 3214 | dependencies: 3215 | is-core-module: 2.15.1 3216 | path-parse: 1.0.7 3217 | supports-preserve-symlinks-flag: 1.0.0 3218 | 3219 | resolve@2.0.0-next.5: 3220 | dependencies: 3221 | is-core-module: 2.15.1 3222 | path-parse: 1.0.7 3223 | supports-preserve-symlinks-flag: 1.0.0 3224 | 3225 | reusify@1.0.4: {} 3226 | 3227 | rimraf@3.0.2: 3228 | dependencies: 3229 | glob: 7.2.3 3230 | 3231 | run-parallel@1.2.0: 3232 | dependencies: 3233 | queue-microtask: 1.2.3 3234 | 3235 | safe-array-concat@1.1.2: 3236 | dependencies: 3237 | call-bind: 1.0.7 3238 | get-intrinsic: 1.2.4 3239 | has-symbols: 1.0.3 3240 | isarray: 2.0.5 3241 | 3242 | safe-regex-test@1.0.3: 3243 | dependencies: 3244 | call-bind: 1.0.7 3245 | es-errors: 1.3.0 3246 | is-regex: 1.1.4 3247 | 3248 | scheduler@0.23.2: 3249 | dependencies: 3250 | loose-envify: 1.4.0 3251 | 3252 | semver@6.3.1: {} 3253 | 3254 | semver@7.6.3: {} 3255 | 3256 | set-function-length@1.2.2: 3257 | dependencies: 3258 | define-data-property: 1.1.4 3259 | es-errors: 1.3.0 3260 | function-bind: 1.1.2 3261 | get-intrinsic: 1.2.4 3262 | gopd: 1.0.1 3263 | has-property-descriptors: 1.0.2 3264 | 3265 | set-function-name@2.0.2: 3266 | dependencies: 3267 | define-data-property: 1.1.4 3268 | es-errors: 1.3.0 3269 | functions-have-names: 1.2.3 3270 | has-property-descriptors: 1.0.2 3271 | 3272 | shebang-command@2.0.0: 3273 | dependencies: 3274 | shebang-regex: 3.0.0 3275 | 3276 | shebang-regex@3.0.0: {} 3277 | 3278 | side-channel@1.0.6: 3279 | dependencies: 3280 | call-bind: 1.0.7 3281 | es-errors: 1.3.0 3282 | get-intrinsic: 1.2.4 3283 | object-inspect: 1.13.2 3284 | 3285 | signal-exit@4.1.0: {} 3286 | 3287 | socket.io-client@4.8.0: 3288 | dependencies: 3289 | '@socket.io/component-emitter': 3.1.2 3290 | debug: 4.3.7 3291 | engine.io-client: 6.6.1 3292 | socket.io-parser: 4.2.4 3293 | transitivePeerDependencies: 3294 | - bufferutil 3295 | - supports-color 3296 | - utf-8-validate 3297 | 3298 | socket.io-parser@4.2.4: 3299 | dependencies: 3300 | '@socket.io/component-emitter': 3.1.2 3301 | debug: 4.3.7 3302 | transitivePeerDependencies: 3303 | - supports-color 3304 | 3305 | source-map-js@1.2.1: {} 3306 | 3307 | stop-iteration-iterator@1.0.0: 3308 | dependencies: 3309 | internal-slot: 1.0.7 3310 | 3311 | streamsearch@1.1.0: {} 3312 | 3313 | string-width@4.2.3: 3314 | dependencies: 3315 | emoji-regex: 8.0.0 3316 | is-fullwidth-code-point: 3.0.0 3317 | strip-ansi: 6.0.1 3318 | 3319 | string-width@5.1.2: 3320 | dependencies: 3321 | eastasianwidth: 0.2.0 3322 | emoji-regex: 9.2.2 3323 | strip-ansi: 7.1.0 3324 | 3325 | string.prototype.includes@2.0.0: 3326 | dependencies: 3327 | define-properties: 1.2.1 3328 | es-abstract: 1.23.3 3329 | 3330 | string.prototype.matchall@4.0.11: 3331 | dependencies: 3332 | call-bind: 1.0.7 3333 | define-properties: 1.2.1 3334 | es-abstract: 1.23.3 3335 | es-errors: 1.3.0 3336 | es-object-atoms: 1.0.0 3337 | get-intrinsic: 1.2.4 3338 | gopd: 1.0.1 3339 | has-symbols: 1.0.3 3340 | internal-slot: 1.0.7 3341 | regexp.prototype.flags: 1.5.3 3342 | set-function-name: 2.0.2 3343 | side-channel: 1.0.6 3344 | 3345 | string.prototype.repeat@1.0.0: 3346 | dependencies: 3347 | define-properties: 1.2.1 3348 | es-abstract: 1.23.3 3349 | 3350 | string.prototype.trim@1.2.9: 3351 | dependencies: 3352 | call-bind: 1.0.7 3353 | define-properties: 1.2.1 3354 | es-abstract: 1.23.3 3355 | es-object-atoms: 1.0.0 3356 | 3357 | string.prototype.trimend@1.0.8: 3358 | dependencies: 3359 | call-bind: 1.0.7 3360 | define-properties: 1.2.1 3361 | es-object-atoms: 1.0.0 3362 | 3363 | string.prototype.trimstart@1.0.8: 3364 | dependencies: 3365 | call-bind: 1.0.7 3366 | define-properties: 1.2.1 3367 | es-object-atoms: 1.0.0 3368 | 3369 | strip-ansi@6.0.1: 3370 | dependencies: 3371 | ansi-regex: 5.0.1 3372 | 3373 | strip-ansi@7.1.0: 3374 | dependencies: 3375 | ansi-regex: 6.1.0 3376 | 3377 | strip-bom@3.0.0: {} 3378 | 3379 | strip-json-comments@3.1.1: {} 3380 | 3381 | styled-jsx@5.1.1(react@18.3.1): 3382 | dependencies: 3383 | client-only: 0.0.1 3384 | react: 18.3.1 3385 | 3386 | sucrase@3.35.0: 3387 | dependencies: 3388 | '@jridgewell/gen-mapping': 0.3.5 3389 | commander: 4.1.1 3390 | glob: 10.4.5 3391 | lines-and-columns: 1.2.4 3392 | mz: 2.7.0 3393 | pirates: 4.0.6 3394 | ts-interface-checker: 0.1.13 3395 | 3396 | supports-color@7.2.0: 3397 | dependencies: 3398 | has-flag: 4.0.0 3399 | 3400 | supports-preserve-symlinks-flag@1.0.0: {} 3401 | 3402 | tabbable@6.2.0: {} 3403 | 3404 | tailwindcss@3.4.13: 3405 | dependencies: 3406 | '@alloc/quick-lru': 5.2.0 3407 | arg: 5.0.2 3408 | chokidar: 3.6.0 3409 | didyoumean: 1.2.2 3410 | dlv: 1.1.3 3411 | fast-glob: 3.3.2 3412 | glob-parent: 6.0.2 3413 | is-glob: 4.0.3 3414 | jiti: 1.21.6 3415 | lilconfig: 2.1.0 3416 | micromatch: 4.0.8 3417 | normalize-path: 3.0.0 3418 | object-hash: 3.0.0 3419 | picocolors: 1.1.0 3420 | postcss: 8.4.47 3421 | postcss-import: 15.1.0(postcss@8.4.47) 3422 | postcss-js: 4.0.1(postcss@8.4.47) 3423 | postcss-load-config: 4.0.2(postcss@8.4.47) 3424 | postcss-nested: 6.2.0(postcss@8.4.47) 3425 | postcss-selector-parser: 6.1.2 3426 | resolve: 1.22.8 3427 | sucrase: 3.35.0 3428 | transitivePeerDependencies: 3429 | - ts-node 3430 | 3431 | tapable@2.2.1: {} 3432 | 3433 | text-table@0.2.0: {} 3434 | 3435 | thenify-all@1.6.0: 3436 | dependencies: 3437 | thenify: 3.3.1 3438 | 3439 | thenify@3.3.1: 3440 | dependencies: 3441 | any-promise: 1.3.0 3442 | 3443 | to-regex-range@5.0.1: 3444 | dependencies: 3445 | is-number: 7.0.0 3446 | 3447 | ts-api-utils@1.3.0(typescript@5.6.3): 3448 | dependencies: 3449 | typescript: 5.6.3 3450 | 3451 | ts-interface-checker@0.1.13: {} 3452 | 3453 | tsconfig-paths@3.15.0: 3454 | dependencies: 3455 | '@types/json5': 0.0.29 3456 | json5: 1.0.2 3457 | minimist: 1.2.8 3458 | strip-bom: 3.0.0 3459 | 3460 | tslib@2.7.0: {} 3461 | 3462 | type-check@0.4.0: 3463 | dependencies: 3464 | prelude-ls: 1.2.1 3465 | 3466 | type-fest@0.20.2: {} 3467 | 3468 | typed-array-buffer@1.0.2: 3469 | dependencies: 3470 | call-bind: 1.0.7 3471 | es-errors: 1.3.0 3472 | is-typed-array: 1.1.13 3473 | 3474 | typed-array-byte-length@1.0.1: 3475 | dependencies: 3476 | call-bind: 1.0.7 3477 | for-each: 0.3.3 3478 | gopd: 1.0.1 3479 | has-proto: 1.0.3 3480 | is-typed-array: 1.1.13 3481 | 3482 | typed-array-byte-offset@1.0.2: 3483 | dependencies: 3484 | available-typed-arrays: 1.0.7 3485 | call-bind: 1.0.7 3486 | for-each: 0.3.3 3487 | gopd: 1.0.1 3488 | has-proto: 1.0.3 3489 | is-typed-array: 1.1.13 3490 | 3491 | typed-array-length@1.0.6: 3492 | dependencies: 3493 | call-bind: 1.0.7 3494 | for-each: 0.3.3 3495 | gopd: 1.0.1 3496 | has-proto: 1.0.3 3497 | is-typed-array: 1.1.13 3498 | possible-typed-array-names: 1.0.0 3499 | 3500 | typescript@5.6.3: {} 3501 | 3502 | unbox-primitive@1.0.2: 3503 | dependencies: 3504 | call-bind: 1.0.7 3505 | has-bigints: 1.0.2 3506 | has-symbols: 1.0.3 3507 | which-boxed-primitive: 1.0.2 3508 | 3509 | undici-types@6.19.8: {} 3510 | 3511 | uri-js@4.4.1: 3512 | dependencies: 3513 | punycode: 2.3.1 3514 | 3515 | util-deprecate@1.0.2: {} 3516 | 3517 | which-boxed-primitive@1.0.2: 3518 | dependencies: 3519 | is-bigint: 1.0.4 3520 | is-boolean-object: 1.1.2 3521 | is-number-object: 1.0.7 3522 | is-string: 1.0.7 3523 | is-symbol: 1.0.4 3524 | 3525 | which-builtin-type@1.1.4: 3526 | dependencies: 3527 | function.prototype.name: 1.1.6 3528 | has-tostringtag: 1.0.2 3529 | is-async-function: 2.0.0 3530 | is-date-object: 1.0.5 3531 | is-finalizationregistry: 1.0.2 3532 | is-generator-function: 1.0.10 3533 | is-regex: 1.1.4 3534 | is-weakref: 1.0.2 3535 | isarray: 2.0.5 3536 | which-boxed-primitive: 1.0.2 3537 | which-collection: 1.0.2 3538 | which-typed-array: 1.1.15 3539 | 3540 | which-collection@1.0.2: 3541 | dependencies: 3542 | is-map: 2.0.3 3543 | is-set: 2.0.3 3544 | is-weakmap: 2.0.2 3545 | is-weakset: 2.0.3 3546 | 3547 | which-typed-array@1.1.15: 3548 | dependencies: 3549 | available-typed-arrays: 1.0.7 3550 | call-bind: 1.0.7 3551 | for-each: 0.3.3 3552 | gopd: 1.0.1 3553 | has-tostringtag: 1.0.2 3554 | 3555 | which@2.0.2: 3556 | dependencies: 3557 | isexe: 2.0.0 3558 | 3559 | word-wrap@1.2.5: {} 3560 | 3561 | wrap-ansi@7.0.0: 3562 | dependencies: 3563 | ansi-styles: 4.3.0 3564 | string-width: 4.2.3 3565 | strip-ansi: 6.0.1 3566 | 3567 | wrap-ansi@8.1.0: 3568 | dependencies: 3569 | ansi-styles: 6.2.1 3570 | string-width: 5.1.2 3571 | strip-ansi: 7.1.0 3572 | 3573 | wrappy@1.0.2: {} 3574 | 3575 | ws@8.17.1: {} 3576 | 3577 | xmlhttprequest-ssl@2.1.1: {} 3578 | 3579 | yaml@2.5.1: {} 3580 | 3581 | yocto-queue@0.1.0: {} 3582 | 3583 | zod@3.23.8: {} 3584 | --------------------------------------------------------------------------------