├── .eslintrc.json ├── .gitignore ├── README.md ├── bot ├── .env.example ├── .gitignore ├── package.json ├── pnpm-lock.yaml ├── src │ ├── bot.ts │ ├── config.ts │ └── main.ts └── tsconfig.json ├── components.json ├── next.config.mjs ├── package.json ├── pnpm-lock.yaml ├── postcss.config.mjs ├── public ├── next.svg └── vercel.svg ├── src ├── app │ ├── favicon.ico │ ├── globals.css │ ├── layout.tsx │ └── page.tsx ├── components │ ├── loader.tsx │ ├── logo.tsx │ ├── me.tsx │ └── tma │ │ ├── index.tsx │ │ ├── tma-provider-error.tsx │ │ ├── tma-provider-initial-state.tsx │ │ └── tma-provider-loading.tsx └── lib │ └── utils.ts ├── tailwind.config.ts └── tsconfig.json /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | .yarn/install-state.gz 8 | 9 | # testing 10 | /coverage 11 | 12 | # next.js 13 | /.next/ 14 | /out/ 15 | 16 | # production 17 | /build 18 | 19 | # misc 20 | .DS_Store 21 | *.pem 22 | 23 | # debug 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # local env files 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | next-env.d.ts 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Telegram Mini App Boilerplate 2 | 3 | Get started building mini apps for Telegram with our straightforward Telegram Mini App Boilerplate. Simple, efficient, and well-documented – it's your perfect starting point for crafting engaging experiences. Dive in and create something awesome! 4 | 5 | ## Tech Stack 6 | 7 | I'm using Next.js with app router along with shadcn/ui, Tailwind CSS, and tma.js (a Telegram miniapp wrapper that provides telegram auth user). It will be fun, let's go. 8 | 9 | - [**Next.js**](https://nextjs.org/) 10 | - [**shadcn/ui**](https://ui.shadcn.com/) 11 | - [**Tailwind CSS**](https://tailwindcss.com/) 12 | - [**tma.js**](https://docs.telegram-mini-apps.com/) 13 | 14 | ## Steps (Mini App) 15 | 16 | In case you are customizing your own, you may follow the steps: 17 | 18 | 1. Install `@tma.js/sdk` and `@tma.js/sdk-react` packages: 19 | 20 | ```bash 21 | pnpm i @tma.js/sdk @tma.js/sdk-react 22 | ``` 23 | 24 | 2. Create a Telegram mini app provider initial state component: 25 | 26 | ```typescript src/components/tma/tma-provider-initial-state.tsx 27 | // src/components/tma/tma-provider-initial-state.tsx 28 | 29 | import { Logo } from "@/components/logo"; 30 | 31 | export function TmaProviderInitialState() { 32 | return ( 33 |
34 | 35 |
36 | ); 37 | } 38 | ``` 39 | 40 | 3. Create a Telegram mini app loading component: 41 | 42 | ```typescript src/components/tma/tma-provider-loading.tsx 43 | // src/components/tma/tma-provider-loading.tsx 44 | 45 | import { Loader } from "@/components/loader"; 46 | 47 | export function TmaProviderLoading() { 48 | return ( 49 |
50 | 51 |
52 | ); 53 | } 54 | ``` 55 | 56 | 4. Also, create a Telegram mini app error component: 57 | 58 | ```typescript src/components/tma/tma-provider-error.tsx 59 | // src/components/tma/tma-provider-error.tsx 60 | 61 | type TmaProviderErrorProps = { 62 | error: unknown; 63 | }; 64 | 65 | export function TmaProviderError({ error }: TmaProviderErrorProps) { 66 | const errorMessage = 67 | error instanceof Error ? error.message : JSON.stringify(error); 68 | 69 | return ( 70 |
71 | 72 | Oops. Something went wrong. 73 |
74 | {errorMessage} 75 |
76 |
77 |
78 | ); 79 | } 80 | ``` 81 | 82 | 5. Now, let's create a Telegram mini app provider and make sure it's a client component. You can customize options as per your needs ([docs](https://docs.telegram-mini-apps.com/packages/tma-js-sdk-react)). Also, add those custom components we just created in the component: 83 | 84 | ```typescript src/components/tma/index.tsx 85 | // src/components/tma/index.tsx 86 | 87 | "use client"; 88 | 89 | import { PropsWithChildren } from "react"; 90 | import { DisplayGate, SDKProvider } from "@tma.js/sdk-react"; 91 | import { TmaProviderError } from "./tma-provider-error"; 92 | import { TmaProviderLoading } from "./tma-provider-loading"; 93 | import { TmaProviderInitialState } from "./tma-provider-initial-state"; 94 | 95 | export function TmaSDKProvider({ children }: PropsWithChildren) { 96 | return ( 97 | 100 | 105 | {children} 106 | 107 | 108 | ); 109 | } 110 | ``` 111 | 112 | 6. Finally, add Tma SDK provider to the root layout: 113 | 114 | ```typescript src/app/layout.tsx 115 | // src/app/layout.tsx 116 | 117 | import type { Metadata } from "next"; 118 | import { Inter } from "next/font/google"; 119 | import "./globals.css"; 120 | import { TmaSDKProvider } from "@/components/tma"; 121 | 122 | const inter = Inter({ subsets: ["latin"] }); 123 | 124 | export const metadata: Metadata = { 125 | title: "My Telegram Mini App", 126 | description: "A mini app for Telegram.", 127 | }; 128 | 129 | export default function RootLayout({ 130 | children, 131 | }: Readonly<{ 132 | children: React.ReactNode; 133 | }>) { 134 | return ( 135 | 136 | 137 | {/*This will Provide Telegram authenticated user */} 138 | {children} 139 | 140 | 141 | ); 142 | } 143 | ``` 144 | 145 | 6. Start your app 146 | 147 | ```bash 148 | pnpm dev 149 | ``` 150 | 151 | 7. Now make your app publicly accessible: 152 | 153 | You can use `ngrok` 154 | 155 | ```bash 156 | ngrok http 3000 157 | ``` 158 | 159 | Next lets setup telegram bot. 160 | 161 | # Telegram Bot 162 | 163 | Now let's set up our Telegram bot. 164 | For Telegram bot I'll use Nodejs with Typescript, Dotenv and Telegraph, if you are following this repo `cd` to bot or setup a separate project and install depencies: 165 | 166 | ```bash 167 | pnpm i dotenv telegraf 168 | ``` 169 | 170 | ## Steps (Bot) 171 | 172 | 1. First, obtain your Telegram bot tokens. 173 | 174 | I'll use `BotFather` to create a bot in this demo. 175 | 176 | - Open Telegram on your device, search for `BotFather` in the search bar. 177 | - Then send the `/newbot`` command to Telegram. 178 | - Choose a suitable name and username, then copy the token. 179 | 180 | 2. Go to `bot/src` and create a `.env` file. 181 | 182 | 3. Fill in your bot token and `ngrok` public URL: 183 | 184 | ```bash 185 | # bot/src/.env 186 | 187 | NODE_ENV="development" 188 | 189 | # Telegram Bot 190 | TELE_BOT_TOKEN="" # Your Telegram Bot Token 191 | TELE_BOT_WEB_LINK="" # ngrok public url in dev mode, public url in production 192 | ``` 193 | 194 | 4. Start the bot 195 | 196 | ```bash 197 | pnpm start:dev 198 | ``` 199 | 200 | We are good to go... 201 | 202 | --- 203 | 204 | Open Telegram and get started. Congratulations! 205 | -------------------------------------------------------------------------------- /bot/.env.example: -------------------------------------------------------------------------------- 1 | NODE_ENV="development" 2 | 3 | # Telegram Bot 4 | TELE_BOT_TOKEN="" # Your Telegram Bot Token 5 | TELE_BOT_WEB_LINK="" # Your Telegram Web Link 6 | -------------------------------------------------------------------------------- /bot/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .env -------------------------------------------------------------------------------- /bot/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "telegram-bot", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "dist/main.js", 6 | "scripts": { 7 | "ts-prepare": "ts-patch install -s", 8 | "start:dev": "pnpm run ts-prepare && ts-node ./src/main.ts", 9 | "start:prod": "node ./dist/main.js", 10 | "build": "tsc && tsc-alias" 11 | }, 12 | "keywords": [], 13 | "author": "", 14 | "license": "ISC", 15 | "dependencies": { 16 | "dotenv": "^16.4.5", 17 | "telegraf": "^4.16.3" 18 | }, 19 | "devDependencies": { 20 | "@types/node": "^20.12.11", 21 | "ts-node": "^10.9.2", 22 | "ts-node-dev": "^2.0.0", 23 | "ts-patch": "^3.1.2", 24 | "tsc-alias": "^1.8.8", 25 | "tsconfig-paths": "^4.2.0", 26 | "typescript": "^5.4.5", 27 | "typescript-transform-paths": "^3.4.7" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /bot/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | dotenv: 9 | specifier: ^16.4.5 10 | version: 16.4.5 11 | telegraf: 12 | specifier: ^4.16.3 13 | version: 4.16.3 14 | 15 | devDependencies: 16 | '@types/node': 17 | specifier: ^20.12.11 18 | version: 20.12.11 19 | ts-node: 20 | specifier: ^10.9.2 21 | version: 10.9.2(@types/node@20.12.11)(typescript@5.4.5) 22 | ts-node-dev: 23 | specifier: ^2.0.0 24 | version: 2.0.0(@types/node@20.12.11)(typescript@5.4.5) 25 | ts-patch: 26 | specifier: ^3.1.2 27 | version: 3.1.2 28 | tsc-alias: 29 | specifier: ^1.8.8 30 | version: 1.8.8 31 | tsconfig-paths: 32 | specifier: ^4.2.0 33 | version: 4.2.0 34 | typescript: 35 | specifier: ^5.4.5 36 | version: 5.4.5 37 | typescript-transform-paths: 38 | specifier: ^3.4.7 39 | version: 3.4.7(typescript@5.4.5) 40 | 41 | packages: 42 | 43 | /@cspotcode/source-map-support@0.8.1: 44 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 45 | engines: {node: '>=12'} 46 | dependencies: 47 | '@jridgewell/trace-mapping': 0.3.9 48 | dev: true 49 | 50 | /@jridgewell/resolve-uri@3.1.2: 51 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 52 | engines: {node: '>=6.0.0'} 53 | dev: true 54 | 55 | /@jridgewell/sourcemap-codec@1.4.15: 56 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 57 | dev: true 58 | 59 | /@jridgewell/trace-mapping@0.3.9: 60 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 61 | dependencies: 62 | '@jridgewell/resolve-uri': 3.1.2 63 | '@jridgewell/sourcemap-codec': 1.4.15 64 | dev: true 65 | 66 | /@nodelib/fs.scandir@2.1.5: 67 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 68 | engines: {node: '>= 8'} 69 | dependencies: 70 | '@nodelib/fs.stat': 2.0.5 71 | run-parallel: 1.2.0 72 | dev: true 73 | 74 | /@nodelib/fs.stat@2.0.5: 75 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 76 | engines: {node: '>= 8'} 77 | dev: true 78 | 79 | /@nodelib/fs.walk@1.2.8: 80 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 81 | engines: {node: '>= 8'} 82 | dependencies: 83 | '@nodelib/fs.scandir': 2.1.5 84 | fastq: 1.17.1 85 | dev: true 86 | 87 | /@telegraf/types@7.1.0: 88 | resolution: {integrity: sha512-kGevOIbpMcIlCDeorKGpwZmdH7kHbqlk/Yj6dEpJMKEQw5lk0KVQY0OLXaCswy8GqlIVLd5625OB+rAntP9xVw==} 89 | dev: false 90 | 91 | /@tsconfig/node10@1.0.11: 92 | resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} 93 | dev: true 94 | 95 | /@tsconfig/node12@1.0.11: 96 | resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} 97 | dev: true 98 | 99 | /@tsconfig/node14@1.0.3: 100 | resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} 101 | dev: true 102 | 103 | /@tsconfig/node16@1.0.4: 104 | resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} 105 | dev: true 106 | 107 | /@types/node@20.12.11: 108 | resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} 109 | dependencies: 110 | undici-types: 5.26.5 111 | dev: true 112 | 113 | /@types/strip-bom@3.0.0: 114 | resolution: {integrity: sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==} 115 | dev: true 116 | 117 | /@types/strip-json-comments@0.0.30: 118 | resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==} 119 | dev: true 120 | 121 | /abort-controller@3.0.0: 122 | resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} 123 | engines: {node: '>=6.5'} 124 | dependencies: 125 | event-target-shim: 5.0.1 126 | dev: false 127 | 128 | /acorn-walk@8.3.2: 129 | resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} 130 | engines: {node: '>=0.4.0'} 131 | dev: true 132 | 133 | /acorn@8.11.3: 134 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 135 | engines: {node: '>=0.4.0'} 136 | hasBin: true 137 | dev: true 138 | 139 | /ansi-regex@5.0.1: 140 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 141 | engines: {node: '>=8'} 142 | dev: true 143 | 144 | /ansi-styles@4.3.0: 145 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 146 | engines: {node: '>=8'} 147 | dependencies: 148 | color-convert: 2.0.1 149 | dev: true 150 | 151 | /anymatch@3.1.3: 152 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 153 | engines: {node: '>= 8'} 154 | dependencies: 155 | normalize-path: 3.0.0 156 | picomatch: 2.3.1 157 | dev: true 158 | 159 | /arg@4.1.3: 160 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} 161 | dev: true 162 | 163 | /array-union@2.1.0: 164 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 165 | engines: {node: '>=8'} 166 | dev: true 167 | 168 | /balanced-match@1.0.2: 169 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 170 | dev: true 171 | 172 | /binary-extensions@2.3.0: 173 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 174 | engines: {node: '>=8'} 175 | dev: true 176 | 177 | /brace-expansion@1.1.11: 178 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 179 | dependencies: 180 | balanced-match: 1.0.2 181 | concat-map: 0.0.1 182 | dev: true 183 | 184 | /braces@3.0.2: 185 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 186 | engines: {node: '>=8'} 187 | dependencies: 188 | fill-range: 7.0.1 189 | dev: true 190 | 191 | /buffer-alloc-unsafe@1.1.0: 192 | resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} 193 | dev: false 194 | 195 | /buffer-alloc@1.2.0: 196 | resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} 197 | dependencies: 198 | buffer-alloc-unsafe: 1.1.0 199 | buffer-fill: 1.0.0 200 | dev: false 201 | 202 | /buffer-fill@1.0.0: 203 | resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} 204 | dev: false 205 | 206 | /buffer-from@1.1.2: 207 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 208 | dev: true 209 | 210 | /chalk@4.1.2: 211 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 212 | engines: {node: '>=10'} 213 | dependencies: 214 | ansi-styles: 4.3.0 215 | supports-color: 7.2.0 216 | dev: true 217 | 218 | /chokidar@3.6.0: 219 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 220 | engines: {node: '>= 8.10.0'} 221 | dependencies: 222 | anymatch: 3.1.3 223 | braces: 3.0.2 224 | glob-parent: 5.1.2 225 | is-binary-path: 2.1.0 226 | is-glob: 4.0.3 227 | normalize-path: 3.0.0 228 | readdirp: 3.6.0 229 | optionalDependencies: 230 | fsevents: 2.3.3 231 | dev: true 232 | 233 | /color-convert@2.0.1: 234 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 235 | engines: {node: '>=7.0.0'} 236 | dependencies: 237 | color-name: 1.1.4 238 | dev: true 239 | 240 | /color-name@1.1.4: 241 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 242 | dev: true 243 | 244 | /commander@9.5.0: 245 | resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} 246 | engines: {node: ^12.20.0 || >=14} 247 | dev: true 248 | 249 | /concat-map@0.0.1: 250 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 251 | dev: true 252 | 253 | /create-require@1.1.1: 254 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} 255 | dev: true 256 | 257 | /debug@4.3.4: 258 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 259 | engines: {node: '>=6.0'} 260 | peerDependencies: 261 | supports-color: '*' 262 | peerDependenciesMeta: 263 | supports-color: 264 | optional: true 265 | dependencies: 266 | ms: 2.1.2 267 | dev: false 268 | 269 | /diff@4.0.2: 270 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} 271 | engines: {node: '>=0.3.1'} 272 | dev: true 273 | 274 | /dir-glob@3.0.1: 275 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 276 | engines: {node: '>=8'} 277 | dependencies: 278 | path-type: 4.0.0 279 | dev: true 280 | 281 | /dotenv@16.4.5: 282 | resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} 283 | engines: {node: '>=12'} 284 | dev: false 285 | 286 | /dynamic-dedupe@0.3.0: 287 | resolution: {integrity: sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==} 288 | dependencies: 289 | xtend: 4.0.2 290 | dev: true 291 | 292 | /event-target-shim@5.0.1: 293 | resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} 294 | engines: {node: '>=6'} 295 | dev: false 296 | 297 | /fast-glob@3.3.2: 298 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 299 | engines: {node: '>=8.6.0'} 300 | dependencies: 301 | '@nodelib/fs.stat': 2.0.5 302 | '@nodelib/fs.walk': 1.2.8 303 | glob-parent: 5.1.2 304 | merge2: 1.4.1 305 | micromatch: 4.0.5 306 | dev: true 307 | 308 | /fastq@1.17.1: 309 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 310 | dependencies: 311 | reusify: 1.0.4 312 | dev: true 313 | 314 | /fill-range@7.0.1: 315 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 316 | engines: {node: '>=8'} 317 | dependencies: 318 | to-regex-range: 5.0.1 319 | dev: true 320 | 321 | /fs.realpath@1.0.0: 322 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 323 | dev: true 324 | 325 | /fsevents@2.3.3: 326 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 327 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 328 | os: [darwin] 329 | requiresBuild: true 330 | dev: true 331 | optional: true 332 | 333 | /function-bind@1.1.2: 334 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 335 | dev: true 336 | 337 | /glob-parent@5.1.2: 338 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 339 | engines: {node: '>= 6'} 340 | dependencies: 341 | is-glob: 4.0.3 342 | dev: true 343 | 344 | /glob@7.2.3: 345 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 346 | dependencies: 347 | fs.realpath: 1.0.0 348 | inflight: 1.0.6 349 | inherits: 2.0.4 350 | minimatch: 3.1.2 351 | once: 1.4.0 352 | path-is-absolute: 1.0.1 353 | dev: true 354 | 355 | /global-prefix@3.0.0: 356 | resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} 357 | engines: {node: '>=6'} 358 | dependencies: 359 | ini: 1.3.8 360 | kind-of: 6.0.3 361 | which: 1.3.1 362 | dev: true 363 | 364 | /globby@11.1.0: 365 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 366 | engines: {node: '>=10'} 367 | dependencies: 368 | array-union: 2.1.0 369 | dir-glob: 3.0.1 370 | fast-glob: 3.3.2 371 | ignore: 5.3.1 372 | merge2: 1.4.1 373 | slash: 3.0.0 374 | dev: true 375 | 376 | /has-flag@4.0.0: 377 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 378 | engines: {node: '>=8'} 379 | dev: true 380 | 381 | /hasown@2.0.2: 382 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 383 | engines: {node: '>= 0.4'} 384 | dependencies: 385 | function-bind: 1.1.2 386 | dev: true 387 | 388 | /ignore@5.3.1: 389 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 390 | engines: {node: '>= 4'} 391 | dev: true 392 | 393 | /inflight@1.0.6: 394 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 395 | dependencies: 396 | once: 1.4.0 397 | wrappy: 1.0.2 398 | dev: true 399 | 400 | /inherits@2.0.4: 401 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 402 | dev: true 403 | 404 | /ini@1.3.8: 405 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 406 | dev: true 407 | 408 | /is-binary-path@2.1.0: 409 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 410 | engines: {node: '>=8'} 411 | dependencies: 412 | binary-extensions: 2.3.0 413 | dev: true 414 | 415 | /is-core-module@2.13.1: 416 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 417 | dependencies: 418 | hasown: 2.0.2 419 | dev: true 420 | 421 | /is-extglob@2.1.1: 422 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 423 | engines: {node: '>=0.10.0'} 424 | dev: true 425 | 426 | /is-glob@4.0.3: 427 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 428 | engines: {node: '>=0.10.0'} 429 | dependencies: 430 | is-extglob: 2.1.1 431 | dev: true 432 | 433 | /is-number@7.0.0: 434 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 435 | engines: {node: '>=0.12.0'} 436 | dev: true 437 | 438 | /isexe@2.0.0: 439 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 440 | dev: true 441 | 442 | /json5@2.2.3: 443 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 444 | engines: {node: '>=6'} 445 | hasBin: true 446 | dev: true 447 | 448 | /kind-of@6.0.3: 449 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 450 | engines: {node: '>=0.10.0'} 451 | dev: true 452 | 453 | /make-error@1.3.6: 454 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 455 | dev: true 456 | 457 | /merge2@1.4.1: 458 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 459 | engines: {node: '>= 8'} 460 | dev: true 461 | 462 | /micromatch@4.0.5: 463 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 464 | engines: {node: '>=8.6'} 465 | dependencies: 466 | braces: 3.0.2 467 | picomatch: 2.3.1 468 | dev: true 469 | 470 | /minimatch@3.1.2: 471 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 472 | dependencies: 473 | brace-expansion: 1.1.11 474 | dev: true 475 | 476 | /minimist@1.2.8: 477 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 478 | dev: true 479 | 480 | /mkdirp@1.0.4: 481 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 482 | engines: {node: '>=10'} 483 | hasBin: true 484 | dev: true 485 | 486 | /mri@1.2.0: 487 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 488 | engines: {node: '>=4'} 489 | dev: false 490 | 491 | /ms@2.1.2: 492 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 493 | dev: false 494 | 495 | /mylas@2.1.13: 496 | resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} 497 | engines: {node: '>=12.0.0'} 498 | dev: true 499 | 500 | /node-fetch@2.7.0: 501 | resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} 502 | engines: {node: 4.x || >=6.0.0} 503 | peerDependencies: 504 | encoding: ^0.1.0 505 | peerDependenciesMeta: 506 | encoding: 507 | optional: true 508 | dependencies: 509 | whatwg-url: 5.0.0 510 | dev: false 511 | 512 | /normalize-path@3.0.0: 513 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 514 | engines: {node: '>=0.10.0'} 515 | dev: true 516 | 517 | /once@1.4.0: 518 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 519 | dependencies: 520 | wrappy: 1.0.2 521 | dev: true 522 | 523 | /p-timeout@4.1.0: 524 | resolution: {integrity: sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==} 525 | engines: {node: '>=10'} 526 | dev: false 527 | 528 | /path-is-absolute@1.0.1: 529 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 530 | engines: {node: '>=0.10.0'} 531 | dev: true 532 | 533 | /path-parse@1.0.7: 534 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 535 | dev: true 536 | 537 | /path-type@4.0.0: 538 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 539 | engines: {node: '>=8'} 540 | dev: true 541 | 542 | /picomatch@2.3.1: 543 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 544 | engines: {node: '>=8.6'} 545 | dev: true 546 | 547 | /plimit-lit@1.6.1: 548 | resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} 549 | engines: {node: '>=12'} 550 | dependencies: 551 | queue-lit: 1.5.2 552 | dev: true 553 | 554 | /queue-lit@1.5.2: 555 | resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} 556 | engines: {node: '>=12'} 557 | dev: true 558 | 559 | /queue-microtask@1.2.3: 560 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 561 | dev: true 562 | 563 | /readdirp@3.6.0: 564 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 565 | engines: {node: '>=8.10.0'} 566 | dependencies: 567 | picomatch: 2.3.1 568 | dev: true 569 | 570 | /resolve@1.22.8: 571 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 572 | hasBin: true 573 | dependencies: 574 | is-core-module: 2.13.1 575 | path-parse: 1.0.7 576 | supports-preserve-symlinks-flag: 1.0.0 577 | dev: true 578 | 579 | /reusify@1.0.4: 580 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 581 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 582 | dev: true 583 | 584 | /rimraf@2.7.1: 585 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} 586 | hasBin: true 587 | dependencies: 588 | glob: 7.2.3 589 | dev: true 590 | 591 | /run-parallel@1.2.0: 592 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 593 | dependencies: 594 | queue-microtask: 1.2.3 595 | dev: true 596 | 597 | /safe-compare@1.1.4: 598 | resolution: {integrity: sha512-b9wZ986HHCo/HbKrRpBJb2kqXMK9CEWIE1egeEvZsYn69ay3kdfl9nG3RyOcR+jInTDf7a86WQ1d4VJX7goSSQ==} 599 | dependencies: 600 | buffer-alloc: 1.2.0 601 | dev: false 602 | 603 | /sandwich-stream@2.0.2: 604 | resolution: {integrity: sha512-jLYV0DORrzY3xaz/S9ydJL6Iz7essZeAfnAavsJ+zsJGZ1MOnsS52yRjU3uF3pJa/lla7+wisp//fxOwOH8SKQ==} 605 | engines: {node: '>= 0.10'} 606 | dev: false 607 | 608 | /semver@7.6.1: 609 | resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} 610 | engines: {node: '>=10'} 611 | hasBin: true 612 | dev: true 613 | 614 | /slash@3.0.0: 615 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 616 | engines: {node: '>=8'} 617 | dev: true 618 | 619 | /source-map-support@0.5.21: 620 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 621 | dependencies: 622 | buffer-from: 1.1.2 623 | source-map: 0.6.1 624 | dev: true 625 | 626 | /source-map@0.6.1: 627 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 628 | engines: {node: '>=0.10.0'} 629 | dev: true 630 | 631 | /strip-ansi@6.0.1: 632 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 633 | engines: {node: '>=8'} 634 | dependencies: 635 | ansi-regex: 5.0.1 636 | dev: true 637 | 638 | /strip-bom@3.0.0: 639 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 640 | engines: {node: '>=4'} 641 | dev: true 642 | 643 | /strip-json-comments@2.0.1: 644 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 645 | engines: {node: '>=0.10.0'} 646 | dev: true 647 | 648 | /supports-color@7.2.0: 649 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 650 | engines: {node: '>=8'} 651 | dependencies: 652 | has-flag: 4.0.0 653 | dev: true 654 | 655 | /supports-preserve-symlinks-flag@1.0.0: 656 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 657 | engines: {node: '>= 0.4'} 658 | dev: true 659 | 660 | /telegraf@4.16.3: 661 | resolution: {integrity: sha512-yjEu2NwkHlXu0OARWoNhJlIjX09dRktiMQFsM678BAH/PEPVwctzL67+tvXqLCRQQvm3SDtki2saGO9hLlz68w==} 662 | engines: {node: ^12.20.0 || >=14.13.1} 663 | hasBin: true 664 | dependencies: 665 | '@telegraf/types': 7.1.0 666 | abort-controller: 3.0.0 667 | debug: 4.3.4 668 | mri: 1.2.0 669 | node-fetch: 2.7.0 670 | p-timeout: 4.1.0 671 | safe-compare: 1.1.4 672 | sandwich-stream: 2.0.2 673 | transitivePeerDependencies: 674 | - encoding 675 | - supports-color 676 | dev: false 677 | 678 | /to-regex-range@5.0.1: 679 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 680 | engines: {node: '>=8.0'} 681 | dependencies: 682 | is-number: 7.0.0 683 | dev: true 684 | 685 | /tr46@0.0.3: 686 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 687 | dev: false 688 | 689 | /tree-kill@1.2.2: 690 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 691 | hasBin: true 692 | dev: true 693 | 694 | /ts-node-dev@2.0.0(@types/node@20.12.11)(typescript@5.4.5): 695 | resolution: {integrity: sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==} 696 | engines: {node: '>=0.8.0'} 697 | hasBin: true 698 | peerDependencies: 699 | node-notifier: '*' 700 | typescript: '*' 701 | peerDependenciesMeta: 702 | node-notifier: 703 | optional: true 704 | dependencies: 705 | chokidar: 3.6.0 706 | dynamic-dedupe: 0.3.0 707 | minimist: 1.2.8 708 | mkdirp: 1.0.4 709 | resolve: 1.22.8 710 | rimraf: 2.7.1 711 | source-map-support: 0.5.21 712 | tree-kill: 1.2.2 713 | ts-node: 10.9.2(@types/node@20.12.11)(typescript@5.4.5) 714 | tsconfig: 7.0.0 715 | typescript: 5.4.5 716 | transitivePeerDependencies: 717 | - '@swc/core' 718 | - '@swc/wasm' 719 | - '@types/node' 720 | dev: true 721 | 722 | /ts-node@10.9.2(@types/node@20.12.11)(typescript@5.4.5): 723 | resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} 724 | hasBin: true 725 | peerDependencies: 726 | '@swc/core': '>=1.2.50' 727 | '@swc/wasm': '>=1.2.50' 728 | '@types/node': '*' 729 | typescript: '>=2.7' 730 | peerDependenciesMeta: 731 | '@swc/core': 732 | optional: true 733 | '@swc/wasm': 734 | optional: true 735 | dependencies: 736 | '@cspotcode/source-map-support': 0.8.1 737 | '@tsconfig/node10': 1.0.11 738 | '@tsconfig/node12': 1.0.11 739 | '@tsconfig/node14': 1.0.3 740 | '@tsconfig/node16': 1.0.4 741 | '@types/node': 20.12.11 742 | acorn: 8.11.3 743 | acorn-walk: 8.3.2 744 | arg: 4.1.3 745 | create-require: 1.1.1 746 | diff: 4.0.2 747 | make-error: 1.3.6 748 | typescript: 5.4.5 749 | v8-compile-cache-lib: 3.0.1 750 | yn: 3.1.1 751 | dev: true 752 | 753 | /ts-patch@3.1.2: 754 | resolution: {integrity: sha512-n58F5AqjUMdp9RAKq+E1YBkmONltPVbt1nN+wrmZXoYZek6QcvaTuqvKMhYhr5BxtC53kD/exxIPA1cP1RQxsA==} 755 | hasBin: true 756 | dependencies: 757 | chalk: 4.1.2 758 | global-prefix: 3.0.0 759 | minimist: 1.2.8 760 | resolve: 1.22.8 761 | semver: 7.6.1 762 | strip-ansi: 6.0.1 763 | dev: true 764 | 765 | /tsc-alias@1.8.8: 766 | resolution: {integrity: sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==} 767 | hasBin: true 768 | dependencies: 769 | chokidar: 3.6.0 770 | commander: 9.5.0 771 | globby: 11.1.0 772 | mylas: 2.1.13 773 | normalize-path: 3.0.0 774 | plimit-lit: 1.6.1 775 | dev: true 776 | 777 | /tsconfig-paths@4.2.0: 778 | resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} 779 | engines: {node: '>=6'} 780 | dependencies: 781 | json5: 2.2.3 782 | minimist: 1.2.8 783 | strip-bom: 3.0.0 784 | dev: true 785 | 786 | /tsconfig@7.0.0: 787 | resolution: {integrity: sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==} 788 | dependencies: 789 | '@types/strip-bom': 3.0.0 790 | '@types/strip-json-comments': 0.0.30 791 | strip-bom: 3.0.0 792 | strip-json-comments: 2.0.1 793 | dev: true 794 | 795 | /typescript-transform-paths@3.4.7(typescript@5.4.5): 796 | resolution: {integrity: sha512-1Us1kdkdfKd2unbkBAOV2HHRmbRBYpSuk9nJ7cLD2hP4QmfToiM/VpxNlhJc1eezVwVqSKSBjNSzZsK/fWR/9A==} 797 | peerDependencies: 798 | typescript: '>=3.6.5' 799 | dependencies: 800 | minimatch: 3.1.2 801 | typescript: 5.4.5 802 | dev: true 803 | 804 | /typescript@5.4.5: 805 | resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} 806 | engines: {node: '>=14.17'} 807 | hasBin: true 808 | dev: true 809 | 810 | /undici-types@5.26.5: 811 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 812 | dev: true 813 | 814 | /v8-compile-cache-lib@3.0.1: 815 | resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} 816 | dev: true 817 | 818 | /webidl-conversions@3.0.1: 819 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 820 | dev: false 821 | 822 | /whatwg-url@5.0.0: 823 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 824 | dependencies: 825 | tr46: 0.0.3 826 | webidl-conversions: 3.0.1 827 | dev: false 828 | 829 | /which@1.3.1: 830 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 831 | hasBin: true 832 | dependencies: 833 | isexe: 2.0.0 834 | dev: true 835 | 836 | /wrappy@1.0.2: 837 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 838 | dev: true 839 | 840 | /xtend@4.0.2: 841 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 842 | engines: {node: '>=0.4'} 843 | dev: true 844 | 845 | /yn@3.1.1: 846 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} 847 | engines: {node: '>=6'} 848 | dev: true 849 | -------------------------------------------------------------------------------- /bot/src/bot.ts: -------------------------------------------------------------------------------- 1 | import { Telegraf as TelegramBot, Context } from "telegraf"; 2 | import { Config } from "./config"; 3 | 4 | export class Bot { 5 | private bot: TelegramBot; 6 | 7 | constructor() { 8 | this.bot = this.createTelegramBot(); 9 | } 10 | 11 | public start() { 12 | this.bot.start(this.handleBotStart); 13 | this.bot.launch(this.handleBotLaunch); 14 | } 15 | 16 | // -------------------------------PRIVATE--------------------------------- // 17 | 18 | private createTelegramBot() { 19 | const botToken = Config.TELE_BOT_TOKEN; 20 | return new TelegramBot(botToken); 21 | } 22 | 23 | private handleBotStart(ctx: Context) { 24 | const webLink = Config.TELE_BOT_WEB_LINK; 25 | 26 | ctx.reply("Hi! lets get you started Click the button below", { 27 | reply_markup: { 28 | inline_keyboard: [ 29 | [ 30 | { 31 | text: "Get Started", 32 | web_app: { 33 | url: webLink, 34 | }, 35 | }, 36 | ], 37 | ], 38 | }, 39 | }); 40 | } 41 | 42 | private handleBotLaunch() { 43 | console.log("Bot is up and running..."); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /bot/src/config.ts: -------------------------------------------------------------------------------- 1 | import * as dotenv from "dotenv"; 2 | 3 | dotenv.config(); 4 | 5 | export const Config = { 6 | NODE_ENV: process.env.NODE_ENV || "development", 7 | TELE_BOT_TOKEN: process.env.TELE_BOT_TOKEN || "", 8 | TELE_BOT_WEB_LINK: process.env.TELE_BOT_WEB_LINK || "", 9 | }; 10 | -------------------------------------------------------------------------------- /bot/src/main.ts: -------------------------------------------------------------------------------- 1 | import { Bot } from "./bot"; 2 | 3 | function main() { 4 | const bot = new Bot(); 5 | bot.start(); 6 | } 7 | 8 | main(); 9 | -------------------------------------------------------------------------------- /bot/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2016", 4 | "module": "commonjs", 5 | "baseUrl": "./", 6 | "paths": { 7 | "@/*": ["src/*"] 8 | }, 9 | "outDir": "dist", 10 | "esModuleInterop": true, 11 | "forceConsistentCasingInFileNames": true, 12 | "strict": true, 13 | "skipLibCheck": true, 14 | "plugins": [ 15 | /* Transform paths in output .js files */ 16 | { 17 | "transform": "typescript-transform-paths" 18 | }, 19 | /* Transform paths in output .d.ts files */ 20 | { 21 | "transform": "typescript-transform-paths", 22 | "afterDeclarations": true 23 | } 24 | ] 25 | }, 26 | "include": ["src/**/*", "src/config.ts"] 27 | } 28 | -------------------------------------------------------------------------------- /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": "slate", 10 | "cssVariables": true, 11 | "prefix": "" 12 | }, 13 | "aliases": { 14 | "components": "@/components", 15 | "utils": "@/lib/utils" 16 | } 17 | } -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = {}; 3 | 4 | export default nextConfig; 5 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "telegram-mini-app-nextjs-boilerplate", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@radix-ui/react-icons": "^1.3.0", 13 | "@tma.js/sdk": "^1.5.3", 14 | "@tma.js/sdk-react": "^2.0.3", 15 | "class-variance-authority": "^0.7.0", 16 | "clsx": "^2.1.1", 17 | "next": "14.2.3", 18 | "react": "^18", 19 | "react-dom": "^18", 20 | "tailwind-merge": "^2.3.0", 21 | "tailwindcss-animate": "^1.0.7" 22 | }, 23 | "devDependencies": { 24 | "@types/node": "^20", 25 | "@types/react": "^18", 26 | "@types/react-dom": "^18", 27 | "eslint": "^8", 28 | "eslint-config-next": "14.2.3", 29 | "postcss": "^8", 30 | "tailwindcss": "^3.4.1", 31 | "typescript": "^5" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | '@radix-ui/react-icons': 9 | specifier: ^1.3.0 10 | version: 1.3.0(react@18.3.1) 11 | '@tma.js/sdk': 12 | specifier: ^1.5.3 13 | version: 1.5.3 14 | '@tma.js/sdk-react': 15 | specifier: ^2.0.3 16 | version: 2.0.3(@tma.js/sdk@1.5.3)(@types/react@18.3.1)(react@18.3.1) 17 | class-variance-authority: 18 | specifier: ^0.7.0 19 | version: 0.7.0 20 | clsx: 21 | specifier: ^2.1.1 22 | version: 2.1.1 23 | next: 24 | specifier: 14.2.3 25 | version: 14.2.3(react-dom@18.3.1)(react@18.3.1) 26 | react: 27 | specifier: ^18 28 | version: 18.3.1 29 | react-dom: 30 | specifier: ^18 31 | version: 18.3.1(react@18.3.1) 32 | tailwind-merge: 33 | specifier: ^2.3.0 34 | version: 2.3.0 35 | tailwindcss-animate: 36 | specifier: ^1.0.7 37 | version: 1.0.7(tailwindcss@3.4.3) 38 | 39 | devDependencies: 40 | '@types/node': 41 | specifier: ^20 42 | version: 20.12.11 43 | '@types/react': 44 | specifier: ^18 45 | version: 18.3.1 46 | '@types/react-dom': 47 | specifier: ^18 48 | version: 18.3.0 49 | eslint: 50 | specifier: ^8 51 | version: 8.57.0 52 | eslint-config-next: 53 | specifier: 14.2.3 54 | version: 14.2.3(eslint@8.57.0)(typescript@5.4.5) 55 | postcss: 56 | specifier: ^8 57 | version: 8.4.38 58 | tailwindcss: 59 | specifier: ^3.4.1 60 | version: 3.4.3 61 | typescript: 62 | specifier: ^5 63 | version: 5.4.5 64 | 65 | packages: 66 | 67 | /@alloc/quick-lru@5.2.0: 68 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 69 | engines: {node: '>=10'} 70 | 71 | /@babel/runtime@7.24.5: 72 | resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} 73 | engines: {node: '>=6.9.0'} 74 | dependencies: 75 | regenerator-runtime: 0.14.1 76 | 77 | /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): 78 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 79 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 80 | peerDependencies: 81 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 82 | dependencies: 83 | eslint: 8.57.0 84 | eslint-visitor-keys: 3.4.3 85 | dev: true 86 | 87 | /@eslint-community/regexpp@4.10.0: 88 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} 89 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 90 | dev: true 91 | 92 | /@eslint/eslintrc@2.1.4: 93 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 94 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 95 | dependencies: 96 | ajv: 6.12.6 97 | debug: 4.3.4 98 | espree: 9.6.1 99 | globals: 13.24.0 100 | ignore: 5.3.1 101 | import-fresh: 3.3.0 102 | js-yaml: 4.1.0 103 | minimatch: 3.1.2 104 | strip-json-comments: 3.1.1 105 | transitivePeerDependencies: 106 | - supports-color 107 | dev: true 108 | 109 | /@eslint/js@8.57.0: 110 | resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} 111 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 112 | dev: true 113 | 114 | /@humanwhocodes/config-array@0.11.14: 115 | resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} 116 | engines: {node: '>=10.10.0'} 117 | dependencies: 118 | '@humanwhocodes/object-schema': 2.0.3 119 | debug: 4.3.4 120 | minimatch: 3.1.2 121 | transitivePeerDependencies: 122 | - supports-color 123 | dev: true 124 | 125 | /@humanwhocodes/module-importer@1.0.1: 126 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 127 | engines: {node: '>=12.22'} 128 | dev: true 129 | 130 | /@humanwhocodes/object-schema@2.0.3: 131 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} 132 | dev: true 133 | 134 | /@isaacs/cliui@8.0.2: 135 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 136 | engines: {node: '>=12'} 137 | dependencies: 138 | string-width: 5.1.2 139 | string-width-cjs: /string-width@4.2.3 140 | strip-ansi: 7.1.0 141 | strip-ansi-cjs: /strip-ansi@6.0.1 142 | wrap-ansi: 8.1.0 143 | wrap-ansi-cjs: /wrap-ansi@7.0.0 144 | 145 | /@jridgewell/gen-mapping@0.3.5: 146 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 147 | engines: {node: '>=6.0.0'} 148 | dependencies: 149 | '@jridgewell/set-array': 1.2.1 150 | '@jridgewell/sourcemap-codec': 1.4.15 151 | '@jridgewell/trace-mapping': 0.3.25 152 | 153 | /@jridgewell/resolve-uri@3.1.2: 154 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 155 | engines: {node: '>=6.0.0'} 156 | 157 | /@jridgewell/set-array@1.2.1: 158 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 159 | engines: {node: '>=6.0.0'} 160 | 161 | /@jridgewell/sourcemap-codec@1.4.15: 162 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 163 | 164 | /@jridgewell/trace-mapping@0.3.25: 165 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 166 | dependencies: 167 | '@jridgewell/resolve-uri': 3.1.2 168 | '@jridgewell/sourcemap-codec': 1.4.15 169 | 170 | /@next/env@14.2.3: 171 | resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} 172 | dev: false 173 | 174 | /@next/eslint-plugin-next@14.2.3: 175 | resolution: {integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==} 176 | dependencies: 177 | glob: 10.3.10 178 | dev: true 179 | 180 | /@next/swc-darwin-arm64@14.2.3: 181 | resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} 182 | engines: {node: '>= 10'} 183 | cpu: [arm64] 184 | os: [darwin] 185 | requiresBuild: true 186 | dev: false 187 | optional: true 188 | 189 | /@next/swc-darwin-x64@14.2.3: 190 | resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==} 191 | engines: {node: '>= 10'} 192 | cpu: [x64] 193 | os: [darwin] 194 | requiresBuild: true 195 | dev: false 196 | optional: true 197 | 198 | /@next/swc-linux-arm64-gnu@14.2.3: 199 | resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==} 200 | engines: {node: '>= 10'} 201 | cpu: [arm64] 202 | os: [linux] 203 | requiresBuild: true 204 | dev: false 205 | optional: true 206 | 207 | /@next/swc-linux-arm64-musl@14.2.3: 208 | resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==} 209 | engines: {node: '>= 10'} 210 | cpu: [arm64] 211 | os: [linux] 212 | requiresBuild: true 213 | dev: false 214 | optional: true 215 | 216 | /@next/swc-linux-x64-gnu@14.2.3: 217 | resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==} 218 | engines: {node: '>= 10'} 219 | cpu: [x64] 220 | os: [linux] 221 | requiresBuild: true 222 | dev: false 223 | optional: true 224 | 225 | /@next/swc-linux-x64-musl@14.2.3: 226 | resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==} 227 | engines: {node: '>= 10'} 228 | cpu: [x64] 229 | os: [linux] 230 | requiresBuild: true 231 | dev: false 232 | optional: true 233 | 234 | /@next/swc-win32-arm64-msvc@14.2.3: 235 | resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==} 236 | engines: {node: '>= 10'} 237 | cpu: [arm64] 238 | os: [win32] 239 | requiresBuild: true 240 | dev: false 241 | optional: true 242 | 243 | /@next/swc-win32-ia32-msvc@14.2.3: 244 | resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==} 245 | engines: {node: '>= 10'} 246 | cpu: [ia32] 247 | os: [win32] 248 | requiresBuild: true 249 | dev: false 250 | optional: true 251 | 252 | /@next/swc-win32-x64-msvc@14.2.3: 253 | resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==} 254 | engines: {node: '>= 10'} 255 | cpu: [x64] 256 | os: [win32] 257 | requiresBuild: true 258 | dev: false 259 | optional: true 260 | 261 | /@nodelib/fs.scandir@2.1.5: 262 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 263 | engines: {node: '>= 8'} 264 | dependencies: 265 | '@nodelib/fs.stat': 2.0.5 266 | run-parallel: 1.2.0 267 | 268 | /@nodelib/fs.stat@2.0.5: 269 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 270 | engines: {node: '>= 8'} 271 | 272 | /@nodelib/fs.walk@1.2.8: 273 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 274 | engines: {node: '>= 8'} 275 | dependencies: 276 | '@nodelib/fs.scandir': 2.1.5 277 | fastq: 1.17.1 278 | 279 | /@pkgjs/parseargs@0.11.0: 280 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 281 | engines: {node: '>=14'} 282 | requiresBuild: true 283 | optional: true 284 | 285 | /@radix-ui/react-icons@1.3.0(react@18.3.1): 286 | resolution: {integrity: sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==} 287 | peerDependencies: 288 | react: ^16.x || ^17.x || ^18.x 289 | dependencies: 290 | react: 18.3.1 291 | dev: false 292 | 293 | /@rushstack/eslint-patch@1.10.2: 294 | resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} 295 | dev: true 296 | 297 | /@swc/counter@0.1.3: 298 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 299 | dev: false 300 | 301 | /@swc/helpers@0.5.5: 302 | resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} 303 | dependencies: 304 | '@swc/counter': 0.1.3 305 | tslib: 2.6.2 306 | dev: false 307 | 308 | /@tma.js/sdk-react@2.0.3(@tma.js/sdk@1.5.3)(@types/react@18.3.1)(react@18.3.1): 309 | resolution: {integrity: sha512-8fvnVk/bwCuOOhKLGLL2ryE93GzcY2l3cSCRg7ATHmzrzV9NIZpkEtNY2CtsjmGONIrtxpT/WTcljj86hN5lOw==} 310 | peerDependencies: 311 | '@tma.js/sdk': 1.5.3 312 | '@types/react': ^17.0.0 || ^18.0.0 313 | react: ^17.0.0 || ^18.0.0 314 | peerDependenciesMeta: 315 | '@types/react': 316 | optional: true 317 | dependencies: 318 | '@tma.js/sdk': 1.5.3 319 | '@types/react': 18.3.1 320 | react: 18.3.1 321 | dev: false 322 | 323 | /@tma.js/sdk@1.5.3: 324 | resolution: {integrity: sha512-oXWtFoiiJCzsueOrX7FFQhpljUOLY3BkxNen6J6Ri0r1gZrlu1uFKZVeCpV7KUzsNTLfIK9VQEOcNxI3zuejJA==} 325 | dev: false 326 | 327 | /@types/json5@0.0.29: 328 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 329 | dev: true 330 | 331 | /@types/node@20.12.11: 332 | resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} 333 | dependencies: 334 | undici-types: 5.26.5 335 | dev: true 336 | 337 | /@types/prop-types@15.7.12: 338 | resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} 339 | 340 | /@types/react-dom@18.3.0: 341 | resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} 342 | dependencies: 343 | '@types/react': 18.3.1 344 | dev: true 345 | 346 | /@types/react@18.3.1: 347 | resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==} 348 | dependencies: 349 | '@types/prop-types': 15.7.12 350 | csstype: 3.1.3 351 | 352 | /@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5): 353 | resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} 354 | engines: {node: ^16.0.0 || >=18.0.0} 355 | peerDependencies: 356 | eslint: ^8.56.0 357 | typescript: '*' 358 | peerDependenciesMeta: 359 | typescript: 360 | optional: true 361 | dependencies: 362 | '@typescript-eslint/scope-manager': 7.2.0 363 | '@typescript-eslint/types': 7.2.0 364 | '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.5) 365 | '@typescript-eslint/visitor-keys': 7.2.0 366 | debug: 4.3.4 367 | eslint: 8.57.0 368 | typescript: 5.4.5 369 | transitivePeerDependencies: 370 | - supports-color 371 | dev: true 372 | 373 | /@typescript-eslint/scope-manager@7.2.0: 374 | resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} 375 | engines: {node: ^16.0.0 || >=18.0.0} 376 | dependencies: 377 | '@typescript-eslint/types': 7.2.0 378 | '@typescript-eslint/visitor-keys': 7.2.0 379 | dev: true 380 | 381 | /@typescript-eslint/types@7.2.0: 382 | resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} 383 | engines: {node: ^16.0.0 || >=18.0.0} 384 | dev: true 385 | 386 | /@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.5): 387 | resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} 388 | engines: {node: ^16.0.0 || >=18.0.0} 389 | peerDependencies: 390 | typescript: '*' 391 | peerDependenciesMeta: 392 | typescript: 393 | optional: true 394 | dependencies: 395 | '@typescript-eslint/types': 7.2.0 396 | '@typescript-eslint/visitor-keys': 7.2.0 397 | debug: 4.3.4 398 | globby: 11.1.0 399 | is-glob: 4.0.3 400 | minimatch: 9.0.3 401 | semver: 7.6.1 402 | ts-api-utils: 1.3.0(typescript@5.4.5) 403 | typescript: 5.4.5 404 | transitivePeerDependencies: 405 | - supports-color 406 | dev: true 407 | 408 | /@typescript-eslint/visitor-keys@7.2.0: 409 | resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} 410 | engines: {node: ^16.0.0 || >=18.0.0} 411 | dependencies: 412 | '@typescript-eslint/types': 7.2.0 413 | eslint-visitor-keys: 3.4.3 414 | dev: true 415 | 416 | /@ungap/structured-clone@1.2.0: 417 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 418 | dev: true 419 | 420 | /acorn-jsx@5.3.2(acorn@8.11.3): 421 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 422 | peerDependencies: 423 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 424 | dependencies: 425 | acorn: 8.11.3 426 | dev: true 427 | 428 | /acorn@8.11.3: 429 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 430 | engines: {node: '>=0.4.0'} 431 | hasBin: true 432 | dev: true 433 | 434 | /ajv@6.12.6: 435 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 436 | dependencies: 437 | fast-deep-equal: 3.1.3 438 | fast-json-stable-stringify: 2.1.0 439 | json-schema-traverse: 0.4.1 440 | uri-js: 4.4.1 441 | dev: true 442 | 443 | /ansi-regex@5.0.1: 444 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 445 | engines: {node: '>=8'} 446 | 447 | /ansi-regex@6.0.1: 448 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 449 | engines: {node: '>=12'} 450 | 451 | /ansi-styles@4.3.0: 452 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 453 | engines: {node: '>=8'} 454 | dependencies: 455 | color-convert: 2.0.1 456 | 457 | /ansi-styles@6.2.1: 458 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 459 | engines: {node: '>=12'} 460 | 461 | /any-promise@1.3.0: 462 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 463 | 464 | /anymatch@3.1.3: 465 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 466 | engines: {node: '>= 8'} 467 | dependencies: 468 | normalize-path: 3.0.0 469 | picomatch: 2.3.1 470 | 471 | /arg@5.0.2: 472 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 473 | 474 | /argparse@2.0.1: 475 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 476 | dev: true 477 | 478 | /aria-query@5.3.0: 479 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} 480 | dependencies: 481 | dequal: 2.0.3 482 | dev: true 483 | 484 | /array-buffer-byte-length@1.0.1: 485 | resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} 486 | engines: {node: '>= 0.4'} 487 | dependencies: 488 | call-bind: 1.0.7 489 | is-array-buffer: 3.0.4 490 | dev: true 491 | 492 | /array-includes@3.1.8: 493 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} 494 | engines: {node: '>= 0.4'} 495 | dependencies: 496 | call-bind: 1.0.7 497 | define-properties: 1.2.1 498 | es-abstract: 1.23.3 499 | es-object-atoms: 1.0.0 500 | get-intrinsic: 1.2.4 501 | is-string: 1.0.7 502 | dev: true 503 | 504 | /array-union@2.1.0: 505 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 506 | engines: {node: '>=8'} 507 | dev: true 508 | 509 | /array.prototype.findlast@1.2.5: 510 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} 511 | engines: {node: '>= 0.4'} 512 | dependencies: 513 | call-bind: 1.0.7 514 | define-properties: 1.2.1 515 | es-abstract: 1.23.3 516 | es-errors: 1.3.0 517 | es-object-atoms: 1.0.0 518 | es-shim-unscopables: 1.0.2 519 | dev: true 520 | 521 | /array.prototype.findlastindex@1.2.5: 522 | resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} 523 | engines: {node: '>= 0.4'} 524 | dependencies: 525 | call-bind: 1.0.7 526 | define-properties: 1.2.1 527 | es-abstract: 1.23.3 528 | es-errors: 1.3.0 529 | es-object-atoms: 1.0.0 530 | es-shim-unscopables: 1.0.2 531 | dev: true 532 | 533 | /array.prototype.flat@1.3.2: 534 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} 535 | engines: {node: '>= 0.4'} 536 | dependencies: 537 | call-bind: 1.0.7 538 | define-properties: 1.2.1 539 | es-abstract: 1.23.3 540 | es-shim-unscopables: 1.0.2 541 | dev: true 542 | 543 | /array.prototype.flatmap@1.3.2: 544 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} 545 | engines: {node: '>= 0.4'} 546 | dependencies: 547 | call-bind: 1.0.7 548 | define-properties: 1.2.1 549 | es-abstract: 1.23.3 550 | es-shim-unscopables: 1.0.2 551 | dev: true 552 | 553 | /array.prototype.toreversed@1.1.2: 554 | resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} 555 | dependencies: 556 | call-bind: 1.0.7 557 | define-properties: 1.2.1 558 | es-abstract: 1.23.3 559 | es-shim-unscopables: 1.0.2 560 | dev: true 561 | 562 | /array.prototype.tosorted@1.1.3: 563 | resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} 564 | dependencies: 565 | call-bind: 1.0.7 566 | define-properties: 1.2.1 567 | es-abstract: 1.23.3 568 | es-errors: 1.3.0 569 | es-shim-unscopables: 1.0.2 570 | dev: true 571 | 572 | /arraybuffer.prototype.slice@1.0.3: 573 | resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} 574 | engines: {node: '>= 0.4'} 575 | dependencies: 576 | array-buffer-byte-length: 1.0.1 577 | call-bind: 1.0.7 578 | define-properties: 1.2.1 579 | es-abstract: 1.23.3 580 | es-errors: 1.3.0 581 | get-intrinsic: 1.2.4 582 | is-array-buffer: 3.0.4 583 | is-shared-array-buffer: 1.0.3 584 | dev: true 585 | 586 | /ast-types-flow@0.0.8: 587 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} 588 | dev: true 589 | 590 | /available-typed-arrays@1.0.7: 591 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 592 | engines: {node: '>= 0.4'} 593 | dependencies: 594 | possible-typed-array-names: 1.0.0 595 | dev: true 596 | 597 | /axe-core@4.7.0: 598 | resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} 599 | engines: {node: '>=4'} 600 | dev: true 601 | 602 | /axobject-query@3.2.1: 603 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} 604 | dependencies: 605 | dequal: 2.0.3 606 | dev: true 607 | 608 | /balanced-match@1.0.2: 609 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 610 | 611 | /binary-extensions@2.3.0: 612 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 613 | engines: {node: '>=8'} 614 | 615 | /brace-expansion@1.1.11: 616 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 617 | dependencies: 618 | balanced-match: 1.0.2 619 | concat-map: 0.0.1 620 | dev: true 621 | 622 | /brace-expansion@2.0.1: 623 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 624 | dependencies: 625 | balanced-match: 1.0.2 626 | 627 | /braces@3.0.2: 628 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 629 | engines: {node: '>=8'} 630 | dependencies: 631 | fill-range: 7.0.1 632 | 633 | /busboy@1.6.0: 634 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 635 | engines: {node: '>=10.16.0'} 636 | dependencies: 637 | streamsearch: 1.1.0 638 | dev: false 639 | 640 | /call-bind@1.0.7: 641 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 642 | engines: {node: '>= 0.4'} 643 | dependencies: 644 | es-define-property: 1.0.0 645 | es-errors: 1.3.0 646 | function-bind: 1.1.2 647 | get-intrinsic: 1.2.4 648 | set-function-length: 1.2.2 649 | dev: true 650 | 651 | /callsites@3.1.0: 652 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 653 | engines: {node: '>=6'} 654 | dev: true 655 | 656 | /camelcase-css@2.0.1: 657 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 658 | engines: {node: '>= 6'} 659 | 660 | /caniuse-lite@1.0.30001617: 661 | resolution: {integrity: sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==} 662 | dev: false 663 | 664 | /chalk@4.1.2: 665 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 666 | engines: {node: '>=10'} 667 | dependencies: 668 | ansi-styles: 4.3.0 669 | supports-color: 7.2.0 670 | dev: true 671 | 672 | /chokidar@3.6.0: 673 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 674 | engines: {node: '>= 8.10.0'} 675 | dependencies: 676 | anymatch: 3.1.3 677 | braces: 3.0.2 678 | glob-parent: 5.1.2 679 | is-binary-path: 2.1.0 680 | is-glob: 4.0.3 681 | normalize-path: 3.0.0 682 | readdirp: 3.6.0 683 | optionalDependencies: 684 | fsevents: 2.3.3 685 | 686 | /class-variance-authority@0.7.0: 687 | resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} 688 | dependencies: 689 | clsx: 2.0.0 690 | dev: false 691 | 692 | /client-only@0.0.1: 693 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 694 | dev: false 695 | 696 | /clsx@2.0.0: 697 | resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} 698 | engines: {node: '>=6'} 699 | dev: false 700 | 701 | /clsx@2.1.1: 702 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 703 | engines: {node: '>=6'} 704 | dev: false 705 | 706 | /color-convert@2.0.1: 707 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 708 | engines: {node: '>=7.0.0'} 709 | dependencies: 710 | color-name: 1.1.4 711 | 712 | /color-name@1.1.4: 713 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 714 | 715 | /commander@4.1.1: 716 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 717 | engines: {node: '>= 6'} 718 | 719 | /concat-map@0.0.1: 720 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 721 | dev: true 722 | 723 | /cross-spawn@7.0.3: 724 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 725 | engines: {node: '>= 8'} 726 | dependencies: 727 | path-key: 3.1.1 728 | shebang-command: 2.0.0 729 | which: 2.0.2 730 | 731 | /cssesc@3.0.0: 732 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 733 | engines: {node: '>=4'} 734 | hasBin: true 735 | 736 | /csstype@3.1.3: 737 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 738 | 739 | /damerau-levenshtein@1.0.8: 740 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 741 | dev: true 742 | 743 | /data-view-buffer@1.0.1: 744 | resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} 745 | engines: {node: '>= 0.4'} 746 | dependencies: 747 | call-bind: 1.0.7 748 | es-errors: 1.3.0 749 | is-data-view: 1.0.1 750 | dev: true 751 | 752 | /data-view-byte-length@1.0.1: 753 | resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} 754 | engines: {node: '>= 0.4'} 755 | dependencies: 756 | call-bind: 1.0.7 757 | es-errors: 1.3.0 758 | is-data-view: 1.0.1 759 | dev: true 760 | 761 | /data-view-byte-offset@1.0.0: 762 | resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} 763 | engines: {node: '>= 0.4'} 764 | dependencies: 765 | call-bind: 1.0.7 766 | es-errors: 1.3.0 767 | is-data-view: 1.0.1 768 | dev: true 769 | 770 | /debug@3.2.7: 771 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 772 | peerDependencies: 773 | supports-color: '*' 774 | peerDependenciesMeta: 775 | supports-color: 776 | optional: true 777 | dependencies: 778 | ms: 2.1.3 779 | dev: true 780 | 781 | /debug@4.3.4: 782 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 783 | engines: {node: '>=6.0'} 784 | peerDependencies: 785 | supports-color: '*' 786 | peerDependenciesMeta: 787 | supports-color: 788 | optional: true 789 | dependencies: 790 | ms: 2.1.2 791 | dev: true 792 | 793 | /deep-is@0.1.4: 794 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 795 | dev: true 796 | 797 | /define-data-property@1.1.4: 798 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 799 | engines: {node: '>= 0.4'} 800 | dependencies: 801 | es-define-property: 1.0.0 802 | es-errors: 1.3.0 803 | gopd: 1.0.1 804 | dev: true 805 | 806 | /define-properties@1.2.1: 807 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 808 | engines: {node: '>= 0.4'} 809 | dependencies: 810 | define-data-property: 1.1.4 811 | has-property-descriptors: 1.0.2 812 | object-keys: 1.1.1 813 | dev: true 814 | 815 | /dequal@2.0.3: 816 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 817 | engines: {node: '>=6'} 818 | dev: true 819 | 820 | /didyoumean@1.2.2: 821 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 822 | 823 | /dir-glob@3.0.1: 824 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 825 | engines: {node: '>=8'} 826 | dependencies: 827 | path-type: 4.0.0 828 | dev: true 829 | 830 | /dlv@1.1.3: 831 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 832 | 833 | /doctrine@2.1.0: 834 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 835 | engines: {node: '>=0.10.0'} 836 | dependencies: 837 | esutils: 2.0.3 838 | dev: true 839 | 840 | /doctrine@3.0.0: 841 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 842 | engines: {node: '>=6.0.0'} 843 | dependencies: 844 | esutils: 2.0.3 845 | dev: true 846 | 847 | /eastasianwidth@0.2.0: 848 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 849 | 850 | /emoji-regex@8.0.0: 851 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 852 | 853 | /emoji-regex@9.2.2: 854 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 855 | 856 | /enhanced-resolve@5.16.1: 857 | resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==} 858 | engines: {node: '>=10.13.0'} 859 | dependencies: 860 | graceful-fs: 4.2.11 861 | tapable: 2.2.1 862 | dev: true 863 | 864 | /es-abstract@1.23.3: 865 | resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} 866 | engines: {node: '>= 0.4'} 867 | dependencies: 868 | array-buffer-byte-length: 1.0.1 869 | arraybuffer.prototype.slice: 1.0.3 870 | available-typed-arrays: 1.0.7 871 | call-bind: 1.0.7 872 | data-view-buffer: 1.0.1 873 | data-view-byte-length: 1.0.1 874 | data-view-byte-offset: 1.0.0 875 | es-define-property: 1.0.0 876 | es-errors: 1.3.0 877 | es-object-atoms: 1.0.0 878 | es-set-tostringtag: 2.0.3 879 | es-to-primitive: 1.2.1 880 | function.prototype.name: 1.1.6 881 | get-intrinsic: 1.2.4 882 | get-symbol-description: 1.0.2 883 | globalthis: 1.0.4 884 | gopd: 1.0.1 885 | has-property-descriptors: 1.0.2 886 | has-proto: 1.0.3 887 | has-symbols: 1.0.3 888 | hasown: 2.0.2 889 | internal-slot: 1.0.7 890 | is-array-buffer: 3.0.4 891 | is-callable: 1.2.7 892 | is-data-view: 1.0.1 893 | is-negative-zero: 2.0.3 894 | is-regex: 1.1.4 895 | is-shared-array-buffer: 1.0.3 896 | is-string: 1.0.7 897 | is-typed-array: 1.1.13 898 | is-weakref: 1.0.2 899 | object-inspect: 1.13.1 900 | object-keys: 1.1.1 901 | object.assign: 4.1.5 902 | regexp.prototype.flags: 1.5.2 903 | safe-array-concat: 1.1.2 904 | safe-regex-test: 1.0.3 905 | string.prototype.trim: 1.2.9 906 | string.prototype.trimend: 1.0.8 907 | string.prototype.trimstart: 1.0.8 908 | typed-array-buffer: 1.0.2 909 | typed-array-byte-length: 1.0.1 910 | typed-array-byte-offset: 1.0.2 911 | typed-array-length: 1.0.6 912 | unbox-primitive: 1.0.2 913 | which-typed-array: 1.1.15 914 | dev: true 915 | 916 | /es-define-property@1.0.0: 917 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} 918 | engines: {node: '>= 0.4'} 919 | dependencies: 920 | get-intrinsic: 1.2.4 921 | dev: true 922 | 923 | /es-errors@1.3.0: 924 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 925 | engines: {node: '>= 0.4'} 926 | dev: true 927 | 928 | /es-iterator-helpers@1.0.19: 929 | resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} 930 | engines: {node: '>= 0.4'} 931 | dependencies: 932 | call-bind: 1.0.7 933 | define-properties: 1.2.1 934 | es-abstract: 1.23.3 935 | es-errors: 1.3.0 936 | es-set-tostringtag: 2.0.3 937 | function-bind: 1.1.2 938 | get-intrinsic: 1.2.4 939 | globalthis: 1.0.4 940 | has-property-descriptors: 1.0.2 941 | has-proto: 1.0.3 942 | has-symbols: 1.0.3 943 | internal-slot: 1.0.7 944 | iterator.prototype: 1.1.2 945 | safe-array-concat: 1.1.2 946 | dev: true 947 | 948 | /es-object-atoms@1.0.0: 949 | resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} 950 | engines: {node: '>= 0.4'} 951 | dependencies: 952 | es-errors: 1.3.0 953 | dev: true 954 | 955 | /es-set-tostringtag@2.0.3: 956 | resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} 957 | engines: {node: '>= 0.4'} 958 | dependencies: 959 | get-intrinsic: 1.2.4 960 | has-tostringtag: 1.0.2 961 | hasown: 2.0.2 962 | dev: true 963 | 964 | /es-shim-unscopables@1.0.2: 965 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} 966 | dependencies: 967 | hasown: 2.0.2 968 | dev: true 969 | 970 | /es-to-primitive@1.2.1: 971 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 972 | engines: {node: '>= 0.4'} 973 | dependencies: 974 | is-callable: 1.2.7 975 | is-date-object: 1.0.5 976 | is-symbol: 1.0.4 977 | dev: true 978 | 979 | /escape-string-regexp@4.0.0: 980 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 981 | engines: {node: '>=10'} 982 | dev: true 983 | 984 | /eslint-config-next@14.2.3(eslint@8.57.0)(typescript@5.4.5): 985 | resolution: {integrity: sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==} 986 | peerDependencies: 987 | eslint: ^7.23.0 || ^8.0.0 988 | typescript: '>=3.3.1' 989 | peerDependenciesMeta: 990 | typescript: 991 | optional: true 992 | dependencies: 993 | '@next/eslint-plugin-next': 14.2.3 994 | '@rushstack/eslint-patch': 1.10.2 995 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) 996 | eslint: 8.57.0 997 | eslint-import-resolver-node: 0.3.9 998 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) 999 | eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) 1000 | eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) 1001 | eslint-plugin-react: 7.34.1(eslint@8.57.0) 1002 | eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) 1003 | typescript: 5.4.5 1004 | transitivePeerDependencies: 1005 | - eslint-import-resolver-webpack 1006 | - supports-color 1007 | dev: true 1008 | 1009 | /eslint-import-resolver-node@0.3.9: 1010 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 1011 | dependencies: 1012 | debug: 3.2.7 1013 | is-core-module: 2.13.1 1014 | resolve: 1.22.8 1015 | transitivePeerDependencies: 1016 | - supports-color 1017 | dev: true 1018 | 1019 | /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): 1020 | resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} 1021 | engines: {node: ^14.18.0 || >=16.0.0} 1022 | peerDependencies: 1023 | eslint: '*' 1024 | eslint-plugin-import: '*' 1025 | dependencies: 1026 | debug: 4.3.4 1027 | enhanced-resolve: 5.16.1 1028 | eslint: 8.57.0 1029 | eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) 1030 | eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) 1031 | fast-glob: 3.3.2 1032 | get-tsconfig: 4.7.4 1033 | is-core-module: 2.13.1 1034 | is-glob: 4.0.3 1035 | transitivePeerDependencies: 1036 | - '@typescript-eslint/parser' 1037 | - eslint-import-resolver-node 1038 | - eslint-import-resolver-webpack 1039 | - supports-color 1040 | dev: true 1041 | 1042 | /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): 1043 | resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} 1044 | engines: {node: '>=4'} 1045 | peerDependencies: 1046 | '@typescript-eslint/parser': '*' 1047 | eslint: '*' 1048 | eslint-import-resolver-node: '*' 1049 | eslint-import-resolver-typescript: '*' 1050 | eslint-import-resolver-webpack: '*' 1051 | peerDependenciesMeta: 1052 | '@typescript-eslint/parser': 1053 | optional: true 1054 | eslint: 1055 | optional: true 1056 | eslint-import-resolver-node: 1057 | optional: true 1058 | eslint-import-resolver-typescript: 1059 | optional: true 1060 | eslint-import-resolver-webpack: 1061 | optional: true 1062 | dependencies: 1063 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) 1064 | debug: 3.2.7 1065 | eslint: 8.57.0 1066 | eslint-import-resolver-node: 0.3.9 1067 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) 1068 | transitivePeerDependencies: 1069 | - supports-color 1070 | dev: true 1071 | 1072 | /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): 1073 | resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} 1074 | engines: {node: '>=4'} 1075 | peerDependencies: 1076 | '@typescript-eslint/parser': '*' 1077 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1078 | peerDependenciesMeta: 1079 | '@typescript-eslint/parser': 1080 | optional: true 1081 | dependencies: 1082 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) 1083 | array-includes: 3.1.8 1084 | array.prototype.findlastindex: 1.2.5 1085 | array.prototype.flat: 1.3.2 1086 | array.prototype.flatmap: 1.3.2 1087 | debug: 3.2.7 1088 | doctrine: 2.1.0 1089 | eslint: 8.57.0 1090 | eslint-import-resolver-node: 0.3.9 1091 | eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) 1092 | hasown: 2.0.2 1093 | is-core-module: 2.13.1 1094 | is-glob: 4.0.3 1095 | minimatch: 3.1.2 1096 | object.fromentries: 2.0.8 1097 | object.groupby: 1.0.3 1098 | object.values: 1.2.0 1099 | semver: 6.3.1 1100 | tsconfig-paths: 3.15.0 1101 | transitivePeerDependencies: 1102 | - eslint-import-resolver-typescript 1103 | - eslint-import-resolver-webpack 1104 | - supports-color 1105 | dev: true 1106 | 1107 | /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): 1108 | resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} 1109 | engines: {node: '>=4.0'} 1110 | peerDependencies: 1111 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1112 | dependencies: 1113 | '@babel/runtime': 7.24.5 1114 | aria-query: 5.3.0 1115 | array-includes: 3.1.8 1116 | array.prototype.flatmap: 1.3.2 1117 | ast-types-flow: 0.0.8 1118 | axe-core: 4.7.0 1119 | axobject-query: 3.2.1 1120 | damerau-levenshtein: 1.0.8 1121 | emoji-regex: 9.2.2 1122 | es-iterator-helpers: 1.0.19 1123 | eslint: 8.57.0 1124 | hasown: 2.0.2 1125 | jsx-ast-utils: 3.3.5 1126 | language-tags: 1.0.9 1127 | minimatch: 3.1.2 1128 | object.entries: 1.1.8 1129 | object.fromentries: 2.0.8 1130 | dev: true 1131 | 1132 | /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): 1133 | resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} 1134 | engines: {node: '>=10'} 1135 | peerDependencies: 1136 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1137 | dependencies: 1138 | eslint: 8.57.0 1139 | dev: true 1140 | 1141 | /eslint-plugin-react@7.34.1(eslint@8.57.0): 1142 | resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} 1143 | engines: {node: '>=4'} 1144 | peerDependencies: 1145 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1146 | dependencies: 1147 | array-includes: 3.1.8 1148 | array.prototype.findlast: 1.2.5 1149 | array.prototype.flatmap: 1.3.2 1150 | array.prototype.toreversed: 1.1.2 1151 | array.prototype.tosorted: 1.1.3 1152 | doctrine: 2.1.0 1153 | es-iterator-helpers: 1.0.19 1154 | eslint: 8.57.0 1155 | estraverse: 5.3.0 1156 | jsx-ast-utils: 3.3.5 1157 | minimatch: 3.1.2 1158 | object.entries: 1.1.8 1159 | object.fromentries: 2.0.8 1160 | object.hasown: 1.1.4 1161 | object.values: 1.2.0 1162 | prop-types: 15.8.1 1163 | resolve: 2.0.0-next.5 1164 | semver: 6.3.1 1165 | string.prototype.matchall: 4.0.11 1166 | dev: true 1167 | 1168 | /eslint-scope@7.2.2: 1169 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 1170 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1171 | dependencies: 1172 | esrecurse: 4.3.0 1173 | estraverse: 5.3.0 1174 | dev: true 1175 | 1176 | /eslint-visitor-keys@3.4.3: 1177 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1178 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1179 | dev: true 1180 | 1181 | /eslint@8.57.0: 1182 | resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} 1183 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1184 | hasBin: true 1185 | dependencies: 1186 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) 1187 | '@eslint-community/regexpp': 4.10.0 1188 | '@eslint/eslintrc': 2.1.4 1189 | '@eslint/js': 8.57.0 1190 | '@humanwhocodes/config-array': 0.11.14 1191 | '@humanwhocodes/module-importer': 1.0.1 1192 | '@nodelib/fs.walk': 1.2.8 1193 | '@ungap/structured-clone': 1.2.0 1194 | ajv: 6.12.6 1195 | chalk: 4.1.2 1196 | cross-spawn: 7.0.3 1197 | debug: 4.3.4 1198 | doctrine: 3.0.0 1199 | escape-string-regexp: 4.0.0 1200 | eslint-scope: 7.2.2 1201 | eslint-visitor-keys: 3.4.3 1202 | espree: 9.6.1 1203 | esquery: 1.5.0 1204 | esutils: 2.0.3 1205 | fast-deep-equal: 3.1.3 1206 | file-entry-cache: 6.0.1 1207 | find-up: 5.0.0 1208 | glob-parent: 6.0.2 1209 | globals: 13.24.0 1210 | graphemer: 1.4.0 1211 | ignore: 5.3.1 1212 | imurmurhash: 0.1.4 1213 | is-glob: 4.0.3 1214 | is-path-inside: 3.0.3 1215 | js-yaml: 4.1.0 1216 | json-stable-stringify-without-jsonify: 1.0.1 1217 | levn: 0.4.1 1218 | lodash.merge: 4.6.2 1219 | minimatch: 3.1.2 1220 | natural-compare: 1.4.0 1221 | optionator: 0.9.4 1222 | strip-ansi: 6.0.1 1223 | text-table: 0.2.0 1224 | transitivePeerDependencies: 1225 | - supports-color 1226 | dev: true 1227 | 1228 | /espree@9.6.1: 1229 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1230 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1231 | dependencies: 1232 | acorn: 8.11.3 1233 | acorn-jsx: 5.3.2(acorn@8.11.3) 1234 | eslint-visitor-keys: 3.4.3 1235 | dev: true 1236 | 1237 | /esquery@1.5.0: 1238 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1239 | engines: {node: '>=0.10'} 1240 | dependencies: 1241 | estraverse: 5.3.0 1242 | dev: true 1243 | 1244 | /esrecurse@4.3.0: 1245 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1246 | engines: {node: '>=4.0'} 1247 | dependencies: 1248 | estraverse: 5.3.0 1249 | dev: true 1250 | 1251 | /estraverse@5.3.0: 1252 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1253 | engines: {node: '>=4.0'} 1254 | dev: true 1255 | 1256 | /esutils@2.0.3: 1257 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1258 | engines: {node: '>=0.10.0'} 1259 | dev: true 1260 | 1261 | /fast-deep-equal@3.1.3: 1262 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1263 | dev: true 1264 | 1265 | /fast-glob@3.3.2: 1266 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1267 | engines: {node: '>=8.6.0'} 1268 | dependencies: 1269 | '@nodelib/fs.stat': 2.0.5 1270 | '@nodelib/fs.walk': 1.2.8 1271 | glob-parent: 5.1.2 1272 | merge2: 1.4.1 1273 | micromatch: 4.0.5 1274 | 1275 | /fast-json-stable-stringify@2.1.0: 1276 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1277 | dev: true 1278 | 1279 | /fast-levenshtein@2.0.6: 1280 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1281 | dev: true 1282 | 1283 | /fastq@1.17.1: 1284 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1285 | dependencies: 1286 | reusify: 1.0.4 1287 | 1288 | /file-entry-cache@6.0.1: 1289 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1290 | engines: {node: ^10.12.0 || >=12.0.0} 1291 | dependencies: 1292 | flat-cache: 3.2.0 1293 | dev: true 1294 | 1295 | /fill-range@7.0.1: 1296 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1297 | engines: {node: '>=8'} 1298 | dependencies: 1299 | to-regex-range: 5.0.1 1300 | 1301 | /find-up@5.0.0: 1302 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1303 | engines: {node: '>=10'} 1304 | dependencies: 1305 | locate-path: 6.0.0 1306 | path-exists: 4.0.0 1307 | dev: true 1308 | 1309 | /flat-cache@3.2.0: 1310 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 1311 | engines: {node: ^10.12.0 || >=12.0.0} 1312 | dependencies: 1313 | flatted: 3.3.1 1314 | keyv: 4.5.4 1315 | rimraf: 3.0.2 1316 | dev: true 1317 | 1318 | /flatted@3.3.1: 1319 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 1320 | dev: true 1321 | 1322 | /for-each@0.3.3: 1323 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 1324 | dependencies: 1325 | is-callable: 1.2.7 1326 | dev: true 1327 | 1328 | /foreground-child@3.1.1: 1329 | resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} 1330 | engines: {node: '>=14'} 1331 | dependencies: 1332 | cross-spawn: 7.0.3 1333 | signal-exit: 4.1.0 1334 | 1335 | /fs.realpath@1.0.0: 1336 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1337 | dev: true 1338 | 1339 | /fsevents@2.3.3: 1340 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1341 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1342 | os: [darwin] 1343 | requiresBuild: true 1344 | optional: true 1345 | 1346 | /function-bind@1.1.2: 1347 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1348 | 1349 | /function.prototype.name@1.1.6: 1350 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} 1351 | engines: {node: '>= 0.4'} 1352 | dependencies: 1353 | call-bind: 1.0.7 1354 | define-properties: 1.2.1 1355 | es-abstract: 1.23.3 1356 | functions-have-names: 1.2.3 1357 | dev: true 1358 | 1359 | /functions-have-names@1.2.3: 1360 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1361 | dev: true 1362 | 1363 | /get-intrinsic@1.2.4: 1364 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} 1365 | engines: {node: '>= 0.4'} 1366 | dependencies: 1367 | es-errors: 1.3.0 1368 | function-bind: 1.1.2 1369 | has-proto: 1.0.3 1370 | has-symbols: 1.0.3 1371 | hasown: 2.0.2 1372 | dev: true 1373 | 1374 | /get-symbol-description@1.0.2: 1375 | resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} 1376 | engines: {node: '>= 0.4'} 1377 | dependencies: 1378 | call-bind: 1.0.7 1379 | es-errors: 1.3.0 1380 | get-intrinsic: 1.2.4 1381 | dev: true 1382 | 1383 | /get-tsconfig@4.7.4: 1384 | resolution: {integrity: sha512-ofbkKj+0pjXjhejr007J/fLf+sW+8H7K5GCm+msC8q3IpvgjobpyPqSRFemNyIMxklC0zeJpi7VDFna19FacvQ==} 1385 | dependencies: 1386 | resolve-pkg-maps: 1.0.0 1387 | dev: true 1388 | 1389 | /glob-parent@5.1.2: 1390 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1391 | engines: {node: '>= 6'} 1392 | dependencies: 1393 | is-glob: 4.0.3 1394 | 1395 | /glob-parent@6.0.2: 1396 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1397 | engines: {node: '>=10.13.0'} 1398 | dependencies: 1399 | is-glob: 4.0.3 1400 | 1401 | /glob@10.3.10: 1402 | resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} 1403 | engines: {node: '>=16 || 14 >=14.17'} 1404 | hasBin: true 1405 | dependencies: 1406 | foreground-child: 3.1.1 1407 | jackspeak: 2.3.6 1408 | minimatch: 9.0.4 1409 | minipass: 7.1.0 1410 | path-scurry: 1.10.2 1411 | dev: true 1412 | 1413 | /glob@10.3.12: 1414 | resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} 1415 | engines: {node: '>=16 || 14 >=14.17'} 1416 | hasBin: true 1417 | dependencies: 1418 | foreground-child: 3.1.1 1419 | jackspeak: 2.3.6 1420 | minimatch: 9.0.4 1421 | minipass: 7.1.0 1422 | path-scurry: 1.10.2 1423 | 1424 | /glob@7.2.3: 1425 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1426 | dependencies: 1427 | fs.realpath: 1.0.0 1428 | inflight: 1.0.6 1429 | inherits: 2.0.4 1430 | minimatch: 3.1.2 1431 | once: 1.4.0 1432 | path-is-absolute: 1.0.1 1433 | dev: true 1434 | 1435 | /globals@13.24.0: 1436 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 1437 | engines: {node: '>=8'} 1438 | dependencies: 1439 | type-fest: 0.20.2 1440 | dev: true 1441 | 1442 | /globalthis@1.0.4: 1443 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} 1444 | engines: {node: '>= 0.4'} 1445 | dependencies: 1446 | define-properties: 1.2.1 1447 | gopd: 1.0.1 1448 | dev: true 1449 | 1450 | /globby@11.1.0: 1451 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1452 | engines: {node: '>=10'} 1453 | dependencies: 1454 | array-union: 2.1.0 1455 | dir-glob: 3.0.1 1456 | fast-glob: 3.3.2 1457 | ignore: 5.3.1 1458 | merge2: 1.4.1 1459 | slash: 3.0.0 1460 | dev: true 1461 | 1462 | /gopd@1.0.1: 1463 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1464 | dependencies: 1465 | get-intrinsic: 1.2.4 1466 | dev: true 1467 | 1468 | /graceful-fs@4.2.11: 1469 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1470 | 1471 | /graphemer@1.4.0: 1472 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1473 | dev: true 1474 | 1475 | /has-bigints@1.0.2: 1476 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1477 | dev: true 1478 | 1479 | /has-flag@4.0.0: 1480 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1481 | engines: {node: '>=8'} 1482 | dev: true 1483 | 1484 | /has-property-descriptors@1.0.2: 1485 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1486 | dependencies: 1487 | es-define-property: 1.0.0 1488 | dev: true 1489 | 1490 | /has-proto@1.0.3: 1491 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} 1492 | engines: {node: '>= 0.4'} 1493 | dev: true 1494 | 1495 | /has-symbols@1.0.3: 1496 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1497 | engines: {node: '>= 0.4'} 1498 | dev: true 1499 | 1500 | /has-tostringtag@1.0.2: 1501 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1502 | engines: {node: '>= 0.4'} 1503 | dependencies: 1504 | has-symbols: 1.0.3 1505 | dev: true 1506 | 1507 | /hasown@2.0.2: 1508 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1509 | engines: {node: '>= 0.4'} 1510 | dependencies: 1511 | function-bind: 1.1.2 1512 | 1513 | /ignore@5.3.1: 1514 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 1515 | engines: {node: '>= 4'} 1516 | dev: true 1517 | 1518 | /import-fresh@3.3.0: 1519 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1520 | engines: {node: '>=6'} 1521 | dependencies: 1522 | parent-module: 1.0.1 1523 | resolve-from: 4.0.0 1524 | dev: true 1525 | 1526 | /imurmurhash@0.1.4: 1527 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1528 | engines: {node: '>=0.8.19'} 1529 | dev: true 1530 | 1531 | /inflight@1.0.6: 1532 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1533 | dependencies: 1534 | once: 1.4.0 1535 | wrappy: 1.0.2 1536 | dev: true 1537 | 1538 | /inherits@2.0.4: 1539 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1540 | dev: true 1541 | 1542 | /internal-slot@1.0.7: 1543 | resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} 1544 | engines: {node: '>= 0.4'} 1545 | dependencies: 1546 | es-errors: 1.3.0 1547 | hasown: 2.0.2 1548 | side-channel: 1.0.6 1549 | dev: true 1550 | 1551 | /is-array-buffer@3.0.4: 1552 | resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} 1553 | engines: {node: '>= 0.4'} 1554 | dependencies: 1555 | call-bind: 1.0.7 1556 | get-intrinsic: 1.2.4 1557 | dev: true 1558 | 1559 | /is-async-function@2.0.0: 1560 | resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} 1561 | engines: {node: '>= 0.4'} 1562 | dependencies: 1563 | has-tostringtag: 1.0.2 1564 | dev: true 1565 | 1566 | /is-bigint@1.0.4: 1567 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1568 | dependencies: 1569 | has-bigints: 1.0.2 1570 | dev: true 1571 | 1572 | /is-binary-path@2.1.0: 1573 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1574 | engines: {node: '>=8'} 1575 | dependencies: 1576 | binary-extensions: 2.3.0 1577 | 1578 | /is-boolean-object@1.1.2: 1579 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1580 | engines: {node: '>= 0.4'} 1581 | dependencies: 1582 | call-bind: 1.0.7 1583 | has-tostringtag: 1.0.2 1584 | dev: true 1585 | 1586 | /is-callable@1.2.7: 1587 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1588 | engines: {node: '>= 0.4'} 1589 | dev: true 1590 | 1591 | /is-core-module@2.13.1: 1592 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 1593 | dependencies: 1594 | hasown: 2.0.2 1595 | 1596 | /is-data-view@1.0.1: 1597 | resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} 1598 | engines: {node: '>= 0.4'} 1599 | dependencies: 1600 | is-typed-array: 1.1.13 1601 | dev: true 1602 | 1603 | /is-date-object@1.0.5: 1604 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1605 | engines: {node: '>= 0.4'} 1606 | dependencies: 1607 | has-tostringtag: 1.0.2 1608 | dev: true 1609 | 1610 | /is-extglob@2.1.1: 1611 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1612 | engines: {node: '>=0.10.0'} 1613 | 1614 | /is-finalizationregistry@1.0.2: 1615 | resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} 1616 | dependencies: 1617 | call-bind: 1.0.7 1618 | dev: true 1619 | 1620 | /is-fullwidth-code-point@3.0.0: 1621 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1622 | engines: {node: '>=8'} 1623 | 1624 | /is-generator-function@1.0.10: 1625 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} 1626 | engines: {node: '>= 0.4'} 1627 | dependencies: 1628 | has-tostringtag: 1.0.2 1629 | dev: true 1630 | 1631 | /is-glob@4.0.3: 1632 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1633 | engines: {node: '>=0.10.0'} 1634 | dependencies: 1635 | is-extglob: 2.1.1 1636 | 1637 | /is-map@2.0.3: 1638 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 1639 | engines: {node: '>= 0.4'} 1640 | dev: true 1641 | 1642 | /is-negative-zero@2.0.3: 1643 | resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} 1644 | engines: {node: '>= 0.4'} 1645 | dev: true 1646 | 1647 | /is-number-object@1.0.7: 1648 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1649 | engines: {node: '>= 0.4'} 1650 | dependencies: 1651 | has-tostringtag: 1.0.2 1652 | dev: true 1653 | 1654 | /is-number@7.0.0: 1655 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1656 | engines: {node: '>=0.12.0'} 1657 | 1658 | /is-path-inside@3.0.3: 1659 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1660 | engines: {node: '>=8'} 1661 | dev: true 1662 | 1663 | /is-regex@1.1.4: 1664 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1665 | engines: {node: '>= 0.4'} 1666 | dependencies: 1667 | call-bind: 1.0.7 1668 | has-tostringtag: 1.0.2 1669 | dev: true 1670 | 1671 | /is-set@2.0.3: 1672 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 1673 | engines: {node: '>= 0.4'} 1674 | dev: true 1675 | 1676 | /is-shared-array-buffer@1.0.3: 1677 | resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} 1678 | engines: {node: '>= 0.4'} 1679 | dependencies: 1680 | call-bind: 1.0.7 1681 | dev: true 1682 | 1683 | /is-string@1.0.7: 1684 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1685 | engines: {node: '>= 0.4'} 1686 | dependencies: 1687 | has-tostringtag: 1.0.2 1688 | dev: true 1689 | 1690 | /is-symbol@1.0.4: 1691 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1692 | engines: {node: '>= 0.4'} 1693 | dependencies: 1694 | has-symbols: 1.0.3 1695 | dev: true 1696 | 1697 | /is-typed-array@1.1.13: 1698 | resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} 1699 | engines: {node: '>= 0.4'} 1700 | dependencies: 1701 | which-typed-array: 1.1.15 1702 | dev: true 1703 | 1704 | /is-weakmap@2.0.2: 1705 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 1706 | engines: {node: '>= 0.4'} 1707 | dev: true 1708 | 1709 | /is-weakref@1.0.2: 1710 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1711 | dependencies: 1712 | call-bind: 1.0.7 1713 | dev: true 1714 | 1715 | /is-weakset@2.0.3: 1716 | resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} 1717 | engines: {node: '>= 0.4'} 1718 | dependencies: 1719 | call-bind: 1.0.7 1720 | get-intrinsic: 1.2.4 1721 | dev: true 1722 | 1723 | /isarray@2.0.5: 1724 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1725 | dev: true 1726 | 1727 | /isexe@2.0.0: 1728 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1729 | 1730 | /iterator.prototype@1.1.2: 1731 | resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} 1732 | dependencies: 1733 | define-properties: 1.2.1 1734 | get-intrinsic: 1.2.4 1735 | has-symbols: 1.0.3 1736 | reflect.getprototypeof: 1.0.6 1737 | set-function-name: 2.0.2 1738 | dev: true 1739 | 1740 | /jackspeak@2.3.6: 1741 | resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} 1742 | engines: {node: '>=14'} 1743 | dependencies: 1744 | '@isaacs/cliui': 8.0.2 1745 | optionalDependencies: 1746 | '@pkgjs/parseargs': 0.11.0 1747 | 1748 | /jiti@1.21.0: 1749 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} 1750 | hasBin: true 1751 | 1752 | /js-tokens@4.0.0: 1753 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1754 | 1755 | /js-yaml@4.1.0: 1756 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1757 | hasBin: true 1758 | dependencies: 1759 | argparse: 2.0.1 1760 | dev: true 1761 | 1762 | /json-buffer@3.0.1: 1763 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1764 | dev: true 1765 | 1766 | /json-schema-traverse@0.4.1: 1767 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1768 | dev: true 1769 | 1770 | /json-stable-stringify-without-jsonify@1.0.1: 1771 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1772 | dev: true 1773 | 1774 | /json5@1.0.2: 1775 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1776 | hasBin: true 1777 | dependencies: 1778 | minimist: 1.2.8 1779 | dev: true 1780 | 1781 | /jsx-ast-utils@3.3.5: 1782 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} 1783 | engines: {node: '>=4.0'} 1784 | dependencies: 1785 | array-includes: 3.1.8 1786 | array.prototype.flat: 1.3.2 1787 | object.assign: 4.1.5 1788 | object.values: 1.2.0 1789 | dev: true 1790 | 1791 | /keyv@4.5.4: 1792 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1793 | dependencies: 1794 | json-buffer: 3.0.1 1795 | dev: true 1796 | 1797 | /language-subtag-registry@0.3.22: 1798 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} 1799 | dev: true 1800 | 1801 | /language-tags@1.0.9: 1802 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} 1803 | engines: {node: '>=0.10'} 1804 | dependencies: 1805 | language-subtag-registry: 0.3.22 1806 | dev: true 1807 | 1808 | /levn@0.4.1: 1809 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1810 | engines: {node: '>= 0.8.0'} 1811 | dependencies: 1812 | prelude-ls: 1.2.1 1813 | type-check: 0.4.0 1814 | dev: true 1815 | 1816 | /lilconfig@2.1.0: 1817 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1818 | engines: {node: '>=10'} 1819 | 1820 | /lilconfig@3.1.1: 1821 | resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} 1822 | engines: {node: '>=14'} 1823 | 1824 | /lines-and-columns@1.2.4: 1825 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1826 | 1827 | /locate-path@6.0.0: 1828 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1829 | engines: {node: '>=10'} 1830 | dependencies: 1831 | p-locate: 5.0.0 1832 | dev: true 1833 | 1834 | /lodash.merge@4.6.2: 1835 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1836 | dev: true 1837 | 1838 | /loose-envify@1.4.0: 1839 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1840 | hasBin: true 1841 | dependencies: 1842 | js-tokens: 4.0.0 1843 | 1844 | /lru-cache@10.2.2: 1845 | resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} 1846 | engines: {node: 14 || >=16.14} 1847 | 1848 | /merge2@1.4.1: 1849 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1850 | engines: {node: '>= 8'} 1851 | 1852 | /micromatch@4.0.5: 1853 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1854 | engines: {node: '>=8.6'} 1855 | dependencies: 1856 | braces: 3.0.2 1857 | picomatch: 2.3.1 1858 | 1859 | /minimatch@3.1.2: 1860 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1861 | dependencies: 1862 | brace-expansion: 1.1.11 1863 | dev: true 1864 | 1865 | /minimatch@9.0.3: 1866 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} 1867 | engines: {node: '>=16 || 14 >=14.17'} 1868 | dependencies: 1869 | brace-expansion: 2.0.1 1870 | dev: true 1871 | 1872 | /minimatch@9.0.4: 1873 | resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} 1874 | engines: {node: '>=16 || 14 >=14.17'} 1875 | dependencies: 1876 | brace-expansion: 2.0.1 1877 | 1878 | /minimist@1.2.8: 1879 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1880 | dev: true 1881 | 1882 | /minipass@7.1.0: 1883 | resolution: {integrity: sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==} 1884 | engines: {node: '>=16 || 14 >=14.17'} 1885 | 1886 | /ms@2.1.2: 1887 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1888 | dev: true 1889 | 1890 | /ms@2.1.3: 1891 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1892 | dev: true 1893 | 1894 | /mz@2.7.0: 1895 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1896 | dependencies: 1897 | any-promise: 1.3.0 1898 | object-assign: 4.1.1 1899 | thenify-all: 1.6.0 1900 | 1901 | /nanoid@3.3.7: 1902 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1903 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1904 | hasBin: true 1905 | 1906 | /natural-compare@1.4.0: 1907 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1908 | dev: true 1909 | 1910 | /next@14.2.3(react-dom@18.3.1)(react@18.3.1): 1911 | resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==} 1912 | engines: {node: '>=18.17.0'} 1913 | hasBin: true 1914 | peerDependencies: 1915 | '@opentelemetry/api': ^1.1.0 1916 | '@playwright/test': ^1.41.2 1917 | react: ^18.2.0 1918 | react-dom: ^18.2.0 1919 | sass: ^1.3.0 1920 | peerDependenciesMeta: 1921 | '@opentelemetry/api': 1922 | optional: true 1923 | '@playwright/test': 1924 | optional: true 1925 | sass: 1926 | optional: true 1927 | dependencies: 1928 | '@next/env': 14.2.3 1929 | '@swc/helpers': 0.5.5 1930 | busboy: 1.6.0 1931 | caniuse-lite: 1.0.30001617 1932 | graceful-fs: 4.2.11 1933 | postcss: 8.4.31 1934 | react: 18.3.1 1935 | react-dom: 18.3.1(react@18.3.1) 1936 | styled-jsx: 5.1.1(react@18.3.1) 1937 | optionalDependencies: 1938 | '@next/swc-darwin-arm64': 14.2.3 1939 | '@next/swc-darwin-x64': 14.2.3 1940 | '@next/swc-linux-arm64-gnu': 14.2.3 1941 | '@next/swc-linux-arm64-musl': 14.2.3 1942 | '@next/swc-linux-x64-gnu': 14.2.3 1943 | '@next/swc-linux-x64-musl': 14.2.3 1944 | '@next/swc-win32-arm64-msvc': 14.2.3 1945 | '@next/swc-win32-ia32-msvc': 14.2.3 1946 | '@next/swc-win32-x64-msvc': 14.2.3 1947 | transitivePeerDependencies: 1948 | - '@babel/core' 1949 | - babel-plugin-macros 1950 | dev: false 1951 | 1952 | /normalize-path@3.0.0: 1953 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1954 | engines: {node: '>=0.10.0'} 1955 | 1956 | /object-assign@4.1.1: 1957 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1958 | engines: {node: '>=0.10.0'} 1959 | 1960 | /object-hash@3.0.0: 1961 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1962 | engines: {node: '>= 6'} 1963 | 1964 | /object-inspect@1.13.1: 1965 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} 1966 | dev: true 1967 | 1968 | /object-keys@1.1.1: 1969 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1970 | engines: {node: '>= 0.4'} 1971 | dev: true 1972 | 1973 | /object.assign@4.1.5: 1974 | resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} 1975 | engines: {node: '>= 0.4'} 1976 | dependencies: 1977 | call-bind: 1.0.7 1978 | define-properties: 1.2.1 1979 | has-symbols: 1.0.3 1980 | object-keys: 1.1.1 1981 | dev: true 1982 | 1983 | /object.entries@1.1.8: 1984 | resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} 1985 | engines: {node: '>= 0.4'} 1986 | dependencies: 1987 | call-bind: 1.0.7 1988 | define-properties: 1.2.1 1989 | es-object-atoms: 1.0.0 1990 | dev: true 1991 | 1992 | /object.fromentries@2.0.8: 1993 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} 1994 | engines: {node: '>= 0.4'} 1995 | dependencies: 1996 | call-bind: 1.0.7 1997 | define-properties: 1.2.1 1998 | es-abstract: 1.23.3 1999 | es-object-atoms: 1.0.0 2000 | dev: true 2001 | 2002 | /object.groupby@1.0.3: 2003 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 2004 | engines: {node: '>= 0.4'} 2005 | dependencies: 2006 | call-bind: 1.0.7 2007 | define-properties: 1.2.1 2008 | es-abstract: 1.23.3 2009 | dev: true 2010 | 2011 | /object.hasown@1.1.4: 2012 | resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} 2013 | engines: {node: '>= 0.4'} 2014 | dependencies: 2015 | define-properties: 1.2.1 2016 | es-abstract: 1.23.3 2017 | es-object-atoms: 1.0.0 2018 | dev: true 2019 | 2020 | /object.values@1.2.0: 2021 | resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} 2022 | engines: {node: '>= 0.4'} 2023 | dependencies: 2024 | call-bind: 1.0.7 2025 | define-properties: 1.2.1 2026 | es-object-atoms: 1.0.0 2027 | dev: true 2028 | 2029 | /once@1.4.0: 2030 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2031 | dependencies: 2032 | wrappy: 1.0.2 2033 | dev: true 2034 | 2035 | /optionator@0.9.4: 2036 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 2037 | engines: {node: '>= 0.8.0'} 2038 | dependencies: 2039 | deep-is: 0.1.4 2040 | fast-levenshtein: 2.0.6 2041 | levn: 0.4.1 2042 | prelude-ls: 1.2.1 2043 | type-check: 0.4.0 2044 | word-wrap: 1.2.5 2045 | dev: true 2046 | 2047 | /p-limit@3.1.0: 2048 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2049 | engines: {node: '>=10'} 2050 | dependencies: 2051 | yocto-queue: 0.1.0 2052 | dev: true 2053 | 2054 | /p-locate@5.0.0: 2055 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2056 | engines: {node: '>=10'} 2057 | dependencies: 2058 | p-limit: 3.1.0 2059 | dev: true 2060 | 2061 | /parent-module@1.0.1: 2062 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2063 | engines: {node: '>=6'} 2064 | dependencies: 2065 | callsites: 3.1.0 2066 | dev: true 2067 | 2068 | /path-exists@4.0.0: 2069 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2070 | engines: {node: '>=8'} 2071 | dev: true 2072 | 2073 | /path-is-absolute@1.0.1: 2074 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2075 | engines: {node: '>=0.10.0'} 2076 | dev: true 2077 | 2078 | /path-key@3.1.1: 2079 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2080 | engines: {node: '>=8'} 2081 | 2082 | /path-parse@1.0.7: 2083 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2084 | 2085 | /path-scurry@1.10.2: 2086 | resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} 2087 | engines: {node: '>=16 || 14 >=14.17'} 2088 | dependencies: 2089 | lru-cache: 10.2.2 2090 | minipass: 7.1.0 2091 | 2092 | /path-type@4.0.0: 2093 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2094 | engines: {node: '>=8'} 2095 | dev: true 2096 | 2097 | /picocolors@1.0.0: 2098 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2099 | 2100 | /picomatch@2.3.1: 2101 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2102 | engines: {node: '>=8.6'} 2103 | 2104 | /pify@2.3.0: 2105 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 2106 | engines: {node: '>=0.10.0'} 2107 | 2108 | /pirates@4.0.6: 2109 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 2110 | engines: {node: '>= 6'} 2111 | 2112 | /possible-typed-array-names@1.0.0: 2113 | resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} 2114 | engines: {node: '>= 0.4'} 2115 | dev: true 2116 | 2117 | /postcss-import@15.1.0(postcss@8.4.38): 2118 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 2119 | engines: {node: '>=14.0.0'} 2120 | peerDependencies: 2121 | postcss: ^8.0.0 2122 | dependencies: 2123 | postcss: 8.4.38 2124 | postcss-value-parser: 4.2.0 2125 | read-cache: 1.0.0 2126 | resolve: 1.22.8 2127 | 2128 | /postcss-js@4.0.1(postcss@8.4.38): 2129 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 2130 | engines: {node: ^12 || ^14 || >= 16} 2131 | peerDependencies: 2132 | postcss: ^8.4.21 2133 | dependencies: 2134 | camelcase-css: 2.0.1 2135 | postcss: 8.4.38 2136 | 2137 | /postcss-load-config@4.0.2(postcss@8.4.38): 2138 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 2139 | engines: {node: '>= 14'} 2140 | peerDependencies: 2141 | postcss: '>=8.0.9' 2142 | ts-node: '>=9.0.0' 2143 | peerDependenciesMeta: 2144 | postcss: 2145 | optional: true 2146 | ts-node: 2147 | optional: true 2148 | dependencies: 2149 | lilconfig: 3.1.1 2150 | postcss: 8.4.38 2151 | yaml: 2.4.2 2152 | 2153 | /postcss-nested@6.0.1(postcss@8.4.38): 2154 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} 2155 | engines: {node: '>=12.0'} 2156 | peerDependencies: 2157 | postcss: ^8.2.14 2158 | dependencies: 2159 | postcss: 8.4.38 2160 | postcss-selector-parser: 6.0.16 2161 | 2162 | /postcss-selector-parser@6.0.16: 2163 | resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} 2164 | engines: {node: '>=4'} 2165 | dependencies: 2166 | cssesc: 3.0.0 2167 | util-deprecate: 1.0.2 2168 | 2169 | /postcss-value-parser@4.2.0: 2170 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 2171 | 2172 | /postcss@8.4.31: 2173 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 2174 | engines: {node: ^10 || ^12 || >=14} 2175 | dependencies: 2176 | nanoid: 3.3.7 2177 | picocolors: 1.0.0 2178 | source-map-js: 1.2.0 2179 | dev: false 2180 | 2181 | /postcss@8.4.38: 2182 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} 2183 | engines: {node: ^10 || ^12 || >=14} 2184 | dependencies: 2185 | nanoid: 3.3.7 2186 | picocolors: 1.0.0 2187 | source-map-js: 1.2.0 2188 | 2189 | /prelude-ls@1.2.1: 2190 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2191 | engines: {node: '>= 0.8.0'} 2192 | dev: true 2193 | 2194 | /prop-types@15.8.1: 2195 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 2196 | dependencies: 2197 | loose-envify: 1.4.0 2198 | object-assign: 4.1.1 2199 | react-is: 16.13.1 2200 | dev: true 2201 | 2202 | /punycode@2.3.1: 2203 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 2204 | engines: {node: '>=6'} 2205 | dev: true 2206 | 2207 | /queue-microtask@1.2.3: 2208 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2209 | 2210 | /react-dom@18.3.1(react@18.3.1): 2211 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} 2212 | peerDependencies: 2213 | react: ^18.3.1 2214 | dependencies: 2215 | loose-envify: 1.4.0 2216 | react: 18.3.1 2217 | scheduler: 0.23.2 2218 | dev: false 2219 | 2220 | /react-is@16.13.1: 2221 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 2222 | dev: true 2223 | 2224 | /react@18.3.1: 2225 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} 2226 | engines: {node: '>=0.10.0'} 2227 | dependencies: 2228 | loose-envify: 1.4.0 2229 | dev: false 2230 | 2231 | /read-cache@1.0.0: 2232 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 2233 | dependencies: 2234 | pify: 2.3.0 2235 | 2236 | /readdirp@3.6.0: 2237 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2238 | engines: {node: '>=8.10.0'} 2239 | dependencies: 2240 | picomatch: 2.3.1 2241 | 2242 | /reflect.getprototypeof@1.0.6: 2243 | resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} 2244 | engines: {node: '>= 0.4'} 2245 | dependencies: 2246 | call-bind: 1.0.7 2247 | define-properties: 1.2.1 2248 | es-abstract: 1.23.3 2249 | es-errors: 1.3.0 2250 | get-intrinsic: 1.2.4 2251 | globalthis: 1.0.4 2252 | which-builtin-type: 1.1.3 2253 | dev: true 2254 | 2255 | /regenerator-runtime@0.14.1: 2256 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 2257 | 2258 | /regexp.prototype.flags@1.5.2: 2259 | resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} 2260 | engines: {node: '>= 0.4'} 2261 | dependencies: 2262 | call-bind: 1.0.7 2263 | define-properties: 1.2.1 2264 | es-errors: 1.3.0 2265 | set-function-name: 2.0.2 2266 | dev: true 2267 | 2268 | /resolve-from@4.0.0: 2269 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2270 | engines: {node: '>=4'} 2271 | dev: true 2272 | 2273 | /resolve-pkg-maps@1.0.0: 2274 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 2275 | dev: true 2276 | 2277 | /resolve@1.22.8: 2278 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 2279 | hasBin: true 2280 | dependencies: 2281 | is-core-module: 2.13.1 2282 | path-parse: 1.0.7 2283 | supports-preserve-symlinks-flag: 1.0.0 2284 | 2285 | /resolve@2.0.0-next.5: 2286 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 2287 | hasBin: true 2288 | dependencies: 2289 | is-core-module: 2.13.1 2290 | path-parse: 1.0.7 2291 | supports-preserve-symlinks-flag: 1.0.0 2292 | dev: true 2293 | 2294 | /reusify@1.0.4: 2295 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2296 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2297 | 2298 | /rimraf@3.0.2: 2299 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2300 | hasBin: true 2301 | dependencies: 2302 | glob: 7.2.3 2303 | dev: true 2304 | 2305 | /run-parallel@1.2.0: 2306 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2307 | dependencies: 2308 | queue-microtask: 1.2.3 2309 | 2310 | /safe-array-concat@1.1.2: 2311 | resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} 2312 | engines: {node: '>=0.4'} 2313 | dependencies: 2314 | call-bind: 1.0.7 2315 | get-intrinsic: 1.2.4 2316 | has-symbols: 1.0.3 2317 | isarray: 2.0.5 2318 | dev: true 2319 | 2320 | /safe-regex-test@1.0.3: 2321 | resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} 2322 | engines: {node: '>= 0.4'} 2323 | dependencies: 2324 | call-bind: 1.0.7 2325 | es-errors: 1.3.0 2326 | is-regex: 1.1.4 2327 | dev: true 2328 | 2329 | /scheduler@0.23.2: 2330 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} 2331 | dependencies: 2332 | loose-envify: 1.4.0 2333 | dev: false 2334 | 2335 | /semver@6.3.1: 2336 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 2337 | hasBin: true 2338 | dev: true 2339 | 2340 | /semver@7.6.1: 2341 | resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} 2342 | engines: {node: '>=10'} 2343 | hasBin: true 2344 | dev: true 2345 | 2346 | /set-function-length@1.2.2: 2347 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 2348 | engines: {node: '>= 0.4'} 2349 | dependencies: 2350 | define-data-property: 1.1.4 2351 | es-errors: 1.3.0 2352 | function-bind: 1.1.2 2353 | get-intrinsic: 1.2.4 2354 | gopd: 1.0.1 2355 | has-property-descriptors: 1.0.2 2356 | dev: true 2357 | 2358 | /set-function-name@2.0.2: 2359 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 2360 | engines: {node: '>= 0.4'} 2361 | dependencies: 2362 | define-data-property: 1.1.4 2363 | es-errors: 1.3.0 2364 | functions-have-names: 1.2.3 2365 | has-property-descriptors: 1.0.2 2366 | dev: true 2367 | 2368 | /shebang-command@2.0.0: 2369 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2370 | engines: {node: '>=8'} 2371 | dependencies: 2372 | shebang-regex: 3.0.0 2373 | 2374 | /shebang-regex@3.0.0: 2375 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2376 | engines: {node: '>=8'} 2377 | 2378 | /side-channel@1.0.6: 2379 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} 2380 | engines: {node: '>= 0.4'} 2381 | dependencies: 2382 | call-bind: 1.0.7 2383 | es-errors: 1.3.0 2384 | get-intrinsic: 1.2.4 2385 | object-inspect: 1.13.1 2386 | dev: true 2387 | 2388 | /signal-exit@4.1.0: 2389 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 2390 | engines: {node: '>=14'} 2391 | 2392 | /slash@3.0.0: 2393 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2394 | engines: {node: '>=8'} 2395 | dev: true 2396 | 2397 | /source-map-js@1.2.0: 2398 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} 2399 | engines: {node: '>=0.10.0'} 2400 | 2401 | /streamsearch@1.1.0: 2402 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 2403 | engines: {node: '>=10.0.0'} 2404 | dev: false 2405 | 2406 | /string-width@4.2.3: 2407 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2408 | engines: {node: '>=8'} 2409 | dependencies: 2410 | emoji-regex: 8.0.0 2411 | is-fullwidth-code-point: 3.0.0 2412 | strip-ansi: 6.0.1 2413 | 2414 | /string-width@5.1.2: 2415 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 2416 | engines: {node: '>=12'} 2417 | dependencies: 2418 | eastasianwidth: 0.2.0 2419 | emoji-regex: 9.2.2 2420 | strip-ansi: 7.1.0 2421 | 2422 | /string.prototype.matchall@4.0.11: 2423 | resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} 2424 | engines: {node: '>= 0.4'} 2425 | dependencies: 2426 | call-bind: 1.0.7 2427 | define-properties: 1.2.1 2428 | es-abstract: 1.23.3 2429 | es-errors: 1.3.0 2430 | es-object-atoms: 1.0.0 2431 | get-intrinsic: 1.2.4 2432 | gopd: 1.0.1 2433 | has-symbols: 1.0.3 2434 | internal-slot: 1.0.7 2435 | regexp.prototype.flags: 1.5.2 2436 | set-function-name: 2.0.2 2437 | side-channel: 1.0.6 2438 | dev: true 2439 | 2440 | /string.prototype.trim@1.2.9: 2441 | resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} 2442 | engines: {node: '>= 0.4'} 2443 | dependencies: 2444 | call-bind: 1.0.7 2445 | define-properties: 1.2.1 2446 | es-abstract: 1.23.3 2447 | es-object-atoms: 1.0.0 2448 | dev: true 2449 | 2450 | /string.prototype.trimend@1.0.8: 2451 | resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} 2452 | dependencies: 2453 | call-bind: 1.0.7 2454 | define-properties: 1.2.1 2455 | es-object-atoms: 1.0.0 2456 | dev: true 2457 | 2458 | /string.prototype.trimstart@1.0.8: 2459 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 2460 | engines: {node: '>= 0.4'} 2461 | dependencies: 2462 | call-bind: 1.0.7 2463 | define-properties: 1.2.1 2464 | es-object-atoms: 1.0.0 2465 | dev: true 2466 | 2467 | /strip-ansi@6.0.1: 2468 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2469 | engines: {node: '>=8'} 2470 | dependencies: 2471 | ansi-regex: 5.0.1 2472 | 2473 | /strip-ansi@7.1.0: 2474 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 2475 | engines: {node: '>=12'} 2476 | dependencies: 2477 | ansi-regex: 6.0.1 2478 | 2479 | /strip-bom@3.0.0: 2480 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2481 | engines: {node: '>=4'} 2482 | dev: true 2483 | 2484 | /strip-json-comments@3.1.1: 2485 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2486 | engines: {node: '>=8'} 2487 | dev: true 2488 | 2489 | /styled-jsx@5.1.1(react@18.3.1): 2490 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} 2491 | engines: {node: '>= 12.0.0'} 2492 | peerDependencies: 2493 | '@babel/core': '*' 2494 | babel-plugin-macros: '*' 2495 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' 2496 | peerDependenciesMeta: 2497 | '@babel/core': 2498 | optional: true 2499 | babel-plugin-macros: 2500 | optional: true 2501 | dependencies: 2502 | client-only: 0.0.1 2503 | react: 18.3.1 2504 | dev: false 2505 | 2506 | /sucrase@3.35.0: 2507 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 2508 | engines: {node: '>=16 || 14 >=14.17'} 2509 | hasBin: true 2510 | dependencies: 2511 | '@jridgewell/gen-mapping': 0.3.5 2512 | commander: 4.1.1 2513 | glob: 10.3.12 2514 | lines-and-columns: 1.2.4 2515 | mz: 2.7.0 2516 | pirates: 4.0.6 2517 | ts-interface-checker: 0.1.13 2518 | 2519 | /supports-color@7.2.0: 2520 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2521 | engines: {node: '>=8'} 2522 | dependencies: 2523 | has-flag: 4.0.0 2524 | dev: true 2525 | 2526 | /supports-preserve-symlinks-flag@1.0.0: 2527 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2528 | engines: {node: '>= 0.4'} 2529 | 2530 | /tailwind-merge@2.3.0: 2531 | resolution: {integrity: sha512-vkYrLpIP+lgR0tQCG6AP7zZXCTLc1Lnv/CCRT3BqJ9CZ3ui2++GPaGb1x/ILsINIMSYqqvrpqjUFsMNLlW99EA==} 2532 | dependencies: 2533 | '@babel/runtime': 7.24.5 2534 | dev: false 2535 | 2536 | /tailwindcss-animate@1.0.7(tailwindcss@3.4.3): 2537 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} 2538 | peerDependencies: 2539 | tailwindcss: '>=3.0.0 || insiders' 2540 | dependencies: 2541 | tailwindcss: 3.4.3 2542 | dev: false 2543 | 2544 | /tailwindcss@3.4.3: 2545 | resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} 2546 | engines: {node: '>=14.0.0'} 2547 | hasBin: true 2548 | dependencies: 2549 | '@alloc/quick-lru': 5.2.0 2550 | arg: 5.0.2 2551 | chokidar: 3.6.0 2552 | didyoumean: 1.2.2 2553 | dlv: 1.1.3 2554 | fast-glob: 3.3.2 2555 | glob-parent: 6.0.2 2556 | is-glob: 4.0.3 2557 | jiti: 1.21.0 2558 | lilconfig: 2.1.0 2559 | micromatch: 4.0.5 2560 | normalize-path: 3.0.0 2561 | object-hash: 3.0.0 2562 | picocolors: 1.0.0 2563 | postcss: 8.4.38 2564 | postcss-import: 15.1.0(postcss@8.4.38) 2565 | postcss-js: 4.0.1(postcss@8.4.38) 2566 | postcss-load-config: 4.0.2(postcss@8.4.38) 2567 | postcss-nested: 6.0.1(postcss@8.4.38) 2568 | postcss-selector-parser: 6.0.16 2569 | resolve: 1.22.8 2570 | sucrase: 3.35.0 2571 | transitivePeerDependencies: 2572 | - ts-node 2573 | 2574 | /tapable@2.2.1: 2575 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 2576 | engines: {node: '>=6'} 2577 | dev: true 2578 | 2579 | /text-table@0.2.0: 2580 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2581 | dev: true 2582 | 2583 | /thenify-all@1.6.0: 2584 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 2585 | engines: {node: '>=0.8'} 2586 | dependencies: 2587 | thenify: 3.3.1 2588 | 2589 | /thenify@3.3.1: 2590 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 2591 | dependencies: 2592 | any-promise: 1.3.0 2593 | 2594 | /to-regex-range@5.0.1: 2595 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2596 | engines: {node: '>=8.0'} 2597 | dependencies: 2598 | is-number: 7.0.0 2599 | 2600 | /ts-api-utils@1.3.0(typescript@5.4.5): 2601 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} 2602 | engines: {node: '>=16'} 2603 | peerDependencies: 2604 | typescript: '>=4.2.0' 2605 | dependencies: 2606 | typescript: 5.4.5 2607 | dev: true 2608 | 2609 | /ts-interface-checker@0.1.13: 2610 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 2611 | 2612 | /tsconfig-paths@3.15.0: 2613 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 2614 | dependencies: 2615 | '@types/json5': 0.0.29 2616 | json5: 1.0.2 2617 | minimist: 1.2.8 2618 | strip-bom: 3.0.0 2619 | dev: true 2620 | 2621 | /tslib@2.6.2: 2622 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 2623 | dev: false 2624 | 2625 | /type-check@0.4.0: 2626 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2627 | engines: {node: '>= 0.8.0'} 2628 | dependencies: 2629 | prelude-ls: 1.2.1 2630 | dev: true 2631 | 2632 | /type-fest@0.20.2: 2633 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2634 | engines: {node: '>=10'} 2635 | dev: true 2636 | 2637 | /typed-array-buffer@1.0.2: 2638 | resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} 2639 | engines: {node: '>= 0.4'} 2640 | dependencies: 2641 | call-bind: 1.0.7 2642 | es-errors: 1.3.0 2643 | is-typed-array: 1.1.13 2644 | dev: true 2645 | 2646 | /typed-array-byte-length@1.0.1: 2647 | resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} 2648 | engines: {node: '>= 0.4'} 2649 | dependencies: 2650 | call-bind: 1.0.7 2651 | for-each: 0.3.3 2652 | gopd: 1.0.1 2653 | has-proto: 1.0.3 2654 | is-typed-array: 1.1.13 2655 | dev: true 2656 | 2657 | /typed-array-byte-offset@1.0.2: 2658 | resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} 2659 | engines: {node: '>= 0.4'} 2660 | dependencies: 2661 | available-typed-arrays: 1.0.7 2662 | call-bind: 1.0.7 2663 | for-each: 0.3.3 2664 | gopd: 1.0.1 2665 | has-proto: 1.0.3 2666 | is-typed-array: 1.1.13 2667 | dev: true 2668 | 2669 | /typed-array-length@1.0.6: 2670 | resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} 2671 | engines: {node: '>= 0.4'} 2672 | dependencies: 2673 | call-bind: 1.0.7 2674 | for-each: 0.3.3 2675 | gopd: 1.0.1 2676 | has-proto: 1.0.3 2677 | is-typed-array: 1.1.13 2678 | possible-typed-array-names: 1.0.0 2679 | dev: true 2680 | 2681 | /typescript@5.4.5: 2682 | resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} 2683 | engines: {node: '>=14.17'} 2684 | hasBin: true 2685 | dev: true 2686 | 2687 | /unbox-primitive@1.0.2: 2688 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 2689 | dependencies: 2690 | call-bind: 1.0.7 2691 | has-bigints: 1.0.2 2692 | has-symbols: 1.0.3 2693 | which-boxed-primitive: 1.0.2 2694 | dev: true 2695 | 2696 | /undici-types@5.26.5: 2697 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 2698 | dev: true 2699 | 2700 | /uri-js@4.4.1: 2701 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2702 | dependencies: 2703 | punycode: 2.3.1 2704 | dev: true 2705 | 2706 | /util-deprecate@1.0.2: 2707 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2708 | 2709 | /which-boxed-primitive@1.0.2: 2710 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2711 | dependencies: 2712 | is-bigint: 1.0.4 2713 | is-boolean-object: 1.1.2 2714 | is-number-object: 1.0.7 2715 | is-string: 1.0.7 2716 | is-symbol: 1.0.4 2717 | dev: true 2718 | 2719 | /which-builtin-type@1.1.3: 2720 | resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} 2721 | engines: {node: '>= 0.4'} 2722 | dependencies: 2723 | function.prototype.name: 1.1.6 2724 | has-tostringtag: 1.0.2 2725 | is-async-function: 2.0.0 2726 | is-date-object: 1.0.5 2727 | is-finalizationregistry: 1.0.2 2728 | is-generator-function: 1.0.10 2729 | is-regex: 1.1.4 2730 | is-weakref: 1.0.2 2731 | isarray: 2.0.5 2732 | which-boxed-primitive: 1.0.2 2733 | which-collection: 1.0.2 2734 | which-typed-array: 1.1.15 2735 | dev: true 2736 | 2737 | /which-collection@1.0.2: 2738 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 2739 | engines: {node: '>= 0.4'} 2740 | dependencies: 2741 | is-map: 2.0.3 2742 | is-set: 2.0.3 2743 | is-weakmap: 2.0.2 2744 | is-weakset: 2.0.3 2745 | dev: true 2746 | 2747 | /which-typed-array@1.1.15: 2748 | resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} 2749 | engines: {node: '>= 0.4'} 2750 | dependencies: 2751 | available-typed-arrays: 1.0.7 2752 | call-bind: 1.0.7 2753 | for-each: 0.3.3 2754 | gopd: 1.0.1 2755 | has-tostringtag: 1.0.2 2756 | dev: true 2757 | 2758 | /which@2.0.2: 2759 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2760 | engines: {node: '>= 8'} 2761 | hasBin: true 2762 | dependencies: 2763 | isexe: 2.0.0 2764 | 2765 | /word-wrap@1.2.5: 2766 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 2767 | engines: {node: '>=0.10.0'} 2768 | dev: true 2769 | 2770 | /wrap-ansi@7.0.0: 2771 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2772 | engines: {node: '>=10'} 2773 | dependencies: 2774 | ansi-styles: 4.3.0 2775 | string-width: 4.2.3 2776 | strip-ansi: 6.0.1 2777 | 2778 | /wrap-ansi@8.1.0: 2779 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2780 | engines: {node: '>=12'} 2781 | dependencies: 2782 | ansi-styles: 6.2.1 2783 | string-width: 5.1.2 2784 | strip-ansi: 7.1.0 2785 | 2786 | /wrappy@1.0.2: 2787 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2788 | dev: true 2789 | 2790 | /yaml@2.4.2: 2791 | resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} 2792 | engines: {node: '>= 14'} 2793 | hasBin: true 2794 | 2795 | /yocto-queue@0.1.0: 2796 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2797 | engines: {node: '>=10'} 2798 | dev: true 2799 | -------------------------------------------------------------------------------- /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/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Buidlso/telegram-mini-app-nextjs-boilerplate/8b1630477011b2fff3796d9970f4154ccf27c43f/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | @layer base { 6 | :root { 7 | --background: 0 0% 100%; 8 | --foreground: 222.2 84% 4.9%; 9 | 10 | --card: 0 0% 100%; 11 | --card-foreground: 222.2 84% 4.9%; 12 | 13 | --popover: 0 0% 100%; 14 | --popover-foreground: 222.2 84% 4.9%; 15 | 16 | --primary: 222.2 47.4% 11.2%; 17 | --primary-foreground: 210 40% 98%; 18 | 19 | --secondary: 210 40% 96.1%; 20 | --secondary-foreground: 222.2 47.4% 11.2%; 21 | 22 | --muted: 210 40% 96.1%; 23 | --muted-foreground: 215.4 16.3% 46.9%; 24 | 25 | --accent: 210 40% 96.1%; 26 | --accent-foreground: 222.2 47.4% 11.2%; 27 | 28 | --destructive: 0 84.2% 60.2%; 29 | --destructive-foreground: 210 40% 98%; 30 | 31 | --border: 214.3 31.8% 91.4%; 32 | --input: 214.3 31.8% 91.4%; 33 | --ring: 222.2 84% 4.9%; 34 | 35 | --radius: 0.5rem; 36 | } 37 | 38 | .dark { 39 | --background: 222.2 84% 4.9%; 40 | --foreground: 210 40% 98%; 41 | 42 | --card: 222.2 84% 4.9%; 43 | --card-foreground: 210 40% 98%; 44 | 45 | --popover: 222.2 84% 4.9%; 46 | --popover-foreground: 210 40% 98%; 47 | 48 | --primary: 210 40% 98%; 49 | --primary-foreground: 222.2 47.4% 11.2%; 50 | 51 | --secondary: 217.2 32.6% 17.5%; 52 | --secondary-foreground: 210 40% 98%; 53 | 54 | --muted: 217.2 32.6% 17.5%; 55 | --muted-foreground: 215 20.2% 65.1%; 56 | 57 | --accent: 217.2 32.6% 17.5%; 58 | --accent-foreground: 210 40% 98%; 59 | 60 | --destructive: 0 62.8% 30.6%; 61 | --destructive-foreground: 210 40% 98%; 62 | 63 | --border: 217.2 32.6% 17.5%; 64 | --input: 217.2 32.6% 17.5%; 65 | --ring: 212.7 26.8% 83.9%; 66 | } 67 | } 68 | 69 | @layer base { 70 | * { 71 | @apply border-border; 72 | } 73 | body { 74 | @apply bg-background text-foreground; 75 | } 76 | } -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import { Inter } from "next/font/google"; 3 | import "./globals.css"; 4 | import { TmaSDKProvider } from "@/components/tma"; 5 | 6 | const inter = Inter({ subsets: ["latin"] }); 7 | 8 | export const metadata: Metadata = { 9 | title: "My Telegram Mini App", 10 | description: "A mini app for Telegram.", 11 | }; 12 | 13 | export default function RootLayout({ 14 | children, 15 | }: Readonly<{ 16 | children: React.ReactNode; 17 | }>) { 18 | return ( 19 | 20 | 21 | {children} 22 | 23 | 24 | ); 25 | } 26 | -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- 1 | import { Me } from "@/components/me"; 2 | import Image from "next/image"; 3 | 4 | export default function Home() { 5 | return ( 6 |
7 |
8 |

9 | Edit Telegram Mini App  10 | src/app/page.tsx 11 |

12 |
13 | 14 |
15 | Next.js Logo 23 |
24 | 25 |
26 |
27 | 28 |
29 |
30 |
31 | ); 32 | } 33 | -------------------------------------------------------------------------------- /src/components/loader.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils"; 2 | 3 | type LoaderProps = React.HTMLAttributes; 4 | 5 | export function Loader({ className, ...props }: LoaderProps) { 6 | return ( 7 | 15 | 19 | 20 | ); 21 | } 22 | -------------------------------------------------------------------------------- /src/components/logo.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils"; 2 | 3 | type LogoProps = React.HTMLAttributes; 4 | 5 | export function Logo(props: LogoProps) { 6 | return ( 7 | 14 | 15 | 16 | 17 | ); 18 | } 19 | -------------------------------------------------------------------------------- /src/components/me.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { retrieveLaunchParams } from "@tma.js/sdk"; 4 | 5 | export function Me() { 6 | const { initData: data } = retrieveLaunchParams(); 7 | const user = data?.user; 8 | 9 | if (!user) { 10 | return null; 11 | } 12 | 13 | return ( 14 |
15 | Welcome back 16 | @{user.username} 17 |
18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /src/components/tma/index.tsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import { PropsWithChildren } from "react"; 4 | import { DisplayGate, SDKProvider } from '@tma.js/sdk-react'; 5 | import { TmaProviderError } from "./tma-provider-error"; 6 | import { TmaProviderLoading } from "./tma-provider-loading"; 7 | import { TmaProviderInitialState } from "./tma-provider-initial-state"; 8 | 9 | export function TmaSDKProvider({ children }: PropsWithChildren) { 10 | return ( 11 | 17 | 22 | {children} 23 | 24 | 25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /src/components/tma/tma-provider-error.tsx: -------------------------------------------------------------------------------- 1 | type TmaProviderErrorProps = { 2 | error: unknown; 3 | }; 4 | 5 | export function TmaProviderError({ error }: TmaProviderErrorProps) { 6 | const errorMessage = 7 | error instanceof Error ? error.message : JSON.stringify(error); 8 | 9 | return ( 10 |
11 | 12 | Oops. Something went wrong. 13 |
14 | {errorMessage} 15 |
16 |
17 |
18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /src/components/tma/tma-provider-initial-state.tsx: -------------------------------------------------------------------------------- 1 | import { Logo } from "@/components/logo"; 2 | 3 | export function TmaProviderInitialState() { 4 | return ( 5 |
6 | 7 |
8 | ); 9 | } 10 | -------------------------------------------------------------------------------- /src/components/tma/tma-provider-loading.tsx: -------------------------------------------------------------------------------- 1 | import { Loader } from "@/components/loader"; 2 | 3 | export function TmaProviderLoading() { 4 | return ( 5 |
6 | 7 |
8 | ); 9 | } 10 | -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { type ClassValue, clsx } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "tailwindcss" 2 | 3 | const config = { 4 | darkMode: ["class"], 5 | content: [ 6 | './pages/**/*.{ts,tsx}', 7 | './components/**/*.{ts,tsx}', 8 | './app/**/*.{ts,tsx}', 9 | './src/**/*.{ts,tsx}', 10 | ], 11 | prefix: "", 12 | theme: { 13 | container: { 14 | center: true, 15 | padding: "2rem", 16 | screens: { 17 | "2xl": "1400px", 18 | }, 19 | }, 20 | extend: { 21 | colors: { 22 | border: "hsl(var(--border))", 23 | input: "hsl(var(--input))", 24 | ring: "hsl(var(--ring))", 25 | background: "hsl(var(--background))", 26 | foreground: "hsl(var(--foreground))", 27 | primary: { 28 | DEFAULT: "hsl(var(--primary))", 29 | foreground: "hsl(var(--primary-foreground))", 30 | }, 31 | secondary: { 32 | DEFAULT: "hsl(var(--secondary))", 33 | foreground: "hsl(var(--secondary-foreground))", 34 | }, 35 | destructive: { 36 | DEFAULT: "hsl(var(--destructive))", 37 | foreground: "hsl(var(--destructive-foreground))", 38 | }, 39 | muted: { 40 | DEFAULT: "hsl(var(--muted))", 41 | foreground: "hsl(var(--muted-foreground))", 42 | }, 43 | accent: { 44 | DEFAULT: "hsl(var(--accent))", 45 | foreground: "hsl(var(--accent-foreground))", 46 | }, 47 | popover: { 48 | DEFAULT: "hsl(var(--popover))", 49 | foreground: "hsl(var(--popover-foreground))", 50 | }, 51 | card: { 52 | DEFAULT: "hsl(var(--card))", 53 | foreground: "hsl(var(--card-foreground))", 54 | }, 55 | }, 56 | borderRadius: { 57 | lg: "var(--radius)", 58 | md: "calc(var(--radius) - 2px)", 59 | sm: "calc(var(--radius) - 4px)", 60 | }, 61 | keyframes: { 62 | "accordion-down": { 63 | from: { height: "0" }, 64 | to: { height: "var(--radix-accordion-content-height)" }, 65 | }, 66 | "accordion-up": { 67 | from: { height: "var(--radix-accordion-content-height)" }, 68 | to: { height: "0" }, 69 | }, 70 | }, 71 | animation: { 72 | "accordion-down": "accordion-down 0.2s ease-out", 73 | "accordion-up": "accordion-up 0.2s ease-out", 74 | }, 75 | }, 76 | }, 77 | plugins: [require("tailwindcss-animate")], 78 | } satisfies Config 79 | 80 | export default config -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["dom", "dom.iterable", "esnext"], 4 | "allowJs": true, 5 | "skipLibCheck": true, 6 | "strict": true, 7 | "noEmit": true, 8 | "esModuleInterop": true, 9 | "module": "esnext", 10 | "moduleResolution": "bundler", 11 | "resolveJsonModule": true, 12 | "isolatedModules": true, 13 | "jsx": "preserve", 14 | "incremental": true, 15 | "plugins": [ 16 | { 17 | "name": "next" 18 | } 19 | ], 20 | "paths": { 21 | "@/*": ["./src/*"] 22 | } 23 | }, 24 | "include": [ 25 | "next-env.d.ts", 26 | "**/*.ts", 27 | "**/*.tsx", 28 | ".next/types/**/*.ts", 29 | "bot/tsconfig.json" 30 | ], 31 | "exclude": ["node_modules"] 32 | } 33 | --------------------------------------------------------------------------------