├── .gitignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── components.json ├── eslint.config.mjs ├── next.config.ts ├── package.json ├── pnpm-lock.yaml ├── postcss.config.mjs ├── public ├── file.svg ├── globe.svg ├── next.svg ├── vercel.svg └── window.svg ├── src ├── app │ ├── favicon.ico │ ├── globals.css │ ├── layout.tsx │ └── page.tsx ├── components │ ├── auth-form.tsx │ ├── page-theo-form.tsx │ └── ui │ │ ├── button.tsx │ │ ├── form.tsx │ │ ├── input.tsx │ │ ├── label.tsx │ │ ├── toast.tsx │ │ └── toaster.tsx ├── hooks │ └── use-toast.ts ├── lib │ └── utils.ts ├── server │ ├── actions │ │ └── submit-new-model.ts │ └── db │ │ └── redis.ts └── shared │ ├── trycatch.ts │ └── validate-form.ts ├── tailwind.config.ts └── tsconfig.json /.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.* 7 | .yarn/* 8 | !.yarn/patches 9 | !.yarn/plugins 10 | !.yarn/releases 11 | !.yarn/versions 12 | 13 | # testing 14 | /coverage 15 | 16 | # next.js 17 | /.next/ 18 | /out/ 19 | 20 | # production 21 | /build 22 | 23 | # misc 24 | .DS_Store 25 | *.pem 26 | 27 | # debug 28 | npm-debug.log* 29 | yarn-debug.log* 30 | yarn-error.log* 31 | .pnpm-debug.log* 32 | 33 | # env files (can opt-in for committing if needed) 34 | .env* 35 | 36 | # vercel 37 | .vercel 38 | 39 | # typescript 40 | *.tsbuildinfo 41 | next-env.d.ts 42 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "typescript.tsdk": "node_modules/typescript/lib" 3 | } 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 Theo Browne 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Page Theo 2 | 3 | I wanted a way to get paged when new models drop. This is not a good codebase, you should not use it as a reference for anything. 4 | 5 | AI tools were particularly not helpful for this 🙃 6 | -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "new-york", 4 | "rsc": true, 5 | "tsx": true, 6 | "tailwind": { 7 | "config": "tailwind.config.ts", 8 | "css": "src/app/globals.css", 9 | "baseColor": "neutral", 10 | "cssVariables": true, 11 | "prefix": "" 12 | }, 13 | "aliases": { 14 | "components": "@/components", 15 | "utils": "@/lib/utils", 16 | "ui": "@/components/ui", 17 | "lib": "@/lib", 18 | "hooks": "@/hooks" 19 | }, 20 | "iconLibrary": "lucide" 21 | } -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import { dirname } from "path"; 2 | import { fileURLToPath } from "url"; 3 | import { FlatCompat } from "@eslint/eslintrc"; 4 | 5 | const __filename = fileURLToPath(import.meta.url); 6 | const __dirname = dirname(__filename); 7 | 8 | const compat = new FlatCompat({ 9 | baseDirectory: __dirname, 10 | }); 11 | 12 | const eslintConfig = [ 13 | ...compat.extends("next/core-web-vitals", "next/typescript"), 14 | ]; 15 | 16 | export default eslintConfig; 17 | -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- 1 | import type { NextConfig } from "next"; 2 | 3 | const nextConfig: NextConfig = { 4 | /* config options here */ 5 | }; 6 | 7 | export default nextConfig; 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "theo-pager", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev --turbopack", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@hookform/resolvers": "^4.1.1", 13 | "@radix-ui/react-label": "^2.1.2", 14 | "@radix-ui/react-slot": "^1.1.2", 15 | "@radix-ui/react-toast": "^1.2.6", 16 | "class-variance-authority": "^0.7.1", 17 | "clsx": "^2.1.1", 18 | "date-fns": "^4.1.0", 19 | "ioredis": "^5.5.0", 20 | "lucide-react": "^0.475.0", 21 | "next": "15.1.7", 22 | "react": "^19.0.0", 23 | "react-dom": "^19.0.0", 24 | "react-hook-form": "^7.54.2", 25 | "tailwind-merge": "^3.0.2", 26 | "tailwindcss-animate": "^1.0.7", 27 | "twilio": "^5.4.5", 28 | "zod": "^3.24.2" 29 | }, 30 | "devDependencies": { 31 | "@eslint/eslintrc": "^3", 32 | "@types/node": "^20", 33 | "@types/react": "^19", 34 | "@types/react-dom": "^19", 35 | "eslint": "^9", 36 | "eslint-config-next": "15.1.7", 37 | "postcss": "^8", 38 | "tailwindcss": "^3.4.1", 39 | "typescript": "^5.7.3" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@hookform/resolvers': 12 | specifier: ^4.1.1 13 | version: 4.1.1(react-hook-form@7.54.2(react@19.0.0)) 14 | '@radix-ui/react-label': 15 | specifier: ^2.1.2 16 | version: 2.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 17 | '@radix-ui/react-slot': 18 | specifier: ^1.1.2 19 | version: 1.1.2(@types/react@19.0.10)(react@19.0.0) 20 | '@radix-ui/react-toast': 21 | specifier: ^1.2.6 22 | version: 1.2.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 23 | class-variance-authority: 24 | specifier: ^0.7.1 25 | version: 0.7.1 26 | clsx: 27 | specifier: ^2.1.1 28 | version: 2.1.1 29 | date-fns: 30 | specifier: ^4.1.0 31 | version: 4.1.0 32 | ioredis: 33 | specifier: ^5.5.0 34 | version: 5.5.0 35 | lucide-react: 36 | specifier: ^0.475.0 37 | version: 0.475.0(react@19.0.0) 38 | next: 39 | specifier: 15.1.7 40 | version: 15.1.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 41 | react: 42 | specifier: ^19.0.0 43 | version: 19.0.0 44 | react-dom: 45 | specifier: ^19.0.0 46 | version: 19.0.0(react@19.0.0) 47 | react-hook-form: 48 | specifier: ^7.54.2 49 | version: 7.54.2(react@19.0.0) 50 | tailwind-merge: 51 | specifier: ^3.0.2 52 | version: 3.0.2 53 | tailwindcss-animate: 54 | specifier: ^1.0.7 55 | version: 1.0.7(tailwindcss@3.4.17) 56 | twilio: 57 | specifier: ^5.4.5 58 | version: 5.4.5 59 | zod: 60 | specifier: ^3.24.2 61 | version: 3.24.2 62 | devDependencies: 63 | '@eslint/eslintrc': 64 | specifier: ^3 65 | version: 3.3.0 66 | '@types/node': 67 | specifier: ^20 68 | version: 20.17.19 69 | '@types/react': 70 | specifier: ^19 71 | version: 19.0.10 72 | '@types/react-dom': 73 | specifier: ^19 74 | version: 19.0.4(@types/react@19.0.10) 75 | eslint: 76 | specifier: ^9 77 | version: 9.21.0(jiti@1.21.7) 78 | eslint-config-next: 79 | specifier: 15.1.7 80 | version: 15.1.7(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) 81 | postcss: 82 | specifier: ^8 83 | version: 8.5.3 84 | tailwindcss: 85 | specifier: ^3.4.1 86 | version: 3.4.17 87 | typescript: 88 | specifier: ^5.7.3 89 | version: 5.7.3 90 | 91 | packages: 92 | 93 | '@alloc/quick-lru@5.2.0': 94 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 95 | engines: {node: '>=10'} 96 | 97 | '@emnapi/runtime@1.3.1': 98 | resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} 99 | 100 | '@eslint-community/eslint-utils@4.4.1': 101 | resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} 102 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 103 | peerDependencies: 104 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 105 | 106 | '@eslint-community/regexpp@4.12.1': 107 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 108 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 109 | 110 | '@eslint/config-array@0.19.2': 111 | resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} 112 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 113 | 114 | '@eslint/core@0.12.0': 115 | resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==} 116 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 117 | 118 | '@eslint/eslintrc@3.3.0': 119 | resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==} 120 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 121 | 122 | '@eslint/js@9.21.0': 123 | resolution: {integrity: sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==} 124 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 125 | 126 | '@eslint/object-schema@2.1.6': 127 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} 128 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 129 | 130 | '@eslint/plugin-kit@0.2.7': 131 | resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==} 132 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 133 | 134 | '@hookform/resolvers@4.1.1': 135 | resolution: {integrity: sha512-S9YN1RgNWG+klUz5uQaV6rjE4pr6Py2tamj7ekshzLcMyg+/Pal1KZAYgGszV0+doiy41dUiQgXL3uRS9stndQ==} 136 | peerDependencies: 137 | react-hook-form: ^7.0.0 138 | 139 | '@humanfs/core@0.19.1': 140 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 141 | engines: {node: '>=18.18.0'} 142 | 143 | '@humanfs/node@0.16.6': 144 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 145 | engines: {node: '>=18.18.0'} 146 | 147 | '@humanwhocodes/module-importer@1.0.1': 148 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 149 | engines: {node: '>=12.22'} 150 | 151 | '@humanwhocodes/retry@0.3.1': 152 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 153 | engines: {node: '>=18.18'} 154 | 155 | '@humanwhocodes/retry@0.4.2': 156 | resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} 157 | engines: {node: '>=18.18'} 158 | 159 | '@img/sharp-darwin-arm64@0.33.5': 160 | resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} 161 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 162 | cpu: [arm64] 163 | os: [darwin] 164 | 165 | '@img/sharp-darwin-x64@0.33.5': 166 | resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} 167 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 168 | cpu: [x64] 169 | os: [darwin] 170 | 171 | '@img/sharp-libvips-darwin-arm64@1.0.4': 172 | resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} 173 | cpu: [arm64] 174 | os: [darwin] 175 | 176 | '@img/sharp-libvips-darwin-x64@1.0.4': 177 | resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} 178 | cpu: [x64] 179 | os: [darwin] 180 | 181 | '@img/sharp-libvips-linux-arm64@1.0.4': 182 | resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} 183 | cpu: [arm64] 184 | os: [linux] 185 | 186 | '@img/sharp-libvips-linux-arm@1.0.5': 187 | resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} 188 | cpu: [arm] 189 | os: [linux] 190 | 191 | '@img/sharp-libvips-linux-s390x@1.0.4': 192 | resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} 193 | cpu: [s390x] 194 | os: [linux] 195 | 196 | '@img/sharp-libvips-linux-x64@1.0.4': 197 | resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} 198 | cpu: [x64] 199 | os: [linux] 200 | 201 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 202 | resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} 203 | cpu: [arm64] 204 | os: [linux] 205 | 206 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 207 | resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} 208 | cpu: [x64] 209 | os: [linux] 210 | 211 | '@img/sharp-linux-arm64@0.33.5': 212 | resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} 213 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 214 | cpu: [arm64] 215 | os: [linux] 216 | 217 | '@img/sharp-linux-arm@0.33.5': 218 | resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} 219 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 220 | cpu: [arm] 221 | os: [linux] 222 | 223 | '@img/sharp-linux-s390x@0.33.5': 224 | resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} 225 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 226 | cpu: [s390x] 227 | os: [linux] 228 | 229 | '@img/sharp-linux-x64@0.33.5': 230 | resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} 231 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 232 | cpu: [x64] 233 | os: [linux] 234 | 235 | '@img/sharp-linuxmusl-arm64@0.33.5': 236 | resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} 237 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 238 | cpu: [arm64] 239 | os: [linux] 240 | 241 | '@img/sharp-linuxmusl-x64@0.33.5': 242 | resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} 243 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 244 | cpu: [x64] 245 | os: [linux] 246 | 247 | '@img/sharp-wasm32@0.33.5': 248 | resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} 249 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 250 | cpu: [wasm32] 251 | 252 | '@img/sharp-win32-ia32@0.33.5': 253 | resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} 254 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 255 | cpu: [ia32] 256 | os: [win32] 257 | 258 | '@img/sharp-win32-x64@0.33.5': 259 | resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} 260 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 261 | cpu: [x64] 262 | os: [win32] 263 | 264 | '@ioredis/commands@1.2.0': 265 | resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} 266 | 267 | '@isaacs/cliui@8.0.2': 268 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 269 | engines: {node: '>=12'} 270 | 271 | '@jridgewell/gen-mapping@0.3.8': 272 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 273 | engines: {node: '>=6.0.0'} 274 | 275 | '@jridgewell/resolve-uri@3.1.2': 276 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 277 | engines: {node: '>=6.0.0'} 278 | 279 | '@jridgewell/set-array@1.2.1': 280 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 281 | engines: {node: '>=6.0.0'} 282 | 283 | '@jridgewell/sourcemap-codec@1.5.0': 284 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 285 | 286 | '@jridgewell/trace-mapping@0.3.25': 287 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 288 | 289 | '@next/env@15.1.7': 290 | resolution: {integrity: sha512-d9jnRrkuOH7Mhi+LHav2XW91HOgTAWHxjMPkXMGBc9B2b7614P7kjt8tAplRvJpbSt4nbO1lugcT/kAaWzjlLQ==} 291 | 292 | '@next/eslint-plugin-next@15.1.7': 293 | resolution: {integrity: sha512-kRP7RjSxfTO13NE317ek3mSGzoZlI33nc/i5hs1KaWpK+egs85xg0DJ4p32QEiHnR0mVjuUfhRIun7awqfL7pQ==} 294 | 295 | '@next/swc-darwin-arm64@15.1.7': 296 | resolution: {integrity: sha512-hPFwzPJDpA8FGj7IKV3Yf1web3oz2YsR8du4amKw8d+jAOHfYHYFpMkoF6vgSY4W6vB29RtZEklK9ayinGiCmQ==} 297 | engines: {node: '>= 10'} 298 | cpu: [arm64] 299 | os: [darwin] 300 | 301 | '@next/swc-darwin-x64@15.1.7': 302 | resolution: {integrity: sha512-2qoas+fO3OQKkU0PBUfwTiw/EYpN+kdAx62cePRyY1LqKtP09Vp5UcUntfZYajop5fDFTjSxCHfZVRxzi+9FYQ==} 303 | engines: {node: '>= 10'} 304 | cpu: [x64] 305 | os: [darwin] 306 | 307 | '@next/swc-linux-arm64-gnu@15.1.7': 308 | resolution: {integrity: sha512-sKLLwDX709mPdzxMnRIXLIT9zaX2w0GUlkLYQnKGoXeWUhcvpCrK+yevcwCJPdTdxZEUA0mOXGLdPsGkudGdnA==} 309 | engines: {node: '>= 10'} 310 | cpu: [arm64] 311 | os: [linux] 312 | 313 | '@next/swc-linux-arm64-musl@15.1.7': 314 | resolution: {integrity: sha512-zblK1OQbQWdC8fxdX4fpsHDw+VSpBPGEUX4PhSE9hkaWPrWoeIJn+baX53vbsbDRaDKd7bBNcXRovY1hEhFd7w==} 315 | engines: {node: '>= 10'} 316 | cpu: [arm64] 317 | os: [linux] 318 | 319 | '@next/swc-linux-x64-gnu@15.1.7': 320 | resolution: {integrity: sha512-GOzXutxuLvLHFDAPsMP2zDBMl1vfUHHpdNpFGhxu90jEzH6nNIgmtw/s1MDwpTOiM+MT5V8+I1hmVFeAUhkbgQ==} 321 | engines: {node: '>= 10'} 322 | cpu: [x64] 323 | os: [linux] 324 | 325 | '@next/swc-linux-x64-musl@15.1.7': 326 | resolution: {integrity: sha512-WrZ7jBhR7ATW1z5iEQ0ZJfE2twCNSXbpCSaAunF3BKcVeHFADSI/AW1y5Xt3DzTqPF1FzQlwQTewqetAABhZRQ==} 327 | engines: {node: '>= 10'} 328 | cpu: [x64] 329 | os: [linux] 330 | 331 | '@next/swc-win32-arm64-msvc@15.1.7': 332 | resolution: {integrity: sha512-LDnj1f3OVbou1BqvvXVqouJZKcwq++mV2F+oFHptToZtScIEnhNRJAhJzqAtTE2dB31qDYL45xJwrc+bLeKM2Q==} 333 | engines: {node: '>= 10'} 334 | cpu: [arm64] 335 | os: [win32] 336 | 337 | '@next/swc-win32-x64-msvc@15.1.7': 338 | resolution: {integrity: sha512-dC01f1quuf97viOfW05/K8XYv2iuBgAxJZl7mbCKEjMgdQl5JjAKJ0D2qMKZCgPWDeFbFT0Q0nYWwytEW0DWTQ==} 339 | engines: {node: '>= 10'} 340 | cpu: [x64] 341 | os: [win32] 342 | 343 | '@nodelib/fs.scandir@2.1.5': 344 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 345 | engines: {node: '>= 8'} 346 | 347 | '@nodelib/fs.stat@2.0.5': 348 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 349 | engines: {node: '>= 8'} 350 | 351 | '@nodelib/fs.walk@1.2.8': 352 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 353 | engines: {node: '>= 8'} 354 | 355 | '@nolyfill/is-core-module@1.0.39': 356 | resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} 357 | engines: {node: '>=12.4.0'} 358 | 359 | '@pkgjs/parseargs@0.11.0': 360 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 361 | engines: {node: '>=14'} 362 | 363 | '@radix-ui/primitive@1.1.1': 364 | resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==} 365 | 366 | '@radix-ui/react-collection@1.1.2': 367 | resolution: {integrity: sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw==} 368 | peerDependencies: 369 | '@types/react': '*' 370 | '@types/react-dom': '*' 371 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 372 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 373 | peerDependenciesMeta: 374 | '@types/react': 375 | optional: true 376 | '@types/react-dom': 377 | optional: true 378 | 379 | '@radix-ui/react-compose-refs@1.1.1': 380 | resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==} 381 | peerDependencies: 382 | '@types/react': '*' 383 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 384 | peerDependenciesMeta: 385 | '@types/react': 386 | optional: true 387 | 388 | '@radix-ui/react-context@1.1.1': 389 | resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} 390 | peerDependencies: 391 | '@types/react': '*' 392 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 393 | peerDependenciesMeta: 394 | '@types/react': 395 | optional: true 396 | 397 | '@radix-ui/react-dismissable-layer@1.1.5': 398 | resolution: {integrity: sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==} 399 | peerDependencies: 400 | '@types/react': '*' 401 | '@types/react-dom': '*' 402 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 403 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 404 | peerDependenciesMeta: 405 | '@types/react': 406 | optional: true 407 | '@types/react-dom': 408 | optional: true 409 | 410 | '@radix-ui/react-label@2.1.2': 411 | resolution: {integrity: sha512-zo1uGMTaNlHehDyFQcDZXRJhUPDuukcnHz0/jnrup0JA6qL+AFpAnty+7VKa9esuU5xTblAZzTGYJKSKaBxBhw==} 412 | peerDependencies: 413 | '@types/react': '*' 414 | '@types/react-dom': '*' 415 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 416 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 417 | peerDependenciesMeta: 418 | '@types/react': 419 | optional: true 420 | '@types/react-dom': 421 | optional: true 422 | 423 | '@radix-ui/react-portal@1.1.4': 424 | resolution: {integrity: sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==} 425 | peerDependencies: 426 | '@types/react': '*' 427 | '@types/react-dom': '*' 428 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 429 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 430 | peerDependenciesMeta: 431 | '@types/react': 432 | optional: true 433 | '@types/react-dom': 434 | optional: true 435 | 436 | '@radix-ui/react-presence@1.1.2': 437 | resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==} 438 | peerDependencies: 439 | '@types/react': '*' 440 | '@types/react-dom': '*' 441 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 442 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 443 | peerDependenciesMeta: 444 | '@types/react': 445 | optional: true 446 | '@types/react-dom': 447 | optional: true 448 | 449 | '@radix-ui/react-primitive@2.0.2': 450 | resolution: {integrity: sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==} 451 | peerDependencies: 452 | '@types/react': '*' 453 | '@types/react-dom': '*' 454 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 455 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 456 | peerDependenciesMeta: 457 | '@types/react': 458 | optional: true 459 | '@types/react-dom': 460 | optional: true 461 | 462 | '@radix-ui/react-slot@1.1.2': 463 | resolution: {integrity: sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==} 464 | peerDependencies: 465 | '@types/react': '*' 466 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 467 | peerDependenciesMeta: 468 | '@types/react': 469 | optional: true 470 | 471 | '@radix-ui/react-toast@1.2.6': 472 | resolution: {integrity: sha512-gN4dpuIVKEgpLn1z5FhzT9mYRUitbfZq9XqN/7kkBMUgFTzTG8x/KszWJugJXHcwxckY8xcKDZPz7kG3o6DsUA==} 473 | peerDependencies: 474 | '@types/react': '*' 475 | '@types/react-dom': '*' 476 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 477 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 478 | peerDependenciesMeta: 479 | '@types/react': 480 | optional: true 481 | '@types/react-dom': 482 | optional: true 483 | 484 | '@radix-ui/react-use-callback-ref@1.1.0': 485 | resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} 486 | peerDependencies: 487 | '@types/react': '*' 488 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 489 | peerDependenciesMeta: 490 | '@types/react': 491 | optional: true 492 | 493 | '@radix-ui/react-use-controllable-state@1.1.0': 494 | resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} 495 | peerDependencies: 496 | '@types/react': '*' 497 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 498 | peerDependenciesMeta: 499 | '@types/react': 500 | optional: true 501 | 502 | '@radix-ui/react-use-escape-keydown@1.1.0': 503 | resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} 504 | peerDependencies: 505 | '@types/react': '*' 506 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 507 | peerDependenciesMeta: 508 | '@types/react': 509 | optional: true 510 | 511 | '@radix-ui/react-use-layout-effect@1.1.0': 512 | resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} 513 | peerDependencies: 514 | '@types/react': '*' 515 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 516 | peerDependenciesMeta: 517 | '@types/react': 518 | optional: true 519 | 520 | '@radix-ui/react-visually-hidden@1.1.2': 521 | resolution: {integrity: sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==} 522 | peerDependencies: 523 | '@types/react': '*' 524 | '@types/react-dom': '*' 525 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 526 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 527 | peerDependenciesMeta: 528 | '@types/react': 529 | optional: true 530 | '@types/react-dom': 531 | optional: true 532 | 533 | '@rtsao/scc@1.1.0': 534 | resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} 535 | 536 | '@rushstack/eslint-patch@1.10.5': 537 | resolution: {integrity: sha512-kkKUDVlII2DQiKy7UstOR1ErJP8kUKAQ4oa+SQtM0K+lPdmmjj0YnnxBgtTVYH7mUKtbsxeFC9y0AmK7Yb78/A==} 538 | 539 | '@swc/counter@0.1.3': 540 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 541 | 542 | '@swc/helpers@0.5.15': 543 | resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} 544 | 545 | '@types/estree@1.0.6': 546 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 547 | 548 | '@types/json-schema@7.0.15': 549 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 550 | 551 | '@types/json5@0.0.29': 552 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 553 | 554 | '@types/node@20.17.19': 555 | resolution: {integrity: sha512-LEwC7o1ifqg/6r2gn9Dns0f1rhK+fPFDoMiceTJ6kWmVk6bgXBI/9IOWfVan4WiAavK9pIVWdX0/e3J+eEUh5A==} 556 | 557 | '@types/react-dom@19.0.4': 558 | resolution: {integrity: sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==} 559 | peerDependencies: 560 | '@types/react': ^19.0.0 561 | 562 | '@types/react@19.0.10': 563 | resolution: {integrity: sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==} 564 | 565 | '@typescript-eslint/eslint-plugin@8.24.1': 566 | resolution: {integrity: sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==} 567 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 568 | peerDependencies: 569 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 570 | eslint: ^8.57.0 || ^9.0.0 571 | typescript: '>=4.8.4 <5.8.0' 572 | 573 | '@typescript-eslint/parser@8.24.1': 574 | resolution: {integrity: sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==} 575 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 576 | peerDependencies: 577 | eslint: ^8.57.0 || ^9.0.0 578 | typescript: '>=4.8.4 <5.8.0' 579 | 580 | '@typescript-eslint/scope-manager@8.24.1': 581 | resolution: {integrity: sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==} 582 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 583 | 584 | '@typescript-eslint/type-utils@8.24.1': 585 | resolution: {integrity: sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==} 586 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 587 | peerDependencies: 588 | eslint: ^8.57.0 || ^9.0.0 589 | typescript: '>=4.8.4 <5.8.0' 590 | 591 | '@typescript-eslint/types@8.24.1': 592 | resolution: {integrity: sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==} 593 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 594 | 595 | '@typescript-eslint/typescript-estree@8.24.1': 596 | resolution: {integrity: sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==} 597 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 598 | peerDependencies: 599 | typescript: '>=4.8.4 <5.8.0' 600 | 601 | '@typescript-eslint/utils@8.24.1': 602 | resolution: {integrity: sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==} 603 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 604 | peerDependencies: 605 | eslint: ^8.57.0 || ^9.0.0 606 | typescript: '>=4.8.4 <5.8.0' 607 | 608 | '@typescript-eslint/visitor-keys@8.24.1': 609 | resolution: {integrity: sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==} 610 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 611 | 612 | acorn-jsx@5.3.2: 613 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 614 | peerDependencies: 615 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 616 | 617 | acorn@8.14.0: 618 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 619 | engines: {node: '>=0.4.0'} 620 | hasBin: true 621 | 622 | agent-base@6.0.2: 623 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 624 | engines: {node: '>= 6.0.0'} 625 | 626 | ajv@6.12.6: 627 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 628 | 629 | ansi-regex@5.0.1: 630 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 631 | engines: {node: '>=8'} 632 | 633 | ansi-regex@6.1.0: 634 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 635 | engines: {node: '>=12'} 636 | 637 | ansi-styles@4.3.0: 638 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 639 | engines: {node: '>=8'} 640 | 641 | ansi-styles@6.2.1: 642 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 643 | engines: {node: '>=12'} 644 | 645 | any-promise@1.3.0: 646 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 647 | 648 | anymatch@3.1.3: 649 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 650 | engines: {node: '>= 8'} 651 | 652 | arg@5.0.2: 653 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 654 | 655 | argparse@2.0.1: 656 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 657 | 658 | aria-query@5.3.2: 659 | resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 660 | engines: {node: '>= 0.4'} 661 | 662 | array-buffer-byte-length@1.0.2: 663 | resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} 664 | engines: {node: '>= 0.4'} 665 | 666 | array-includes@3.1.8: 667 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} 668 | engines: {node: '>= 0.4'} 669 | 670 | array.prototype.findlast@1.2.5: 671 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} 672 | engines: {node: '>= 0.4'} 673 | 674 | array.prototype.findlastindex@1.2.5: 675 | resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} 676 | engines: {node: '>= 0.4'} 677 | 678 | array.prototype.flat@1.3.3: 679 | resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} 680 | engines: {node: '>= 0.4'} 681 | 682 | array.prototype.flatmap@1.3.3: 683 | resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} 684 | engines: {node: '>= 0.4'} 685 | 686 | array.prototype.tosorted@1.1.4: 687 | resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} 688 | engines: {node: '>= 0.4'} 689 | 690 | arraybuffer.prototype.slice@1.0.4: 691 | resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} 692 | engines: {node: '>= 0.4'} 693 | 694 | ast-types-flow@0.0.8: 695 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} 696 | 697 | async-function@1.0.0: 698 | resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} 699 | engines: {node: '>= 0.4'} 700 | 701 | asynckit@0.4.0: 702 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 703 | 704 | available-typed-arrays@1.0.7: 705 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 706 | engines: {node: '>= 0.4'} 707 | 708 | axe-core@4.10.2: 709 | resolution: {integrity: sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==} 710 | engines: {node: '>=4'} 711 | 712 | axios@1.7.9: 713 | resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} 714 | 715 | axobject-query@4.1.0: 716 | resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 717 | engines: {node: '>= 0.4'} 718 | 719 | balanced-match@1.0.2: 720 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 721 | 722 | binary-extensions@2.3.0: 723 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 724 | engines: {node: '>=8'} 725 | 726 | brace-expansion@1.1.11: 727 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 728 | 729 | brace-expansion@2.0.1: 730 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 731 | 732 | braces@3.0.3: 733 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 734 | engines: {node: '>=8'} 735 | 736 | buffer-equal-constant-time@1.0.1: 737 | resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} 738 | 739 | busboy@1.6.0: 740 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 741 | engines: {node: '>=10.16.0'} 742 | 743 | call-bind-apply-helpers@1.0.2: 744 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 745 | engines: {node: '>= 0.4'} 746 | 747 | call-bind@1.0.8: 748 | resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 749 | engines: {node: '>= 0.4'} 750 | 751 | call-bound@1.0.3: 752 | resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} 753 | engines: {node: '>= 0.4'} 754 | 755 | callsites@3.1.0: 756 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 757 | engines: {node: '>=6'} 758 | 759 | camelcase-css@2.0.1: 760 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 761 | engines: {node: '>= 6'} 762 | 763 | caniuse-lite@1.0.30001700: 764 | resolution: {integrity: sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==} 765 | 766 | chalk@4.1.2: 767 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 768 | engines: {node: '>=10'} 769 | 770 | chokidar@3.6.0: 771 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 772 | engines: {node: '>= 8.10.0'} 773 | 774 | class-variance-authority@0.7.1: 775 | resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} 776 | 777 | client-only@0.0.1: 778 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 779 | 780 | clsx@2.1.1: 781 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 782 | engines: {node: '>=6'} 783 | 784 | cluster-key-slot@1.1.2: 785 | resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} 786 | engines: {node: '>=0.10.0'} 787 | 788 | color-convert@2.0.1: 789 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 790 | engines: {node: '>=7.0.0'} 791 | 792 | color-name@1.1.4: 793 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 794 | 795 | color-string@1.9.1: 796 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 797 | 798 | color@4.2.3: 799 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 800 | engines: {node: '>=12.5.0'} 801 | 802 | combined-stream@1.0.8: 803 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 804 | engines: {node: '>= 0.8'} 805 | 806 | commander@4.1.1: 807 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 808 | engines: {node: '>= 6'} 809 | 810 | concat-map@0.0.1: 811 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 812 | 813 | cross-spawn@7.0.6: 814 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 815 | engines: {node: '>= 8'} 816 | 817 | cssesc@3.0.0: 818 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 819 | engines: {node: '>=4'} 820 | hasBin: true 821 | 822 | csstype@3.1.3: 823 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 824 | 825 | damerau-levenshtein@1.0.8: 826 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 827 | 828 | data-view-buffer@1.0.2: 829 | resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} 830 | engines: {node: '>= 0.4'} 831 | 832 | data-view-byte-length@1.0.2: 833 | resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} 834 | engines: {node: '>= 0.4'} 835 | 836 | data-view-byte-offset@1.0.1: 837 | resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} 838 | engines: {node: '>= 0.4'} 839 | 840 | date-fns@4.1.0: 841 | resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} 842 | 843 | dayjs@1.11.13: 844 | resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} 845 | 846 | debug@3.2.7: 847 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 848 | peerDependencies: 849 | supports-color: '*' 850 | peerDependenciesMeta: 851 | supports-color: 852 | optional: true 853 | 854 | debug@4.4.0: 855 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 856 | engines: {node: '>=6.0'} 857 | peerDependencies: 858 | supports-color: '*' 859 | peerDependenciesMeta: 860 | supports-color: 861 | optional: true 862 | 863 | deep-is@0.1.4: 864 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 865 | 866 | define-data-property@1.1.4: 867 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 868 | engines: {node: '>= 0.4'} 869 | 870 | define-properties@1.2.1: 871 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 872 | engines: {node: '>= 0.4'} 873 | 874 | delayed-stream@1.0.0: 875 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 876 | engines: {node: '>=0.4.0'} 877 | 878 | denque@2.1.0: 879 | resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} 880 | engines: {node: '>=0.10'} 881 | 882 | detect-libc@2.0.3: 883 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 884 | engines: {node: '>=8'} 885 | 886 | didyoumean@1.2.2: 887 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 888 | 889 | dlv@1.1.3: 890 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 891 | 892 | doctrine@2.1.0: 893 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 894 | engines: {node: '>=0.10.0'} 895 | 896 | dunder-proto@1.0.1: 897 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 898 | engines: {node: '>= 0.4'} 899 | 900 | eastasianwidth@0.2.0: 901 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 902 | 903 | ecdsa-sig-formatter@1.0.11: 904 | resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} 905 | 906 | emoji-regex@8.0.0: 907 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 908 | 909 | emoji-regex@9.2.2: 910 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 911 | 912 | enhanced-resolve@5.18.1: 913 | resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} 914 | engines: {node: '>=10.13.0'} 915 | 916 | es-abstract@1.23.9: 917 | resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} 918 | engines: {node: '>= 0.4'} 919 | 920 | es-define-property@1.0.1: 921 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 922 | engines: {node: '>= 0.4'} 923 | 924 | es-errors@1.3.0: 925 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 926 | engines: {node: '>= 0.4'} 927 | 928 | es-iterator-helpers@1.2.1: 929 | resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} 930 | engines: {node: '>= 0.4'} 931 | 932 | es-object-atoms@1.1.1: 933 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 934 | engines: {node: '>= 0.4'} 935 | 936 | es-set-tostringtag@2.1.0: 937 | resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} 938 | engines: {node: '>= 0.4'} 939 | 940 | es-shim-unscopables@1.1.0: 941 | resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} 942 | engines: {node: '>= 0.4'} 943 | 944 | es-to-primitive@1.3.0: 945 | resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} 946 | engines: {node: '>= 0.4'} 947 | 948 | escape-string-regexp@4.0.0: 949 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 950 | engines: {node: '>=10'} 951 | 952 | eslint-config-next@15.1.7: 953 | resolution: {integrity: sha512-zXoMnYUIy3XHaAoOhrcYkT9UQWvXqWju2K7NNsmb5wd/7XESDwof61eUdW4QhERr3eJ9Ko/vnXqIrj8kk/drYw==} 954 | peerDependencies: 955 | eslint: ^7.23.0 || ^8.0.0 || ^9.0.0 956 | typescript: '>=3.3.1' 957 | peerDependenciesMeta: 958 | typescript: 959 | optional: true 960 | 961 | eslint-import-resolver-node@0.3.9: 962 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 963 | 964 | eslint-import-resolver-typescript@3.8.3: 965 | resolution: {integrity: sha512-A0bu4Ks2QqDWNpeEgTQMPTngaMhuDu4yv6xpftBMAf+1ziXnpx+eSR1WRfoPTe2BAiAjHFZ7kSNx1fvr5g5pmQ==} 966 | engines: {node: ^14.18.0 || >=16.0.0} 967 | peerDependencies: 968 | eslint: '*' 969 | eslint-plugin-import: '*' 970 | eslint-plugin-import-x: '*' 971 | peerDependenciesMeta: 972 | eslint-plugin-import: 973 | optional: true 974 | eslint-plugin-import-x: 975 | optional: true 976 | 977 | eslint-module-utils@2.12.0: 978 | resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} 979 | engines: {node: '>=4'} 980 | peerDependencies: 981 | '@typescript-eslint/parser': '*' 982 | eslint: '*' 983 | eslint-import-resolver-node: '*' 984 | eslint-import-resolver-typescript: '*' 985 | eslint-import-resolver-webpack: '*' 986 | peerDependenciesMeta: 987 | '@typescript-eslint/parser': 988 | optional: true 989 | eslint: 990 | optional: true 991 | eslint-import-resolver-node: 992 | optional: true 993 | eslint-import-resolver-typescript: 994 | optional: true 995 | eslint-import-resolver-webpack: 996 | optional: true 997 | 998 | eslint-plugin-import@2.31.0: 999 | resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} 1000 | engines: {node: '>=4'} 1001 | peerDependencies: 1002 | '@typescript-eslint/parser': '*' 1003 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 1004 | peerDependenciesMeta: 1005 | '@typescript-eslint/parser': 1006 | optional: true 1007 | 1008 | eslint-plugin-jsx-a11y@6.10.2: 1009 | resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} 1010 | engines: {node: '>=4.0'} 1011 | peerDependencies: 1012 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 1013 | 1014 | eslint-plugin-react-hooks@5.1.0: 1015 | resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==} 1016 | engines: {node: '>=10'} 1017 | peerDependencies: 1018 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 1019 | 1020 | eslint-plugin-react@7.37.4: 1021 | resolution: {integrity: sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==} 1022 | engines: {node: '>=4'} 1023 | peerDependencies: 1024 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 1025 | 1026 | eslint-scope@8.2.0: 1027 | resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} 1028 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1029 | 1030 | eslint-visitor-keys@3.4.3: 1031 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1032 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1033 | 1034 | eslint-visitor-keys@4.2.0: 1035 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 1036 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1037 | 1038 | eslint@9.21.0: 1039 | resolution: {integrity: sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==} 1040 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1041 | hasBin: true 1042 | peerDependencies: 1043 | jiti: '*' 1044 | peerDependenciesMeta: 1045 | jiti: 1046 | optional: true 1047 | 1048 | espree@10.3.0: 1049 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 1050 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1051 | 1052 | esquery@1.6.0: 1053 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 1054 | engines: {node: '>=0.10'} 1055 | 1056 | esrecurse@4.3.0: 1057 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1058 | engines: {node: '>=4.0'} 1059 | 1060 | estraverse@5.3.0: 1061 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1062 | engines: {node: '>=4.0'} 1063 | 1064 | esutils@2.0.3: 1065 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1066 | engines: {node: '>=0.10.0'} 1067 | 1068 | fast-deep-equal@3.1.3: 1069 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1070 | 1071 | fast-glob@3.3.1: 1072 | resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} 1073 | engines: {node: '>=8.6.0'} 1074 | 1075 | fast-glob@3.3.3: 1076 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 1077 | engines: {node: '>=8.6.0'} 1078 | 1079 | fast-json-stable-stringify@2.1.0: 1080 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1081 | 1082 | fast-levenshtein@2.0.6: 1083 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1084 | 1085 | fastq@1.19.0: 1086 | resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==} 1087 | 1088 | fdir@6.4.3: 1089 | resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} 1090 | peerDependencies: 1091 | picomatch: ^3 || ^4 1092 | peerDependenciesMeta: 1093 | picomatch: 1094 | optional: true 1095 | 1096 | file-entry-cache@8.0.0: 1097 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 1098 | engines: {node: '>=16.0.0'} 1099 | 1100 | fill-range@7.1.1: 1101 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1102 | engines: {node: '>=8'} 1103 | 1104 | find-up@5.0.0: 1105 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1106 | engines: {node: '>=10'} 1107 | 1108 | flat-cache@4.0.1: 1109 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 1110 | engines: {node: '>=16'} 1111 | 1112 | flatted@3.3.3: 1113 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 1114 | 1115 | follow-redirects@1.15.9: 1116 | resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} 1117 | engines: {node: '>=4.0'} 1118 | peerDependencies: 1119 | debug: '*' 1120 | peerDependenciesMeta: 1121 | debug: 1122 | optional: true 1123 | 1124 | for-each@0.3.5: 1125 | resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 1126 | engines: {node: '>= 0.4'} 1127 | 1128 | foreground-child@3.3.0: 1129 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 1130 | engines: {node: '>=14'} 1131 | 1132 | form-data@4.0.2: 1133 | resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} 1134 | engines: {node: '>= 6'} 1135 | 1136 | fsevents@2.3.3: 1137 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1138 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1139 | os: [darwin] 1140 | 1141 | function-bind@1.1.2: 1142 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1143 | 1144 | function.prototype.name@1.1.8: 1145 | resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} 1146 | engines: {node: '>= 0.4'} 1147 | 1148 | functions-have-names@1.2.3: 1149 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1150 | 1151 | get-intrinsic@1.3.0: 1152 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 1153 | engines: {node: '>= 0.4'} 1154 | 1155 | get-proto@1.0.1: 1156 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 1157 | engines: {node: '>= 0.4'} 1158 | 1159 | get-symbol-description@1.1.0: 1160 | resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} 1161 | engines: {node: '>= 0.4'} 1162 | 1163 | get-tsconfig@4.10.0: 1164 | resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} 1165 | 1166 | glob-parent@5.1.2: 1167 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1168 | engines: {node: '>= 6'} 1169 | 1170 | glob-parent@6.0.2: 1171 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1172 | engines: {node: '>=10.13.0'} 1173 | 1174 | glob@10.4.5: 1175 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1176 | hasBin: true 1177 | 1178 | globals@14.0.0: 1179 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 1180 | engines: {node: '>=18'} 1181 | 1182 | globalthis@1.0.4: 1183 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} 1184 | engines: {node: '>= 0.4'} 1185 | 1186 | gopd@1.2.0: 1187 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1188 | engines: {node: '>= 0.4'} 1189 | 1190 | graceful-fs@4.2.11: 1191 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1192 | 1193 | graphemer@1.4.0: 1194 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1195 | 1196 | has-bigints@1.1.0: 1197 | resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} 1198 | engines: {node: '>= 0.4'} 1199 | 1200 | has-flag@4.0.0: 1201 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1202 | engines: {node: '>=8'} 1203 | 1204 | has-property-descriptors@1.0.2: 1205 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1206 | 1207 | has-proto@1.2.0: 1208 | resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} 1209 | engines: {node: '>= 0.4'} 1210 | 1211 | has-symbols@1.1.0: 1212 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1213 | engines: {node: '>= 0.4'} 1214 | 1215 | has-tostringtag@1.0.2: 1216 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1217 | engines: {node: '>= 0.4'} 1218 | 1219 | hasown@2.0.2: 1220 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1221 | engines: {node: '>= 0.4'} 1222 | 1223 | https-proxy-agent@5.0.1: 1224 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} 1225 | engines: {node: '>= 6'} 1226 | 1227 | ignore@5.3.2: 1228 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1229 | engines: {node: '>= 4'} 1230 | 1231 | import-fresh@3.3.1: 1232 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1233 | engines: {node: '>=6'} 1234 | 1235 | imurmurhash@0.1.4: 1236 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1237 | engines: {node: '>=0.8.19'} 1238 | 1239 | internal-slot@1.1.0: 1240 | resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} 1241 | engines: {node: '>= 0.4'} 1242 | 1243 | ioredis@5.5.0: 1244 | resolution: {integrity: sha512-7CutT89g23FfSa8MDoIFs2GYYa0PaNiW/OrT+nRyjRXHDZd17HmIgy+reOQ/yhh72NznNjGuS8kbCAcA4Ro4mw==} 1245 | engines: {node: '>=12.22.0'} 1246 | 1247 | is-array-buffer@3.0.5: 1248 | resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} 1249 | engines: {node: '>= 0.4'} 1250 | 1251 | is-arrayish@0.3.2: 1252 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 1253 | 1254 | is-async-function@2.1.1: 1255 | resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} 1256 | engines: {node: '>= 0.4'} 1257 | 1258 | is-bigint@1.1.0: 1259 | resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} 1260 | engines: {node: '>= 0.4'} 1261 | 1262 | is-binary-path@2.1.0: 1263 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1264 | engines: {node: '>=8'} 1265 | 1266 | is-boolean-object@1.2.2: 1267 | resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} 1268 | engines: {node: '>= 0.4'} 1269 | 1270 | is-bun-module@1.3.0: 1271 | resolution: {integrity: sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==} 1272 | 1273 | is-callable@1.2.7: 1274 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1275 | engines: {node: '>= 0.4'} 1276 | 1277 | is-core-module@2.16.1: 1278 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 1279 | engines: {node: '>= 0.4'} 1280 | 1281 | is-data-view@1.0.2: 1282 | resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} 1283 | engines: {node: '>= 0.4'} 1284 | 1285 | is-date-object@1.1.0: 1286 | resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} 1287 | engines: {node: '>= 0.4'} 1288 | 1289 | is-extglob@2.1.1: 1290 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1291 | engines: {node: '>=0.10.0'} 1292 | 1293 | is-finalizationregistry@1.1.1: 1294 | resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} 1295 | engines: {node: '>= 0.4'} 1296 | 1297 | is-fullwidth-code-point@3.0.0: 1298 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1299 | engines: {node: '>=8'} 1300 | 1301 | is-generator-function@1.1.0: 1302 | resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} 1303 | engines: {node: '>= 0.4'} 1304 | 1305 | is-glob@4.0.3: 1306 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1307 | engines: {node: '>=0.10.0'} 1308 | 1309 | is-map@2.0.3: 1310 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 1311 | engines: {node: '>= 0.4'} 1312 | 1313 | is-number-object@1.1.1: 1314 | resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} 1315 | engines: {node: '>= 0.4'} 1316 | 1317 | is-number@7.0.0: 1318 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1319 | engines: {node: '>=0.12.0'} 1320 | 1321 | is-regex@1.2.1: 1322 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} 1323 | engines: {node: '>= 0.4'} 1324 | 1325 | is-set@2.0.3: 1326 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 1327 | engines: {node: '>= 0.4'} 1328 | 1329 | is-shared-array-buffer@1.0.4: 1330 | resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} 1331 | engines: {node: '>= 0.4'} 1332 | 1333 | is-string@1.1.1: 1334 | resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} 1335 | engines: {node: '>= 0.4'} 1336 | 1337 | is-symbol@1.1.1: 1338 | resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} 1339 | engines: {node: '>= 0.4'} 1340 | 1341 | is-typed-array@1.1.15: 1342 | resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} 1343 | engines: {node: '>= 0.4'} 1344 | 1345 | is-weakmap@2.0.2: 1346 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 1347 | engines: {node: '>= 0.4'} 1348 | 1349 | is-weakref@1.1.1: 1350 | resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} 1351 | engines: {node: '>= 0.4'} 1352 | 1353 | is-weakset@2.0.4: 1354 | resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} 1355 | engines: {node: '>= 0.4'} 1356 | 1357 | isarray@2.0.5: 1358 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1359 | 1360 | isexe@2.0.0: 1361 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1362 | 1363 | iterator.prototype@1.1.5: 1364 | resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} 1365 | engines: {node: '>= 0.4'} 1366 | 1367 | jackspeak@3.4.3: 1368 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1369 | 1370 | jiti@1.21.7: 1371 | resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} 1372 | hasBin: true 1373 | 1374 | js-tokens@4.0.0: 1375 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1376 | 1377 | js-yaml@4.1.0: 1378 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1379 | hasBin: true 1380 | 1381 | json-buffer@3.0.1: 1382 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1383 | 1384 | json-schema-traverse@0.4.1: 1385 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1386 | 1387 | json-stable-stringify-without-jsonify@1.0.1: 1388 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1389 | 1390 | json5@1.0.2: 1391 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1392 | hasBin: true 1393 | 1394 | jsonwebtoken@9.0.2: 1395 | resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} 1396 | engines: {node: '>=12', npm: '>=6'} 1397 | 1398 | jsx-ast-utils@3.3.5: 1399 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} 1400 | engines: {node: '>=4.0'} 1401 | 1402 | jwa@1.4.1: 1403 | resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} 1404 | 1405 | jws@3.2.2: 1406 | resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} 1407 | 1408 | keyv@4.5.4: 1409 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1410 | 1411 | language-subtag-registry@0.3.23: 1412 | resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} 1413 | 1414 | language-tags@1.0.9: 1415 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} 1416 | engines: {node: '>=0.10'} 1417 | 1418 | levn@0.4.1: 1419 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1420 | engines: {node: '>= 0.8.0'} 1421 | 1422 | lilconfig@3.1.3: 1423 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 1424 | engines: {node: '>=14'} 1425 | 1426 | lines-and-columns@1.2.4: 1427 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1428 | 1429 | locate-path@6.0.0: 1430 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1431 | engines: {node: '>=10'} 1432 | 1433 | lodash.defaults@4.2.0: 1434 | resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} 1435 | 1436 | lodash.includes@4.3.0: 1437 | resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} 1438 | 1439 | lodash.isarguments@3.1.0: 1440 | resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} 1441 | 1442 | lodash.isboolean@3.0.3: 1443 | resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} 1444 | 1445 | lodash.isinteger@4.0.4: 1446 | resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} 1447 | 1448 | lodash.isnumber@3.0.3: 1449 | resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} 1450 | 1451 | lodash.isplainobject@4.0.6: 1452 | resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} 1453 | 1454 | lodash.isstring@4.0.1: 1455 | resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} 1456 | 1457 | lodash.merge@4.6.2: 1458 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1459 | 1460 | lodash.once@4.1.1: 1461 | resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} 1462 | 1463 | loose-envify@1.4.0: 1464 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1465 | hasBin: true 1466 | 1467 | lru-cache@10.4.3: 1468 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1469 | 1470 | lucide-react@0.475.0: 1471 | resolution: {integrity: sha512-NJzvVu1HwFVeZ+Gwq2q00KygM1aBhy/ZrhY9FsAgJtpB+E4R7uxRk9M2iKvHa6/vNxZydIB59htha4c2vvwvVg==} 1472 | peerDependencies: 1473 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 1474 | 1475 | math-intrinsics@1.1.0: 1476 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1477 | engines: {node: '>= 0.4'} 1478 | 1479 | merge2@1.4.1: 1480 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1481 | engines: {node: '>= 8'} 1482 | 1483 | micromatch@4.0.8: 1484 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1485 | engines: {node: '>=8.6'} 1486 | 1487 | mime-db@1.52.0: 1488 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 1489 | engines: {node: '>= 0.6'} 1490 | 1491 | mime-types@2.1.35: 1492 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 1493 | engines: {node: '>= 0.6'} 1494 | 1495 | minimatch@3.1.2: 1496 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1497 | 1498 | minimatch@9.0.5: 1499 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1500 | engines: {node: '>=16 || 14 >=14.17'} 1501 | 1502 | minimist@1.2.8: 1503 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1504 | 1505 | minipass@7.1.2: 1506 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1507 | engines: {node: '>=16 || 14 >=14.17'} 1508 | 1509 | ms@2.1.3: 1510 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1511 | 1512 | mz@2.7.0: 1513 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1514 | 1515 | nanoid@3.3.8: 1516 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} 1517 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1518 | hasBin: true 1519 | 1520 | natural-compare@1.4.0: 1521 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1522 | 1523 | next@15.1.7: 1524 | resolution: {integrity: sha512-GNeINPGS9c6OZKCvKypbL8GTsT5GhWPp4DM0fzkXJuXMilOO2EeFxuAY6JZbtk6XIl6Ws10ag3xRINDjSO5+wg==} 1525 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} 1526 | hasBin: true 1527 | peerDependencies: 1528 | '@opentelemetry/api': ^1.1.0 1529 | '@playwright/test': ^1.41.2 1530 | babel-plugin-react-compiler: '*' 1531 | react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 1532 | react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 1533 | sass: ^1.3.0 1534 | peerDependenciesMeta: 1535 | '@opentelemetry/api': 1536 | optional: true 1537 | '@playwright/test': 1538 | optional: true 1539 | babel-plugin-react-compiler: 1540 | optional: true 1541 | sass: 1542 | optional: true 1543 | 1544 | normalize-path@3.0.0: 1545 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1546 | engines: {node: '>=0.10.0'} 1547 | 1548 | object-assign@4.1.1: 1549 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1550 | engines: {node: '>=0.10.0'} 1551 | 1552 | object-hash@3.0.0: 1553 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1554 | engines: {node: '>= 6'} 1555 | 1556 | object-inspect@1.13.4: 1557 | resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 1558 | engines: {node: '>= 0.4'} 1559 | 1560 | object-keys@1.1.1: 1561 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1562 | engines: {node: '>= 0.4'} 1563 | 1564 | object.assign@4.1.7: 1565 | resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} 1566 | engines: {node: '>= 0.4'} 1567 | 1568 | object.entries@1.1.8: 1569 | resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} 1570 | engines: {node: '>= 0.4'} 1571 | 1572 | object.fromentries@2.0.8: 1573 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} 1574 | engines: {node: '>= 0.4'} 1575 | 1576 | object.groupby@1.0.3: 1577 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 1578 | engines: {node: '>= 0.4'} 1579 | 1580 | object.values@1.2.1: 1581 | resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} 1582 | engines: {node: '>= 0.4'} 1583 | 1584 | optionator@0.9.4: 1585 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1586 | engines: {node: '>= 0.8.0'} 1587 | 1588 | own-keys@1.0.1: 1589 | resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} 1590 | engines: {node: '>= 0.4'} 1591 | 1592 | p-limit@3.1.0: 1593 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1594 | engines: {node: '>=10'} 1595 | 1596 | p-locate@5.0.0: 1597 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1598 | engines: {node: '>=10'} 1599 | 1600 | package-json-from-dist@1.0.1: 1601 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1602 | 1603 | parent-module@1.0.1: 1604 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1605 | engines: {node: '>=6'} 1606 | 1607 | path-exists@4.0.0: 1608 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1609 | engines: {node: '>=8'} 1610 | 1611 | path-key@3.1.1: 1612 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1613 | engines: {node: '>=8'} 1614 | 1615 | path-parse@1.0.7: 1616 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1617 | 1618 | path-scurry@1.11.1: 1619 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1620 | engines: {node: '>=16 || 14 >=14.18'} 1621 | 1622 | picocolors@1.1.1: 1623 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1624 | 1625 | picomatch@2.3.1: 1626 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1627 | engines: {node: '>=8.6'} 1628 | 1629 | picomatch@4.0.2: 1630 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1631 | engines: {node: '>=12'} 1632 | 1633 | pify@2.3.0: 1634 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1635 | engines: {node: '>=0.10.0'} 1636 | 1637 | pirates@4.0.6: 1638 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1639 | engines: {node: '>= 6'} 1640 | 1641 | possible-typed-array-names@1.1.0: 1642 | resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} 1643 | engines: {node: '>= 0.4'} 1644 | 1645 | postcss-import@15.1.0: 1646 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 1647 | engines: {node: '>=14.0.0'} 1648 | peerDependencies: 1649 | postcss: ^8.0.0 1650 | 1651 | postcss-js@4.0.1: 1652 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1653 | engines: {node: ^12 || ^14 || >= 16} 1654 | peerDependencies: 1655 | postcss: ^8.4.21 1656 | 1657 | postcss-load-config@4.0.2: 1658 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 1659 | engines: {node: '>= 14'} 1660 | peerDependencies: 1661 | postcss: '>=8.0.9' 1662 | ts-node: '>=9.0.0' 1663 | peerDependenciesMeta: 1664 | postcss: 1665 | optional: true 1666 | ts-node: 1667 | optional: true 1668 | 1669 | postcss-nested@6.2.0: 1670 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 1671 | engines: {node: '>=12.0'} 1672 | peerDependencies: 1673 | postcss: ^8.2.14 1674 | 1675 | postcss-selector-parser@6.1.2: 1676 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 1677 | engines: {node: '>=4'} 1678 | 1679 | postcss-value-parser@4.2.0: 1680 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1681 | 1682 | postcss@8.4.31: 1683 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 1684 | engines: {node: ^10 || ^12 || >=14} 1685 | 1686 | postcss@8.5.3: 1687 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} 1688 | engines: {node: ^10 || ^12 || >=14} 1689 | 1690 | prelude-ls@1.2.1: 1691 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1692 | engines: {node: '>= 0.8.0'} 1693 | 1694 | prop-types@15.8.1: 1695 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 1696 | 1697 | proxy-from-env@1.1.0: 1698 | resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 1699 | 1700 | punycode@2.3.1: 1701 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1702 | engines: {node: '>=6'} 1703 | 1704 | qs@6.14.0: 1705 | resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} 1706 | engines: {node: '>=0.6'} 1707 | 1708 | queue-microtask@1.2.3: 1709 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1710 | 1711 | react-dom@19.0.0: 1712 | resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} 1713 | peerDependencies: 1714 | react: ^19.0.0 1715 | 1716 | react-hook-form@7.54.2: 1717 | resolution: {integrity: sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg==} 1718 | engines: {node: '>=18.0.0'} 1719 | peerDependencies: 1720 | react: ^16.8.0 || ^17 || ^18 || ^19 1721 | 1722 | react-is@16.13.1: 1723 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 1724 | 1725 | react@19.0.0: 1726 | resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} 1727 | engines: {node: '>=0.10.0'} 1728 | 1729 | read-cache@1.0.0: 1730 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1731 | 1732 | readdirp@3.6.0: 1733 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1734 | engines: {node: '>=8.10.0'} 1735 | 1736 | redis-errors@1.2.0: 1737 | resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} 1738 | engines: {node: '>=4'} 1739 | 1740 | redis-parser@3.0.0: 1741 | resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} 1742 | engines: {node: '>=4'} 1743 | 1744 | reflect.getprototypeof@1.0.10: 1745 | resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} 1746 | engines: {node: '>= 0.4'} 1747 | 1748 | regexp.prototype.flags@1.5.4: 1749 | resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} 1750 | engines: {node: '>= 0.4'} 1751 | 1752 | resolve-from@4.0.0: 1753 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1754 | engines: {node: '>=4'} 1755 | 1756 | resolve-pkg-maps@1.0.0: 1757 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 1758 | 1759 | resolve@1.22.10: 1760 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 1761 | engines: {node: '>= 0.4'} 1762 | hasBin: true 1763 | 1764 | resolve@2.0.0-next.5: 1765 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 1766 | hasBin: true 1767 | 1768 | reusify@1.0.4: 1769 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1770 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1771 | 1772 | run-parallel@1.2.0: 1773 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1774 | 1775 | safe-array-concat@1.1.3: 1776 | resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} 1777 | engines: {node: '>=0.4'} 1778 | 1779 | safe-buffer@5.2.1: 1780 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1781 | 1782 | safe-push-apply@1.0.0: 1783 | resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} 1784 | engines: {node: '>= 0.4'} 1785 | 1786 | safe-regex-test@1.1.0: 1787 | resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} 1788 | engines: {node: '>= 0.4'} 1789 | 1790 | scheduler@0.25.0: 1791 | resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} 1792 | 1793 | scmp@2.1.0: 1794 | resolution: {integrity: sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==} 1795 | 1796 | semver@6.3.1: 1797 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1798 | hasBin: true 1799 | 1800 | semver@7.7.1: 1801 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} 1802 | engines: {node: '>=10'} 1803 | hasBin: true 1804 | 1805 | set-function-length@1.2.2: 1806 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1807 | engines: {node: '>= 0.4'} 1808 | 1809 | set-function-name@2.0.2: 1810 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 1811 | engines: {node: '>= 0.4'} 1812 | 1813 | set-proto@1.0.0: 1814 | resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} 1815 | engines: {node: '>= 0.4'} 1816 | 1817 | sharp@0.33.5: 1818 | resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} 1819 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1820 | 1821 | shebang-command@2.0.0: 1822 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1823 | engines: {node: '>=8'} 1824 | 1825 | shebang-regex@3.0.0: 1826 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1827 | engines: {node: '>=8'} 1828 | 1829 | side-channel-list@1.0.0: 1830 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 1831 | engines: {node: '>= 0.4'} 1832 | 1833 | side-channel-map@1.0.1: 1834 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 1835 | engines: {node: '>= 0.4'} 1836 | 1837 | side-channel-weakmap@1.0.2: 1838 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 1839 | engines: {node: '>= 0.4'} 1840 | 1841 | side-channel@1.1.0: 1842 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 1843 | engines: {node: '>= 0.4'} 1844 | 1845 | signal-exit@4.1.0: 1846 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1847 | engines: {node: '>=14'} 1848 | 1849 | simple-swizzle@0.2.2: 1850 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 1851 | 1852 | source-map-js@1.2.1: 1853 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1854 | engines: {node: '>=0.10.0'} 1855 | 1856 | stable-hash@0.0.4: 1857 | resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} 1858 | 1859 | standard-as-callback@2.1.0: 1860 | resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} 1861 | 1862 | streamsearch@1.1.0: 1863 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 1864 | engines: {node: '>=10.0.0'} 1865 | 1866 | string-width@4.2.3: 1867 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1868 | engines: {node: '>=8'} 1869 | 1870 | string-width@5.1.2: 1871 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1872 | engines: {node: '>=12'} 1873 | 1874 | string.prototype.includes@2.0.1: 1875 | resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} 1876 | engines: {node: '>= 0.4'} 1877 | 1878 | string.prototype.matchall@4.0.12: 1879 | resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} 1880 | engines: {node: '>= 0.4'} 1881 | 1882 | string.prototype.repeat@1.0.0: 1883 | resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} 1884 | 1885 | string.prototype.trim@1.2.10: 1886 | resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} 1887 | engines: {node: '>= 0.4'} 1888 | 1889 | string.prototype.trimend@1.0.9: 1890 | resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} 1891 | engines: {node: '>= 0.4'} 1892 | 1893 | string.prototype.trimstart@1.0.8: 1894 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 1895 | engines: {node: '>= 0.4'} 1896 | 1897 | strip-ansi@6.0.1: 1898 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1899 | engines: {node: '>=8'} 1900 | 1901 | strip-ansi@7.1.0: 1902 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1903 | engines: {node: '>=12'} 1904 | 1905 | strip-bom@3.0.0: 1906 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1907 | engines: {node: '>=4'} 1908 | 1909 | strip-json-comments@3.1.1: 1910 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1911 | engines: {node: '>=8'} 1912 | 1913 | styled-jsx@5.1.6: 1914 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} 1915 | engines: {node: '>= 12.0.0'} 1916 | peerDependencies: 1917 | '@babel/core': '*' 1918 | babel-plugin-macros: '*' 1919 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' 1920 | peerDependenciesMeta: 1921 | '@babel/core': 1922 | optional: true 1923 | babel-plugin-macros: 1924 | optional: true 1925 | 1926 | sucrase@3.35.0: 1927 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1928 | engines: {node: '>=16 || 14 >=14.17'} 1929 | hasBin: true 1930 | 1931 | supports-color@7.2.0: 1932 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1933 | engines: {node: '>=8'} 1934 | 1935 | supports-preserve-symlinks-flag@1.0.0: 1936 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1937 | engines: {node: '>= 0.4'} 1938 | 1939 | tailwind-merge@3.0.2: 1940 | resolution: {integrity: sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==} 1941 | 1942 | tailwindcss-animate@1.0.7: 1943 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} 1944 | peerDependencies: 1945 | tailwindcss: '>=3.0.0 || insiders' 1946 | 1947 | tailwindcss@3.4.17: 1948 | resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} 1949 | engines: {node: '>=14.0.0'} 1950 | hasBin: true 1951 | 1952 | tapable@2.2.1: 1953 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 1954 | engines: {node: '>=6'} 1955 | 1956 | thenify-all@1.6.0: 1957 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1958 | engines: {node: '>=0.8'} 1959 | 1960 | thenify@3.3.1: 1961 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1962 | 1963 | tinyglobby@0.2.12: 1964 | resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} 1965 | engines: {node: '>=12.0.0'} 1966 | 1967 | to-regex-range@5.0.1: 1968 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1969 | engines: {node: '>=8.0'} 1970 | 1971 | ts-api-utils@2.0.1: 1972 | resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} 1973 | engines: {node: '>=18.12'} 1974 | peerDependencies: 1975 | typescript: '>=4.8.4' 1976 | 1977 | ts-interface-checker@0.1.13: 1978 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1979 | 1980 | tsconfig-paths@3.15.0: 1981 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 1982 | 1983 | tslib@2.8.1: 1984 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1985 | 1986 | twilio@5.4.5: 1987 | resolution: {integrity: sha512-PIteif0CBOrA42SWZiT8IwUuqTNakAFgvXYWsrjEPGaDSczu/GvBs3vUock4S+UguXj7cV4qBswWgXs5ySjGNg==} 1988 | engines: {node: '>=14.0'} 1989 | 1990 | type-check@0.4.0: 1991 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1992 | engines: {node: '>= 0.8.0'} 1993 | 1994 | typed-array-buffer@1.0.3: 1995 | resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} 1996 | engines: {node: '>= 0.4'} 1997 | 1998 | typed-array-byte-length@1.0.3: 1999 | resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} 2000 | engines: {node: '>= 0.4'} 2001 | 2002 | typed-array-byte-offset@1.0.4: 2003 | resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} 2004 | engines: {node: '>= 0.4'} 2005 | 2006 | typed-array-length@1.0.7: 2007 | resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} 2008 | engines: {node: '>= 0.4'} 2009 | 2010 | typescript@5.7.3: 2011 | resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} 2012 | engines: {node: '>=14.17'} 2013 | hasBin: true 2014 | 2015 | unbox-primitive@1.1.0: 2016 | resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} 2017 | engines: {node: '>= 0.4'} 2018 | 2019 | undici-types@6.19.8: 2020 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 2021 | 2022 | uri-js@4.4.1: 2023 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2024 | 2025 | util-deprecate@1.0.2: 2026 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2027 | 2028 | which-boxed-primitive@1.1.1: 2029 | resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} 2030 | engines: {node: '>= 0.4'} 2031 | 2032 | which-builtin-type@1.2.1: 2033 | resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} 2034 | engines: {node: '>= 0.4'} 2035 | 2036 | which-collection@1.0.2: 2037 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 2038 | engines: {node: '>= 0.4'} 2039 | 2040 | which-typed-array@1.1.18: 2041 | resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} 2042 | engines: {node: '>= 0.4'} 2043 | 2044 | which@2.0.2: 2045 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2046 | engines: {node: '>= 8'} 2047 | hasBin: true 2048 | 2049 | word-wrap@1.2.5: 2050 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 2051 | engines: {node: '>=0.10.0'} 2052 | 2053 | wrap-ansi@7.0.0: 2054 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2055 | engines: {node: '>=10'} 2056 | 2057 | wrap-ansi@8.1.0: 2058 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2059 | engines: {node: '>=12'} 2060 | 2061 | xmlbuilder@13.0.2: 2062 | resolution: {integrity: sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==} 2063 | engines: {node: '>=6.0'} 2064 | 2065 | yaml@2.7.0: 2066 | resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} 2067 | engines: {node: '>= 14'} 2068 | hasBin: true 2069 | 2070 | yocto-queue@0.1.0: 2071 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2072 | engines: {node: '>=10'} 2073 | 2074 | zod@3.24.2: 2075 | resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} 2076 | 2077 | snapshots: 2078 | 2079 | '@alloc/quick-lru@5.2.0': {} 2080 | 2081 | '@emnapi/runtime@1.3.1': 2082 | dependencies: 2083 | tslib: 2.8.1 2084 | optional: true 2085 | 2086 | '@eslint-community/eslint-utils@4.4.1(eslint@9.21.0(jiti@1.21.7))': 2087 | dependencies: 2088 | eslint: 9.21.0(jiti@1.21.7) 2089 | eslint-visitor-keys: 3.4.3 2090 | 2091 | '@eslint-community/regexpp@4.12.1': {} 2092 | 2093 | '@eslint/config-array@0.19.2': 2094 | dependencies: 2095 | '@eslint/object-schema': 2.1.6 2096 | debug: 4.4.0 2097 | minimatch: 3.1.2 2098 | transitivePeerDependencies: 2099 | - supports-color 2100 | 2101 | '@eslint/core@0.12.0': 2102 | dependencies: 2103 | '@types/json-schema': 7.0.15 2104 | 2105 | '@eslint/eslintrc@3.3.0': 2106 | dependencies: 2107 | ajv: 6.12.6 2108 | debug: 4.4.0 2109 | espree: 10.3.0 2110 | globals: 14.0.0 2111 | ignore: 5.3.2 2112 | import-fresh: 3.3.1 2113 | js-yaml: 4.1.0 2114 | minimatch: 3.1.2 2115 | strip-json-comments: 3.1.1 2116 | transitivePeerDependencies: 2117 | - supports-color 2118 | 2119 | '@eslint/js@9.21.0': {} 2120 | 2121 | '@eslint/object-schema@2.1.6': {} 2122 | 2123 | '@eslint/plugin-kit@0.2.7': 2124 | dependencies: 2125 | '@eslint/core': 0.12.0 2126 | levn: 0.4.1 2127 | 2128 | '@hookform/resolvers@4.1.1(react-hook-form@7.54.2(react@19.0.0))': 2129 | dependencies: 2130 | caniuse-lite: 1.0.30001700 2131 | react-hook-form: 7.54.2(react@19.0.0) 2132 | 2133 | '@humanfs/core@0.19.1': {} 2134 | 2135 | '@humanfs/node@0.16.6': 2136 | dependencies: 2137 | '@humanfs/core': 0.19.1 2138 | '@humanwhocodes/retry': 0.3.1 2139 | 2140 | '@humanwhocodes/module-importer@1.0.1': {} 2141 | 2142 | '@humanwhocodes/retry@0.3.1': {} 2143 | 2144 | '@humanwhocodes/retry@0.4.2': {} 2145 | 2146 | '@img/sharp-darwin-arm64@0.33.5': 2147 | optionalDependencies: 2148 | '@img/sharp-libvips-darwin-arm64': 1.0.4 2149 | optional: true 2150 | 2151 | '@img/sharp-darwin-x64@0.33.5': 2152 | optionalDependencies: 2153 | '@img/sharp-libvips-darwin-x64': 1.0.4 2154 | optional: true 2155 | 2156 | '@img/sharp-libvips-darwin-arm64@1.0.4': 2157 | optional: true 2158 | 2159 | '@img/sharp-libvips-darwin-x64@1.0.4': 2160 | optional: true 2161 | 2162 | '@img/sharp-libvips-linux-arm64@1.0.4': 2163 | optional: true 2164 | 2165 | '@img/sharp-libvips-linux-arm@1.0.5': 2166 | optional: true 2167 | 2168 | '@img/sharp-libvips-linux-s390x@1.0.4': 2169 | optional: true 2170 | 2171 | '@img/sharp-libvips-linux-x64@1.0.4': 2172 | optional: true 2173 | 2174 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 2175 | optional: true 2176 | 2177 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 2178 | optional: true 2179 | 2180 | '@img/sharp-linux-arm64@0.33.5': 2181 | optionalDependencies: 2182 | '@img/sharp-libvips-linux-arm64': 1.0.4 2183 | optional: true 2184 | 2185 | '@img/sharp-linux-arm@0.33.5': 2186 | optionalDependencies: 2187 | '@img/sharp-libvips-linux-arm': 1.0.5 2188 | optional: true 2189 | 2190 | '@img/sharp-linux-s390x@0.33.5': 2191 | optionalDependencies: 2192 | '@img/sharp-libvips-linux-s390x': 1.0.4 2193 | optional: true 2194 | 2195 | '@img/sharp-linux-x64@0.33.5': 2196 | optionalDependencies: 2197 | '@img/sharp-libvips-linux-x64': 1.0.4 2198 | optional: true 2199 | 2200 | '@img/sharp-linuxmusl-arm64@0.33.5': 2201 | optionalDependencies: 2202 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 2203 | optional: true 2204 | 2205 | '@img/sharp-linuxmusl-x64@0.33.5': 2206 | optionalDependencies: 2207 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 2208 | optional: true 2209 | 2210 | '@img/sharp-wasm32@0.33.5': 2211 | dependencies: 2212 | '@emnapi/runtime': 1.3.1 2213 | optional: true 2214 | 2215 | '@img/sharp-win32-ia32@0.33.5': 2216 | optional: true 2217 | 2218 | '@img/sharp-win32-x64@0.33.5': 2219 | optional: true 2220 | 2221 | '@ioredis/commands@1.2.0': {} 2222 | 2223 | '@isaacs/cliui@8.0.2': 2224 | dependencies: 2225 | string-width: 5.1.2 2226 | string-width-cjs: string-width@4.2.3 2227 | strip-ansi: 7.1.0 2228 | strip-ansi-cjs: strip-ansi@6.0.1 2229 | wrap-ansi: 8.1.0 2230 | wrap-ansi-cjs: wrap-ansi@7.0.0 2231 | 2232 | '@jridgewell/gen-mapping@0.3.8': 2233 | dependencies: 2234 | '@jridgewell/set-array': 1.2.1 2235 | '@jridgewell/sourcemap-codec': 1.5.0 2236 | '@jridgewell/trace-mapping': 0.3.25 2237 | 2238 | '@jridgewell/resolve-uri@3.1.2': {} 2239 | 2240 | '@jridgewell/set-array@1.2.1': {} 2241 | 2242 | '@jridgewell/sourcemap-codec@1.5.0': {} 2243 | 2244 | '@jridgewell/trace-mapping@0.3.25': 2245 | dependencies: 2246 | '@jridgewell/resolve-uri': 3.1.2 2247 | '@jridgewell/sourcemap-codec': 1.5.0 2248 | 2249 | '@next/env@15.1.7': {} 2250 | 2251 | '@next/eslint-plugin-next@15.1.7': 2252 | dependencies: 2253 | fast-glob: 3.3.1 2254 | 2255 | '@next/swc-darwin-arm64@15.1.7': 2256 | optional: true 2257 | 2258 | '@next/swc-darwin-x64@15.1.7': 2259 | optional: true 2260 | 2261 | '@next/swc-linux-arm64-gnu@15.1.7': 2262 | optional: true 2263 | 2264 | '@next/swc-linux-arm64-musl@15.1.7': 2265 | optional: true 2266 | 2267 | '@next/swc-linux-x64-gnu@15.1.7': 2268 | optional: true 2269 | 2270 | '@next/swc-linux-x64-musl@15.1.7': 2271 | optional: true 2272 | 2273 | '@next/swc-win32-arm64-msvc@15.1.7': 2274 | optional: true 2275 | 2276 | '@next/swc-win32-x64-msvc@15.1.7': 2277 | optional: true 2278 | 2279 | '@nodelib/fs.scandir@2.1.5': 2280 | dependencies: 2281 | '@nodelib/fs.stat': 2.0.5 2282 | run-parallel: 1.2.0 2283 | 2284 | '@nodelib/fs.stat@2.0.5': {} 2285 | 2286 | '@nodelib/fs.walk@1.2.8': 2287 | dependencies: 2288 | '@nodelib/fs.scandir': 2.1.5 2289 | fastq: 1.19.0 2290 | 2291 | '@nolyfill/is-core-module@1.0.39': {} 2292 | 2293 | '@pkgjs/parseargs@0.11.0': 2294 | optional: true 2295 | 2296 | '@radix-ui/primitive@1.1.1': {} 2297 | 2298 | '@radix-ui/react-collection@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 2299 | dependencies: 2300 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0) 2301 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0) 2302 | '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 2303 | '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0) 2304 | react: 19.0.0 2305 | react-dom: 19.0.0(react@19.0.0) 2306 | optionalDependencies: 2307 | '@types/react': 19.0.10 2308 | '@types/react-dom': 19.0.4(@types/react@19.0.10) 2309 | 2310 | '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.10)(react@19.0.0)': 2311 | dependencies: 2312 | react: 19.0.0 2313 | optionalDependencies: 2314 | '@types/react': 19.0.10 2315 | 2316 | '@radix-ui/react-context@1.1.1(@types/react@19.0.10)(react@19.0.0)': 2317 | dependencies: 2318 | react: 19.0.0 2319 | optionalDependencies: 2320 | '@types/react': 19.0.10 2321 | 2322 | '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 2323 | dependencies: 2324 | '@radix-ui/primitive': 1.1.1 2325 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0) 2326 | '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 2327 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0) 2328 | '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.10)(react@19.0.0) 2329 | react: 19.0.0 2330 | react-dom: 19.0.0(react@19.0.0) 2331 | optionalDependencies: 2332 | '@types/react': 19.0.10 2333 | '@types/react-dom': 19.0.4(@types/react@19.0.10) 2334 | 2335 | '@radix-ui/react-label@2.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 2336 | dependencies: 2337 | '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 2338 | react: 19.0.0 2339 | react-dom: 19.0.0(react@19.0.0) 2340 | optionalDependencies: 2341 | '@types/react': 19.0.10 2342 | '@types/react-dom': 19.0.4(@types/react@19.0.10) 2343 | 2344 | '@radix-ui/react-portal@1.1.4(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 2345 | dependencies: 2346 | '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 2347 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0) 2348 | react: 19.0.0 2349 | react-dom: 19.0.0(react@19.0.0) 2350 | optionalDependencies: 2351 | '@types/react': 19.0.10 2352 | '@types/react-dom': 19.0.4(@types/react@19.0.10) 2353 | 2354 | '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 2355 | dependencies: 2356 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0) 2357 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0) 2358 | react: 19.0.0 2359 | react-dom: 19.0.0(react@19.0.0) 2360 | optionalDependencies: 2361 | '@types/react': 19.0.10 2362 | '@types/react-dom': 19.0.4(@types/react@19.0.10) 2363 | 2364 | '@radix-ui/react-primitive@2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 2365 | dependencies: 2366 | '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0) 2367 | react: 19.0.0 2368 | react-dom: 19.0.0(react@19.0.0) 2369 | optionalDependencies: 2370 | '@types/react': 19.0.10 2371 | '@types/react-dom': 19.0.4(@types/react@19.0.10) 2372 | 2373 | '@radix-ui/react-slot@1.1.2(@types/react@19.0.10)(react@19.0.0)': 2374 | dependencies: 2375 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0) 2376 | react: 19.0.0 2377 | optionalDependencies: 2378 | '@types/react': 19.0.10 2379 | 2380 | '@radix-ui/react-toast@1.2.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 2381 | dependencies: 2382 | '@radix-ui/primitive': 1.1.1 2383 | '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 2384 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0) 2385 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0) 2386 | '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 2387 | '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 2388 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 2389 | '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 2390 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0) 2391 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0) 2392 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0) 2393 | '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 2394 | react: 19.0.0 2395 | react-dom: 19.0.0(react@19.0.0) 2396 | optionalDependencies: 2397 | '@types/react': 19.0.10 2398 | '@types/react-dom': 19.0.4(@types/react@19.0.10) 2399 | 2400 | '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.10)(react@19.0.0)': 2401 | dependencies: 2402 | react: 19.0.0 2403 | optionalDependencies: 2404 | '@types/react': 19.0.10 2405 | 2406 | '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.10)(react@19.0.0)': 2407 | dependencies: 2408 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0) 2409 | react: 19.0.0 2410 | optionalDependencies: 2411 | '@types/react': 19.0.10 2412 | 2413 | '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.10)(react@19.0.0)': 2414 | dependencies: 2415 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0) 2416 | react: 19.0.0 2417 | optionalDependencies: 2418 | '@types/react': 19.0.10 2419 | 2420 | '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.10)(react@19.0.0)': 2421 | dependencies: 2422 | react: 19.0.0 2423 | optionalDependencies: 2424 | '@types/react': 19.0.10 2425 | 2426 | '@radix-ui/react-visually-hidden@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 2427 | dependencies: 2428 | '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 2429 | react: 19.0.0 2430 | react-dom: 19.0.0(react@19.0.0) 2431 | optionalDependencies: 2432 | '@types/react': 19.0.10 2433 | '@types/react-dom': 19.0.4(@types/react@19.0.10) 2434 | 2435 | '@rtsao/scc@1.1.0': {} 2436 | 2437 | '@rushstack/eslint-patch@1.10.5': {} 2438 | 2439 | '@swc/counter@0.1.3': {} 2440 | 2441 | '@swc/helpers@0.5.15': 2442 | dependencies: 2443 | tslib: 2.8.1 2444 | 2445 | '@types/estree@1.0.6': {} 2446 | 2447 | '@types/json-schema@7.0.15': {} 2448 | 2449 | '@types/json5@0.0.29': {} 2450 | 2451 | '@types/node@20.17.19': 2452 | dependencies: 2453 | undici-types: 6.19.8 2454 | 2455 | '@types/react-dom@19.0.4(@types/react@19.0.10)': 2456 | dependencies: 2457 | '@types/react': 19.0.10 2458 | 2459 | '@types/react@19.0.10': 2460 | dependencies: 2461 | csstype: 3.1.3 2462 | 2463 | '@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': 2464 | dependencies: 2465 | '@eslint-community/regexpp': 4.12.1 2466 | '@typescript-eslint/parser': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) 2467 | '@typescript-eslint/scope-manager': 8.24.1 2468 | '@typescript-eslint/type-utils': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) 2469 | '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) 2470 | '@typescript-eslint/visitor-keys': 8.24.1 2471 | eslint: 9.21.0(jiti@1.21.7) 2472 | graphemer: 1.4.0 2473 | ignore: 5.3.2 2474 | natural-compare: 1.4.0 2475 | ts-api-utils: 2.0.1(typescript@5.7.3) 2476 | typescript: 5.7.3 2477 | transitivePeerDependencies: 2478 | - supports-color 2479 | 2480 | '@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': 2481 | dependencies: 2482 | '@typescript-eslint/scope-manager': 8.24.1 2483 | '@typescript-eslint/types': 8.24.1 2484 | '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) 2485 | '@typescript-eslint/visitor-keys': 8.24.1 2486 | debug: 4.4.0 2487 | eslint: 9.21.0(jiti@1.21.7) 2488 | typescript: 5.7.3 2489 | transitivePeerDependencies: 2490 | - supports-color 2491 | 2492 | '@typescript-eslint/scope-manager@8.24.1': 2493 | dependencies: 2494 | '@typescript-eslint/types': 8.24.1 2495 | '@typescript-eslint/visitor-keys': 8.24.1 2496 | 2497 | '@typescript-eslint/type-utils@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': 2498 | dependencies: 2499 | '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) 2500 | '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) 2501 | debug: 4.4.0 2502 | eslint: 9.21.0(jiti@1.21.7) 2503 | ts-api-utils: 2.0.1(typescript@5.7.3) 2504 | typescript: 5.7.3 2505 | transitivePeerDependencies: 2506 | - supports-color 2507 | 2508 | '@typescript-eslint/types@8.24.1': {} 2509 | 2510 | '@typescript-eslint/typescript-estree@8.24.1(typescript@5.7.3)': 2511 | dependencies: 2512 | '@typescript-eslint/types': 8.24.1 2513 | '@typescript-eslint/visitor-keys': 8.24.1 2514 | debug: 4.4.0 2515 | fast-glob: 3.3.3 2516 | is-glob: 4.0.3 2517 | minimatch: 9.0.5 2518 | semver: 7.7.1 2519 | ts-api-utils: 2.0.1(typescript@5.7.3) 2520 | typescript: 5.7.3 2521 | transitivePeerDependencies: 2522 | - supports-color 2523 | 2524 | '@typescript-eslint/utils@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': 2525 | dependencies: 2526 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@1.21.7)) 2527 | '@typescript-eslint/scope-manager': 8.24.1 2528 | '@typescript-eslint/types': 8.24.1 2529 | '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) 2530 | eslint: 9.21.0(jiti@1.21.7) 2531 | typescript: 5.7.3 2532 | transitivePeerDependencies: 2533 | - supports-color 2534 | 2535 | '@typescript-eslint/visitor-keys@8.24.1': 2536 | dependencies: 2537 | '@typescript-eslint/types': 8.24.1 2538 | eslint-visitor-keys: 4.2.0 2539 | 2540 | acorn-jsx@5.3.2(acorn@8.14.0): 2541 | dependencies: 2542 | acorn: 8.14.0 2543 | 2544 | acorn@8.14.0: {} 2545 | 2546 | agent-base@6.0.2: 2547 | dependencies: 2548 | debug: 4.4.0 2549 | transitivePeerDependencies: 2550 | - supports-color 2551 | 2552 | ajv@6.12.6: 2553 | dependencies: 2554 | fast-deep-equal: 3.1.3 2555 | fast-json-stable-stringify: 2.1.0 2556 | json-schema-traverse: 0.4.1 2557 | uri-js: 4.4.1 2558 | 2559 | ansi-regex@5.0.1: {} 2560 | 2561 | ansi-regex@6.1.0: {} 2562 | 2563 | ansi-styles@4.3.0: 2564 | dependencies: 2565 | color-convert: 2.0.1 2566 | 2567 | ansi-styles@6.2.1: {} 2568 | 2569 | any-promise@1.3.0: {} 2570 | 2571 | anymatch@3.1.3: 2572 | dependencies: 2573 | normalize-path: 3.0.0 2574 | picomatch: 2.3.1 2575 | 2576 | arg@5.0.2: {} 2577 | 2578 | argparse@2.0.1: {} 2579 | 2580 | aria-query@5.3.2: {} 2581 | 2582 | array-buffer-byte-length@1.0.2: 2583 | dependencies: 2584 | call-bound: 1.0.3 2585 | is-array-buffer: 3.0.5 2586 | 2587 | array-includes@3.1.8: 2588 | dependencies: 2589 | call-bind: 1.0.8 2590 | define-properties: 1.2.1 2591 | es-abstract: 1.23.9 2592 | es-object-atoms: 1.1.1 2593 | get-intrinsic: 1.3.0 2594 | is-string: 1.1.1 2595 | 2596 | array.prototype.findlast@1.2.5: 2597 | dependencies: 2598 | call-bind: 1.0.8 2599 | define-properties: 1.2.1 2600 | es-abstract: 1.23.9 2601 | es-errors: 1.3.0 2602 | es-object-atoms: 1.1.1 2603 | es-shim-unscopables: 1.1.0 2604 | 2605 | array.prototype.findlastindex@1.2.5: 2606 | dependencies: 2607 | call-bind: 1.0.8 2608 | define-properties: 1.2.1 2609 | es-abstract: 1.23.9 2610 | es-errors: 1.3.0 2611 | es-object-atoms: 1.1.1 2612 | es-shim-unscopables: 1.1.0 2613 | 2614 | array.prototype.flat@1.3.3: 2615 | dependencies: 2616 | call-bind: 1.0.8 2617 | define-properties: 1.2.1 2618 | es-abstract: 1.23.9 2619 | es-shim-unscopables: 1.1.0 2620 | 2621 | array.prototype.flatmap@1.3.3: 2622 | dependencies: 2623 | call-bind: 1.0.8 2624 | define-properties: 1.2.1 2625 | es-abstract: 1.23.9 2626 | es-shim-unscopables: 1.1.0 2627 | 2628 | array.prototype.tosorted@1.1.4: 2629 | dependencies: 2630 | call-bind: 1.0.8 2631 | define-properties: 1.2.1 2632 | es-abstract: 1.23.9 2633 | es-errors: 1.3.0 2634 | es-shim-unscopables: 1.1.0 2635 | 2636 | arraybuffer.prototype.slice@1.0.4: 2637 | dependencies: 2638 | array-buffer-byte-length: 1.0.2 2639 | call-bind: 1.0.8 2640 | define-properties: 1.2.1 2641 | es-abstract: 1.23.9 2642 | es-errors: 1.3.0 2643 | get-intrinsic: 1.3.0 2644 | is-array-buffer: 3.0.5 2645 | 2646 | ast-types-flow@0.0.8: {} 2647 | 2648 | async-function@1.0.0: {} 2649 | 2650 | asynckit@0.4.0: {} 2651 | 2652 | available-typed-arrays@1.0.7: 2653 | dependencies: 2654 | possible-typed-array-names: 1.1.0 2655 | 2656 | axe-core@4.10.2: {} 2657 | 2658 | axios@1.7.9: 2659 | dependencies: 2660 | follow-redirects: 1.15.9 2661 | form-data: 4.0.2 2662 | proxy-from-env: 1.1.0 2663 | transitivePeerDependencies: 2664 | - debug 2665 | 2666 | axobject-query@4.1.0: {} 2667 | 2668 | balanced-match@1.0.2: {} 2669 | 2670 | binary-extensions@2.3.0: {} 2671 | 2672 | brace-expansion@1.1.11: 2673 | dependencies: 2674 | balanced-match: 1.0.2 2675 | concat-map: 0.0.1 2676 | 2677 | brace-expansion@2.0.1: 2678 | dependencies: 2679 | balanced-match: 1.0.2 2680 | 2681 | braces@3.0.3: 2682 | dependencies: 2683 | fill-range: 7.1.1 2684 | 2685 | buffer-equal-constant-time@1.0.1: {} 2686 | 2687 | busboy@1.6.0: 2688 | dependencies: 2689 | streamsearch: 1.1.0 2690 | 2691 | call-bind-apply-helpers@1.0.2: 2692 | dependencies: 2693 | es-errors: 1.3.0 2694 | function-bind: 1.1.2 2695 | 2696 | call-bind@1.0.8: 2697 | dependencies: 2698 | call-bind-apply-helpers: 1.0.2 2699 | es-define-property: 1.0.1 2700 | get-intrinsic: 1.3.0 2701 | set-function-length: 1.2.2 2702 | 2703 | call-bound@1.0.3: 2704 | dependencies: 2705 | call-bind-apply-helpers: 1.0.2 2706 | get-intrinsic: 1.3.0 2707 | 2708 | callsites@3.1.0: {} 2709 | 2710 | camelcase-css@2.0.1: {} 2711 | 2712 | caniuse-lite@1.0.30001700: {} 2713 | 2714 | chalk@4.1.2: 2715 | dependencies: 2716 | ansi-styles: 4.3.0 2717 | supports-color: 7.2.0 2718 | 2719 | chokidar@3.6.0: 2720 | dependencies: 2721 | anymatch: 3.1.3 2722 | braces: 3.0.3 2723 | glob-parent: 5.1.2 2724 | is-binary-path: 2.1.0 2725 | is-glob: 4.0.3 2726 | normalize-path: 3.0.0 2727 | readdirp: 3.6.0 2728 | optionalDependencies: 2729 | fsevents: 2.3.3 2730 | 2731 | class-variance-authority@0.7.1: 2732 | dependencies: 2733 | clsx: 2.1.1 2734 | 2735 | client-only@0.0.1: {} 2736 | 2737 | clsx@2.1.1: {} 2738 | 2739 | cluster-key-slot@1.1.2: {} 2740 | 2741 | color-convert@2.0.1: 2742 | dependencies: 2743 | color-name: 1.1.4 2744 | 2745 | color-name@1.1.4: {} 2746 | 2747 | color-string@1.9.1: 2748 | dependencies: 2749 | color-name: 1.1.4 2750 | simple-swizzle: 0.2.2 2751 | optional: true 2752 | 2753 | color@4.2.3: 2754 | dependencies: 2755 | color-convert: 2.0.1 2756 | color-string: 1.9.1 2757 | optional: true 2758 | 2759 | combined-stream@1.0.8: 2760 | dependencies: 2761 | delayed-stream: 1.0.0 2762 | 2763 | commander@4.1.1: {} 2764 | 2765 | concat-map@0.0.1: {} 2766 | 2767 | cross-spawn@7.0.6: 2768 | dependencies: 2769 | path-key: 3.1.1 2770 | shebang-command: 2.0.0 2771 | which: 2.0.2 2772 | 2773 | cssesc@3.0.0: {} 2774 | 2775 | csstype@3.1.3: {} 2776 | 2777 | damerau-levenshtein@1.0.8: {} 2778 | 2779 | data-view-buffer@1.0.2: 2780 | dependencies: 2781 | call-bound: 1.0.3 2782 | es-errors: 1.3.0 2783 | is-data-view: 1.0.2 2784 | 2785 | data-view-byte-length@1.0.2: 2786 | dependencies: 2787 | call-bound: 1.0.3 2788 | es-errors: 1.3.0 2789 | is-data-view: 1.0.2 2790 | 2791 | data-view-byte-offset@1.0.1: 2792 | dependencies: 2793 | call-bound: 1.0.3 2794 | es-errors: 1.3.0 2795 | is-data-view: 1.0.2 2796 | 2797 | date-fns@4.1.0: {} 2798 | 2799 | dayjs@1.11.13: {} 2800 | 2801 | debug@3.2.7: 2802 | dependencies: 2803 | ms: 2.1.3 2804 | 2805 | debug@4.4.0: 2806 | dependencies: 2807 | ms: 2.1.3 2808 | 2809 | deep-is@0.1.4: {} 2810 | 2811 | define-data-property@1.1.4: 2812 | dependencies: 2813 | es-define-property: 1.0.1 2814 | es-errors: 1.3.0 2815 | gopd: 1.2.0 2816 | 2817 | define-properties@1.2.1: 2818 | dependencies: 2819 | define-data-property: 1.1.4 2820 | has-property-descriptors: 1.0.2 2821 | object-keys: 1.1.1 2822 | 2823 | delayed-stream@1.0.0: {} 2824 | 2825 | denque@2.1.0: {} 2826 | 2827 | detect-libc@2.0.3: 2828 | optional: true 2829 | 2830 | didyoumean@1.2.2: {} 2831 | 2832 | dlv@1.1.3: {} 2833 | 2834 | doctrine@2.1.0: 2835 | dependencies: 2836 | esutils: 2.0.3 2837 | 2838 | dunder-proto@1.0.1: 2839 | dependencies: 2840 | call-bind-apply-helpers: 1.0.2 2841 | es-errors: 1.3.0 2842 | gopd: 1.2.0 2843 | 2844 | eastasianwidth@0.2.0: {} 2845 | 2846 | ecdsa-sig-formatter@1.0.11: 2847 | dependencies: 2848 | safe-buffer: 5.2.1 2849 | 2850 | emoji-regex@8.0.0: {} 2851 | 2852 | emoji-regex@9.2.2: {} 2853 | 2854 | enhanced-resolve@5.18.1: 2855 | dependencies: 2856 | graceful-fs: 4.2.11 2857 | tapable: 2.2.1 2858 | 2859 | es-abstract@1.23.9: 2860 | dependencies: 2861 | array-buffer-byte-length: 1.0.2 2862 | arraybuffer.prototype.slice: 1.0.4 2863 | available-typed-arrays: 1.0.7 2864 | call-bind: 1.0.8 2865 | call-bound: 1.0.3 2866 | data-view-buffer: 1.0.2 2867 | data-view-byte-length: 1.0.2 2868 | data-view-byte-offset: 1.0.1 2869 | es-define-property: 1.0.1 2870 | es-errors: 1.3.0 2871 | es-object-atoms: 1.1.1 2872 | es-set-tostringtag: 2.1.0 2873 | es-to-primitive: 1.3.0 2874 | function.prototype.name: 1.1.8 2875 | get-intrinsic: 1.3.0 2876 | get-proto: 1.0.1 2877 | get-symbol-description: 1.1.0 2878 | globalthis: 1.0.4 2879 | gopd: 1.2.0 2880 | has-property-descriptors: 1.0.2 2881 | has-proto: 1.2.0 2882 | has-symbols: 1.1.0 2883 | hasown: 2.0.2 2884 | internal-slot: 1.1.0 2885 | is-array-buffer: 3.0.5 2886 | is-callable: 1.2.7 2887 | is-data-view: 1.0.2 2888 | is-regex: 1.2.1 2889 | is-shared-array-buffer: 1.0.4 2890 | is-string: 1.1.1 2891 | is-typed-array: 1.1.15 2892 | is-weakref: 1.1.1 2893 | math-intrinsics: 1.1.0 2894 | object-inspect: 1.13.4 2895 | object-keys: 1.1.1 2896 | object.assign: 4.1.7 2897 | own-keys: 1.0.1 2898 | regexp.prototype.flags: 1.5.4 2899 | safe-array-concat: 1.1.3 2900 | safe-push-apply: 1.0.0 2901 | safe-regex-test: 1.1.0 2902 | set-proto: 1.0.0 2903 | string.prototype.trim: 1.2.10 2904 | string.prototype.trimend: 1.0.9 2905 | string.prototype.trimstart: 1.0.8 2906 | typed-array-buffer: 1.0.3 2907 | typed-array-byte-length: 1.0.3 2908 | typed-array-byte-offset: 1.0.4 2909 | typed-array-length: 1.0.7 2910 | unbox-primitive: 1.1.0 2911 | which-typed-array: 1.1.18 2912 | 2913 | es-define-property@1.0.1: {} 2914 | 2915 | es-errors@1.3.0: {} 2916 | 2917 | es-iterator-helpers@1.2.1: 2918 | dependencies: 2919 | call-bind: 1.0.8 2920 | call-bound: 1.0.3 2921 | define-properties: 1.2.1 2922 | es-abstract: 1.23.9 2923 | es-errors: 1.3.0 2924 | es-set-tostringtag: 2.1.0 2925 | function-bind: 1.1.2 2926 | get-intrinsic: 1.3.0 2927 | globalthis: 1.0.4 2928 | gopd: 1.2.0 2929 | has-property-descriptors: 1.0.2 2930 | has-proto: 1.2.0 2931 | has-symbols: 1.1.0 2932 | internal-slot: 1.1.0 2933 | iterator.prototype: 1.1.5 2934 | safe-array-concat: 1.1.3 2935 | 2936 | es-object-atoms@1.1.1: 2937 | dependencies: 2938 | es-errors: 1.3.0 2939 | 2940 | es-set-tostringtag@2.1.0: 2941 | dependencies: 2942 | es-errors: 1.3.0 2943 | get-intrinsic: 1.3.0 2944 | has-tostringtag: 1.0.2 2945 | hasown: 2.0.2 2946 | 2947 | es-shim-unscopables@1.1.0: 2948 | dependencies: 2949 | hasown: 2.0.2 2950 | 2951 | es-to-primitive@1.3.0: 2952 | dependencies: 2953 | is-callable: 1.2.7 2954 | is-date-object: 1.1.0 2955 | is-symbol: 1.1.1 2956 | 2957 | escape-string-regexp@4.0.0: {} 2958 | 2959 | eslint-config-next@15.1.7(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3): 2960 | dependencies: 2961 | '@next/eslint-plugin-next': 15.1.7 2962 | '@rushstack/eslint-patch': 1.10.5 2963 | '@typescript-eslint/eslint-plugin': 8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) 2964 | '@typescript-eslint/parser': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) 2965 | eslint: 9.21.0(jiti@1.21.7) 2966 | eslint-import-resolver-node: 0.3.9 2967 | eslint-import-resolver-typescript: 3.8.3(eslint-plugin-import@2.31.0)(eslint@9.21.0(jiti@1.21.7)) 2968 | eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@1.21.7)) 2969 | eslint-plugin-jsx-a11y: 6.10.2(eslint@9.21.0(jiti@1.21.7)) 2970 | eslint-plugin-react: 7.37.4(eslint@9.21.0(jiti@1.21.7)) 2971 | eslint-plugin-react-hooks: 5.1.0(eslint@9.21.0(jiti@1.21.7)) 2972 | optionalDependencies: 2973 | typescript: 5.7.3 2974 | transitivePeerDependencies: 2975 | - eslint-import-resolver-webpack 2976 | - eslint-plugin-import-x 2977 | - supports-color 2978 | 2979 | eslint-import-resolver-node@0.3.9: 2980 | dependencies: 2981 | debug: 3.2.7 2982 | is-core-module: 2.16.1 2983 | resolve: 1.22.10 2984 | transitivePeerDependencies: 2985 | - supports-color 2986 | 2987 | eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.31.0)(eslint@9.21.0(jiti@1.21.7)): 2988 | dependencies: 2989 | '@nolyfill/is-core-module': 1.0.39 2990 | debug: 4.4.0 2991 | enhanced-resolve: 5.18.1 2992 | eslint: 9.21.0(jiti@1.21.7) 2993 | get-tsconfig: 4.10.0 2994 | is-bun-module: 1.3.0 2995 | stable-hash: 0.0.4 2996 | tinyglobby: 0.2.12 2997 | optionalDependencies: 2998 | eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@1.21.7)) 2999 | transitivePeerDependencies: 3000 | - supports-color 3001 | 3002 | eslint-module-utils@2.12.0(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.31.0)(eslint@9.21.0(jiti@1.21.7)))(eslint@9.21.0(jiti@1.21.7)): 3003 | dependencies: 3004 | debug: 3.2.7 3005 | optionalDependencies: 3006 | '@typescript-eslint/parser': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) 3007 | eslint: 9.21.0(jiti@1.21.7) 3008 | eslint-import-resolver-node: 0.3.9 3009 | eslint-import-resolver-typescript: 3.8.3(eslint-plugin-import@2.31.0)(eslint@9.21.0(jiti@1.21.7)) 3010 | transitivePeerDependencies: 3011 | - supports-color 3012 | 3013 | eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@1.21.7)): 3014 | dependencies: 3015 | '@rtsao/scc': 1.1.0 3016 | array-includes: 3.1.8 3017 | array.prototype.findlastindex: 1.2.5 3018 | array.prototype.flat: 1.3.3 3019 | array.prototype.flatmap: 1.3.3 3020 | debug: 3.2.7 3021 | doctrine: 2.1.0 3022 | eslint: 9.21.0(jiti@1.21.7) 3023 | eslint-import-resolver-node: 0.3.9 3024 | eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.31.0)(eslint@9.21.0(jiti@1.21.7)))(eslint@9.21.0(jiti@1.21.7)) 3025 | hasown: 2.0.2 3026 | is-core-module: 2.16.1 3027 | is-glob: 4.0.3 3028 | minimatch: 3.1.2 3029 | object.fromentries: 2.0.8 3030 | object.groupby: 1.0.3 3031 | object.values: 1.2.1 3032 | semver: 6.3.1 3033 | string.prototype.trimend: 1.0.9 3034 | tsconfig-paths: 3.15.0 3035 | optionalDependencies: 3036 | '@typescript-eslint/parser': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) 3037 | transitivePeerDependencies: 3038 | - eslint-import-resolver-typescript 3039 | - eslint-import-resolver-webpack 3040 | - supports-color 3041 | 3042 | eslint-plugin-jsx-a11y@6.10.2(eslint@9.21.0(jiti@1.21.7)): 3043 | dependencies: 3044 | aria-query: 5.3.2 3045 | array-includes: 3.1.8 3046 | array.prototype.flatmap: 1.3.3 3047 | ast-types-flow: 0.0.8 3048 | axe-core: 4.10.2 3049 | axobject-query: 4.1.0 3050 | damerau-levenshtein: 1.0.8 3051 | emoji-regex: 9.2.2 3052 | eslint: 9.21.0(jiti@1.21.7) 3053 | hasown: 2.0.2 3054 | jsx-ast-utils: 3.3.5 3055 | language-tags: 1.0.9 3056 | minimatch: 3.1.2 3057 | object.fromentries: 2.0.8 3058 | safe-regex-test: 1.1.0 3059 | string.prototype.includes: 2.0.1 3060 | 3061 | eslint-plugin-react-hooks@5.1.0(eslint@9.21.0(jiti@1.21.7)): 3062 | dependencies: 3063 | eslint: 9.21.0(jiti@1.21.7) 3064 | 3065 | eslint-plugin-react@7.37.4(eslint@9.21.0(jiti@1.21.7)): 3066 | dependencies: 3067 | array-includes: 3.1.8 3068 | array.prototype.findlast: 1.2.5 3069 | array.prototype.flatmap: 1.3.3 3070 | array.prototype.tosorted: 1.1.4 3071 | doctrine: 2.1.0 3072 | es-iterator-helpers: 1.2.1 3073 | eslint: 9.21.0(jiti@1.21.7) 3074 | estraverse: 5.3.0 3075 | hasown: 2.0.2 3076 | jsx-ast-utils: 3.3.5 3077 | minimatch: 3.1.2 3078 | object.entries: 1.1.8 3079 | object.fromentries: 2.0.8 3080 | object.values: 1.2.1 3081 | prop-types: 15.8.1 3082 | resolve: 2.0.0-next.5 3083 | semver: 6.3.1 3084 | string.prototype.matchall: 4.0.12 3085 | string.prototype.repeat: 1.0.0 3086 | 3087 | eslint-scope@8.2.0: 3088 | dependencies: 3089 | esrecurse: 4.3.0 3090 | estraverse: 5.3.0 3091 | 3092 | eslint-visitor-keys@3.4.3: {} 3093 | 3094 | eslint-visitor-keys@4.2.0: {} 3095 | 3096 | eslint@9.21.0(jiti@1.21.7): 3097 | dependencies: 3098 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@1.21.7)) 3099 | '@eslint-community/regexpp': 4.12.1 3100 | '@eslint/config-array': 0.19.2 3101 | '@eslint/core': 0.12.0 3102 | '@eslint/eslintrc': 3.3.0 3103 | '@eslint/js': 9.21.0 3104 | '@eslint/plugin-kit': 0.2.7 3105 | '@humanfs/node': 0.16.6 3106 | '@humanwhocodes/module-importer': 1.0.1 3107 | '@humanwhocodes/retry': 0.4.2 3108 | '@types/estree': 1.0.6 3109 | '@types/json-schema': 7.0.15 3110 | ajv: 6.12.6 3111 | chalk: 4.1.2 3112 | cross-spawn: 7.0.6 3113 | debug: 4.4.0 3114 | escape-string-regexp: 4.0.0 3115 | eslint-scope: 8.2.0 3116 | eslint-visitor-keys: 4.2.0 3117 | espree: 10.3.0 3118 | esquery: 1.6.0 3119 | esutils: 2.0.3 3120 | fast-deep-equal: 3.1.3 3121 | file-entry-cache: 8.0.0 3122 | find-up: 5.0.0 3123 | glob-parent: 6.0.2 3124 | ignore: 5.3.2 3125 | imurmurhash: 0.1.4 3126 | is-glob: 4.0.3 3127 | json-stable-stringify-without-jsonify: 1.0.1 3128 | lodash.merge: 4.6.2 3129 | minimatch: 3.1.2 3130 | natural-compare: 1.4.0 3131 | optionator: 0.9.4 3132 | optionalDependencies: 3133 | jiti: 1.21.7 3134 | transitivePeerDependencies: 3135 | - supports-color 3136 | 3137 | espree@10.3.0: 3138 | dependencies: 3139 | acorn: 8.14.0 3140 | acorn-jsx: 5.3.2(acorn@8.14.0) 3141 | eslint-visitor-keys: 4.2.0 3142 | 3143 | esquery@1.6.0: 3144 | dependencies: 3145 | estraverse: 5.3.0 3146 | 3147 | esrecurse@4.3.0: 3148 | dependencies: 3149 | estraverse: 5.3.0 3150 | 3151 | estraverse@5.3.0: {} 3152 | 3153 | esutils@2.0.3: {} 3154 | 3155 | fast-deep-equal@3.1.3: {} 3156 | 3157 | fast-glob@3.3.1: 3158 | dependencies: 3159 | '@nodelib/fs.stat': 2.0.5 3160 | '@nodelib/fs.walk': 1.2.8 3161 | glob-parent: 5.1.2 3162 | merge2: 1.4.1 3163 | micromatch: 4.0.8 3164 | 3165 | fast-glob@3.3.3: 3166 | dependencies: 3167 | '@nodelib/fs.stat': 2.0.5 3168 | '@nodelib/fs.walk': 1.2.8 3169 | glob-parent: 5.1.2 3170 | merge2: 1.4.1 3171 | micromatch: 4.0.8 3172 | 3173 | fast-json-stable-stringify@2.1.0: {} 3174 | 3175 | fast-levenshtein@2.0.6: {} 3176 | 3177 | fastq@1.19.0: 3178 | dependencies: 3179 | reusify: 1.0.4 3180 | 3181 | fdir@6.4.3(picomatch@4.0.2): 3182 | optionalDependencies: 3183 | picomatch: 4.0.2 3184 | 3185 | file-entry-cache@8.0.0: 3186 | dependencies: 3187 | flat-cache: 4.0.1 3188 | 3189 | fill-range@7.1.1: 3190 | dependencies: 3191 | to-regex-range: 5.0.1 3192 | 3193 | find-up@5.0.0: 3194 | dependencies: 3195 | locate-path: 6.0.0 3196 | path-exists: 4.0.0 3197 | 3198 | flat-cache@4.0.1: 3199 | dependencies: 3200 | flatted: 3.3.3 3201 | keyv: 4.5.4 3202 | 3203 | flatted@3.3.3: {} 3204 | 3205 | follow-redirects@1.15.9: {} 3206 | 3207 | for-each@0.3.5: 3208 | dependencies: 3209 | is-callable: 1.2.7 3210 | 3211 | foreground-child@3.3.0: 3212 | dependencies: 3213 | cross-spawn: 7.0.6 3214 | signal-exit: 4.1.0 3215 | 3216 | form-data@4.0.2: 3217 | dependencies: 3218 | asynckit: 0.4.0 3219 | combined-stream: 1.0.8 3220 | es-set-tostringtag: 2.1.0 3221 | mime-types: 2.1.35 3222 | 3223 | fsevents@2.3.3: 3224 | optional: true 3225 | 3226 | function-bind@1.1.2: {} 3227 | 3228 | function.prototype.name@1.1.8: 3229 | dependencies: 3230 | call-bind: 1.0.8 3231 | call-bound: 1.0.3 3232 | define-properties: 1.2.1 3233 | functions-have-names: 1.2.3 3234 | hasown: 2.0.2 3235 | is-callable: 1.2.7 3236 | 3237 | functions-have-names@1.2.3: {} 3238 | 3239 | get-intrinsic@1.3.0: 3240 | dependencies: 3241 | call-bind-apply-helpers: 1.0.2 3242 | es-define-property: 1.0.1 3243 | es-errors: 1.3.0 3244 | es-object-atoms: 1.1.1 3245 | function-bind: 1.1.2 3246 | get-proto: 1.0.1 3247 | gopd: 1.2.0 3248 | has-symbols: 1.1.0 3249 | hasown: 2.0.2 3250 | math-intrinsics: 1.1.0 3251 | 3252 | get-proto@1.0.1: 3253 | dependencies: 3254 | dunder-proto: 1.0.1 3255 | es-object-atoms: 1.1.1 3256 | 3257 | get-symbol-description@1.1.0: 3258 | dependencies: 3259 | call-bound: 1.0.3 3260 | es-errors: 1.3.0 3261 | get-intrinsic: 1.3.0 3262 | 3263 | get-tsconfig@4.10.0: 3264 | dependencies: 3265 | resolve-pkg-maps: 1.0.0 3266 | 3267 | glob-parent@5.1.2: 3268 | dependencies: 3269 | is-glob: 4.0.3 3270 | 3271 | glob-parent@6.0.2: 3272 | dependencies: 3273 | is-glob: 4.0.3 3274 | 3275 | glob@10.4.5: 3276 | dependencies: 3277 | foreground-child: 3.3.0 3278 | jackspeak: 3.4.3 3279 | minimatch: 9.0.5 3280 | minipass: 7.1.2 3281 | package-json-from-dist: 1.0.1 3282 | path-scurry: 1.11.1 3283 | 3284 | globals@14.0.0: {} 3285 | 3286 | globalthis@1.0.4: 3287 | dependencies: 3288 | define-properties: 1.2.1 3289 | gopd: 1.2.0 3290 | 3291 | gopd@1.2.0: {} 3292 | 3293 | graceful-fs@4.2.11: {} 3294 | 3295 | graphemer@1.4.0: {} 3296 | 3297 | has-bigints@1.1.0: {} 3298 | 3299 | has-flag@4.0.0: {} 3300 | 3301 | has-property-descriptors@1.0.2: 3302 | dependencies: 3303 | es-define-property: 1.0.1 3304 | 3305 | has-proto@1.2.0: 3306 | dependencies: 3307 | dunder-proto: 1.0.1 3308 | 3309 | has-symbols@1.1.0: {} 3310 | 3311 | has-tostringtag@1.0.2: 3312 | dependencies: 3313 | has-symbols: 1.1.0 3314 | 3315 | hasown@2.0.2: 3316 | dependencies: 3317 | function-bind: 1.1.2 3318 | 3319 | https-proxy-agent@5.0.1: 3320 | dependencies: 3321 | agent-base: 6.0.2 3322 | debug: 4.4.0 3323 | transitivePeerDependencies: 3324 | - supports-color 3325 | 3326 | ignore@5.3.2: {} 3327 | 3328 | import-fresh@3.3.1: 3329 | dependencies: 3330 | parent-module: 1.0.1 3331 | resolve-from: 4.0.0 3332 | 3333 | imurmurhash@0.1.4: {} 3334 | 3335 | internal-slot@1.1.0: 3336 | dependencies: 3337 | es-errors: 1.3.0 3338 | hasown: 2.0.2 3339 | side-channel: 1.1.0 3340 | 3341 | ioredis@5.5.0: 3342 | dependencies: 3343 | '@ioredis/commands': 1.2.0 3344 | cluster-key-slot: 1.1.2 3345 | debug: 4.4.0 3346 | denque: 2.1.0 3347 | lodash.defaults: 4.2.0 3348 | lodash.isarguments: 3.1.0 3349 | redis-errors: 1.2.0 3350 | redis-parser: 3.0.0 3351 | standard-as-callback: 2.1.0 3352 | transitivePeerDependencies: 3353 | - supports-color 3354 | 3355 | is-array-buffer@3.0.5: 3356 | dependencies: 3357 | call-bind: 1.0.8 3358 | call-bound: 1.0.3 3359 | get-intrinsic: 1.3.0 3360 | 3361 | is-arrayish@0.3.2: 3362 | optional: true 3363 | 3364 | is-async-function@2.1.1: 3365 | dependencies: 3366 | async-function: 1.0.0 3367 | call-bound: 1.0.3 3368 | get-proto: 1.0.1 3369 | has-tostringtag: 1.0.2 3370 | safe-regex-test: 1.1.0 3371 | 3372 | is-bigint@1.1.0: 3373 | dependencies: 3374 | has-bigints: 1.1.0 3375 | 3376 | is-binary-path@2.1.0: 3377 | dependencies: 3378 | binary-extensions: 2.3.0 3379 | 3380 | is-boolean-object@1.2.2: 3381 | dependencies: 3382 | call-bound: 1.0.3 3383 | has-tostringtag: 1.0.2 3384 | 3385 | is-bun-module@1.3.0: 3386 | dependencies: 3387 | semver: 7.7.1 3388 | 3389 | is-callable@1.2.7: {} 3390 | 3391 | is-core-module@2.16.1: 3392 | dependencies: 3393 | hasown: 2.0.2 3394 | 3395 | is-data-view@1.0.2: 3396 | dependencies: 3397 | call-bound: 1.0.3 3398 | get-intrinsic: 1.3.0 3399 | is-typed-array: 1.1.15 3400 | 3401 | is-date-object@1.1.0: 3402 | dependencies: 3403 | call-bound: 1.0.3 3404 | has-tostringtag: 1.0.2 3405 | 3406 | is-extglob@2.1.1: {} 3407 | 3408 | is-finalizationregistry@1.1.1: 3409 | dependencies: 3410 | call-bound: 1.0.3 3411 | 3412 | is-fullwidth-code-point@3.0.0: {} 3413 | 3414 | is-generator-function@1.1.0: 3415 | dependencies: 3416 | call-bound: 1.0.3 3417 | get-proto: 1.0.1 3418 | has-tostringtag: 1.0.2 3419 | safe-regex-test: 1.1.0 3420 | 3421 | is-glob@4.0.3: 3422 | dependencies: 3423 | is-extglob: 2.1.1 3424 | 3425 | is-map@2.0.3: {} 3426 | 3427 | is-number-object@1.1.1: 3428 | dependencies: 3429 | call-bound: 1.0.3 3430 | has-tostringtag: 1.0.2 3431 | 3432 | is-number@7.0.0: {} 3433 | 3434 | is-regex@1.2.1: 3435 | dependencies: 3436 | call-bound: 1.0.3 3437 | gopd: 1.2.0 3438 | has-tostringtag: 1.0.2 3439 | hasown: 2.0.2 3440 | 3441 | is-set@2.0.3: {} 3442 | 3443 | is-shared-array-buffer@1.0.4: 3444 | dependencies: 3445 | call-bound: 1.0.3 3446 | 3447 | is-string@1.1.1: 3448 | dependencies: 3449 | call-bound: 1.0.3 3450 | has-tostringtag: 1.0.2 3451 | 3452 | is-symbol@1.1.1: 3453 | dependencies: 3454 | call-bound: 1.0.3 3455 | has-symbols: 1.1.0 3456 | safe-regex-test: 1.1.0 3457 | 3458 | is-typed-array@1.1.15: 3459 | dependencies: 3460 | which-typed-array: 1.1.18 3461 | 3462 | is-weakmap@2.0.2: {} 3463 | 3464 | is-weakref@1.1.1: 3465 | dependencies: 3466 | call-bound: 1.0.3 3467 | 3468 | is-weakset@2.0.4: 3469 | dependencies: 3470 | call-bound: 1.0.3 3471 | get-intrinsic: 1.3.0 3472 | 3473 | isarray@2.0.5: {} 3474 | 3475 | isexe@2.0.0: {} 3476 | 3477 | iterator.prototype@1.1.5: 3478 | dependencies: 3479 | define-data-property: 1.1.4 3480 | es-object-atoms: 1.1.1 3481 | get-intrinsic: 1.3.0 3482 | get-proto: 1.0.1 3483 | has-symbols: 1.1.0 3484 | set-function-name: 2.0.2 3485 | 3486 | jackspeak@3.4.3: 3487 | dependencies: 3488 | '@isaacs/cliui': 8.0.2 3489 | optionalDependencies: 3490 | '@pkgjs/parseargs': 0.11.0 3491 | 3492 | jiti@1.21.7: {} 3493 | 3494 | js-tokens@4.0.0: {} 3495 | 3496 | js-yaml@4.1.0: 3497 | dependencies: 3498 | argparse: 2.0.1 3499 | 3500 | json-buffer@3.0.1: {} 3501 | 3502 | json-schema-traverse@0.4.1: {} 3503 | 3504 | json-stable-stringify-without-jsonify@1.0.1: {} 3505 | 3506 | json5@1.0.2: 3507 | dependencies: 3508 | minimist: 1.2.8 3509 | 3510 | jsonwebtoken@9.0.2: 3511 | dependencies: 3512 | jws: 3.2.2 3513 | lodash.includes: 4.3.0 3514 | lodash.isboolean: 3.0.3 3515 | lodash.isinteger: 4.0.4 3516 | lodash.isnumber: 3.0.3 3517 | lodash.isplainobject: 4.0.6 3518 | lodash.isstring: 4.0.1 3519 | lodash.once: 4.1.1 3520 | ms: 2.1.3 3521 | semver: 7.7.1 3522 | 3523 | jsx-ast-utils@3.3.5: 3524 | dependencies: 3525 | array-includes: 3.1.8 3526 | array.prototype.flat: 1.3.3 3527 | object.assign: 4.1.7 3528 | object.values: 1.2.1 3529 | 3530 | jwa@1.4.1: 3531 | dependencies: 3532 | buffer-equal-constant-time: 1.0.1 3533 | ecdsa-sig-formatter: 1.0.11 3534 | safe-buffer: 5.2.1 3535 | 3536 | jws@3.2.2: 3537 | dependencies: 3538 | jwa: 1.4.1 3539 | safe-buffer: 5.2.1 3540 | 3541 | keyv@4.5.4: 3542 | dependencies: 3543 | json-buffer: 3.0.1 3544 | 3545 | language-subtag-registry@0.3.23: {} 3546 | 3547 | language-tags@1.0.9: 3548 | dependencies: 3549 | language-subtag-registry: 0.3.23 3550 | 3551 | levn@0.4.1: 3552 | dependencies: 3553 | prelude-ls: 1.2.1 3554 | type-check: 0.4.0 3555 | 3556 | lilconfig@3.1.3: {} 3557 | 3558 | lines-and-columns@1.2.4: {} 3559 | 3560 | locate-path@6.0.0: 3561 | dependencies: 3562 | p-locate: 5.0.0 3563 | 3564 | lodash.defaults@4.2.0: {} 3565 | 3566 | lodash.includes@4.3.0: {} 3567 | 3568 | lodash.isarguments@3.1.0: {} 3569 | 3570 | lodash.isboolean@3.0.3: {} 3571 | 3572 | lodash.isinteger@4.0.4: {} 3573 | 3574 | lodash.isnumber@3.0.3: {} 3575 | 3576 | lodash.isplainobject@4.0.6: {} 3577 | 3578 | lodash.isstring@4.0.1: {} 3579 | 3580 | lodash.merge@4.6.2: {} 3581 | 3582 | lodash.once@4.1.1: {} 3583 | 3584 | loose-envify@1.4.0: 3585 | dependencies: 3586 | js-tokens: 4.0.0 3587 | 3588 | lru-cache@10.4.3: {} 3589 | 3590 | lucide-react@0.475.0(react@19.0.0): 3591 | dependencies: 3592 | react: 19.0.0 3593 | 3594 | math-intrinsics@1.1.0: {} 3595 | 3596 | merge2@1.4.1: {} 3597 | 3598 | micromatch@4.0.8: 3599 | dependencies: 3600 | braces: 3.0.3 3601 | picomatch: 2.3.1 3602 | 3603 | mime-db@1.52.0: {} 3604 | 3605 | mime-types@2.1.35: 3606 | dependencies: 3607 | mime-db: 1.52.0 3608 | 3609 | minimatch@3.1.2: 3610 | dependencies: 3611 | brace-expansion: 1.1.11 3612 | 3613 | minimatch@9.0.5: 3614 | dependencies: 3615 | brace-expansion: 2.0.1 3616 | 3617 | minimist@1.2.8: {} 3618 | 3619 | minipass@7.1.2: {} 3620 | 3621 | ms@2.1.3: {} 3622 | 3623 | mz@2.7.0: 3624 | dependencies: 3625 | any-promise: 1.3.0 3626 | object-assign: 4.1.1 3627 | thenify-all: 1.6.0 3628 | 3629 | nanoid@3.3.8: {} 3630 | 3631 | natural-compare@1.4.0: {} 3632 | 3633 | next@15.1.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0): 3634 | dependencies: 3635 | '@next/env': 15.1.7 3636 | '@swc/counter': 0.1.3 3637 | '@swc/helpers': 0.5.15 3638 | busboy: 1.6.0 3639 | caniuse-lite: 1.0.30001700 3640 | postcss: 8.4.31 3641 | react: 19.0.0 3642 | react-dom: 19.0.0(react@19.0.0) 3643 | styled-jsx: 5.1.6(react@19.0.0) 3644 | optionalDependencies: 3645 | '@next/swc-darwin-arm64': 15.1.7 3646 | '@next/swc-darwin-x64': 15.1.7 3647 | '@next/swc-linux-arm64-gnu': 15.1.7 3648 | '@next/swc-linux-arm64-musl': 15.1.7 3649 | '@next/swc-linux-x64-gnu': 15.1.7 3650 | '@next/swc-linux-x64-musl': 15.1.7 3651 | '@next/swc-win32-arm64-msvc': 15.1.7 3652 | '@next/swc-win32-x64-msvc': 15.1.7 3653 | sharp: 0.33.5 3654 | transitivePeerDependencies: 3655 | - '@babel/core' 3656 | - babel-plugin-macros 3657 | 3658 | normalize-path@3.0.0: {} 3659 | 3660 | object-assign@4.1.1: {} 3661 | 3662 | object-hash@3.0.0: {} 3663 | 3664 | object-inspect@1.13.4: {} 3665 | 3666 | object-keys@1.1.1: {} 3667 | 3668 | object.assign@4.1.7: 3669 | dependencies: 3670 | call-bind: 1.0.8 3671 | call-bound: 1.0.3 3672 | define-properties: 1.2.1 3673 | es-object-atoms: 1.1.1 3674 | has-symbols: 1.1.0 3675 | object-keys: 1.1.1 3676 | 3677 | object.entries@1.1.8: 3678 | dependencies: 3679 | call-bind: 1.0.8 3680 | define-properties: 1.2.1 3681 | es-object-atoms: 1.1.1 3682 | 3683 | object.fromentries@2.0.8: 3684 | dependencies: 3685 | call-bind: 1.0.8 3686 | define-properties: 1.2.1 3687 | es-abstract: 1.23.9 3688 | es-object-atoms: 1.1.1 3689 | 3690 | object.groupby@1.0.3: 3691 | dependencies: 3692 | call-bind: 1.0.8 3693 | define-properties: 1.2.1 3694 | es-abstract: 1.23.9 3695 | 3696 | object.values@1.2.1: 3697 | dependencies: 3698 | call-bind: 1.0.8 3699 | call-bound: 1.0.3 3700 | define-properties: 1.2.1 3701 | es-object-atoms: 1.1.1 3702 | 3703 | optionator@0.9.4: 3704 | dependencies: 3705 | deep-is: 0.1.4 3706 | fast-levenshtein: 2.0.6 3707 | levn: 0.4.1 3708 | prelude-ls: 1.2.1 3709 | type-check: 0.4.0 3710 | word-wrap: 1.2.5 3711 | 3712 | own-keys@1.0.1: 3713 | dependencies: 3714 | get-intrinsic: 1.3.0 3715 | object-keys: 1.1.1 3716 | safe-push-apply: 1.0.0 3717 | 3718 | p-limit@3.1.0: 3719 | dependencies: 3720 | yocto-queue: 0.1.0 3721 | 3722 | p-locate@5.0.0: 3723 | dependencies: 3724 | p-limit: 3.1.0 3725 | 3726 | package-json-from-dist@1.0.1: {} 3727 | 3728 | parent-module@1.0.1: 3729 | dependencies: 3730 | callsites: 3.1.0 3731 | 3732 | path-exists@4.0.0: {} 3733 | 3734 | path-key@3.1.1: {} 3735 | 3736 | path-parse@1.0.7: {} 3737 | 3738 | path-scurry@1.11.1: 3739 | dependencies: 3740 | lru-cache: 10.4.3 3741 | minipass: 7.1.2 3742 | 3743 | picocolors@1.1.1: {} 3744 | 3745 | picomatch@2.3.1: {} 3746 | 3747 | picomatch@4.0.2: {} 3748 | 3749 | pify@2.3.0: {} 3750 | 3751 | pirates@4.0.6: {} 3752 | 3753 | possible-typed-array-names@1.1.0: {} 3754 | 3755 | postcss-import@15.1.0(postcss@8.5.3): 3756 | dependencies: 3757 | postcss: 8.5.3 3758 | postcss-value-parser: 4.2.0 3759 | read-cache: 1.0.0 3760 | resolve: 1.22.10 3761 | 3762 | postcss-js@4.0.1(postcss@8.5.3): 3763 | dependencies: 3764 | camelcase-css: 2.0.1 3765 | postcss: 8.5.3 3766 | 3767 | postcss-load-config@4.0.2(postcss@8.5.3): 3768 | dependencies: 3769 | lilconfig: 3.1.3 3770 | yaml: 2.7.0 3771 | optionalDependencies: 3772 | postcss: 8.5.3 3773 | 3774 | postcss-nested@6.2.0(postcss@8.5.3): 3775 | dependencies: 3776 | postcss: 8.5.3 3777 | postcss-selector-parser: 6.1.2 3778 | 3779 | postcss-selector-parser@6.1.2: 3780 | dependencies: 3781 | cssesc: 3.0.0 3782 | util-deprecate: 1.0.2 3783 | 3784 | postcss-value-parser@4.2.0: {} 3785 | 3786 | postcss@8.4.31: 3787 | dependencies: 3788 | nanoid: 3.3.8 3789 | picocolors: 1.1.1 3790 | source-map-js: 1.2.1 3791 | 3792 | postcss@8.5.3: 3793 | dependencies: 3794 | nanoid: 3.3.8 3795 | picocolors: 1.1.1 3796 | source-map-js: 1.2.1 3797 | 3798 | prelude-ls@1.2.1: {} 3799 | 3800 | prop-types@15.8.1: 3801 | dependencies: 3802 | loose-envify: 1.4.0 3803 | object-assign: 4.1.1 3804 | react-is: 16.13.1 3805 | 3806 | proxy-from-env@1.1.0: {} 3807 | 3808 | punycode@2.3.1: {} 3809 | 3810 | qs@6.14.0: 3811 | dependencies: 3812 | side-channel: 1.1.0 3813 | 3814 | queue-microtask@1.2.3: {} 3815 | 3816 | react-dom@19.0.0(react@19.0.0): 3817 | dependencies: 3818 | react: 19.0.0 3819 | scheduler: 0.25.0 3820 | 3821 | react-hook-form@7.54.2(react@19.0.0): 3822 | dependencies: 3823 | react: 19.0.0 3824 | 3825 | react-is@16.13.1: {} 3826 | 3827 | react@19.0.0: {} 3828 | 3829 | read-cache@1.0.0: 3830 | dependencies: 3831 | pify: 2.3.0 3832 | 3833 | readdirp@3.6.0: 3834 | dependencies: 3835 | picomatch: 2.3.1 3836 | 3837 | redis-errors@1.2.0: {} 3838 | 3839 | redis-parser@3.0.0: 3840 | dependencies: 3841 | redis-errors: 1.2.0 3842 | 3843 | reflect.getprototypeof@1.0.10: 3844 | dependencies: 3845 | call-bind: 1.0.8 3846 | define-properties: 1.2.1 3847 | es-abstract: 1.23.9 3848 | es-errors: 1.3.0 3849 | es-object-atoms: 1.1.1 3850 | get-intrinsic: 1.3.0 3851 | get-proto: 1.0.1 3852 | which-builtin-type: 1.2.1 3853 | 3854 | regexp.prototype.flags@1.5.4: 3855 | dependencies: 3856 | call-bind: 1.0.8 3857 | define-properties: 1.2.1 3858 | es-errors: 1.3.0 3859 | get-proto: 1.0.1 3860 | gopd: 1.2.0 3861 | set-function-name: 2.0.2 3862 | 3863 | resolve-from@4.0.0: {} 3864 | 3865 | resolve-pkg-maps@1.0.0: {} 3866 | 3867 | resolve@1.22.10: 3868 | dependencies: 3869 | is-core-module: 2.16.1 3870 | path-parse: 1.0.7 3871 | supports-preserve-symlinks-flag: 1.0.0 3872 | 3873 | resolve@2.0.0-next.5: 3874 | dependencies: 3875 | is-core-module: 2.16.1 3876 | path-parse: 1.0.7 3877 | supports-preserve-symlinks-flag: 1.0.0 3878 | 3879 | reusify@1.0.4: {} 3880 | 3881 | run-parallel@1.2.0: 3882 | dependencies: 3883 | queue-microtask: 1.2.3 3884 | 3885 | safe-array-concat@1.1.3: 3886 | dependencies: 3887 | call-bind: 1.0.8 3888 | call-bound: 1.0.3 3889 | get-intrinsic: 1.3.0 3890 | has-symbols: 1.1.0 3891 | isarray: 2.0.5 3892 | 3893 | safe-buffer@5.2.1: {} 3894 | 3895 | safe-push-apply@1.0.0: 3896 | dependencies: 3897 | es-errors: 1.3.0 3898 | isarray: 2.0.5 3899 | 3900 | safe-regex-test@1.1.0: 3901 | dependencies: 3902 | call-bound: 1.0.3 3903 | es-errors: 1.3.0 3904 | is-regex: 1.2.1 3905 | 3906 | scheduler@0.25.0: {} 3907 | 3908 | scmp@2.1.0: {} 3909 | 3910 | semver@6.3.1: {} 3911 | 3912 | semver@7.7.1: {} 3913 | 3914 | set-function-length@1.2.2: 3915 | dependencies: 3916 | define-data-property: 1.1.4 3917 | es-errors: 1.3.0 3918 | function-bind: 1.1.2 3919 | get-intrinsic: 1.3.0 3920 | gopd: 1.2.0 3921 | has-property-descriptors: 1.0.2 3922 | 3923 | set-function-name@2.0.2: 3924 | dependencies: 3925 | define-data-property: 1.1.4 3926 | es-errors: 1.3.0 3927 | functions-have-names: 1.2.3 3928 | has-property-descriptors: 1.0.2 3929 | 3930 | set-proto@1.0.0: 3931 | dependencies: 3932 | dunder-proto: 1.0.1 3933 | es-errors: 1.3.0 3934 | es-object-atoms: 1.1.1 3935 | 3936 | sharp@0.33.5: 3937 | dependencies: 3938 | color: 4.2.3 3939 | detect-libc: 2.0.3 3940 | semver: 7.7.1 3941 | optionalDependencies: 3942 | '@img/sharp-darwin-arm64': 0.33.5 3943 | '@img/sharp-darwin-x64': 0.33.5 3944 | '@img/sharp-libvips-darwin-arm64': 1.0.4 3945 | '@img/sharp-libvips-darwin-x64': 1.0.4 3946 | '@img/sharp-libvips-linux-arm': 1.0.5 3947 | '@img/sharp-libvips-linux-arm64': 1.0.4 3948 | '@img/sharp-libvips-linux-s390x': 1.0.4 3949 | '@img/sharp-libvips-linux-x64': 1.0.4 3950 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 3951 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 3952 | '@img/sharp-linux-arm': 0.33.5 3953 | '@img/sharp-linux-arm64': 0.33.5 3954 | '@img/sharp-linux-s390x': 0.33.5 3955 | '@img/sharp-linux-x64': 0.33.5 3956 | '@img/sharp-linuxmusl-arm64': 0.33.5 3957 | '@img/sharp-linuxmusl-x64': 0.33.5 3958 | '@img/sharp-wasm32': 0.33.5 3959 | '@img/sharp-win32-ia32': 0.33.5 3960 | '@img/sharp-win32-x64': 0.33.5 3961 | optional: true 3962 | 3963 | shebang-command@2.0.0: 3964 | dependencies: 3965 | shebang-regex: 3.0.0 3966 | 3967 | shebang-regex@3.0.0: {} 3968 | 3969 | side-channel-list@1.0.0: 3970 | dependencies: 3971 | es-errors: 1.3.0 3972 | object-inspect: 1.13.4 3973 | 3974 | side-channel-map@1.0.1: 3975 | dependencies: 3976 | call-bound: 1.0.3 3977 | es-errors: 1.3.0 3978 | get-intrinsic: 1.3.0 3979 | object-inspect: 1.13.4 3980 | 3981 | side-channel-weakmap@1.0.2: 3982 | dependencies: 3983 | call-bound: 1.0.3 3984 | es-errors: 1.3.0 3985 | get-intrinsic: 1.3.0 3986 | object-inspect: 1.13.4 3987 | side-channel-map: 1.0.1 3988 | 3989 | side-channel@1.1.0: 3990 | dependencies: 3991 | es-errors: 1.3.0 3992 | object-inspect: 1.13.4 3993 | side-channel-list: 1.0.0 3994 | side-channel-map: 1.0.1 3995 | side-channel-weakmap: 1.0.2 3996 | 3997 | signal-exit@4.1.0: {} 3998 | 3999 | simple-swizzle@0.2.2: 4000 | dependencies: 4001 | is-arrayish: 0.3.2 4002 | optional: true 4003 | 4004 | source-map-js@1.2.1: {} 4005 | 4006 | stable-hash@0.0.4: {} 4007 | 4008 | standard-as-callback@2.1.0: {} 4009 | 4010 | streamsearch@1.1.0: {} 4011 | 4012 | string-width@4.2.3: 4013 | dependencies: 4014 | emoji-regex: 8.0.0 4015 | is-fullwidth-code-point: 3.0.0 4016 | strip-ansi: 6.0.1 4017 | 4018 | string-width@5.1.2: 4019 | dependencies: 4020 | eastasianwidth: 0.2.0 4021 | emoji-regex: 9.2.2 4022 | strip-ansi: 7.1.0 4023 | 4024 | string.prototype.includes@2.0.1: 4025 | dependencies: 4026 | call-bind: 1.0.8 4027 | define-properties: 1.2.1 4028 | es-abstract: 1.23.9 4029 | 4030 | string.prototype.matchall@4.0.12: 4031 | dependencies: 4032 | call-bind: 1.0.8 4033 | call-bound: 1.0.3 4034 | define-properties: 1.2.1 4035 | es-abstract: 1.23.9 4036 | es-errors: 1.3.0 4037 | es-object-atoms: 1.1.1 4038 | get-intrinsic: 1.3.0 4039 | gopd: 1.2.0 4040 | has-symbols: 1.1.0 4041 | internal-slot: 1.1.0 4042 | regexp.prototype.flags: 1.5.4 4043 | set-function-name: 2.0.2 4044 | side-channel: 1.1.0 4045 | 4046 | string.prototype.repeat@1.0.0: 4047 | dependencies: 4048 | define-properties: 1.2.1 4049 | es-abstract: 1.23.9 4050 | 4051 | string.prototype.trim@1.2.10: 4052 | dependencies: 4053 | call-bind: 1.0.8 4054 | call-bound: 1.0.3 4055 | define-data-property: 1.1.4 4056 | define-properties: 1.2.1 4057 | es-abstract: 1.23.9 4058 | es-object-atoms: 1.1.1 4059 | has-property-descriptors: 1.0.2 4060 | 4061 | string.prototype.trimend@1.0.9: 4062 | dependencies: 4063 | call-bind: 1.0.8 4064 | call-bound: 1.0.3 4065 | define-properties: 1.2.1 4066 | es-object-atoms: 1.1.1 4067 | 4068 | string.prototype.trimstart@1.0.8: 4069 | dependencies: 4070 | call-bind: 1.0.8 4071 | define-properties: 1.2.1 4072 | es-object-atoms: 1.1.1 4073 | 4074 | strip-ansi@6.0.1: 4075 | dependencies: 4076 | ansi-regex: 5.0.1 4077 | 4078 | strip-ansi@7.1.0: 4079 | dependencies: 4080 | ansi-regex: 6.1.0 4081 | 4082 | strip-bom@3.0.0: {} 4083 | 4084 | strip-json-comments@3.1.1: {} 4085 | 4086 | styled-jsx@5.1.6(react@19.0.0): 4087 | dependencies: 4088 | client-only: 0.0.1 4089 | react: 19.0.0 4090 | 4091 | sucrase@3.35.0: 4092 | dependencies: 4093 | '@jridgewell/gen-mapping': 0.3.8 4094 | commander: 4.1.1 4095 | glob: 10.4.5 4096 | lines-and-columns: 1.2.4 4097 | mz: 2.7.0 4098 | pirates: 4.0.6 4099 | ts-interface-checker: 0.1.13 4100 | 4101 | supports-color@7.2.0: 4102 | dependencies: 4103 | has-flag: 4.0.0 4104 | 4105 | supports-preserve-symlinks-flag@1.0.0: {} 4106 | 4107 | tailwind-merge@3.0.2: {} 4108 | 4109 | tailwindcss-animate@1.0.7(tailwindcss@3.4.17): 4110 | dependencies: 4111 | tailwindcss: 3.4.17 4112 | 4113 | tailwindcss@3.4.17: 4114 | dependencies: 4115 | '@alloc/quick-lru': 5.2.0 4116 | arg: 5.0.2 4117 | chokidar: 3.6.0 4118 | didyoumean: 1.2.2 4119 | dlv: 1.1.3 4120 | fast-glob: 3.3.3 4121 | glob-parent: 6.0.2 4122 | is-glob: 4.0.3 4123 | jiti: 1.21.7 4124 | lilconfig: 3.1.3 4125 | micromatch: 4.0.8 4126 | normalize-path: 3.0.0 4127 | object-hash: 3.0.0 4128 | picocolors: 1.1.1 4129 | postcss: 8.5.3 4130 | postcss-import: 15.1.0(postcss@8.5.3) 4131 | postcss-js: 4.0.1(postcss@8.5.3) 4132 | postcss-load-config: 4.0.2(postcss@8.5.3) 4133 | postcss-nested: 6.2.0(postcss@8.5.3) 4134 | postcss-selector-parser: 6.1.2 4135 | resolve: 1.22.10 4136 | sucrase: 3.35.0 4137 | transitivePeerDependencies: 4138 | - ts-node 4139 | 4140 | tapable@2.2.1: {} 4141 | 4142 | thenify-all@1.6.0: 4143 | dependencies: 4144 | thenify: 3.3.1 4145 | 4146 | thenify@3.3.1: 4147 | dependencies: 4148 | any-promise: 1.3.0 4149 | 4150 | tinyglobby@0.2.12: 4151 | dependencies: 4152 | fdir: 6.4.3(picomatch@4.0.2) 4153 | picomatch: 4.0.2 4154 | 4155 | to-regex-range@5.0.1: 4156 | dependencies: 4157 | is-number: 7.0.0 4158 | 4159 | ts-api-utils@2.0.1(typescript@5.7.3): 4160 | dependencies: 4161 | typescript: 5.7.3 4162 | 4163 | ts-interface-checker@0.1.13: {} 4164 | 4165 | tsconfig-paths@3.15.0: 4166 | dependencies: 4167 | '@types/json5': 0.0.29 4168 | json5: 1.0.2 4169 | minimist: 1.2.8 4170 | strip-bom: 3.0.0 4171 | 4172 | tslib@2.8.1: {} 4173 | 4174 | twilio@5.4.5: 4175 | dependencies: 4176 | axios: 1.7.9 4177 | dayjs: 1.11.13 4178 | https-proxy-agent: 5.0.1 4179 | jsonwebtoken: 9.0.2 4180 | qs: 6.14.0 4181 | scmp: 2.1.0 4182 | xmlbuilder: 13.0.2 4183 | transitivePeerDependencies: 4184 | - debug 4185 | - supports-color 4186 | 4187 | type-check@0.4.0: 4188 | dependencies: 4189 | prelude-ls: 1.2.1 4190 | 4191 | typed-array-buffer@1.0.3: 4192 | dependencies: 4193 | call-bound: 1.0.3 4194 | es-errors: 1.3.0 4195 | is-typed-array: 1.1.15 4196 | 4197 | typed-array-byte-length@1.0.3: 4198 | dependencies: 4199 | call-bind: 1.0.8 4200 | for-each: 0.3.5 4201 | gopd: 1.2.0 4202 | has-proto: 1.2.0 4203 | is-typed-array: 1.1.15 4204 | 4205 | typed-array-byte-offset@1.0.4: 4206 | dependencies: 4207 | available-typed-arrays: 1.0.7 4208 | call-bind: 1.0.8 4209 | for-each: 0.3.5 4210 | gopd: 1.2.0 4211 | has-proto: 1.2.0 4212 | is-typed-array: 1.1.15 4213 | reflect.getprototypeof: 1.0.10 4214 | 4215 | typed-array-length@1.0.7: 4216 | dependencies: 4217 | call-bind: 1.0.8 4218 | for-each: 0.3.5 4219 | gopd: 1.2.0 4220 | is-typed-array: 1.1.15 4221 | possible-typed-array-names: 1.1.0 4222 | reflect.getprototypeof: 1.0.10 4223 | 4224 | typescript@5.7.3: {} 4225 | 4226 | unbox-primitive@1.1.0: 4227 | dependencies: 4228 | call-bound: 1.0.3 4229 | has-bigints: 1.1.0 4230 | has-symbols: 1.1.0 4231 | which-boxed-primitive: 1.1.1 4232 | 4233 | undici-types@6.19.8: {} 4234 | 4235 | uri-js@4.4.1: 4236 | dependencies: 4237 | punycode: 2.3.1 4238 | 4239 | util-deprecate@1.0.2: {} 4240 | 4241 | which-boxed-primitive@1.1.1: 4242 | dependencies: 4243 | is-bigint: 1.1.0 4244 | is-boolean-object: 1.2.2 4245 | is-number-object: 1.1.1 4246 | is-string: 1.1.1 4247 | is-symbol: 1.1.1 4248 | 4249 | which-builtin-type@1.2.1: 4250 | dependencies: 4251 | call-bound: 1.0.3 4252 | function.prototype.name: 1.1.8 4253 | has-tostringtag: 1.0.2 4254 | is-async-function: 2.1.1 4255 | is-date-object: 1.1.0 4256 | is-finalizationregistry: 1.1.1 4257 | is-generator-function: 1.1.0 4258 | is-regex: 1.2.1 4259 | is-weakref: 1.1.1 4260 | isarray: 2.0.5 4261 | which-boxed-primitive: 1.1.1 4262 | which-collection: 1.0.2 4263 | which-typed-array: 1.1.18 4264 | 4265 | which-collection@1.0.2: 4266 | dependencies: 4267 | is-map: 2.0.3 4268 | is-set: 2.0.3 4269 | is-weakmap: 2.0.2 4270 | is-weakset: 2.0.4 4271 | 4272 | which-typed-array@1.1.18: 4273 | dependencies: 4274 | available-typed-arrays: 1.0.7 4275 | call-bind: 1.0.8 4276 | call-bound: 1.0.3 4277 | for-each: 0.3.5 4278 | gopd: 1.2.0 4279 | has-tostringtag: 1.0.2 4280 | 4281 | which@2.0.2: 4282 | dependencies: 4283 | isexe: 2.0.0 4284 | 4285 | word-wrap@1.2.5: {} 4286 | 4287 | wrap-ansi@7.0.0: 4288 | dependencies: 4289 | ansi-styles: 4.3.0 4290 | string-width: 4.2.3 4291 | strip-ansi: 6.0.1 4292 | 4293 | wrap-ansi@8.1.0: 4294 | dependencies: 4295 | ansi-styles: 6.2.1 4296 | string-width: 5.1.2 4297 | strip-ansi: 7.1.0 4298 | 4299 | xmlbuilder@13.0.2: {} 4300 | 4301 | yaml@2.7.0: {} 4302 | 4303 | yocto-queue@0.1.0: {} 4304 | 4305 | zod@3.24.2: {} 4306 | -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | tailwindcss: {}, 5 | }, 6 | }; 7 | 8 | export default config; 9 | -------------------------------------------------------------------------------- /public/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/globe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/window.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t3dotgg/theo-pager/7aee7664a246b291d873ea471431fa962af113f1/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | 6 | 7 | @layer base { 8 | :root { 9 | 10 | --background: 0 0% 100%; 11 | 12 | --foreground: 0 0% 3.9%; 13 | 14 | --card: 0 0% 100%; 15 | 16 | --card-foreground: 0 0% 3.9%; 17 | 18 | --popover: 0 0% 100%; 19 | 20 | --popover-foreground: 0 0% 3.9%; 21 | 22 | --primary: 0 0% 9%; 23 | 24 | --primary-foreground: 0 0% 98%; 25 | 26 | --secondary: 0 0% 96.1%; 27 | 28 | --secondary-foreground: 0 0% 9%; 29 | 30 | --muted: 0 0% 96.1%; 31 | 32 | --muted-foreground: 0 0% 45.1%; 33 | 34 | --accent: 0 0% 96.1%; 35 | 36 | --accent-foreground: 0 0% 9%; 37 | 38 | --destructive: 0 84.2% 60.2%; 39 | 40 | --destructive-foreground: 0 0% 98%; 41 | 42 | --border: 0 0% 89.8%; 43 | 44 | --input: 0 0% 89.8%; 45 | 46 | --ring: 0 0% 3.9%; 47 | 48 | --chart-1: 12 76% 61%; 49 | 50 | --chart-2: 173 58% 39%; 51 | 52 | --chart-3: 197 37% 24%; 53 | 54 | --chart-4: 43 74% 66%; 55 | 56 | --chart-5: 27 87% 67%; 57 | 58 | --radius: 0.5rem 59 | } 60 | .dark { 61 | 62 | --background: 0 0% 3.9%; 63 | 64 | --foreground: 0 0% 98%; 65 | 66 | --card: 0 0% 3.9%; 67 | 68 | --card-foreground: 0 0% 98%; 69 | 70 | --popover: 0 0% 3.9%; 71 | 72 | --popover-foreground: 0 0% 98%; 73 | 74 | --primary: 0 0% 98%; 75 | 76 | --primary-foreground: 0 0% 9%; 77 | 78 | --secondary: 0 0% 14.9%; 79 | 80 | --secondary-foreground: 0 0% 98%; 81 | 82 | --muted: 0 0% 14.9%; 83 | 84 | --muted-foreground: 0 0% 63.9%; 85 | 86 | --accent: 0 0% 14.9%; 87 | 88 | --accent-foreground: 0 0% 98%; 89 | 90 | --destructive: 0 62.8% 30.6%; 91 | 92 | --destructive-foreground: 0 0% 98%; 93 | 94 | --border: 0 0% 14.9%; 95 | 96 | --input: 0 0% 14.9%; 97 | 98 | --ring: 0 0% 83.1%; 99 | 100 | --chart-1: 220 70% 50%; 101 | 102 | --chart-2: 160 60% 45%; 103 | 104 | --chart-3: 30 80% 55%; 105 | 106 | --chart-4: 280 65% 60%; 107 | 108 | --chart-5: 340 75% 55% 109 | } 110 | } 111 | 112 | 113 | 114 | @layer base { 115 | * { 116 | @apply border-border outline-ring/50; 117 | } 118 | body { 119 | @apply bg-background text-foreground; 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type React from "react" 2 | import "./globals.css" 3 | import type { Metadata } from "next" 4 | import { Inter } from "next/font/google" 5 | import { Toaster } from "@/components/ui/toaster" 6 | 7 | const inter = Inter({ subsets: ["latin"] }) 8 | 9 | export const metadata: Metadata = { 10 | title: "Page Theo", 11 | description: "A simple app to page Theo about new model drops", 12 | } 13 | 14 | export default function RootLayout({ 15 | children, 16 | }: { 17 | children: React.ReactNode 18 | }) { 19 | return ( 20 | 21 | 22 | {children} 23 | 24 | 25 | 26 | ) 27 | } 28 | 29 | -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- 1 | import PageTheoForm from "@/components/page-theo-form"; 2 | import { 3 | KV__getAllSubmittedModels, 4 | KV__getUserFromToken, 5 | KV__setUserToken, 6 | } from "@/server/db/redis"; 7 | import { revalidatePath } from "next/cache"; 8 | import { cookies } from "next/headers"; 9 | import { Suspense } from "react"; 10 | import AuthForm from "@/components/auth-form"; 11 | import { authSchema } from "@/shared/validate-form"; 12 | import { submitNewModelAction } from "@/server/actions/submit-new-model"; 13 | import { formatDistanceToNow } from "date-fns"; 14 | import { tryCatch } from "@/shared/trycatch"; 15 | 16 | async function authTokenCheck() { 17 | const cookieStore = await cookies(); 18 | const token = cookieStore.get("page-theo-token")?.value; 19 | 20 | if (!token) { 21 | throw new Error("you aren't supposed to be here"); 22 | } 23 | 24 | const dataFromKv = await KV__getUserFromToken(token); 25 | if (!dataFromKv || !dataFromKv.username) 26 | throw new Error("you aren't supposed to be here"); 27 | 28 | return dataFromKv; 29 | } 30 | 31 | async function ModelPage() { 32 | const models = await KV__getAllSubmittedModels(); 33 | return ( 34 |
35 |
36 |

37 | Page Theo 38 |

39 |

40 | Submit new model drops and Theo will be notified instantly 41 |

42 |
43 | 44 |
45 | { 47 | "use server"; 48 | const userData = await authTokenCheck(); 49 | await submitNewModelAction(formdata, userData.username); 50 | revalidatePath("/fake-path"); 51 | }} 52 | /> 53 | 54 |
55 |

Recent Submissions

56 |
57 | {models.map((model) => ( 58 |
62 |
63 |

{model.model}

64 |
65 | {model.submitter} 66 | {model.submittedAt && ( 67 | <> 68 | 69 | 70 | {formatDistanceToNow(new Date(model.submittedAt), { 71 | addSuffix: true, 72 | })} 73 | 74 | 75 | )} 76 |
77 |
78 |
79 | ))} 80 | {models.length === 0 && ( 81 |

82 | No models submitted yet 83 |

84 | )} 85 |
86 |
87 |
88 |
89 | ); 90 | } 91 | 92 | async function HomeContent() { 93 | const { data, error } = await tryCatch(authTokenCheck()); 94 | 95 | if (error || !data) { 96 | return ( 97 | { 99 | "use server"; 100 | 101 | const { username, passphrase } = authSchema.parse(formdata); 102 | 103 | if (passphrase !== process.env.PASSPHRASE) { 104 | throw new Error("you aren't supposed to be here"); 105 | } 106 | 107 | // User is authenticated, we can create and store a cookie now 108 | const token = crypto.randomUUID(); 109 | 110 | await KV__setUserToken(token, username); 111 | 112 | const cookieStore = await cookies(); 113 | cookieStore.set("page-theo-token", token); 114 | 115 | // Hack to revalidate without killing caches 116 | revalidatePath("/fake-path"); 117 | }} 118 | /> 119 | ); 120 | } 121 | 122 | return ; 123 | } 124 | 125 | export default function Home() { 126 | return ( 127 |
128 | Loading... 131 | } 132 | > 133 | 134 | 135 |
136 | ); 137 | } 138 | -------------------------------------------------------------------------------- /src/components/auth-form.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { useForm } from "react-hook-form"; 4 | import { zodResolver } from "@hookform/resolvers/zod"; 5 | import { Button } from "@/components/ui/button"; 6 | import { Input } from "@/components/ui/input"; 7 | import { 8 | Form, 9 | FormControl, 10 | FormField, 11 | FormItem, 12 | FormLabel, 13 | FormMessage, 14 | } from "@/components/ui/form"; 15 | import { z } from "zod"; 16 | import { authSchema } from "@/shared/validate-form"; 17 | 18 | export default function AuthForm(props: { 19 | action: (values: z.infer) => Promise; 20 | }) { 21 | const form = useForm>({ 22 | resolver: zodResolver(authSchema), 23 | defaultValues: { 24 | username: "", 25 | passphrase: "", 26 | }, 27 | }); 28 | 29 | async function onSubmit(values: z.infer) { 30 | props.action(values); 31 | } 32 | 33 | return ( 34 |
35 |
36 |

37 | Page Theo 38 |

39 |

40 | You need to have a passphrase from Theo to continue 41 |

42 |
43 | 44 |
45 |
46 | 50 | ( 54 | 55 | Username 56 | 57 | 61 | 62 | 63 | 64 | )} 65 | /> 66 | ( 70 | 71 | Passphrase 72 | 73 | 78 | 79 | 80 | 81 | )} 82 | /> 83 | 86 | 87 | 88 |
89 |
90 | ); 91 | } 92 | -------------------------------------------------------------------------------- /src/components/page-theo-form.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { useState } from "react"; 4 | import { useForm } from "react-hook-form"; 5 | import { zodResolver } from "@hookform/resolvers/zod"; 6 | import { Button } from "@/components/ui/button"; 7 | import { Input } from "@/components/ui/input"; 8 | import { 9 | Form, 10 | FormControl, 11 | FormField, 12 | FormItem, 13 | FormLabel, 14 | FormMessage, 15 | } from "@/components/ui/form"; 16 | import type { z } from "zod"; 17 | 18 | import { useToast } from "@/hooks/use-toast"; 19 | import { submitNewModelSchema } from "@/shared/validate-form"; 20 | 21 | export default function PageTheoForm(props: { 22 | action: (values: z.infer) => Promise; 23 | }) { 24 | const [isLoading, setIsLoading] = useState(false); 25 | const { toast } = useToast(); 26 | 27 | const form = useForm>({ 28 | resolver: zodResolver(submitNewModelSchema), 29 | defaultValues: { 30 | model: "", 31 | }, 32 | }); 33 | 34 | async function onSubmit(values: z.infer) { 35 | setIsLoading(true); 36 | try { 37 | await props.action(values); 38 | 39 | toast({ 40 | title: "Success", 41 | description: "Theo has been paged!", 42 | }); 43 | form.reset(); 44 | } catch (error) { 45 | toast({ 46 | title: "Error", 47 | description: 48 | error instanceof Error ? error.message : "An error occurred", 49 | variant: "destructive", 50 | }); 51 | } finally { 52 | setIsLoading(false); 53 | } 54 | } 55 | 56 | return ( 57 |
58 | 62 |
63 | ( 67 | 68 | Model that just dropped 69 | 70 | 71 | 72 | 73 | 74 | )} 75 | /> 76 |
77 | 78 | 81 |
82 | 83 | ); 84 | } 85 | -------------------------------------------------------------------------------- /src/components/ui/button.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { Slot } from "@radix-ui/react-slot" 3 | import { cva, type VariantProps } from "class-variance-authority" 4 | 5 | import { cn } from "@/lib/utils" 6 | 7 | const buttonVariants = cva( 8 | "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", 9 | { 10 | variants: { 11 | variant: { 12 | default: 13 | "bg-primary text-primary-foreground shadow hover:bg-primary/90", 14 | destructive: 15 | "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", 16 | outline: 17 | "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", 18 | secondary: 19 | "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", 20 | ghost: "hover:bg-accent hover:text-accent-foreground", 21 | link: "text-primary underline-offset-4 hover:underline", 22 | }, 23 | size: { 24 | default: "h-9 px-4 py-2", 25 | sm: "h-8 rounded-md px-3 text-xs", 26 | lg: "h-10 rounded-md px-8", 27 | icon: "h-9 w-9", 28 | }, 29 | }, 30 | defaultVariants: { 31 | variant: "default", 32 | size: "default", 33 | }, 34 | } 35 | ) 36 | 37 | export interface ButtonProps 38 | extends React.ButtonHTMLAttributes, 39 | VariantProps { 40 | asChild?: boolean 41 | } 42 | 43 | const Button = React.forwardRef( 44 | ({ className, variant, size, asChild = false, ...props }, ref) => { 45 | const Comp = asChild ? Slot : "button" 46 | return ( 47 | 52 | ) 53 | } 54 | ) 55 | Button.displayName = "Button" 56 | 57 | export { Button, buttonVariants } 58 | -------------------------------------------------------------------------------- /src/components/ui/form.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import * as LabelPrimitive from "@radix-ui/react-label" 5 | import { Slot } from "@radix-ui/react-slot" 6 | import { 7 | Controller, 8 | ControllerProps, 9 | FieldPath, 10 | FieldValues, 11 | FormProvider, 12 | useFormContext, 13 | } from "react-hook-form" 14 | 15 | import { cn } from "@/lib/utils" 16 | import { Label } from "@/components/ui/label" 17 | 18 | const Form = FormProvider 19 | 20 | type FormFieldContextValue< 21 | TFieldValues extends FieldValues = FieldValues, 22 | TName extends FieldPath = FieldPath 23 | > = { 24 | name: TName 25 | } 26 | 27 | const FormFieldContext = React.createContext( 28 | {} as FormFieldContextValue 29 | ) 30 | 31 | const FormField = < 32 | TFieldValues extends FieldValues = FieldValues, 33 | TName extends FieldPath = FieldPath 34 | >({ 35 | ...props 36 | }: ControllerProps) => { 37 | return ( 38 | 39 | 40 | 41 | ) 42 | } 43 | 44 | const useFormField = () => { 45 | const fieldContext = React.useContext(FormFieldContext) 46 | const itemContext = React.useContext(FormItemContext) 47 | const { getFieldState, formState } = useFormContext() 48 | 49 | const fieldState = getFieldState(fieldContext.name, formState) 50 | 51 | if (!fieldContext) { 52 | throw new Error("useFormField should be used within ") 53 | } 54 | 55 | const { id } = itemContext 56 | 57 | return { 58 | id, 59 | name: fieldContext.name, 60 | formItemId: `${id}-form-item`, 61 | formDescriptionId: `${id}-form-item-description`, 62 | formMessageId: `${id}-form-item-message`, 63 | ...fieldState, 64 | } 65 | } 66 | 67 | type FormItemContextValue = { 68 | id: string 69 | } 70 | 71 | const FormItemContext = React.createContext( 72 | {} as FormItemContextValue 73 | ) 74 | 75 | const FormItem = React.forwardRef< 76 | HTMLDivElement, 77 | React.HTMLAttributes 78 | >(({ className, ...props }, ref) => { 79 | const id = React.useId() 80 | 81 | return ( 82 | 83 |
84 | 85 | ) 86 | }) 87 | FormItem.displayName = "FormItem" 88 | 89 | const FormLabel = React.forwardRef< 90 | React.ElementRef, 91 | React.ComponentPropsWithoutRef 92 | >(({ className, ...props }, ref) => { 93 | const { error, formItemId } = useFormField() 94 | 95 | return ( 96 |