├── .env ├── .eslintrc.json ├── .gitignore ├── Makefile ├── README.md ├── app ├── api │ └── trpc │ │ ├── [trpc] │ │ └── route.ts │ │ └── trpc-router.ts ├── favicon.ico ├── globals.css ├── layout.tsx └── page.tsx ├── components ├── list-user.tsx └── user-form.tsx ├── docker-compose.yml ├── next.config.js ├── package.json ├── pnpm-lock.yaml ├── postcss.config.js ├── prisma ├── migrations │ ├── 20240118182229_init │ │ └── migration.sql │ └── migration_lock.toml ├── prisma-client.ts └── schema.prisma ├── public ├── next.svg └── vercel.svg ├── server ├── user-controller.ts ├── user-route.ts └── user-schema.ts ├── tailwind.config.ts ├── tsconfig.json └── utils ├── hydrate-client.tsx ├── query-client.ts ├── trpc-provider.tsx ├── trpc-server.ts └── trpc.ts /.env: -------------------------------------------------------------------------------- 1 | # Environment variables declared in this file are automatically made available to Prisma. 2 | # See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema 3 | 4 | # Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB. 5 | # See the documentation for all the connection string options: https://pris.ly/d/connection-strings 6 | 7 | POSTGRES_HOST=127.0.0.1 8 | POSTGRES_PORT=6500 9 | POSTGRES_USER=postgres 10 | POSTGRES_PASSWORD=password123 11 | POSTGRES_DB=trpc_prisma 12 | 13 | DATABASE_URL=postgresql://postgres:password123@localhost:6500/trpc_prisma?schema=public 14 | 15 | PGADMIN_DEFAULT_EMAIL=admin@admin.com 16 | PGADMIN_DEFAULT_PASSWORD=password123 -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | create-app: 2 | pnpm create next-app nextjs14-trpc-react-query 3 | 4 | install-dependencies: 5 | pnpm add @tanstack/react-query@4.18.0 6 | pnpm add @tanstack/react-query-devtools@4.18.0 7 | pnpm add -D @tanstack/eslint-plugin-query 8 | 9 | pnpm add @trpc/server 10 | pnpm add @trpc/client 11 | pnpm add @trpc/react-query 12 | pnpm add superjson 13 | pnpm add zod 14 | 15 | pnpm add @prisma/client 16 | pnpm add -D prisma 17 | 18 | commands: 19 | pnpm prisma init --datasource-provider postgresql 20 | pnpm prisma migrate dev --name init -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Using tRPC with Next.js 14, React Query and Prisma 2 | 3 | In this comprehensive guide, we will explore the process of integrating tRPC, React Query v5, and Prisma within the Next.js 14 App Router. tRPC is a modern RPC framework that allows you to define your API using TypeScript interfaces and generates both server and client code for you. 4 | 5 | ![Using tRPC with Next.js 14, React Query and Prisma](https://codevoweb.com/wp-content/uploads/2024/01/Using-tRPC-with-Next.js-14-React-Query-and-Prisma.webp) 6 | 7 | ### Topics Covered 8 | 9 | - Bootstrapping the Next.js 14 Project 10 | - Setting up PostgreSQL with Docker 11 | - Setting up Prisma ORM 12 | - Setting up tRPC Client and Server 13 | - Creating React Query Client 14 | - Initializing tRPC Server 15 | - Creating the tRPC API 16 | - Initializing the tRPC Client 17 | - Creating the tRPC Provider 18 | - Testing the tRPC Server and Client 19 | - Creating the tRPC Backend 20 | - Creating Validation Schemas 21 | - Creating tRPC Procedure Handlers 22 | - Creating tRPC Router 23 | - Merging tRPC Routers 24 | - Creating the tRPC Frontend 25 | - Performing Query with tRPC 26 | - Performing Mutation with tRPC 27 | - Prefetching Data with tRPC and React Query 28 | - Conclusion 29 | 30 | Read the entire article here: [https://codevoweb.com/using-trpc-with-nextjs-14-react-query-and-prisma/](https://codevoweb.com/using-trpc-with-nextjs-14-react-query-and-prisma/) 31 | -------------------------------------------------------------------------------- /app/api/trpc/[trpc]/route.ts: -------------------------------------------------------------------------------- 1 | import { 2 | FetchCreateContextFnOptions, 3 | fetchRequestHandler, 4 | } from '@trpc/server/adapters/fetch'; 5 | import { appRouter } from '../trpc-router'; 6 | 7 | const handler = (request: Request) => { 8 | console.log(`incoming request ${request.url}`); 9 | return fetchRequestHandler({ 10 | endpoint: '/api/trpc', 11 | req: request, 12 | router: appRouter, 13 | createContext: function ( 14 | opts: FetchCreateContextFnOptions 15 | ): object | Promise { 16 | return {}; 17 | }, 18 | }); 19 | }; 20 | 21 | export { handler as GET, handler as POST }; 22 | -------------------------------------------------------------------------------- /app/api/trpc/trpc-router.ts: -------------------------------------------------------------------------------- 1 | import userRouter from '@/server/user-route'; 2 | import { t } from '@/utils/trpc-server'; 3 | import { createServerSideHelpers } from '@trpc/react-query/server'; 4 | import SuperJSON from 'superjson'; 5 | 6 | const healthCheckerRouter = t.router({ 7 | healthchecker: t.procedure.query(({ ctx }) => { 8 | return { 9 | status: 'success', 10 | message: 'Welcome to trpc with Next.js 14 and React Query', 11 | }; 12 | }), 13 | }); 14 | 15 | export const appRouter = t.mergeRouters(userRouter, healthCheckerRouter); 16 | 17 | export const createSSRHelper = () => 18 | createServerSideHelpers({ 19 | router: appRouter, 20 | transformer: SuperJSON, 21 | ctx: () => {}, 22 | }); 23 | 24 | export type AppRouter = typeof appRouter; 25 | -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wpcodevo/nextjs14-trpc-react-query/520ff1ce20a28c115e8177f49056cd70fa0cacae/app/favicon.ico -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from 'next'; 2 | import { Inter } from 'next/font/google'; 3 | import './globals.css'; 4 | import { TrpcProvider } from '@/utils/trpc-provider'; 5 | 6 | const inter = Inter({ subsets: ['latin'] }); 7 | 8 | export const metadata: Metadata = { 9 | title: 'Create Next App', 10 | description: 'Generated by create next app', 11 | }; 12 | 13 | export default function RootLayout({ 14 | children, 15 | }: { 16 | children: React.ReactNode; 17 | }) { 18 | return ( 19 | 20 | 21 | 22 |
{children}
23 |
24 | 25 | 26 | ); 27 | } 28 | -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- 1 | import UserForm from '@/components/user-form'; 2 | import ListUsers from '@/components/list-user'; 3 | import { dehydrate } from '@tanstack/react-query'; 4 | import Hydrate from '@/utils/hydrate-client'; 5 | import { createSSRHelper } from './api/trpc/trpc-router'; 6 | 7 | export default async function Home() { 8 | const helpers = createSSRHelper(); 9 | await helpers.getUsers.prefetch({ limit: 10, page: 1 }); 10 | 11 | return ( 12 | 13 |
14 |
15 | 16 |
17 | 18 |
19 |
20 | ); 21 | } 22 | -------------------------------------------------------------------------------- /components/list-user.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import { trpc } from '@/utils/trpc'; 4 | import Image from 'next/image'; 5 | 6 | export default function ListUsers() { 7 | const { data } = trpc.getUsers.useQuery({ limit: 10, page: 1 }); 8 | 9 | return ( 10 | <> 11 | {data?.data.users.length === 0 ? ( 12 |

No Users Found

13 | ) : ( 14 |
21 | {data?.data.users?.map((user) => ( 22 |
26 | {user.name} 33 |

{user.name}

34 |
35 | ))} 36 |
37 | )} 38 | 39 | ); 40 | } 41 | -------------------------------------------------------------------------------- /components/user-form.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import queryClient from '@/utils/query-client'; 4 | import { trpc } from '@/utils/trpc'; 5 | import React, { useState } from 'react'; 6 | 7 | const UserForm = () => { 8 | const [name, setName] = useState(''); 9 | const [email, setEmail] = useState(''); 10 | 11 | const { mutate } = trpc.createUser.useMutation({ 12 | onSettled: () => { 13 | setName(''); 14 | setEmail(''); 15 | }, 16 | onSuccess: async () => { 17 | await queryClient.invalidateQueries({ 18 | queryKey: [ 19 | ['getUsers'], 20 | { input: { limit: 10, page: 1 }, type: 'query' }, 21 | ], 22 | }); 23 | }, 24 | }); 25 | 26 | const handleSubmit = async (e: React.FormEvent) => { 27 | e.preventDefault(); 28 | mutate({ name, email }); 29 | }; 30 | 31 | return ( 32 |
33 |

Submit Form

34 | 35 |
36 |
37 |
38 | 44 | setName(e.target.value)} 50 | className='mt-1 p-2 w-full border rounded-md' 51 | required 52 | /> 53 |
54 | 55 |
56 | 62 | setEmail(e.target.value)} 68 | className='mt-1 p-2 w-full border rounded-md' 69 | required 70 | /> 71 |
72 |
73 | 79 |
80 |
81 |
82 |
83 | ); 84 | }; 85 | 86 | export default UserForm; 87 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | postgres: 4 | image: postgres:latest 5 | container_name: postgres 6 | ports: 7 | - '6500:5432' 8 | volumes: 9 | - progresDB:/var/lib/postgresql/data 10 | env_file: 11 | - ./.env 12 | pgAdmin: 13 | image: dpage/pgadmin4 14 | container_name: pgAdmin 15 | env_file: 16 | - ./.env 17 | ports: 18 | - '5050:80' 19 | volumes: 20 | progresDB: 21 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | images: { 4 | remotePatterns: [ 5 | { 6 | protocol: 'https', 7 | hostname: 'robohash.org', 8 | }, 9 | ], 10 | }, 11 | }; 12 | 13 | module.exports = nextConfig; 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nextjs14-trpc-react-query", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@prisma/client": "^5.8.1", 13 | "@tanstack/react-query": "^4.18.0", 14 | "@tanstack/react-query-devtools": "4.18.0", 15 | "@trpc/client": "^10.45.0", 16 | "@trpc/react-query": "10.45.0", 17 | "@trpc/server": "^10.45.0", 18 | "next": "14.0.4", 19 | "react": "^18", 20 | "react-dom": "^18", 21 | "superjson": "^2.2.1", 22 | "zod": "^3.22.4" 23 | }, 24 | "devDependencies": { 25 | "@tanstack/eslint-plugin-query": "^5.17.7", 26 | "@types/node": "^20", 27 | "@types/react": "^18", 28 | "@types/react-dom": "^18", 29 | "autoprefixer": "^10.0.1", 30 | "eslint": "^8", 31 | "eslint-config-next": "14.0.4", 32 | "postcss": "^8", 33 | "prisma": "^5.8.1", 34 | "tailwindcss": "^3.3.0", 35 | "typescript": "^5" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | '@prisma/client': 9 | specifier: ^5.8.1 10 | version: 5.8.1(prisma@5.8.1) 11 | '@tanstack/react-query': 12 | specifier: ^4.18.0 13 | version: 4.18.0(react-dom@18.2.0)(react@18.2.0) 14 | '@tanstack/react-query-devtools': 15 | specifier: 4.18.0 16 | version: 4.18.0(@tanstack/react-query@4.18.0)(react-dom@18.2.0)(react@18.2.0) 17 | '@trpc/client': 18 | specifier: ^10.45.0 19 | version: 10.45.0(@trpc/server@10.45.0) 20 | '@trpc/react-query': 21 | specifier: 10.45.0 22 | version: 10.45.0(@tanstack/react-query@4.18.0)(@trpc/client@10.45.0)(@trpc/server@10.45.0)(react-dom@18.2.0)(react@18.2.0) 23 | '@trpc/server': 24 | specifier: ^10.45.0 25 | version: 10.45.0 26 | next: 27 | specifier: 14.0.4 28 | version: 14.0.4(react-dom@18.2.0)(react@18.2.0) 29 | react: 30 | specifier: ^18 31 | version: 18.2.0 32 | react-dom: 33 | specifier: ^18 34 | version: 18.2.0(react@18.2.0) 35 | superjson: 36 | specifier: ^2.2.1 37 | version: 2.2.1 38 | zod: 39 | specifier: ^3.22.4 40 | version: 3.22.4 41 | 42 | devDependencies: 43 | '@tanstack/eslint-plugin-query': 44 | specifier: ^5.17.7 45 | version: 5.17.7(eslint@8.56.0)(typescript@5.3.3) 46 | '@types/node': 47 | specifier: ^20 48 | version: 20.11.5 49 | '@types/react': 50 | specifier: ^18 51 | version: 18.2.48 52 | '@types/react-dom': 53 | specifier: ^18 54 | version: 18.2.18 55 | autoprefixer: 56 | specifier: ^10.0.1 57 | version: 10.4.17(postcss@8.4.33) 58 | eslint: 59 | specifier: ^8 60 | version: 8.56.0 61 | eslint-config-next: 62 | specifier: 14.0.4 63 | version: 14.0.4(eslint@8.56.0)(typescript@5.3.3) 64 | postcss: 65 | specifier: ^8 66 | version: 8.4.33 67 | prisma: 68 | specifier: ^5.8.1 69 | version: 5.8.1 70 | tailwindcss: 71 | specifier: ^3.3.0 72 | version: 3.4.1 73 | typescript: 74 | specifier: ^5 75 | version: 5.3.3 76 | 77 | packages: 78 | 79 | /@aashutoshrathi/word-wrap@1.2.6: 80 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} 81 | engines: {node: '>=0.10.0'} 82 | dev: true 83 | 84 | /@alloc/quick-lru@5.2.0: 85 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 86 | engines: {node: '>=10'} 87 | dev: true 88 | 89 | /@babel/runtime@7.23.8: 90 | resolution: {integrity: sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==} 91 | engines: {node: '>=6.9.0'} 92 | dependencies: 93 | regenerator-runtime: 0.14.1 94 | dev: true 95 | 96 | /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): 97 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 98 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 99 | peerDependencies: 100 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 101 | dependencies: 102 | eslint: 8.56.0 103 | eslint-visitor-keys: 3.4.3 104 | dev: true 105 | 106 | /@eslint-community/regexpp@4.10.0: 107 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} 108 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 109 | dev: true 110 | 111 | /@eslint/eslintrc@2.1.4: 112 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 113 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 114 | dependencies: 115 | ajv: 6.12.6 116 | debug: 4.3.4 117 | espree: 9.6.1 118 | globals: 13.24.0 119 | ignore: 5.3.0 120 | import-fresh: 3.3.0 121 | js-yaml: 4.1.0 122 | minimatch: 3.1.2 123 | strip-json-comments: 3.1.1 124 | transitivePeerDependencies: 125 | - supports-color 126 | dev: true 127 | 128 | /@eslint/js@8.56.0: 129 | resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} 130 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 131 | dev: true 132 | 133 | /@humanwhocodes/config-array@0.11.14: 134 | resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} 135 | engines: {node: '>=10.10.0'} 136 | dependencies: 137 | '@humanwhocodes/object-schema': 2.0.2 138 | debug: 4.3.4 139 | minimatch: 3.1.2 140 | transitivePeerDependencies: 141 | - supports-color 142 | dev: true 143 | 144 | /@humanwhocodes/module-importer@1.0.1: 145 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 146 | engines: {node: '>=12.22'} 147 | dev: true 148 | 149 | /@humanwhocodes/object-schema@2.0.2: 150 | resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} 151 | dev: true 152 | 153 | /@isaacs/cliui@8.0.2: 154 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 155 | engines: {node: '>=12'} 156 | dependencies: 157 | string-width: 5.1.2 158 | string-width-cjs: /string-width@4.2.3 159 | strip-ansi: 7.1.0 160 | strip-ansi-cjs: /strip-ansi@6.0.1 161 | wrap-ansi: 8.1.0 162 | wrap-ansi-cjs: /wrap-ansi@7.0.0 163 | dev: true 164 | 165 | /@jridgewell/gen-mapping@0.3.3: 166 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} 167 | engines: {node: '>=6.0.0'} 168 | dependencies: 169 | '@jridgewell/set-array': 1.1.2 170 | '@jridgewell/sourcemap-codec': 1.4.15 171 | '@jridgewell/trace-mapping': 0.3.21 172 | dev: true 173 | 174 | /@jridgewell/resolve-uri@3.1.1: 175 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} 176 | engines: {node: '>=6.0.0'} 177 | dev: true 178 | 179 | /@jridgewell/set-array@1.1.2: 180 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 181 | engines: {node: '>=6.0.0'} 182 | dev: true 183 | 184 | /@jridgewell/sourcemap-codec@1.4.15: 185 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 186 | dev: true 187 | 188 | /@jridgewell/trace-mapping@0.3.21: 189 | resolution: {integrity: sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==} 190 | dependencies: 191 | '@jridgewell/resolve-uri': 3.1.1 192 | '@jridgewell/sourcemap-codec': 1.4.15 193 | dev: true 194 | 195 | /@next/env@14.0.4: 196 | resolution: {integrity: sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ==} 197 | dev: false 198 | 199 | /@next/eslint-plugin-next@14.0.4: 200 | resolution: {integrity: sha512-U3qMNHmEZoVmHA0j/57nRfi3AscXNvkOnxDmle/69Jz/G0o/gWjXTDdlgILZdrxQ0Lw/jv2mPW8PGy0EGIHXhQ==} 201 | dependencies: 202 | glob: 7.1.7 203 | dev: true 204 | 205 | /@next/swc-darwin-arm64@14.0.4: 206 | resolution: {integrity: sha512-mF05E/5uPthWzyYDyptcwHptucf/jj09i2SXBPwNzbgBNc+XnwzrL0U6BmPjQeOL+FiB+iG1gwBeq7mlDjSRPg==} 207 | engines: {node: '>= 10'} 208 | cpu: [arm64] 209 | os: [darwin] 210 | requiresBuild: true 211 | dev: false 212 | optional: true 213 | 214 | /@next/swc-darwin-x64@14.0.4: 215 | resolution: {integrity: sha512-IZQ3C7Bx0k2rYtrZZxKKiusMTM9WWcK5ajyhOZkYYTCc8xytmwSzR1skU7qLgVT/EY9xtXDG0WhY6fyujnI3rw==} 216 | engines: {node: '>= 10'} 217 | cpu: [x64] 218 | os: [darwin] 219 | requiresBuild: true 220 | dev: false 221 | optional: true 222 | 223 | /@next/swc-linux-arm64-gnu@14.0.4: 224 | resolution: {integrity: sha512-VwwZKrBQo/MGb1VOrxJ6LrKvbpo7UbROuyMRvQKTFKhNaXjUmKTu7wxVkIuCARAfiI8JpaWAnKR+D6tzpCcM4w==} 225 | engines: {node: '>= 10'} 226 | cpu: [arm64] 227 | os: [linux] 228 | requiresBuild: true 229 | dev: false 230 | optional: true 231 | 232 | /@next/swc-linux-arm64-musl@14.0.4: 233 | resolution: {integrity: sha512-8QftwPEW37XxXoAwsn+nXlodKWHfpMaSvt81W43Wh8dv0gkheD+30ezWMcFGHLI71KiWmHK5PSQbTQGUiidvLQ==} 234 | engines: {node: '>= 10'} 235 | cpu: [arm64] 236 | os: [linux] 237 | requiresBuild: true 238 | dev: false 239 | optional: true 240 | 241 | /@next/swc-linux-x64-gnu@14.0.4: 242 | resolution: {integrity: sha512-/s/Pme3VKfZAfISlYVq2hzFS8AcAIOTnoKupc/j4WlvF6GQ0VouS2Q2KEgPuO1eMBwakWPB1aYFIA4VNVh667A==} 243 | engines: {node: '>= 10'} 244 | cpu: [x64] 245 | os: [linux] 246 | requiresBuild: true 247 | dev: false 248 | optional: true 249 | 250 | /@next/swc-linux-x64-musl@14.0.4: 251 | resolution: {integrity: sha512-m8z/6Fyal4L9Bnlxde5g2Mfa1Z7dasMQyhEhskDATpqr+Y0mjOBZcXQ7G5U+vgL22cI4T7MfvgtrM2jdopqWaw==} 252 | engines: {node: '>= 10'} 253 | cpu: [x64] 254 | os: [linux] 255 | requiresBuild: true 256 | dev: false 257 | optional: true 258 | 259 | /@next/swc-win32-arm64-msvc@14.0.4: 260 | resolution: {integrity: sha512-7Wv4PRiWIAWbm5XrGz3D8HUkCVDMMz9igffZG4NB1p4u1KoItwx9qjATHz88kwCEal/HXmbShucaslXCQXUM5w==} 261 | engines: {node: '>= 10'} 262 | cpu: [arm64] 263 | os: [win32] 264 | requiresBuild: true 265 | dev: false 266 | optional: true 267 | 268 | /@next/swc-win32-ia32-msvc@14.0.4: 269 | resolution: {integrity: sha512-zLeNEAPULsl0phfGb4kdzF/cAVIfaC7hY+kt0/d+y9mzcZHsMS3hAS829WbJ31DkSlVKQeHEjZHIdhN+Pg7Gyg==} 270 | engines: {node: '>= 10'} 271 | cpu: [ia32] 272 | os: [win32] 273 | requiresBuild: true 274 | dev: false 275 | optional: true 276 | 277 | /@next/swc-win32-x64-msvc@14.0.4: 278 | resolution: {integrity: sha512-yEh2+R8qDlDCjxVpzOTEpBLQTEFAcP2A8fUFLaWNap9GitYKkKv1//y2S6XY6zsR4rCOPRpU7plYDR+az2n30A==} 279 | engines: {node: '>= 10'} 280 | cpu: [x64] 281 | os: [win32] 282 | requiresBuild: true 283 | dev: false 284 | optional: true 285 | 286 | /@nodelib/fs.scandir@2.1.5: 287 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 288 | engines: {node: '>= 8'} 289 | dependencies: 290 | '@nodelib/fs.stat': 2.0.5 291 | run-parallel: 1.2.0 292 | dev: true 293 | 294 | /@nodelib/fs.stat@2.0.5: 295 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 296 | engines: {node: '>= 8'} 297 | dev: true 298 | 299 | /@nodelib/fs.walk@1.2.8: 300 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 301 | engines: {node: '>= 8'} 302 | dependencies: 303 | '@nodelib/fs.scandir': 2.1.5 304 | fastq: 1.16.0 305 | dev: true 306 | 307 | /@pkgjs/parseargs@0.11.0: 308 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 309 | engines: {node: '>=14'} 310 | requiresBuild: true 311 | dev: true 312 | optional: true 313 | 314 | /@prisma/client@5.8.1(prisma@5.8.1): 315 | resolution: {integrity: sha512-xQtMPfbIwLlbm0VVIVQY2yqQVOxPwRQhvIp7Z3m2900g1bu/zRHKhYZJQWELqmjl6d8YwBy0K2NvMqh47v1ubw==} 316 | engines: {node: '>=16.13'} 317 | requiresBuild: true 318 | peerDependencies: 319 | prisma: '*' 320 | peerDependenciesMeta: 321 | prisma: 322 | optional: true 323 | dependencies: 324 | prisma: 5.8.1 325 | dev: false 326 | 327 | /@prisma/debug@5.8.1: 328 | resolution: {integrity: sha512-tjuw7eA0Us3T42jx9AmAgL58rzwzpFGYc3R7Y4Ip75EBYrKMBA1YihuWMcBC92ILmjlQ/u3p8VxcIE0hr+fZfg==} 329 | 330 | /@prisma/engines-version@5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2: 331 | resolution: {integrity: sha512-f5C3JM3l9yhGr3cr4FMqWloFaSCpNpMi58Om22rjD2DOz3owci2mFdFXMgnAGazFPKrCbbEhcxdsRfspEYRoFQ==} 332 | 333 | /@prisma/engines@5.8.1: 334 | resolution: {integrity: sha512-TJgYLRrZr56uhqcXO4GmP5be+zjCIHtLDK20Cnfg+o9d905hsN065QOL+3Z0zQAy6YD31Ol4u2kzSfRmbJv/uA==} 335 | requiresBuild: true 336 | dependencies: 337 | '@prisma/debug': 5.8.1 338 | '@prisma/engines-version': 5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2 339 | '@prisma/fetch-engine': 5.8.1 340 | '@prisma/get-platform': 5.8.1 341 | 342 | /@prisma/fetch-engine@5.8.1: 343 | resolution: {integrity: sha512-+bgjjoSFa6uYEbAPlklfoVSStOEfcpheOjoBoNsNNSQdSzcwE2nM4Q0prun0+P8/0sCHo18JZ9xqa8gObvgOUw==} 344 | dependencies: 345 | '@prisma/debug': 5.8.1 346 | '@prisma/engines-version': 5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2 347 | '@prisma/get-platform': 5.8.1 348 | 349 | /@prisma/get-platform@5.8.1: 350 | resolution: {integrity: sha512-wnA+6HTFcY+tkykMokix9GiAkaauPC5W/gg0O5JB0J8tCTNWrqpnQ7AsaGRfkYUbeOIioh6woDjQrGTTRf1Zag==} 351 | dependencies: 352 | '@prisma/debug': 5.8.1 353 | 354 | /@rushstack/eslint-patch@1.7.0: 355 | resolution: {integrity: sha512-Jh4t/593gxs0lJZ/z3NnasKlplXT2f+4y/LZYuaKZW5KAaiVFL/fThhs+17EbUd53jUVJ0QudYCBGbN/psvaqg==} 356 | dev: true 357 | 358 | /@swc/helpers@0.5.2: 359 | resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} 360 | dependencies: 361 | tslib: 2.6.2 362 | dev: false 363 | 364 | /@tanstack/eslint-plugin-query@5.17.7(eslint@8.56.0)(typescript@5.3.3): 365 | resolution: {integrity: sha512-RpKZXIuplRrUZLqqh+jTM1yJP8/Ck21FpaSB5uGyc9LY8LNwxC8AwgaRAXVOZzKVeQMunnt3HrK83HME+7jnGw==} 366 | peerDependencies: 367 | eslint: ^8.0.0 368 | dependencies: 369 | '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) 370 | eslint: 8.56.0 371 | transitivePeerDependencies: 372 | - supports-color 373 | - typescript 374 | dev: true 375 | 376 | /@tanstack/match-sorter-utils@8.1.1: 377 | resolution: {integrity: sha512-IdmEekEYxQsoLOR0XQyw3jD1GujBpRRYaGJYQUw1eOT1eUugWxdc7jomh1VQ1EKHcdwDLpLaCz/8y4KraU4T9A==} 378 | engines: {node: '>=12'} 379 | dependencies: 380 | remove-accents: 0.4.2 381 | dev: false 382 | 383 | /@tanstack/query-core@4.18.0: 384 | resolution: {integrity: sha512-PP4mG8MD08sq64RZCqMfXMYfaj7+Oulwg7xZ/fJoEOdTZNcPIgaOkHajZvUBsNLbi/0ViMvJB4cFkL2Jg2WPbw==} 385 | dev: false 386 | 387 | /@tanstack/react-query-devtools@4.18.0(@tanstack/react-query@4.18.0)(react-dom@18.2.0)(react@18.2.0): 388 | resolution: {integrity: sha512-L51D0AUqLTs7J+W7RypJrUEKXsS0y0eEhXAgO+rhcZH6i8jVrKLhcNZStQSnE+UpZqPm73uxt2e8TJgYfzz0nw==} 389 | peerDependencies: 390 | '@tanstack/react-query': 4.18.0 391 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 392 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 393 | dependencies: 394 | '@tanstack/match-sorter-utils': 8.1.1 395 | '@tanstack/react-query': 4.18.0(react-dom@18.2.0)(react@18.2.0) 396 | react: 18.2.0 397 | react-dom: 18.2.0(react@18.2.0) 398 | superjson: 1.13.3 399 | use-sync-external-store: 1.2.0(react@18.2.0) 400 | dev: false 401 | 402 | /@tanstack/react-query@4.18.0(react-dom@18.2.0)(react@18.2.0): 403 | resolution: {integrity: sha512-s1kdbGMdVcfUIllzsHUqVUdktBT5uuIRgnvrqFNLjl9TSOXEoBSDrhjsGjao0INQZv8cMpQlgOh3YH9YtN6cKw==} 404 | peerDependencies: 405 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 406 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 407 | react-native: '*' 408 | peerDependenciesMeta: 409 | react-dom: 410 | optional: true 411 | react-native: 412 | optional: true 413 | dependencies: 414 | '@tanstack/query-core': 4.18.0 415 | react: 18.2.0 416 | react-dom: 18.2.0(react@18.2.0) 417 | use-sync-external-store: 1.2.0(react@18.2.0) 418 | dev: false 419 | 420 | /@trpc/client@10.45.0(@trpc/server@10.45.0): 421 | resolution: {integrity: sha512-m091R1qte9rvkvL8N1e/mzrbb8S4gb+Q4ZNJnEGDgd7kic/6a8DFgSciBTiCoSp0YwOTVhyQzSrrA/sZI6PhBg==} 422 | peerDependencies: 423 | '@trpc/server': 10.45.0 424 | dependencies: 425 | '@trpc/server': 10.45.0 426 | dev: false 427 | 428 | /@trpc/react-query@10.45.0(@tanstack/react-query@4.18.0)(@trpc/client@10.45.0)(@trpc/server@10.45.0)(react-dom@18.2.0)(react@18.2.0): 429 | resolution: {integrity: sha512-MMc2pLwoaLZVwvLQyzJv3uEmdG3lORhifhVzR/drtavwDYwt+OEvH0w3s1zC7RaDdFpc6Nj2kkpHmdoU7BlAAw==} 430 | peerDependencies: 431 | '@tanstack/react-query': ^4.18.0 432 | '@trpc/client': 10.45.0 433 | '@trpc/server': 10.45.0 434 | react: '>=16.8.0' 435 | react-dom: '>=16.8.0' 436 | dependencies: 437 | '@tanstack/react-query': 4.18.0(react-dom@18.2.0)(react@18.2.0) 438 | '@trpc/client': 10.45.0(@trpc/server@10.45.0) 439 | '@trpc/server': 10.45.0 440 | react: 18.2.0 441 | react-dom: 18.2.0(react@18.2.0) 442 | dev: false 443 | 444 | /@trpc/server@10.45.0: 445 | resolution: {integrity: sha512-2Fwzv6nqpE0Ie/G7PeS0EVR89zLm+c1Mw7T+RAGtU807j4oaUx0zGkBXTu5u9AI+j+BYNN2GZxJcuDTAecbr1A==} 446 | dev: false 447 | 448 | /@types/json-schema@7.0.15: 449 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 450 | dev: true 451 | 452 | /@types/json5@0.0.29: 453 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 454 | dev: true 455 | 456 | /@types/node@20.11.5: 457 | resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} 458 | dependencies: 459 | undici-types: 5.26.5 460 | dev: true 461 | 462 | /@types/prop-types@15.7.11: 463 | resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} 464 | dev: true 465 | 466 | /@types/react-dom@18.2.18: 467 | resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} 468 | dependencies: 469 | '@types/react': 18.2.48 470 | dev: true 471 | 472 | /@types/react@18.2.48: 473 | resolution: {integrity: sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==} 474 | dependencies: 475 | '@types/prop-types': 15.7.11 476 | '@types/scheduler': 0.16.8 477 | csstype: 3.1.3 478 | dev: true 479 | 480 | /@types/scheduler@0.16.8: 481 | resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} 482 | dev: true 483 | 484 | /@types/semver@7.5.6: 485 | resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} 486 | dev: true 487 | 488 | /@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3): 489 | resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} 490 | engines: {node: ^16.0.0 || >=18.0.0} 491 | peerDependencies: 492 | eslint: ^7.0.0 || ^8.0.0 493 | typescript: '*' 494 | peerDependenciesMeta: 495 | typescript: 496 | optional: true 497 | dependencies: 498 | '@typescript-eslint/scope-manager': 6.19.0 499 | '@typescript-eslint/types': 6.19.0 500 | '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) 501 | '@typescript-eslint/visitor-keys': 6.19.0 502 | debug: 4.3.4 503 | eslint: 8.56.0 504 | typescript: 5.3.3 505 | transitivePeerDependencies: 506 | - supports-color 507 | dev: true 508 | 509 | /@typescript-eslint/scope-manager@5.62.0: 510 | resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} 511 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 512 | dependencies: 513 | '@typescript-eslint/types': 5.62.0 514 | '@typescript-eslint/visitor-keys': 5.62.0 515 | dev: true 516 | 517 | /@typescript-eslint/scope-manager@6.19.0: 518 | resolution: {integrity: sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==} 519 | engines: {node: ^16.0.0 || >=18.0.0} 520 | dependencies: 521 | '@typescript-eslint/types': 6.19.0 522 | '@typescript-eslint/visitor-keys': 6.19.0 523 | dev: true 524 | 525 | /@typescript-eslint/types@5.62.0: 526 | resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} 527 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 528 | dev: true 529 | 530 | /@typescript-eslint/types@6.19.0: 531 | resolution: {integrity: sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==} 532 | engines: {node: ^16.0.0 || >=18.0.0} 533 | dev: true 534 | 535 | /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3): 536 | resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} 537 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 538 | peerDependencies: 539 | typescript: '*' 540 | peerDependenciesMeta: 541 | typescript: 542 | optional: true 543 | dependencies: 544 | '@typescript-eslint/types': 5.62.0 545 | '@typescript-eslint/visitor-keys': 5.62.0 546 | debug: 4.3.4 547 | globby: 11.1.0 548 | is-glob: 4.0.3 549 | semver: 7.5.4 550 | tsutils: 3.21.0(typescript@5.3.3) 551 | typescript: 5.3.3 552 | transitivePeerDependencies: 553 | - supports-color 554 | dev: true 555 | 556 | /@typescript-eslint/typescript-estree@6.19.0(typescript@5.3.3): 557 | resolution: {integrity: sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==} 558 | engines: {node: ^16.0.0 || >=18.0.0} 559 | peerDependencies: 560 | typescript: '*' 561 | peerDependenciesMeta: 562 | typescript: 563 | optional: true 564 | dependencies: 565 | '@typescript-eslint/types': 6.19.0 566 | '@typescript-eslint/visitor-keys': 6.19.0 567 | debug: 4.3.4 568 | globby: 11.1.0 569 | is-glob: 4.0.3 570 | minimatch: 9.0.3 571 | semver: 7.5.4 572 | ts-api-utils: 1.0.3(typescript@5.3.3) 573 | typescript: 5.3.3 574 | transitivePeerDependencies: 575 | - supports-color 576 | dev: true 577 | 578 | /@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.3.3): 579 | resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} 580 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 581 | peerDependencies: 582 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 583 | dependencies: 584 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) 585 | '@types/json-schema': 7.0.15 586 | '@types/semver': 7.5.6 587 | '@typescript-eslint/scope-manager': 5.62.0 588 | '@typescript-eslint/types': 5.62.0 589 | '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) 590 | eslint: 8.56.0 591 | eslint-scope: 5.1.1 592 | semver: 7.5.4 593 | transitivePeerDependencies: 594 | - supports-color 595 | - typescript 596 | dev: true 597 | 598 | /@typescript-eslint/visitor-keys@5.62.0: 599 | resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} 600 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 601 | dependencies: 602 | '@typescript-eslint/types': 5.62.0 603 | eslint-visitor-keys: 3.4.3 604 | dev: true 605 | 606 | /@typescript-eslint/visitor-keys@6.19.0: 607 | resolution: {integrity: sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==} 608 | engines: {node: ^16.0.0 || >=18.0.0} 609 | dependencies: 610 | '@typescript-eslint/types': 6.19.0 611 | eslint-visitor-keys: 3.4.3 612 | dev: true 613 | 614 | /@ungap/structured-clone@1.2.0: 615 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 616 | dev: true 617 | 618 | /acorn-jsx@5.3.2(acorn@8.11.3): 619 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 620 | peerDependencies: 621 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 622 | dependencies: 623 | acorn: 8.11.3 624 | dev: true 625 | 626 | /acorn@8.11.3: 627 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 628 | engines: {node: '>=0.4.0'} 629 | hasBin: true 630 | dev: true 631 | 632 | /ajv@6.12.6: 633 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 634 | dependencies: 635 | fast-deep-equal: 3.1.3 636 | fast-json-stable-stringify: 2.1.0 637 | json-schema-traverse: 0.4.1 638 | uri-js: 4.4.1 639 | dev: true 640 | 641 | /ansi-regex@5.0.1: 642 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 643 | engines: {node: '>=8'} 644 | dev: true 645 | 646 | /ansi-regex@6.0.1: 647 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 648 | engines: {node: '>=12'} 649 | dev: true 650 | 651 | /ansi-styles@4.3.0: 652 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 653 | engines: {node: '>=8'} 654 | dependencies: 655 | color-convert: 2.0.1 656 | dev: true 657 | 658 | /ansi-styles@6.2.1: 659 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 660 | engines: {node: '>=12'} 661 | dev: true 662 | 663 | /any-promise@1.3.0: 664 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 665 | dev: true 666 | 667 | /anymatch@3.1.3: 668 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 669 | engines: {node: '>= 8'} 670 | dependencies: 671 | normalize-path: 3.0.0 672 | picomatch: 2.3.1 673 | dev: true 674 | 675 | /arg@5.0.2: 676 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 677 | dev: true 678 | 679 | /argparse@2.0.1: 680 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 681 | dev: true 682 | 683 | /aria-query@5.3.0: 684 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} 685 | dependencies: 686 | dequal: 2.0.3 687 | dev: true 688 | 689 | /array-buffer-byte-length@1.0.0: 690 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} 691 | dependencies: 692 | call-bind: 1.0.5 693 | is-array-buffer: 3.0.2 694 | dev: true 695 | 696 | /array-includes@3.1.7: 697 | resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} 698 | engines: {node: '>= 0.4'} 699 | dependencies: 700 | call-bind: 1.0.5 701 | define-properties: 1.2.1 702 | es-abstract: 1.22.3 703 | get-intrinsic: 1.2.2 704 | is-string: 1.0.7 705 | dev: true 706 | 707 | /array-union@2.1.0: 708 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 709 | engines: {node: '>=8'} 710 | dev: true 711 | 712 | /array.prototype.findlastindex@1.2.3: 713 | resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} 714 | engines: {node: '>= 0.4'} 715 | dependencies: 716 | call-bind: 1.0.5 717 | define-properties: 1.2.1 718 | es-abstract: 1.22.3 719 | es-shim-unscopables: 1.0.2 720 | get-intrinsic: 1.2.2 721 | dev: true 722 | 723 | /array.prototype.flat@1.3.2: 724 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} 725 | engines: {node: '>= 0.4'} 726 | dependencies: 727 | call-bind: 1.0.5 728 | define-properties: 1.2.1 729 | es-abstract: 1.22.3 730 | es-shim-unscopables: 1.0.2 731 | dev: true 732 | 733 | /array.prototype.flatmap@1.3.2: 734 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} 735 | engines: {node: '>= 0.4'} 736 | dependencies: 737 | call-bind: 1.0.5 738 | define-properties: 1.2.1 739 | es-abstract: 1.22.3 740 | es-shim-unscopables: 1.0.2 741 | dev: true 742 | 743 | /array.prototype.tosorted@1.1.2: 744 | resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} 745 | dependencies: 746 | call-bind: 1.0.5 747 | define-properties: 1.2.1 748 | es-abstract: 1.22.3 749 | es-shim-unscopables: 1.0.2 750 | get-intrinsic: 1.2.2 751 | dev: true 752 | 753 | /arraybuffer.prototype.slice@1.0.2: 754 | resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} 755 | engines: {node: '>= 0.4'} 756 | dependencies: 757 | array-buffer-byte-length: 1.0.0 758 | call-bind: 1.0.5 759 | define-properties: 1.2.1 760 | es-abstract: 1.22.3 761 | get-intrinsic: 1.2.2 762 | is-array-buffer: 3.0.2 763 | is-shared-array-buffer: 1.0.2 764 | dev: true 765 | 766 | /ast-types-flow@0.0.8: 767 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} 768 | dev: true 769 | 770 | /asynciterator.prototype@1.0.0: 771 | resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} 772 | dependencies: 773 | has-symbols: 1.0.3 774 | dev: true 775 | 776 | /autoprefixer@10.4.17(postcss@8.4.33): 777 | resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} 778 | engines: {node: ^10 || ^12 || >=14} 779 | hasBin: true 780 | peerDependencies: 781 | postcss: ^8.1.0 782 | dependencies: 783 | browserslist: 4.22.2 784 | caniuse-lite: 1.0.30001579 785 | fraction.js: 4.3.7 786 | normalize-range: 0.1.2 787 | picocolors: 1.0.0 788 | postcss: 8.4.33 789 | postcss-value-parser: 4.2.0 790 | dev: true 791 | 792 | /available-typed-arrays@1.0.5: 793 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} 794 | engines: {node: '>= 0.4'} 795 | dev: true 796 | 797 | /axe-core@4.7.0: 798 | resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} 799 | engines: {node: '>=4'} 800 | dev: true 801 | 802 | /axobject-query@3.2.1: 803 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} 804 | dependencies: 805 | dequal: 2.0.3 806 | dev: true 807 | 808 | /balanced-match@1.0.2: 809 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 810 | dev: true 811 | 812 | /binary-extensions@2.2.0: 813 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 814 | engines: {node: '>=8'} 815 | dev: true 816 | 817 | /brace-expansion@1.1.11: 818 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 819 | dependencies: 820 | balanced-match: 1.0.2 821 | concat-map: 0.0.1 822 | dev: true 823 | 824 | /brace-expansion@2.0.1: 825 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 826 | dependencies: 827 | balanced-match: 1.0.2 828 | dev: true 829 | 830 | /braces@3.0.2: 831 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 832 | engines: {node: '>=8'} 833 | dependencies: 834 | fill-range: 7.0.1 835 | dev: true 836 | 837 | /browserslist@4.22.2: 838 | resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} 839 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 840 | hasBin: true 841 | dependencies: 842 | caniuse-lite: 1.0.30001579 843 | electron-to-chromium: 1.4.637 844 | node-releases: 2.0.14 845 | update-browserslist-db: 1.0.13(browserslist@4.22.2) 846 | dev: true 847 | 848 | /busboy@1.6.0: 849 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 850 | engines: {node: '>=10.16.0'} 851 | dependencies: 852 | streamsearch: 1.1.0 853 | dev: false 854 | 855 | /call-bind@1.0.5: 856 | resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} 857 | dependencies: 858 | function-bind: 1.1.2 859 | get-intrinsic: 1.2.2 860 | set-function-length: 1.2.0 861 | dev: true 862 | 863 | /callsites@3.1.0: 864 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 865 | engines: {node: '>=6'} 866 | dev: true 867 | 868 | /camelcase-css@2.0.1: 869 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 870 | engines: {node: '>= 6'} 871 | dev: true 872 | 873 | /caniuse-lite@1.0.30001579: 874 | resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} 875 | 876 | /chalk@4.1.2: 877 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 878 | engines: {node: '>=10'} 879 | dependencies: 880 | ansi-styles: 4.3.0 881 | supports-color: 7.2.0 882 | dev: true 883 | 884 | /chokidar@3.5.3: 885 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 886 | engines: {node: '>= 8.10.0'} 887 | dependencies: 888 | anymatch: 3.1.3 889 | braces: 3.0.2 890 | glob-parent: 5.1.2 891 | is-binary-path: 2.1.0 892 | is-glob: 4.0.3 893 | normalize-path: 3.0.0 894 | readdirp: 3.6.0 895 | optionalDependencies: 896 | fsevents: 2.3.3 897 | dev: true 898 | 899 | /client-only@0.0.1: 900 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 901 | dev: false 902 | 903 | /color-convert@2.0.1: 904 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 905 | engines: {node: '>=7.0.0'} 906 | dependencies: 907 | color-name: 1.1.4 908 | dev: true 909 | 910 | /color-name@1.1.4: 911 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 912 | dev: true 913 | 914 | /commander@4.1.1: 915 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 916 | engines: {node: '>= 6'} 917 | dev: true 918 | 919 | /concat-map@0.0.1: 920 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 921 | dev: true 922 | 923 | /copy-anything@3.0.5: 924 | resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} 925 | engines: {node: '>=12.13'} 926 | dependencies: 927 | is-what: 4.1.16 928 | dev: false 929 | 930 | /cross-spawn@7.0.3: 931 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 932 | engines: {node: '>= 8'} 933 | dependencies: 934 | path-key: 3.1.1 935 | shebang-command: 2.0.0 936 | which: 2.0.2 937 | dev: true 938 | 939 | /cssesc@3.0.0: 940 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 941 | engines: {node: '>=4'} 942 | hasBin: true 943 | dev: true 944 | 945 | /csstype@3.1.3: 946 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 947 | dev: true 948 | 949 | /damerau-levenshtein@1.0.8: 950 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 951 | dev: true 952 | 953 | /debug@3.2.7: 954 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 955 | peerDependencies: 956 | supports-color: '*' 957 | peerDependenciesMeta: 958 | supports-color: 959 | optional: true 960 | dependencies: 961 | ms: 2.1.3 962 | dev: true 963 | 964 | /debug@4.3.4: 965 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 966 | engines: {node: '>=6.0'} 967 | peerDependencies: 968 | supports-color: '*' 969 | peerDependenciesMeta: 970 | supports-color: 971 | optional: true 972 | dependencies: 973 | ms: 2.1.2 974 | dev: true 975 | 976 | /deep-is@0.1.4: 977 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 978 | dev: true 979 | 980 | /define-data-property@1.1.1: 981 | resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} 982 | engines: {node: '>= 0.4'} 983 | dependencies: 984 | get-intrinsic: 1.2.2 985 | gopd: 1.0.1 986 | has-property-descriptors: 1.0.1 987 | dev: true 988 | 989 | /define-properties@1.2.1: 990 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 991 | engines: {node: '>= 0.4'} 992 | dependencies: 993 | define-data-property: 1.1.1 994 | has-property-descriptors: 1.0.1 995 | object-keys: 1.1.1 996 | dev: true 997 | 998 | /dequal@2.0.3: 999 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 1000 | engines: {node: '>=6'} 1001 | dev: true 1002 | 1003 | /didyoumean@1.2.2: 1004 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 1005 | dev: true 1006 | 1007 | /dir-glob@3.0.1: 1008 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1009 | engines: {node: '>=8'} 1010 | dependencies: 1011 | path-type: 4.0.0 1012 | dev: true 1013 | 1014 | /dlv@1.1.3: 1015 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 1016 | dev: true 1017 | 1018 | /doctrine@2.1.0: 1019 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 1020 | engines: {node: '>=0.10.0'} 1021 | dependencies: 1022 | esutils: 2.0.3 1023 | dev: true 1024 | 1025 | /doctrine@3.0.0: 1026 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1027 | engines: {node: '>=6.0.0'} 1028 | dependencies: 1029 | esutils: 2.0.3 1030 | dev: true 1031 | 1032 | /eastasianwidth@0.2.0: 1033 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 1034 | dev: true 1035 | 1036 | /electron-to-chromium@1.4.637: 1037 | resolution: {integrity: sha512-G7j3UCOukFtxVO1vWrPQUoDk3kL70mtvjc/DC/k2o7lE0wAdq+Vwp1ipagOow+BH0uVztFysLWbkM/RTIrbK3w==} 1038 | dev: true 1039 | 1040 | /emoji-regex@8.0.0: 1041 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1042 | dev: true 1043 | 1044 | /emoji-regex@9.2.2: 1045 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1046 | dev: true 1047 | 1048 | /enhanced-resolve@5.15.0: 1049 | resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} 1050 | engines: {node: '>=10.13.0'} 1051 | dependencies: 1052 | graceful-fs: 4.2.11 1053 | tapable: 2.2.1 1054 | dev: true 1055 | 1056 | /es-abstract@1.22.3: 1057 | resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} 1058 | engines: {node: '>= 0.4'} 1059 | dependencies: 1060 | array-buffer-byte-length: 1.0.0 1061 | arraybuffer.prototype.slice: 1.0.2 1062 | available-typed-arrays: 1.0.5 1063 | call-bind: 1.0.5 1064 | es-set-tostringtag: 2.0.2 1065 | es-to-primitive: 1.2.1 1066 | function.prototype.name: 1.1.6 1067 | get-intrinsic: 1.2.2 1068 | get-symbol-description: 1.0.0 1069 | globalthis: 1.0.3 1070 | gopd: 1.0.1 1071 | has-property-descriptors: 1.0.1 1072 | has-proto: 1.0.1 1073 | has-symbols: 1.0.3 1074 | hasown: 2.0.0 1075 | internal-slot: 1.0.6 1076 | is-array-buffer: 3.0.2 1077 | is-callable: 1.2.7 1078 | is-negative-zero: 2.0.2 1079 | is-regex: 1.1.4 1080 | is-shared-array-buffer: 1.0.2 1081 | is-string: 1.0.7 1082 | is-typed-array: 1.1.12 1083 | is-weakref: 1.0.2 1084 | object-inspect: 1.13.1 1085 | object-keys: 1.1.1 1086 | object.assign: 4.1.5 1087 | regexp.prototype.flags: 1.5.1 1088 | safe-array-concat: 1.1.0 1089 | safe-regex-test: 1.0.2 1090 | string.prototype.trim: 1.2.8 1091 | string.prototype.trimend: 1.0.7 1092 | string.prototype.trimstart: 1.0.7 1093 | typed-array-buffer: 1.0.0 1094 | typed-array-byte-length: 1.0.0 1095 | typed-array-byte-offset: 1.0.0 1096 | typed-array-length: 1.0.4 1097 | unbox-primitive: 1.0.2 1098 | which-typed-array: 1.1.13 1099 | dev: true 1100 | 1101 | /es-iterator-helpers@1.0.15: 1102 | resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} 1103 | dependencies: 1104 | asynciterator.prototype: 1.0.0 1105 | call-bind: 1.0.5 1106 | define-properties: 1.2.1 1107 | es-abstract: 1.22.3 1108 | es-set-tostringtag: 2.0.2 1109 | function-bind: 1.1.2 1110 | get-intrinsic: 1.2.2 1111 | globalthis: 1.0.3 1112 | has-property-descriptors: 1.0.1 1113 | has-proto: 1.0.1 1114 | has-symbols: 1.0.3 1115 | internal-slot: 1.0.6 1116 | iterator.prototype: 1.1.2 1117 | safe-array-concat: 1.1.0 1118 | dev: true 1119 | 1120 | /es-set-tostringtag@2.0.2: 1121 | resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} 1122 | engines: {node: '>= 0.4'} 1123 | dependencies: 1124 | get-intrinsic: 1.2.2 1125 | has-tostringtag: 1.0.0 1126 | hasown: 2.0.0 1127 | dev: true 1128 | 1129 | /es-shim-unscopables@1.0.2: 1130 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} 1131 | dependencies: 1132 | hasown: 2.0.0 1133 | dev: true 1134 | 1135 | /es-to-primitive@1.2.1: 1136 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1137 | engines: {node: '>= 0.4'} 1138 | dependencies: 1139 | is-callable: 1.2.7 1140 | is-date-object: 1.0.5 1141 | is-symbol: 1.0.4 1142 | dev: true 1143 | 1144 | /escalade@3.1.1: 1145 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1146 | engines: {node: '>=6'} 1147 | dev: true 1148 | 1149 | /escape-string-regexp@4.0.0: 1150 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1151 | engines: {node: '>=10'} 1152 | dev: true 1153 | 1154 | /eslint-config-next@14.0.4(eslint@8.56.0)(typescript@5.3.3): 1155 | resolution: {integrity: sha512-9/xbOHEQOmQtqvQ1UsTQZpnA7SlDMBtuKJ//S4JnoyK3oGLhILKXdBgu/UO7lQo/2xOykQULS1qQ6p2+EpHgAQ==} 1156 | peerDependencies: 1157 | eslint: ^7.23.0 || ^8.0.0 1158 | typescript: '>=3.3.1' 1159 | peerDependenciesMeta: 1160 | typescript: 1161 | optional: true 1162 | dependencies: 1163 | '@next/eslint-plugin-next': 14.0.4 1164 | '@rushstack/eslint-patch': 1.7.0 1165 | '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) 1166 | eslint: 8.56.0 1167 | eslint-import-resolver-node: 0.3.9 1168 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) 1169 | eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) 1170 | eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0) 1171 | eslint-plugin-react: 7.33.2(eslint@8.56.0) 1172 | eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) 1173 | typescript: 5.3.3 1174 | transitivePeerDependencies: 1175 | - eslint-import-resolver-webpack 1176 | - supports-color 1177 | dev: true 1178 | 1179 | /eslint-import-resolver-node@0.3.9: 1180 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 1181 | dependencies: 1182 | debug: 3.2.7 1183 | is-core-module: 2.13.1 1184 | resolve: 1.22.8 1185 | transitivePeerDependencies: 1186 | - supports-color 1187 | dev: true 1188 | 1189 | /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0): 1190 | resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} 1191 | engines: {node: ^14.18.0 || >=16.0.0} 1192 | peerDependencies: 1193 | eslint: '*' 1194 | eslint-plugin-import: '*' 1195 | dependencies: 1196 | debug: 4.3.4 1197 | enhanced-resolve: 5.15.0 1198 | eslint: 8.56.0 1199 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) 1200 | eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) 1201 | fast-glob: 3.3.2 1202 | get-tsconfig: 4.7.2 1203 | is-core-module: 2.13.1 1204 | is-glob: 4.0.3 1205 | transitivePeerDependencies: 1206 | - '@typescript-eslint/parser' 1207 | - eslint-import-resolver-node 1208 | - eslint-import-resolver-webpack 1209 | - supports-color 1210 | dev: true 1211 | 1212 | /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): 1213 | resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} 1214 | engines: {node: '>=4'} 1215 | peerDependencies: 1216 | '@typescript-eslint/parser': '*' 1217 | eslint: '*' 1218 | eslint-import-resolver-node: '*' 1219 | eslint-import-resolver-typescript: '*' 1220 | eslint-import-resolver-webpack: '*' 1221 | peerDependenciesMeta: 1222 | '@typescript-eslint/parser': 1223 | optional: true 1224 | eslint: 1225 | optional: true 1226 | eslint-import-resolver-node: 1227 | optional: true 1228 | eslint-import-resolver-typescript: 1229 | optional: true 1230 | eslint-import-resolver-webpack: 1231 | optional: true 1232 | dependencies: 1233 | '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) 1234 | debug: 3.2.7 1235 | eslint: 8.56.0 1236 | eslint-import-resolver-node: 0.3.9 1237 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) 1238 | transitivePeerDependencies: 1239 | - supports-color 1240 | dev: true 1241 | 1242 | /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): 1243 | resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} 1244 | engines: {node: '>=4'} 1245 | peerDependencies: 1246 | '@typescript-eslint/parser': '*' 1247 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1248 | peerDependenciesMeta: 1249 | '@typescript-eslint/parser': 1250 | optional: true 1251 | dependencies: 1252 | '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) 1253 | array-includes: 3.1.7 1254 | array.prototype.findlastindex: 1.2.3 1255 | array.prototype.flat: 1.3.2 1256 | array.prototype.flatmap: 1.3.2 1257 | debug: 3.2.7 1258 | doctrine: 2.1.0 1259 | eslint: 8.56.0 1260 | eslint-import-resolver-node: 0.3.9 1261 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) 1262 | hasown: 2.0.0 1263 | is-core-module: 2.13.1 1264 | is-glob: 4.0.3 1265 | minimatch: 3.1.2 1266 | object.fromentries: 2.0.7 1267 | object.groupby: 1.0.1 1268 | object.values: 1.1.7 1269 | semver: 6.3.1 1270 | tsconfig-paths: 3.15.0 1271 | transitivePeerDependencies: 1272 | - eslint-import-resolver-typescript 1273 | - eslint-import-resolver-webpack 1274 | - supports-color 1275 | dev: true 1276 | 1277 | /eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0): 1278 | resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} 1279 | engines: {node: '>=4.0'} 1280 | peerDependencies: 1281 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1282 | dependencies: 1283 | '@babel/runtime': 7.23.8 1284 | aria-query: 5.3.0 1285 | array-includes: 3.1.7 1286 | array.prototype.flatmap: 1.3.2 1287 | ast-types-flow: 0.0.8 1288 | axe-core: 4.7.0 1289 | axobject-query: 3.2.1 1290 | damerau-levenshtein: 1.0.8 1291 | emoji-regex: 9.2.2 1292 | es-iterator-helpers: 1.0.15 1293 | eslint: 8.56.0 1294 | hasown: 2.0.0 1295 | jsx-ast-utils: 3.3.5 1296 | language-tags: 1.0.9 1297 | minimatch: 3.1.2 1298 | object.entries: 1.1.7 1299 | object.fromentries: 2.0.7 1300 | dev: true 1301 | 1302 | /eslint-plugin-react-hooks@4.6.0(eslint@8.56.0): 1303 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} 1304 | engines: {node: '>=10'} 1305 | peerDependencies: 1306 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1307 | dependencies: 1308 | eslint: 8.56.0 1309 | dev: true 1310 | 1311 | /eslint-plugin-react@7.33.2(eslint@8.56.0): 1312 | resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} 1313 | engines: {node: '>=4'} 1314 | peerDependencies: 1315 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1316 | dependencies: 1317 | array-includes: 3.1.7 1318 | array.prototype.flatmap: 1.3.2 1319 | array.prototype.tosorted: 1.1.2 1320 | doctrine: 2.1.0 1321 | es-iterator-helpers: 1.0.15 1322 | eslint: 8.56.0 1323 | estraverse: 5.3.0 1324 | jsx-ast-utils: 3.3.5 1325 | minimatch: 3.1.2 1326 | object.entries: 1.1.7 1327 | object.fromentries: 2.0.7 1328 | object.hasown: 1.1.3 1329 | object.values: 1.1.7 1330 | prop-types: 15.8.1 1331 | resolve: 2.0.0-next.5 1332 | semver: 6.3.1 1333 | string.prototype.matchall: 4.0.10 1334 | dev: true 1335 | 1336 | /eslint-scope@5.1.1: 1337 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1338 | engines: {node: '>=8.0.0'} 1339 | dependencies: 1340 | esrecurse: 4.3.0 1341 | estraverse: 4.3.0 1342 | dev: true 1343 | 1344 | /eslint-scope@7.2.2: 1345 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 1346 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1347 | dependencies: 1348 | esrecurse: 4.3.0 1349 | estraverse: 5.3.0 1350 | dev: true 1351 | 1352 | /eslint-visitor-keys@3.4.3: 1353 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1354 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1355 | dev: true 1356 | 1357 | /eslint@8.56.0: 1358 | resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} 1359 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1360 | hasBin: true 1361 | dependencies: 1362 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) 1363 | '@eslint-community/regexpp': 4.10.0 1364 | '@eslint/eslintrc': 2.1.4 1365 | '@eslint/js': 8.56.0 1366 | '@humanwhocodes/config-array': 0.11.14 1367 | '@humanwhocodes/module-importer': 1.0.1 1368 | '@nodelib/fs.walk': 1.2.8 1369 | '@ungap/structured-clone': 1.2.0 1370 | ajv: 6.12.6 1371 | chalk: 4.1.2 1372 | cross-spawn: 7.0.3 1373 | debug: 4.3.4 1374 | doctrine: 3.0.0 1375 | escape-string-regexp: 4.0.0 1376 | eslint-scope: 7.2.2 1377 | eslint-visitor-keys: 3.4.3 1378 | espree: 9.6.1 1379 | esquery: 1.5.0 1380 | esutils: 2.0.3 1381 | fast-deep-equal: 3.1.3 1382 | file-entry-cache: 6.0.1 1383 | find-up: 5.0.0 1384 | glob-parent: 6.0.2 1385 | globals: 13.24.0 1386 | graphemer: 1.4.0 1387 | ignore: 5.3.0 1388 | imurmurhash: 0.1.4 1389 | is-glob: 4.0.3 1390 | is-path-inside: 3.0.3 1391 | js-yaml: 4.1.0 1392 | json-stable-stringify-without-jsonify: 1.0.1 1393 | levn: 0.4.1 1394 | lodash.merge: 4.6.2 1395 | minimatch: 3.1.2 1396 | natural-compare: 1.4.0 1397 | optionator: 0.9.3 1398 | strip-ansi: 6.0.1 1399 | text-table: 0.2.0 1400 | transitivePeerDependencies: 1401 | - supports-color 1402 | dev: true 1403 | 1404 | /espree@9.6.1: 1405 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1406 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1407 | dependencies: 1408 | acorn: 8.11.3 1409 | acorn-jsx: 5.3.2(acorn@8.11.3) 1410 | eslint-visitor-keys: 3.4.3 1411 | dev: true 1412 | 1413 | /esquery@1.5.0: 1414 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1415 | engines: {node: '>=0.10'} 1416 | dependencies: 1417 | estraverse: 5.3.0 1418 | dev: true 1419 | 1420 | /esrecurse@4.3.0: 1421 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1422 | engines: {node: '>=4.0'} 1423 | dependencies: 1424 | estraverse: 5.3.0 1425 | dev: true 1426 | 1427 | /estraverse@4.3.0: 1428 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1429 | engines: {node: '>=4.0'} 1430 | dev: true 1431 | 1432 | /estraverse@5.3.0: 1433 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1434 | engines: {node: '>=4.0'} 1435 | dev: true 1436 | 1437 | /esutils@2.0.3: 1438 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1439 | engines: {node: '>=0.10.0'} 1440 | dev: true 1441 | 1442 | /fast-deep-equal@3.1.3: 1443 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1444 | dev: true 1445 | 1446 | /fast-glob@3.3.2: 1447 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1448 | engines: {node: '>=8.6.0'} 1449 | dependencies: 1450 | '@nodelib/fs.stat': 2.0.5 1451 | '@nodelib/fs.walk': 1.2.8 1452 | glob-parent: 5.1.2 1453 | merge2: 1.4.1 1454 | micromatch: 4.0.5 1455 | dev: true 1456 | 1457 | /fast-json-stable-stringify@2.1.0: 1458 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1459 | dev: true 1460 | 1461 | /fast-levenshtein@2.0.6: 1462 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1463 | dev: true 1464 | 1465 | /fastq@1.16.0: 1466 | resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} 1467 | dependencies: 1468 | reusify: 1.0.4 1469 | dev: true 1470 | 1471 | /file-entry-cache@6.0.1: 1472 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1473 | engines: {node: ^10.12.0 || >=12.0.0} 1474 | dependencies: 1475 | flat-cache: 3.2.0 1476 | dev: true 1477 | 1478 | /fill-range@7.0.1: 1479 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1480 | engines: {node: '>=8'} 1481 | dependencies: 1482 | to-regex-range: 5.0.1 1483 | dev: true 1484 | 1485 | /find-up@5.0.0: 1486 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1487 | engines: {node: '>=10'} 1488 | dependencies: 1489 | locate-path: 6.0.0 1490 | path-exists: 4.0.0 1491 | dev: true 1492 | 1493 | /flat-cache@3.2.0: 1494 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 1495 | engines: {node: ^10.12.0 || >=12.0.0} 1496 | dependencies: 1497 | flatted: 3.2.9 1498 | keyv: 4.5.4 1499 | rimraf: 3.0.2 1500 | dev: true 1501 | 1502 | /flatted@3.2.9: 1503 | resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} 1504 | dev: true 1505 | 1506 | /for-each@0.3.3: 1507 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 1508 | dependencies: 1509 | is-callable: 1.2.7 1510 | dev: true 1511 | 1512 | /foreground-child@3.1.1: 1513 | resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} 1514 | engines: {node: '>=14'} 1515 | dependencies: 1516 | cross-spawn: 7.0.3 1517 | signal-exit: 4.1.0 1518 | dev: true 1519 | 1520 | /fraction.js@4.3.7: 1521 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} 1522 | dev: true 1523 | 1524 | /fs.realpath@1.0.0: 1525 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1526 | dev: true 1527 | 1528 | /fsevents@2.3.3: 1529 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1530 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1531 | os: [darwin] 1532 | requiresBuild: true 1533 | dev: true 1534 | optional: true 1535 | 1536 | /function-bind@1.1.2: 1537 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1538 | dev: true 1539 | 1540 | /function.prototype.name@1.1.6: 1541 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} 1542 | engines: {node: '>= 0.4'} 1543 | dependencies: 1544 | call-bind: 1.0.5 1545 | define-properties: 1.2.1 1546 | es-abstract: 1.22.3 1547 | functions-have-names: 1.2.3 1548 | dev: true 1549 | 1550 | /functions-have-names@1.2.3: 1551 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1552 | dev: true 1553 | 1554 | /get-intrinsic@1.2.2: 1555 | resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} 1556 | dependencies: 1557 | function-bind: 1.1.2 1558 | has-proto: 1.0.1 1559 | has-symbols: 1.0.3 1560 | hasown: 2.0.0 1561 | dev: true 1562 | 1563 | /get-symbol-description@1.0.0: 1564 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1565 | engines: {node: '>= 0.4'} 1566 | dependencies: 1567 | call-bind: 1.0.5 1568 | get-intrinsic: 1.2.2 1569 | dev: true 1570 | 1571 | /get-tsconfig@4.7.2: 1572 | resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} 1573 | dependencies: 1574 | resolve-pkg-maps: 1.0.0 1575 | dev: true 1576 | 1577 | /glob-parent@5.1.2: 1578 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1579 | engines: {node: '>= 6'} 1580 | dependencies: 1581 | is-glob: 4.0.3 1582 | dev: true 1583 | 1584 | /glob-parent@6.0.2: 1585 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1586 | engines: {node: '>=10.13.0'} 1587 | dependencies: 1588 | is-glob: 4.0.3 1589 | dev: true 1590 | 1591 | /glob-to-regexp@0.4.1: 1592 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 1593 | dev: false 1594 | 1595 | /glob@10.3.10: 1596 | resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} 1597 | engines: {node: '>=16 || 14 >=14.17'} 1598 | hasBin: true 1599 | dependencies: 1600 | foreground-child: 3.1.1 1601 | jackspeak: 2.3.6 1602 | minimatch: 9.0.3 1603 | minipass: 7.0.4 1604 | path-scurry: 1.10.1 1605 | dev: true 1606 | 1607 | /glob@7.1.7: 1608 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} 1609 | dependencies: 1610 | fs.realpath: 1.0.0 1611 | inflight: 1.0.6 1612 | inherits: 2.0.4 1613 | minimatch: 3.1.2 1614 | once: 1.4.0 1615 | path-is-absolute: 1.0.1 1616 | dev: true 1617 | 1618 | /glob@7.2.3: 1619 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1620 | dependencies: 1621 | fs.realpath: 1.0.0 1622 | inflight: 1.0.6 1623 | inherits: 2.0.4 1624 | minimatch: 3.1.2 1625 | once: 1.4.0 1626 | path-is-absolute: 1.0.1 1627 | dev: true 1628 | 1629 | /globals@13.24.0: 1630 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 1631 | engines: {node: '>=8'} 1632 | dependencies: 1633 | type-fest: 0.20.2 1634 | dev: true 1635 | 1636 | /globalthis@1.0.3: 1637 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 1638 | engines: {node: '>= 0.4'} 1639 | dependencies: 1640 | define-properties: 1.2.1 1641 | dev: true 1642 | 1643 | /globby@11.1.0: 1644 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1645 | engines: {node: '>=10'} 1646 | dependencies: 1647 | array-union: 2.1.0 1648 | dir-glob: 3.0.1 1649 | fast-glob: 3.3.2 1650 | ignore: 5.3.0 1651 | merge2: 1.4.1 1652 | slash: 3.0.0 1653 | dev: true 1654 | 1655 | /gopd@1.0.1: 1656 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1657 | dependencies: 1658 | get-intrinsic: 1.2.2 1659 | dev: true 1660 | 1661 | /graceful-fs@4.2.11: 1662 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1663 | 1664 | /graphemer@1.4.0: 1665 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1666 | dev: true 1667 | 1668 | /has-bigints@1.0.2: 1669 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1670 | dev: true 1671 | 1672 | /has-flag@4.0.0: 1673 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1674 | engines: {node: '>=8'} 1675 | dev: true 1676 | 1677 | /has-property-descriptors@1.0.1: 1678 | resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} 1679 | dependencies: 1680 | get-intrinsic: 1.2.2 1681 | dev: true 1682 | 1683 | /has-proto@1.0.1: 1684 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 1685 | engines: {node: '>= 0.4'} 1686 | dev: true 1687 | 1688 | /has-symbols@1.0.3: 1689 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1690 | engines: {node: '>= 0.4'} 1691 | dev: true 1692 | 1693 | /has-tostringtag@1.0.0: 1694 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1695 | engines: {node: '>= 0.4'} 1696 | dependencies: 1697 | has-symbols: 1.0.3 1698 | dev: true 1699 | 1700 | /hasown@2.0.0: 1701 | resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} 1702 | engines: {node: '>= 0.4'} 1703 | dependencies: 1704 | function-bind: 1.1.2 1705 | dev: true 1706 | 1707 | /ignore@5.3.0: 1708 | resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} 1709 | engines: {node: '>= 4'} 1710 | dev: true 1711 | 1712 | /import-fresh@3.3.0: 1713 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1714 | engines: {node: '>=6'} 1715 | dependencies: 1716 | parent-module: 1.0.1 1717 | resolve-from: 4.0.0 1718 | dev: true 1719 | 1720 | /imurmurhash@0.1.4: 1721 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1722 | engines: {node: '>=0.8.19'} 1723 | dev: true 1724 | 1725 | /inflight@1.0.6: 1726 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1727 | dependencies: 1728 | once: 1.4.0 1729 | wrappy: 1.0.2 1730 | dev: true 1731 | 1732 | /inherits@2.0.4: 1733 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1734 | dev: true 1735 | 1736 | /internal-slot@1.0.6: 1737 | resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} 1738 | engines: {node: '>= 0.4'} 1739 | dependencies: 1740 | get-intrinsic: 1.2.2 1741 | hasown: 2.0.0 1742 | side-channel: 1.0.4 1743 | dev: true 1744 | 1745 | /is-array-buffer@3.0.2: 1746 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} 1747 | dependencies: 1748 | call-bind: 1.0.5 1749 | get-intrinsic: 1.2.2 1750 | is-typed-array: 1.1.12 1751 | dev: true 1752 | 1753 | /is-async-function@2.0.0: 1754 | resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} 1755 | engines: {node: '>= 0.4'} 1756 | dependencies: 1757 | has-tostringtag: 1.0.0 1758 | dev: true 1759 | 1760 | /is-bigint@1.0.4: 1761 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1762 | dependencies: 1763 | has-bigints: 1.0.2 1764 | dev: true 1765 | 1766 | /is-binary-path@2.1.0: 1767 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1768 | engines: {node: '>=8'} 1769 | dependencies: 1770 | binary-extensions: 2.2.0 1771 | dev: true 1772 | 1773 | /is-boolean-object@1.1.2: 1774 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1775 | engines: {node: '>= 0.4'} 1776 | dependencies: 1777 | call-bind: 1.0.5 1778 | has-tostringtag: 1.0.0 1779 | dev: true 1780 | 1781 | /is-callable@1.2.7: 1782 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1783 | engines: {node: '>= 0.4'} 1784 | dev: true 1785 | 1786 | /is-core-module@2.13.1: 1787 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 1788 | dependencies: 1789 | hasown: 2.0.0 1790 | dev: true 1791 | 1792 | /is-date-object@1.0.5: 1793 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1794 | engines: {node: '>= 0.4'} 1795 | dependencies: 1796 | has-tostringtag: 1.0.0 1797 | dev: true 1798 | 1799 | /is-extglob@2.1.1: 1800 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1801 | engines: {node: '>=0.10.0'} 1802 | dev: true 1803 | 1804 | /is-finalizationregistry@1.0.2: 1805 | resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} 1806 | dependencies: 1807 | call-bind: 1.0.5 1808 | dev: true 1809 | 1810 | /is-fullwidth-code-point@3.0.0: 1811 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1812 | engines: {node: '>=8'} 1813 | dev: true 1814 | 1815 | /is-generator-function@1.0.10: 1816 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} 1817 | engines: {node: '>= 0.4'} 1818 | dependencies: 1819 | has-tostringtag: 1.0.0 1820 | dev: true 1821 | 1822 | /is-glob@4.0.3: 1823 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1824 | engines: {node: '>=0.10.0'} 1825 | dependencies: 1826 | is-extglob: 2.1.1 1827 | dev: true 1828 | 1829 | /is-map@2.0.2: 1830 | resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} 1831 | dev: true 1832 | 1833 | /is-negative-zero@2.0.2: 1834 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1835 | engines: {node: '>= 0.4'} 1836 | dev: true 1837 | 1838 | /is-number-object@1.0.7: 1839 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1840 | engines: {node: '>= 0.4'} 1841 | dependencies: 1842 | has-tostringtag: 1.0.0 1843 | dev: true 1844 | 1845 | /is-number@7.0.0: 1846 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1847 | engines: {node: '>=0.12.0'} 1848 | dev: true 1849 | 1850 | /is-path-inside@3.0.3: 1851 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1852 | engines: {node: '>=8'} 1853 | dev: true 1854 | 1855 | /is-regex@1.1.4: 1856 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1857 | engines: {node: '>= 0.4'} 1858 | dependencies: 1859 | call-bind: 1.0.5 1860 | has-tostringtag: 1.0.0 1861 | dev: true 1862 | 1863 | /is-set@2.0.2: 1864 | resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} 1865 | dev: true 1866 | 1867 | /is-shared-array-buffer@1.0.2: 1868 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1869 | dependencies: 1870 | call-bind: 1.0.5 1871 | dev: true 1872 | 1873 | /is-string@1.0.7: 1874 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1875 | engines: {node: '>= 0.4'} 1876 | dependencies: 1877 | has-tostringtag: 1.0.0 1878 | dev: true 1879 | 1880 | /is-symbol@1.0.4: 1881 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1882 | engines: {node: '>= 0.4'} 1883 | dependencies: 1884 | has-symbols: 1.0.3 1885 | dev: true 1886 | 1887 | /is-typed-array@1.1.12: 1888 | resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} 1889 | engines: {node: '>= 0.4'} 1890 | dependencies: 1891 | which-typed-array: 1.1.13 1892 | dev: true 1893 | 1894 | /is-weakmap@2.0.1: 1895 | resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} 1896 | dev: true 1897 | 1898 | /is-weakref@1.0.2: 1899 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1900 | dependencies: 1901 | call-bind: 1.0.5 1902 | dev: true 1903 | 1904 | /is-weakset@2.0.2: 1905 | resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} 1906 | dependencies: 1907 | call-bind: 1.0.5 1908 | get-intrinsic: 1.2.2 1909 | dev: true 1910 | 1911 | /is-what@4.1.16: 1912 | resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} 1913 | engines: {node: '>=12.13'} 1914 | dev: false 1915 | 1916 | /isarray@2.0.5: 1917 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1918 | dev: true 1919 | 1920 | /isexe@2.0.0: 1921 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1922 | dev: true 1923 | 1924 | /iterator.prototype@1.1.2: 1925 | resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} 1926 | dependencies: 1927 | define-properties: 1.2.1 1928 | get-intrinsic: 1.2.2 1929 | has-symbols: 1.0.3 1930 | reflect.getprototypeof: 1.0.4 1931 | set-function-name: 2.0.1 1932 | dev: true 1933 | 1934 | /jackspeak@2.3.6: 1935 | resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} 1936 | engines: {node: '>=14'} 1937 | dependencies: 1938 | '@isaacs/cliui': 8.0.2 1939 | optionalDependencies: 1940 | '@pkgjs/parseargs': 0.11.0 1941 | dev: true 1942 | 1943 | /jiti@1.21.0: 1944 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} 1945 | hasBin: true 1946 | dev: true 1947 | 1948 | /js-tokens@4.0.0: 1949 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1950 | 1951 | /js-yaml@4.1.0: 1952 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1953 | hasBin: true 1954 | dependencies: 1955 | argparse: 2.0.1 1956 | dev: true 1957 | 1958 | /json-buffer@3.0.1: 1959 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1960 | dev: true 1961 | 1962 | /json-schema-traverse@0.4.1: 1963 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1964 | dev: true 1965 | 1966 | /json-stable-stringify-without-jsonify@1.0.1: 1967 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1968 | dev: true 1969 | 1970 | /json5@1.0.2: 1971 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1972 | hasBin: true 1973 | dependencies: 1974 | minimist: 1.2.8 1975 | dev: true 1976 | 1977 | /jsx-ast-utils@3.3.5: 1978 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} 1979 | engines: {node: '>=4.0'} 1980 | dependencies: 1981 | array-includes: 3.1.7 1982 | array.prototype.flat: 1.3.2 1983 | object.assign: 4.1.5 1984 | object.values: 1.1.7 1985 | dev: true 1986 | 1987 | /keyv@4.5.4: 1988 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1989 | dependencies: 1990 | json-buffer: 3.0.1 1991 | dev: true 1992 | 1993 | /language-subtag-registry@0.3.22: 1994 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} 1995 | dev: true 1996 | 1997 | /language-tags@1.0.9: 1998 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} 1999 | engines: {node: '>=0.10'} 2000 | dependencies: 2001 | language-subtag-registry: 0.3.22 2002 | dev: true 2003 | 2004 | /levn@0.4.1: 2005 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2006 | engines: {node: '>= 0.8.0'} 2007 | dependencies: 2008 | prelude-ls: 1.2.1 2009 | type-check: 0.4.0 2010 | dev: true 2011 | 2012 | /lilconfig@2.1.0: 2013 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 2014 | engines: {node: '>=10'} 2015 | dev: true 2016 | 2017 | /lilconfig@3.0.0: 2018 | resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} 2019 | engines: {node: '>=14'} 2020 | dev: true 2021 | 2022 | /lines-and-columns@1.2.4: 2023 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 2024 | dev: true 2025 | 2026 | /locate-path@6.0.0: 2027 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 2028 | engines: {node: '>=10'} 2029 | dependencies: 2030 | p-locate: 5.0.0 2031 | dev: true 2032 | 2033 | /lodash.merge@4.6.2: 2034 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2035 | dev: true 2036 | 2037 | /loose-envify@1.4.0: 2038 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 2039 | hasBin: true 2040 | dependencies: 2041 | js-tokens: 4.0.0 2042 | 2043 | /lru-cache@10.1.0: 2044 | resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} 2045 | engines: {node: 14 || >=16.14} 2046 | dev: true 2047 | 2048 | /lru-cache@6.0.0: 2049 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2050 | engines: {node: '>=10'} 2051 | dependencies: 2052 | yallist: 4.0.0 2053 | dev: true 2054 | 2055 | /merge2@1.4.1: 2056 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2057 | engines: {node: '>= 8'} 2058 | dev: true 2059 | 2060 | /micromatch@4.0.5: 2061 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2062 | engines: {node: '>=8.6'} 2063 | dependencies: 2064 | braces: 3.0.2 2065 | picomatch: 2.3.1 2066 | dev: true 2067 | 2068 | /minimatch@3.1.2: 2069 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2070 | dependencies: 2071 | brace-expansion: 1.1.11 2072 | dev: true 2073 | 2074 | /minimatch@9.0.3: 2075 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} 2076 | engines: {node: '>=16 || 14 >=14.17'} 2077 | dependencies: 2078 | brace-expansion: 2.0.1 2079 | dev: true 2080 | 2081 | /minimist@1.2.8: 2082 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 2083 | dev: true 2084 | 2085 | /minipass@7.0.4: 2086 | resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} 2087 | engines: {node: '>=16 || 14 >=14.17'} 2088 | dev: true 2089 | 2090 | /ms@2.1.2: 2091 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2092 | dev: true 2093 | 2094 | /ms@2.1.3: 2095 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2096 | dev: true 2097 | 2098 | /mz@2.7.0: 2099 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 2100 | dependencies: 2101 | any-promise: 1.3.0 2102 | object-assign: 4.1.1 2103 | thenify-all: 1.6.0 2104 | dev: true 2105 | 2106 | /nanoid@3.3.7: 2107 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 2108 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2109 | hasBin: true 2110 | 2111 | /natural-compare@1.4.0: 2112 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2113 | dev: true 2114 | 2115 | /next@14.0.4(react-dom@18.2.0)(react@18.2.0): 2116 | resolution: {integrity: sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA==} 2117 | engines: {node: '>=18.17.0'} 2118 | hasBin: true 2119 | peerDependencies: 2120 | '@opentelemetry/api': ^1.1.0 2121 | react: ^18.2.0 2122 | react-dom: ^18.2.0 2123 | sass: ^1.3.0 2124 | peerDependenciesMeta: 2125 | '@opentelemetry/api': 2126 | optional: true 2127 | sass: 2128 | optional: true 2129 | dependencies: 2130 | '@next/env': 14.0.4 2131 | '@swc/helpers': 0.5.2 2132 | busboy: 1.6.0 2133 | caniuse-lite: 1.0.30001579 2134 | graceful-fs: 4.2.11 2135 | postcss: 8.4.31 2136 | react: 18.2.0 2137 | react-dom: 18.2.0(react@18.2.0) 2138 | styled-jsx: 5.1.1(react@18.2.0) 2139 | watchpack: 2.4.0 2140 | optionalDependencies: 2141 | '@next/swc-darwin-arm64': 14.0.4 2142 | '@next/swc-darwin-x64': 14.0.4 2143 | '@next/swc-linux-arm64-gnu': 14.0.4 2144 | '@next/swc-linux-arm64-musl': 14.0.4 2145 | '@next/swc-linux-x64-gnu': 14.0.4 2146 | '@next/swc-linux-x64-musl': 14.0.4 2147 | '@next/swc-win32-arm64-msvc': 14.0.4 2148 | '@next/swc-win32-ia32-msvc': 14.0.4 2149 | '@next/swc-win32-x64-msvc': 14.0.4 2150 | transitivePeerDependencies: 2151 | - '@babel/core' 2152 | - babel-plugin-macros 2153 | dev: false 2154 | 2155 | /node-releases@2.0.14: 2156 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} 2157 | dev: true 2158 | 2159 | /normalize-path@3.0.0: 2160 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2161 | engines: {node: '>=0.10.0'} 2162 | dev: true 2163 | 2164 | /normalize-range@0.1.2: 2165 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 2166 | engines: {node: '>=0.10.0'} 2167 | dev: true 2168 | 2169 | /object-assign@4.1.1: 2170 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2171 | engines: {node: '>=0.10.0'} 2172 | dev: true 2173 | 2174 | /object-hash@3.0.0: 2175 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 2176 | engines: {node: '>= 6'} 2177 | dev: true 2178 | 2179 | /object-inspect@1.13.1: 2180 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} 2181 | dev: true 2182 | 2183 | /object-keys@1.1.1: 2184 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2185 | engines: {node: '>= 0.4'} 2186 | dev: true 2187 | 2188 | /object.assign@4.1.5: 2189 | resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} 2190 | engines: {node: '>= 0.4'} 2191 | dependencies: 2192 | call-bind: 1.0.5 2193 | define-properties: 1.2.1 2194 | has-symbols: 1.0.3 2195 | object-keys: 1.1.1 2196 | dev: true 2197 | 2198 | /object.entries@1.1.7: 2199 | resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} 2200 | engines: {node: '>= 0.4'} 2201 | dependencies: 2202 | call-bind: 1.0.5 2203 | define-properties: 1.2.1 2204 | es-abstract: 1.22.3 2205 | dev: true 2206 | 2207 | /object.fromentries@2.0.7: 2208 | resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} 2209 | engines: {node: '>= 0.4'} 2210 | dependencies: 2211 | call-bind: 1.0.5 2212 | define-properties: 1.2.1 2213 | es-abstract: 1.22.3 2214 | dev: true 2215 | 2216 | /object.groupby@1.0.1: 2217 | resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} 2218 | dependencies: 2219 | call-bind: 1.0.5 2220 | define-properties: 1.2.1 2221 | es-abstract: 1.22.3 2222 | get-intrinsic: 1.2.2 2223 | dev: true 2224 | 2225 | /object.hasown@1.1.3: 2226 | resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} 2227 | dependencies: 2228 | define-properties: 1.2.1 2229 | es-abstract: 1.22.3 2230 | dev: true 2231 | 2232 | /object.values@1.1.7: 2233 | resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} 2234 | engines: {node: '>= 0.4'} 2235 | dependencies: 2236 | call-bind: 1.0.5 2237 | define-properties: 1.2.1 2238 | es-abstract: 1.22.3 2239 | dev: true 2240 | 2241 | /once@1.4.0: 2242 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2243 | dependencies: 2244 | wrappy: 1.0.2 2245 | dev: true 2246 | 2247 | /optionator@0.9.3: 2248 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} 2249 | engines: {node: '>= 0.8.0'} 2250 | dependencies: 2251 | '@aashutoshrathi/word-wrap': 1.2.6 2252 | deep-is: 0.1.4 2253 | fast-levenshtein: 2.0.6 2254 | levn: 0.4.1 2255 | prelude-ls: 1.2.1 2256 | type-check: 0.4.0 2257 | dev: true 2258 | 2259 | /p-limit@3.1.0: 2260 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2261 | engines: {node: '>=10'} 2262 | dependencies: 2263 | yocto-queue: 0.1.0 2264 | dev: true 2265 | 2266 | /p-locate@5.0.0: 2267 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2268 | engines: {node: '>=10'} 2269 | dependencies: 2270 | p-limit: 3.1.0 2271 | dev: true 2272 | 2273 | /parent-module@1.0.1: 2274 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2275 | engines: {node: '>=6'} 2276 | dependencies: 2277 | callsites: 3.1.0 2278 | dev: true 2279 | 2280 | /path-exists@4.0.0: 2281 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2282 | engines: {node: '>=8'} 2283 | dev: true 2284 | 2285 | /path-is-absolute@1.0.1: 2286 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2287 | engines: {node: '>=0.10.0'} 2288 | dev: true 2289 | 2290 | /path-key@3.1.1: 2291 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2292 | engines: {node: '>=8'} 2293 | dev: true 2294 | 2295 | /path-parse@1.0.7: 2296 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2297 | dev: true 2298 | 2299 | /path-scurry@1.10.1: 2300 | resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} 2301 | engines: {node: '>=16 || 14 >=14.17'} 2302 | dependencies: 2303 | lru-cache: 10.1.0 2304 | minipass: 7.0.4 2305 | dev: true 2306 | 2307 | /path-type@4.0.0: 2308 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2309 | engines: {node: '>=8'} 2310 | dev: true 2311 | 2312 | /picocolors@1.0.0: 2313 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2314 | 2315 | /picomatch@2.3.1: 2316 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2317 | engines: {node: '>=8.6'} 2318 | dev: true 2319 | 2320 | /pify@2.3.0: 2321 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 2322 | engines: {node: '>=0.10.0'} 2323 | dev: true 2324 | 2325 | /pirates@4.0.6: 2326 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 2327 | engines: {node: '>= 6'} 2328 | dev: true 2329 | 2330 | /postcss-import@15.1.0(postcss@8.4.33): 2331 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 2332 | engines: {node: '>=14.0.0'} 2333 | peerDependencies: 2334 | postcss: ^8.0.0 2335 | dependencies: 2336 | postcss: 8.4.33 2337 | postcss-value-parser: 4.2.0 2338 | read-cache: 1.0.0 2339 | resolve: 1.22.8 2340 | dev: true 2341 | 2342 | /postcss-js@4.0.1(postcss@8.4.33): 2343 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 2344 | engines: {node: ^12 || ^14 || >= 16} 2345 | peerDependencies: 2346 | postcss: ^8.4.21 2347 | dependencies: 2348 | camelcase-css: 2.0.1 2349 | postcss: 8.4.33 2350 | dev: true 2351 | 2352 | /postcss-load-config@4.0.2(postcss@8.4.33): 2353 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 2354 | engines: {node: '>= 14'} 2355 | peerDependencies: 2356 | postcss: '>=8.0.9' 2357 | ts-node: '>=9.0.0' 2358 | peerDependenciesMeta: 2359 | postcss: 2360 | optional: true 2361 | ts-node: 2362 | optional: true 2363 | dependencies: 2364 | lilconfig: 3.0.0 2365 | postcss: 8.4.33 2366 | yaml: 2.3.4 2367 | dev: true 2368 | 2369 | /postcss-nested@6.0.1(postcss@8.4.33): 2370 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} 2371 | engines: {node: '>=12.0'} 2372 | peerDependencies: 2373 | postcss: ^8.2.14 2374 | dependencies: 2375 | postcss: 8.4.33 2376 | postcss-selector-parser: 6.0.15 2377 | dev: true 2378 | 2379 | /postcss-selector-parser@6.0.15: 2380 | resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} 2381 | engines: {node: '>=4'} 2382 | dependencies: 2383 | cssesc: 3.0.0 2384 | util-deprecate: 1.0.2 2385 | dev: true 2386 | 2387 | /postcss-value-parser@4.2.0: 2388 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 2389 | dev: true 2390 | 2391 | /postcss@8.4.31: 2392 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 2393 | engines: {node: ^10 || ^12 || >=14} 2394 | dependencies: 2395 | nanoid: 3.3.7 2396 | picocolors: 1.0.0 2397 | source-map-js: 1.0.2 2398 | dev: false 2399 | 2400 | /postcss@8.4.33: 2401 | resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} 2402 | engines: {node: ^10 || ^12 || >=14} 2403 | dependencies: 2404 | nanoid: 3.3.7 2405 | picocolors: 1.0.0 2406 | source-map-js: 1.0.2 2407 | dev: true 2408 | 2409 | /prelude-ls@1.2.1: 2410 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2411 | engines: {node: '>= 0.8.0'} 2412 | dev: true 2413 | 2414 | /prisma@5.8.1: 2415 | resolution: {integrity: sha512-N6CpjzECnUHZ5beeYpDzkt2rYpEdAeqXX2dweu6BoQaeYkNZrC/WJHM+5MO/uidFHTak8QhkPKBWck1o/4MD4A==} 2416 | engines: {node: '>=16.13'} 2417 | hasBin: true 2418 | requiresBuild: true 2419 | dependencies: 2420 | '@prisma/engines': 5.8.1 2421 | 2422 | /prop-types@15.8.1: 2423 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 2424 | dependencies: 2425 | loose-envify: 1.4.0 2426 | object-assign: 4.1.1 2427 | react-is: 16.13.1 2428 | dev: true 2429 | 2430 | /punycode@2.3.1: 2431 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 2432 | engines: {node: '>=6'} 2433 | dev: true 2434 | 2435 | /queue-microtask@1.2.3: 2436 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2437 | dev: true 2438 | 2439 | /react-dom@18.2.0(react@18.2.0): 2440 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} 2441 | peerDependencies: 2442 | react: ^18.2.0 2443 | dependencies: 2444 | loose-envify: 1.4.0 2445 | react: 18.2.0 2446 | scheduler: 0.23.0 2447 | dev: false 2448 | 2449 | /react-is@16.13.1: 2450 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 2451 | dev: true 2452 | 2453 | /react@18.2.0: 2454 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 2455 | engines: {node: '>=0.10.0'} 2456 | dependencies: 2457 | loose-envify: 1.4.0 2458 | dev: false 2459 | 2460 | /read-cache@1.0.0: 2461 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 2462 | dependencies: 2463 | pify: 2.3.0 2464 | dev: true 2465 | 2466 | /readdirp@3.6.0: 2467 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2468 | engines: {node: '>=8.10.0'} 2469 | dependencies: 2470 | picomatch: 2.3.1 2471 | dev: true 2472 | 2473 | /reflect.getprototypeof@1.0.4: 2474 | resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} 2475 | engines: {node: '>= 0.4'} 2476 | dependencies: 2477 | call-bind: 1.0.5 2478 | define-properties: 1.2.1 2479 | es-abstract: 1.22.3 2480 | get-intrinsic: 1.2.2 2481 | globalthis: 1.0.3 2482 | which-builtin-type: 1.1.3 2483 | dev: true 2484 | 2485 | /regenerator-runtime@0.14.1: 2486 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 2487 | dev: true 2488 | 2489 | /regexp.prototype.flags@1.5.1: 2490 | resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} 2491 | engines: {node: '>= 0.4'} 2492 | dependencies: 2493 | call-bind: 1.0.5 2494 | define-properties: 1.2.1 2495 | set-function-name: 2.0.1 2496 | dev: true 2497 | 2498 | /remove-accents@0.4.2: 2499 | resolution: {integrity: sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==} 2500 | dev: false 2501 | 2502 | /resolve-from@4.0.0: 2503 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2504 | engines: {node: '>=4'} 2505 | dev: true 2506 | 2507 | /resolve-pkg-maps@1.0.0: 2508 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 2509 | dev: true 2510 | 2511 | /resolve@1.22.8: 2512 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 2513 | hasBin: true 2514 | dependencies: 2515 | is-core-module: 2.13.1 2516 | path-parse: 1.0.7 2517 | supports-preserve-symlinks-flag: 1.0.0 2518 | dev: true 2519 | 2520 | /resolve@2.0.0-next.5: 2521 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 2522 | hasBin: true 2523 | dependencies: 2524 | is-core-module: 2.13.1 2525 | path-parse: 1.0.7 2526 | supports-preserve-symlinks-flag: 1.0.0 2527 | dev: true 2528 | 2529 | /reusify@1.0.4: 2530 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2531 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2532 | dev: true 2533 | 2534 | /rimraf@3.0.2: 2535 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2536 | hasBin: true 2537 | dependencies: 2538 | glob: 7.2.3 2539 | dev: true 2540 | 2541 | /run-parallel@1.2.0: 2542 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2543 | dependencies: 2544 | queue-microtask: 1.2.3 2545 | dev: true 2546 | 2547 | /safe-array-concat@1.1.0: 2548 | resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} 2549 | engines: {node: '>=0.4'} 2550 | dependencies: 2551 | call-bind: 1.0.5 2552 | get-intrinsic: 1.2.2 2553 | has-symbols: 1.0.3 2554 | isarray: 2.0.5 2555 | dev: true 2556 | 2557 | /safe-regex-test@1.0.2: 2558 | resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} 2559 | engines: {node: '>= 0.4'} 2560 | dependencies: 2561 | call-bind: 1.0.5 2562 | get-intrinsic: 1.2.2 2563 | is-regex: 1.1.4 2564 | dev: true 2565 | 2566 | /scheduler@0.23.0: 2567 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} 2568 | dependencies: 2569 | loose-envify: 1.4.0 2570 | dev: false 2571 | 2572 | /semver@6.3.1: 2573 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 2574 | hasBin: true 2575 | dev: true 2576 | 2577 | /semver@7.5.4: 2578 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} 2579 | engines: {node: '>=10'} 2580 | hasBin: true 2581 | dependencies: 2582 | lru-cache: 6.0.0 2583 | dev: true 2584 | 2585 | /set-function-length@1.2.0: 2586 | resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} 2587 | engines: {node: '>= 0.4'} 2588 | dependencies: 2589 | define-data-property: 1.1.1 2590 | function-bind: 1.1.2 2591 | get-intrinsic: 1.2.2 2592 | gopd: 1.0.1 2593 | has-property-descriptors: 1.0.1 2594 | dev: true 2595 | 2596 | /set-function-name@2.0.1: 2597 | resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} 2598 | engines: {node: '>= 0.4'} 2599 | dependencies: 2600 | define-data-property: 1.1.1 2601 | functions-have-names: 1.2.3 2602 | has-property-descriptors: 1.0.1 2603 | dev: true 2604 | 2605 | /shebang-command@2.0.0: 2606 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2607 | engines: {node: '>=8'} 2608 | dependencies: 2609 | shebang-regex: 3.0.0 2610 | dev: true 2611 | 2612 | /shebang-regex@3.0.0: 2613 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2614 | engines: {node: '>=8'} 2615 | dev: true 2616 | 2617 | /side-channel@1.0.4: 2618 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2619 | dependencies: 2620 | call-bind: 1.0.5 2621 | get-intrinsic: 1.2.2 2622 | object-inspect: 1.13.1 2623 | dev: true 2624 | 2625 | /signal-exit@4.1.0: 2626 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 2627 | engines: {node: '>=14'} 2628 | dev: true 2629 | 2630 | /slash@3.0.0: 2631 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2632 | engines: {node: '>=8'} 2633 | dev: true 2634 | 2635 | /source-map-js@1.0.2: 2636 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2637 | engines: {node: '>=0.10.0'} 2638 | 2639 | /streamsearch@1.1.0: 2640 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 2641 | engines: {node: '>=10.0.0'} 2642 | dev: false 2643 | 2644 | /string-width@4.2.3: 2645 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2646 | engines: {node: '>=8'} 2647 | dependencies: 2648 | emoji-regex: 8.0.0 2649 | is-fullwidth-code-point: 3.0.0 2650 | strip-ansi: 6.0.1 2651 | dev: true 2652 | 2653 | /string-width@5.1.2: 2654 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 2655 | engines: {node: '>=12'} 2656 | dependencies: 2657 | eastasianwidth: 0.2.0 2658 | emoji-regex: 9.2.2 2659 | strip-ansi: 7.1.0 2660 | dev: true 2661 | 2662 | /string.prototype.matchall@4.0.10: 2663 | resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} 2664 | dependencies: 2665 | call-bind: 1.0.5 2666 | define-properties: 1.2.1 2667 | es-abstract: 1.22.3 2668 | get-intrinsic: 1.2.2 2669 | has-symbols: 1.0.3 2670 | internal-slot: 1.0.6 2671 | regexp.prototype.flags: 1.5.1 2672 | set-function-name: 2.0.1 2673 | side-channel: 1.0.4 2674 | dev: true 2675 | 2676 | /string.prototype.trim@1.2.8: 2677 | resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} 2678 | engines: {node: '>= 0.4'} 2679 | dependencies: 2680 | call-bind: 1.0.5 2681 | define-properties: 1.2.1 2682 | es-abstract: 1.22.3 2683 | dev: true 2684 | 2685 | /string.prototype.trimend@1.0.7: 2686 | resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} 2687 | dependencies: 2688 | call-bind: 1.0.5 2689 | define-properties: 1.2.1 2690 | es-abstract: 1.22.3 2691 | dev: true 2692 | 2693 | /string.prototype.trimstart@1.0.7: 2694 | resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} 2695 | dependencies: 2696 | call-bind: 1.0.5 2697 | define-properties: 1.2.1 2698 | es-abstract: 1.22.3 2699 | dev: true 2700 | 2701 | /strip-ansi@6.0.1: 2702 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2703 | engines: {node: '>=8'} 2704 | dependencies: 2705 | ansi-regex: 5.0.1 2706 | dev: true 2707 | 2708 | /strip-ansi@7.1.0: 2709 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 2710 | engines: {node: '>=12'} 2711 | dependencies: 2712 | ansi-regex: 6.0.1 2713 | dev: true 2714 | 2715 | /strip-bom@3.0.0: 2716 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2717 | engines: {node: '>=4'} 2718 | dev: true 2719 | 2720 | /strip-json-comments@3.1.1: 2721 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2722 | engines: {node: '>=8'} 2723 | dev: true 2724 | 2725 | /styled-jsx@5.1.1(react@18.2.0): 2726 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} 2727 | engines: {node: '>= 12.0.0'} 2728 | peerDependencies: 2729 | '@babel/core': '*' 2730 | babel-plugin-macros: '*' 2731 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' 2732 | peerDependenciesMeta: 2733 | '@babel/core': 2734 | optional: true 2735 | babel-plugin-macros: 2736 | optional: true 2737 | dependencies: 2738 | client-only: 0.0.1 2739 | react: 18.2.0 2740 | dev: false 2741 | 2742 | /sucrase@3.35.0: 2743 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 2744 | engines: {node: '>=16 || 14 >=14.17'} 2745 | hasBin: true 2746 | dependencies: 2747 | '@jridgewell/gen-mapping': 0.3.3 2748 | commander: 4.1.1 2749 | glob: 10.3.10 2750 | lines-and-columns: 1.2.4 2751 | mz: 2.7.0 2752 | pirates: 4.0.6 2753 | ts-interface-checker: 0.1.13 2754 | dev: true 2755 | 2756 | /superjson@1.13.3: 2757 | resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} 2758 | engines: {node: '>=10'} 2759 | dependencies: 2760 | copy-anything: 3.0.5 2761 | dev: false 2762 | 2763 | /superjson@2.2.1: 2764 | resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} 2765 | engines: {node: '>=16'} 2766 | dependencies: 2767 | copy-anything: 3.0.5 2768 | dev: false 2769 | 2770 | /supports-color@7.2.0: 2771 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2772 | engines: {node: '>=8'} 2773 | dependencies: 2774 | has-flag: 4.0.0 2775 | dev: true 2776 | 2777 | /supports-preserve-symlinks-flag@1.0.0: 2778 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2779 | engines: {node: '>= 0.4'} 2780 | dev: true 2781 | 2782 | /tailwindcss@3.4.1: 2783 | resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} 2784 | engines: {node: '>=14.0.0'} 2785 | hasBin: true 2786 | dependencies: 2787 | '@alloc/quick-lru': 5.2.0 2788 | arg: 5.0.2 2789 | chokidar: 3.5.3 2790 | didyoumean: 1.2.2 2791 | dlv: 1.1.3 2792 | fast-glob: 3.3.2 2793 | glob-parent: 6.0.2 2794 | is-glob: 4.0.3 2795 | jiti: 1.21.0 2796 | lilconfig: 2.1.0 2797 | micromatch: 4.0.5 2798 | normalize-path: 3.0.0 2799 | object-hash: 3.0.0 2800 | picocolors: 1.0.0 2801 | postcss: 8.4.33 2802 | postcss-import: 15.1.0(postcss@8.4.33) 2803 | postcss-js: 4.0.1(postcss@8.4.33) 2804 | postcss-load-config: 4.0.2(postcss@8.4.33) 2805 | postcss-nested: 6.0.1(postcss@8.4.33) 2806 | postcss-selector-parser: 6.0.15 2807 | resolve: 1.22.8 2808 | sucrase: 3.35.0 2809 | transitivePeerDependencies: 2810 | - ts-node 2811 | dev: true 2812 | 2813 | /tapable@2.2.1: 2814 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 2815 | engines: {node: '>=6'} 2816 | dev: true 2817 | 2818 | /text-table@0.2.0: 2819 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2820 | dev: true 2821 | 2822 | /thenify-all@1.6.0: 2823 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 2824 | engines: {node: '>=0.8'} 2825 | dependencies: 2826 | thenify: 3.3.1 2827 | dev: true 2828 | 2829 | /thenify@3.3.1: 2830 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 2831 | dependencies: 2832 | any-promise: 1.3.0 2833 | dev: true 2834 | 2835 | /to-regex-range@5.0.1: 2836 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2837 | engines: {node: '>=8.0'} 2838 | dependencies: 2839 | is-number: 7.0.0 2840 | dev: true 2841 | 2842 | /ts-api-utils@1.0.3(typescript@5.3.3): 2843 | resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} 2844 | engines: {node: '>=16.13.0'} 2845 | peerDependencies: 2846 | typescript: '>=4.2.0' 2847 | dependencies: 2848 | typescript: 5.3.3 2849 | dev: true 2850 | 2851 | /ts-interface-checker@0.1.13: 2852 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 2853 | dev: true 2854 | 2855 | /tsconfig-paths@3.15.0: 2856 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 2857 | dependencies: 2858 | '@types/json5': 0.0.29 2859 | json5: 1.0.2 2860 | minimist: 1.2.8 2861 | strip-bom: 3.0.0 2862 | dev: true 2863 | 2864 | /tslib@1.14.1: 2865 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2866 | dev: true 2867 | 2868 | /tslib@2.6.2: 2869 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 2870 | dev: false 2871 | 2872 | /tsutils@3.21.0(typescript@5.3.3): 2873 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2874 | engines: {node: '>= 6'} 2875 | peerDependencies: 2876 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 2877 | dependencies: 2878 | tslib: 1.14.1 2879 | typescript: 5.3.3 2880 | dev: true 2881 | 2882 | /type-check@0.4.0: 2883 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2884 | engines: {node: '>= 0.8.0'} 2885 | dependencies: 2886 | prelude-ls: 1.2.1 2887 | dev: true 2888 | 2889 | /type-fest@0.20.2: 2890 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2891 | engines: {node: '>=10'} 2892 | dev: true 2893 | 2894 | /typed-array-buffer@1.0.0: 2895 | resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} 2896 | engines: {node: '>= 0.4'} 2897 | dependencies: 2898 | call-bind: 1.0.5 2899 | get-intrinsic: 1.2.2 2900 | is-typed-array: 1.1.12 2901 | dev: true 2902 | 2903 | /typed-array-byte-length@1.0.0: 2904 | resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} 2905 | engines: {node: '>= 0.4'} 2906 | dependencies: 2907 | call-bind: 1.0.5 2908 | for-each: 0.3.3 2909 | has-proto: 1.0.1 2910 | is-typed-array: 1.1.12 2911 | dev: true 2912 | 2913 | /typed-array-byte-offset@1.0.0: 2914 | resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} 2915 | engines: {node: '>= 0.4'} 2916 | dependencies: 2917 | available-typed-arrays: 1.0.5 2918 | call-bind: 1.0.5 2919 | for-each: 0.3.3 2920 | has-proto: 1.0.1 2921 | is-typed-array: 1.1.12 2922 | dev: true 2923 | 2924 | /typed-array-length@1.0.4: 2925 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} 2926 | dependencies: 2927 | call-bind: 1.0.5 2928 | for-each: 0.3.3 2929 | is-typed-array: 1.1.12 2930 | dev: true 2931 | 2932 | /typescript@5.3.3: 2933 | resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} 2934 | engines: {node: '>=14.17'} 2935 | hasBin: true 2936 | dev: true 2937 | 2938 | /unbox-primitive@1.0.2: 2939 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 2940 | dependencies: 2941 | call-bind: 1.0.5 2942 | has-bigints: 1.0.2 2943 | has-symbols: 1.0.3 2944 | which-boxed-primitive: 1.0.2 2945 | dev: true 2946 | 2947 | /undici-types@5.26.5: 2948 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 2949 | dev: true 2950 | 2951 | /update-browserslist-db@1.0.13(browserslist@4.22.2): 2952 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} 2953 | hasBin: true 2954 | peerDependencies: 2955 | browserslist: '>= 4.21.0' 2956 | dependencies: 2957 | browserslist: 4.22.2 2958 | escalade: 3.1.1 2959 | picocolors: 1.0.0 2960 | dev: true 2961 | 2962 | /uri-js@4.4.1: 2963 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2964 | dependencies: 2965 | punycode: 2.3.1 2966 | dev: true 2967 | 2968 | /use-sync-external-store@1.2.0(react@18.2.0): 2969 | resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} 2970 | peerDependencies: 2971 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 2972 | dependencies: 2973 | react: 18.2.0 2974 | dev: false 2975 | 2976 | /util-deprecate@1.0.2: 2977 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2978 | dev: true 2979 | 2980 | /watchpack@2.4.0: 2981 | resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} 2982 | engines: {node: '>=10.13.0'} 2983 | dependencies: 2984 | glob-to-regexp: 0.4.1 2985 | graceful-fs: 4.2.11 2986 | dev: false 2987 | 2988 | /which-boxed-primitive@1.0.2: 2989 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2990 | dependencies: 2991 | is-bigint: 1.0.4 2992 | is-boolean-object: 1.1.2 2993 | is-number-object: 1.0.7 2994 | is-string: 1.0.7 2995 | is-symbol: 1.0.4 2996 | dev: true 2997 | 2998 | /which-builtin-type@1.1.3: 2999 | resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} 3000 | engines: {node: '>= 0.4'} 3001 | dependencies: 3002 | function.prototype.name: 1.1.6 3003 | has-tostringtag: 1.0.0 3004 | is-async-function: 2.0.0 3005 | is-date-object: 1.0.5 3006 | is-finalizationregistry: 1.0.2 3007 | is-generator-function: 1.0.10 3008 | is-regex: 1.1.4 3009 | is-weakref: 1.0.2 3010 | isarray: 2.0.5 3011 | which-boxed-primitive: 1.0.2 3012 | which-collection: 1.0.1 3013 | which-typed-array: 1.1.13 3014 | dev: true 3015 | 3016 | /which-collection@1.0.1: 3017 | resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} 3018 | dependencies: 3019 | is-map: 2.0.2 3020 | is-set: 2.0.2 3021 | is-weakmap: 2.0.1 3022 | is-weakset: 2.0.2 3023 | dev: true 3024 | 3025 | /which-typed-array@1.1.13: 3026 | resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} 3027 | engines: {node: '>= 0.4'} 3028 | dependencies: 3029 | available-typed-arrays: 1.0.5 3030 | call-bind: 1.0.5 3031 | for-each: 0.3.3 3032 | gopd: 1.0.1 3033 | has-tostringtag: 1.0.0 3034 | dev: true 3035 | 3036 | /which@2.0.2: 3037 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3038 | engines: {node: '>= 8'} 3039 | hasBin: true 3040 | dependencies: 3041 | isexe: 2.0.0 3042 | dev: true 3043 | 3044 | /wrap-ansi@7.0.0: 3045 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3046 | engines: {node: '>=10'} 3047 | dependencies: 3048 | ansi-styles: 4.3.0 3049 | string-width: 4.2.3 3050 | strip-ansi: 6.0.1 3051 | dev: true 3052 | 3053 | /wrap-ansi@8.1.0: 3054 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 3055 | engines: {node: '>=12'} 3056 | dependencies: 3057 | ansi-styles: 6.2.1 3058 | string-width: 5.1.2 3059 | strip-ansi: 7.1.0 3060 | dev: true 3061 | 3062 | /wrappy@1.0.2: 3063 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3064 | dev: true 3065 | 3066 | /yallist@4.0.0: 3067 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3068 | dev: true 3069 | 3070 | /yaml@2.3.4: 3071 | resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} 3072 | engines: {node: '>= 14'} 3073 | dev: true 3074 | 3075 | /yocto-queue@0.1.0: 3076 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 3077 | engines: {node: '>=10'} 3078 | dev: true 3079 | 3080 | /zod@3.22.4: 3081 | resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} 3082 | dev: false 3083 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /prisma/migrations/20240118182229_init/migration.sql: -------------------------------------------------------------------------------- 1 | -- CreateTable 2 | CREATE TABLE "User" ( 3 | "id" SERIAL NOT NULL, 4 | "name" TEXT NOT NULL, 5 | "email" TEXT NOT NULL, 6 | "role" TEXT NOT NULL DEFAULT 'user', 7 | "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, 8 | "updatedAt" TIMESTAMP(3) NOT NULL, 9 | 10 | CONSTRAINT "User_pkey" PRIMARY KEY ("id") 11 | ); 12 | 13 | -- CreateIndex 14 | CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); 15 | -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- 1 | # Please do not edit this file manually 2 | # It should be added in your version-control system (i.e. Git) 3 | provider = "postgresql" -------------------------------------------------------------------------------- /prisma/prisma-client.ts: -------------------------------------------------------------------------------- 1 | import { PrismaClient } from '@prisma/client'; 2 | 3 | const prismaClientSingleton = () => { 4 | return new PrismaClient(); 5 | }; 6 | 7 | declare global { 8 | var prisma: undefined | ReturnType; 9 | } 10 | 11 | const prisma = globalThis.prisma ?? prismaClientSingleton(); 12 | 13 | export default prisma; 14 | 15 | if (process.env.NODE_ENV !== 'production') globalThis.prisma = prisma; 16 | -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- 1 | // This is your Prisma schema file, 2 | // learn more about it in the docs: https://pris.ly/d/prisma-schema 3 | 4 | generator client { 5 | provider = "prisma-client-js" 6 | } 7 | 8 | datasource db { 9 | provider = "postgresql" 10 | url = env("DATABASE_URL") 11 | } 12 | 13 | model User { 14 | id Int @id @default(autoincrement()) 15 | name String 16 | email String @unique 17 | role String @default("user") 18 | createdAt DateTime @default(now()) 19 | updatedAt DateTime @updatedAt 20 | } 21 | -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /server/user-controller.ts: -------------------------------------------------------------------------------- 1 | import prisma from '@/prisma/prisma-client'; 2 | import { TRPCError } from '@trpc/server'; 3 | import { CreateUserInput, FilterQueryInput } from './user-schema'; 4 | 5 | export const createUserHandler = async ({ 6 | input, 7 | }: { 8 | input: CreateUserInput; 9 | }) => { 10 | try { 11 | const user = await prisma.user.create({ 12 | data: input, 13 | }); 14 | 15 | return { 16 | status: 'success', 17 | data: { 18 | user, 19 | }, 20 | }; 21 | } catch (err: any) { 22 | throw new TRPCError({ 23 | code: 'INTERNAL_SERVER_ERROR', 24 | message: err.message, 25 | }); 26 | } 27 | }; 28 | 29 | export const getUsersHandler = async ({ 30 | filterQuery, 31 | }: { 32 | filterQuery: FilterQueryInput; 33 | }) => { 34 | try { 35 | const { limit, page } = filterQuery; 36 | const take = limit || 10; 37 | const skip = (page - 1) * limit; 38 | 39 | const users = await prisma.user.findMany({ 40 | skip, 41 | take, 42 | }); 43 | 44 | return { 45 | status: 'success', 46 | results: users.length, 47 | data: { 48 | users, 49 | }, 50 | }; 51 | } catch (err: any) { 52 | throw new TRPCError({ 53 | code: 'INTERNAL_SERVER_ERROR', 54 | message: err.message, 55 | }); 56 | } 57 | }; 58 | -------------------------------------------------------------------------------- /server/user-route.ts: -------------------------------------------------------------------------------- 1 | import { createUserSchema, filterQuery } from './user-schema'; 2 | import { createUserHandler, getUsersHandler } from './user-controller'; 3 | import { t } from '@/utils/trpc-server'; 4 | 5 | const userRouter = t.router({ 6 | createUser: t.procedure 7 | .input(createUserSchema) 8 | .mutation(({ input }) => createUserHandler({ input })), 9 | getUsers: t.procedure 10 | .input(filterQuery) 11 | .query(({ input }) => getUsersHandler({ filterQuery: input })), 12 | }); 13 | 14 | export default userRouter; 15 | -------------------------------------------------------------------------------- /server/user-schema.ts: -------------------------------------------------------------------------------- 1 | import { TypeOf, number, object, string } from 'zod'; 2 | 3 | export const createUserSchema = object({ 4 | name: string({ required_error: 'Name is required' }), 5 | email: string({ required_error: 'Email is required' }).email('Invalid email'), 6 | }); 7 | 8 | export const filterQuery = object({ 9 | limit: number().default(1), 10 | page: number().default(10), 11 | }); 12 | 13 | export type CreateUserInput = TypeOf; 14 | export type FilterQueryInput = TypeOf; 15 | -------------------------------------------------------------------------------- /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 | backgroundImage: { 12 | 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))', 13 | 'gradient-conic': 14 | 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))', 15 | }, 16 | }, 17 | }, 18 | plugins: [], 19 | } 20 | export default config 21 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "noEmit": true, 9 | "esModuleInterop": true, 10 | "module": "esnext", 11 | "moduleResolution": "bundler", 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "jsx": "preserve", 15 | "incremental": true, 16 | "plugins": [ 17 | { 18 | "name": "next" 19 | } 20 | ], 21 | "paths": { 22 | "@/*": ["./*"] 23 | } 24 | }, 25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 26 | "exclude": ["node_modules"] 27 | } 28 | -------------------------------------------------------------------------------- /utils/hydrate-client.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import { Hydrate as RQHydrate, HydrateProps } from '@tanstack/react-query'; 4 | 5 | function Hydrate(props: HydrateProps) { 6 | return ; 7 | } 8 | 9 | export default Hydrate; 10 | -------------------------------------------------------------------------------- /utils/query-client.ts: -------------------------------------------------------------------------------- 1 | import { QueryClient } from '@tanstack/react-query'; 2 | 3 | const queryClient = new QueryClient({ 4 | defaultOptions: { queries: { staleTime: 5 * 1000 } }, 5 | }); 6 | export default queryClient; 7 | -------------------------------------------------------------------------------- /utils/trpc-provider.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import { QueryClientProvider } from '@tanstack/react-query'; 4 | import { httpBatchLink, getFetch, loggerLink } from '@trpc/client'; 5 | import { useState } from 'react'; 6 | import superjson from 'superjson'; 7 | import { trpc } from './trpc'; 8 | import queryClient from './query-client'; 9 | import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; 10 | 11 | export const TrpcProvider: React.FC<{ children: React.ReactNode }> = ({ 12 | children, 13 | }) => { 14 | const url = process.env.NEXT_PUBLIC_VERCEL_URL 15 | ? `https://${process.env.NEXT_PUBLIC_VERCEL_URL}` 16 | : 'http://localhost:3000/api/trpc/'; 17 | 18 | const [trpcClient] = useState(() => 19 | trpc.createClient({ 20 | links: [ 21 | loggerLink({ 22 | enabled: () => true, 23 | }), 24 | httpBatchLink({ 25 | url, 26 | fetch: async (input, init?) => { 27 | const fetch = getFetch(); 28 | return fetch(input, { 29 | ...init, 30 | credentials: 'include', 31 | }); 32 | }, 33 | }), 34 | ], 35 | transformer: superjson, 36 | }) 37 | ); 38 | return ( 39 | 40 | 41 | {children} 42 | 43 | 44 | 45 | ); 46 | }; 47 | -------------------------------------------------------------------------------- /utils/trpc-server.ts: -------------------------------------------------------------------------------- 1 | import { initTRPC } from '@trpc/server'; 2 | import SuperJSON from 'superjson'; 3 | 4 | export const t = initTRPC.create({ 5 | transformer: SuperJSON, 6 | }); 7 | -------------------------------------------------------------------------------- /utils/trpc.ts: -------------------------------------------------------------------------------- 1 | import type { AppRouter } from '@/app/api/trpc/trpc-router'; 2 | import { createTRPCReact } from '@trpc/react-query'; 3 | 4 | export const trpc = createTRPCReact(); 5 | --------------------------------------------------------------------------------