├── .env.example ├── .eslintrc.cjs ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .husky └── commit-msg ├── .yarnrc.yml ├── LICENSE ├── README.md ├── commitlint.config.js ├── next.config.mjs ├── package.json ├── postcss.config.cjs ├── prettier.config.cjs ├── prisma └── schema.prisma ├── public └── favicon.ico ├── src ├── components │ └── ErrorPage.tsx ├── env.mjs ├── pages │ ├── _app.tsx │ ├── api │ │ ├── bot │ │ │ ├── commands │ │ │ │ ├── keycard.ts │ │ │ │ ├── settings.ts │ │ │ │ └── verify.ts │ │ │ ├── index.ts │ │ │ ├── register.js │ │ │ └── utils │ │ │ │ └── general.ts │ │ ├── invite.ts │ │ ├── ip.ts │ │ └── trpc │ │ │ └── [trpc].ts │ ├── index.tsx │ └── v │ │ └── [id].tsx ├── server │ ├── api │ │ ├── root.ts │ │ ├── routers │ │ │ └── sessions.ts │ │ └── trpc.ts │ ├── db.ts │ └── helpers │ │ └── ssgHelper.ts ├── styles │ └── globals.css └── utils │ └── api.ts ├── tailwind.config.cjs ├── tsconfig.json └── yarn.lock /.env.example: -------------------------------------------------------------------------------- 1 | # Since the ".env" file is gitignored, you can use the ".env.example" file to 2 | # build a new ".env" file when you clone the repo. Keep this file up-to-date 3 | # when you add new variables to `.env`. 4 | 5 | # This file will be committed to version control, so make sure not to have any 6 | # secrets in it. If you are cloning this repo, create a copy of this file named 7 | # ".env" and populate it with your secrets. 8 | 9 | # When adding additional environment variables, the schema in "/src/env.mjs" 10 | # should be updated accordingly. 11 | 12 | # Prisma 13 | # https://www.prisma.io/docs/reference/database-reference/connection-urls#env 14 | DATABASE_URL="file:./db.sqlite" 15 | 16 | # Discord 17 | DISCORD_BOT_TOKEN="" 18 | DISCORD_CLIENT_ID="" 19 | DISCORD_PUBLIC_KEY="" 20 | 21 | # Turnstile 22 | NEXT_PUBLIC_TURNSTILE_SITE_KEY="" 23 | TURNSTILE_SECRET_KEY="" 24 | -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("eslint").Linter.Config} */ 2 | module.exports = { 3 | overrides: [ 4 | { 5 | files: ["*.ts", "*.tsx"] 6 | }, 7 | ], 8 | extends: ["next/core-web-vitals"] 9 | }; 10 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push, pull_request] 4 | 5 | env: 6 | DATABASE_URL: "https://fake.com" 7 | DISCORD_CLIENT_ID: "astrid is pretty" 8 | DISCORD_BOT_TOKEN: "<3" 9 | DISCORD_PUBLIC_KEY: "i love her" 10 | 11 | jobs: 12 | build: 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - name: Checkout 17 | uses: actions/checkout@v2 18 | 19 | - name: Install Dependencies 20 | run: npm install 21 | 22 | - name: Typecheck 23 | run: npm run typecheck 24 | 25 | - name: Lint 26 | run: npm run lint 27 | -------------------------------------------------------------------------------- /.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 | 8 | # testing 9 | /coverage 10 | 11 | # database 12 | /prisma/db.sqlite 13 | /prisma/db.sqlite-journal 14 | 15 | # next.js 16 | /.next/ 17 | /out/ 18 | next-env.d.ts 19 | 20 | # production 21 | /build 22 | 23 | # misc 24 | .DS_Store 25 | *.pem 26 | 27 | # debug 28 | npm-debug.log* 29 | yarn-debug.log* 30 | yarn-error.log* 31 | .pnpm-debug.log* 32 | 33 | # local env files 34 | # do not commit any .env files to git, except for the .env.example file. https://create.t3.gg/en/usage/env-variables#using-environment-variables 35 | .env 36 | .env*.local 37 | 38 | # vercel 39 | .vercel 40 | 41 | # typescript 42 | *.tsbuildinfo 43 | 44 | .package-lock.json 45 | # support yarn 46 | .yarn/* 47 | !.yarn/patches 48 | !.yarn/plugins 49 | !.yarn/releases 50 | !.yarn/sdks 51 | !.yarn/versions 52 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx --no -- commitlint --edit $1 5 | npx --no -- commitlint --edit $1 -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | nodeLinker: node-modules -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | # Mozilla Public License Version 2.0 2 | 3 | 1. Definitions 4 | 5 | --- 6 | 7 | 1.1. "Contributor" 8 | means each individual or legal entity that creates, contributes to 9 | the creation of, or owns Covered Software. 10 | 11 | 1.2. "Contributor Version" 12 | means the combination of the Contributions of others (if any) used 13 | by a Contributor and that particular Contributor's Contribution. 14 | 15 | 1.3. "Contribution" 16 | means Covered Software of a particular Contributor. 17 | 18 | 1.4. "Covered Software" 19 | means Source Code Form to which the initial Contributor has attached 20 | the notice in Exhibit A, the Executable Form of such Source Code 21 | Form, and Modifications of such Source Code Form, in each case 22 | including portions thereof. 23 | 24 | 1.5. "Incompatible With Secondary Licenses" 25 | means 26 | 27 | (a) that the initial Contributor has attached the notice described 28 | in Exhibit B to the Covered Software; or 29 | 30 | (b) that the Covered Software was made available under the terms of 31 | version 1.1 or earlier of the License, but not also under the 32 | terms of a Secondary License. 33 | 34 | 1.6. "Executable Form" 35 | means any form of the work other than Source Code Form. 36 | 37 | 1.7. "Larger Work" 38 | means a work that combines Covered Software with other material, in 39 | a separate file or files, that is not Covered Software. 40 | 41 | 1.8. "License" 42 | means this document. 43 | 44 | 1.9. "Licensable" 45 | means having the right to grant, to the maximum extent possible, 46 | whether at the time of the initial grant or subsequently, any and 47 | all of the rights conveyed by this License. 48 | 49 | 1.10. "Modifications" 50 | means any of the following: 51 | 52 | (a) any file in Source Code Form that results from an addition to, 53 | deletion from, or modification of the contents of Covered 54 | Software; or 55 | 56 | (b) any new file in Source Code Form that contains any Covered 57 | Software. 58 | 59 | 1.11. "Patent Claims" of a Contributor 60 | means any patent claim(s), including without limitation, method, 61 | process, and apparatus claims, in any patent Licensable by such 62 | Contributor that would be infringed, but for the grant of the 63 | License, by the making, using, selling, offering for sale, having 64 | made, import, or transfer of either its Contributions or its 65 | Contributor Version. 66 | 67 | 1.12. "Secondary License" 68 | means either the GNU General Public License, Version 2.0, the GNU 69 | Lesser General Public License, Version 2.1, the GNU Affero General 70 | Public License, Version 3.0, or any later versions of those 71 | licenses. 72 | 73 | 1.13. "Source Code Form" 74 | means the form of the work preferred for making modifications. 75 | 76 | 1.14. "You" (or "Your") 77 | means an individual or a legal entity exercising rights under this 78 | License. For legal entities, "You" includes any entity that 79 | controls, is controlled by, or is under common control with You. For 80 | purposes of this definition, "control" means (a) the power, direct 81 | or indirect, to cause the direction or management of such entity, 82 | whether by contract or otherwise, or (b) ownership of more than 83 | fifty percent (50%) of the outstanding shares or beneficial 84 | ownership of such entity. 85 | 86 | 2. License Grants and Conditions 87 | 88 | --- 89 | 90 | 2.1. Grants 91 | 92 | Each Contributor hereby grants You a world-wide, royalty-free, 93 | non-exclusive license: 94 | 95 | (a) under intellectual property rights (other than patent or trademark) 96 | Licensable by such Contributor to use, reproduce, make available, 97 | modify, display, perform, distribute, and otherwise exploit its 98 | Contributions, either on an unmodified basis, with Modifications, or 99 | as part of a Larger Work; and 100 | 101 | (b) under Patent Claims of such Contributor to make, use, sell, offer 102 | for sale, have made, import, and otherwise transfer either its 103 | Contributions or its Contributor Version. 104 | 105 | 2.2. Effective Date 106 | 107 | The licenses granted in Section 2.1 with respect to any Contribution 108 | become effective for each Contribution on the date the Contributor first 109 | distributes such Contribution. 110 | 111 | 2.3. Limitations on Grant Scope 112 | 113 | The licenses granted in this Section 2 are the only rights granted under 114 | this License. No additional rights or licenses will be implied from the 115 | distribution or licensing of Covered Software under this License. 116 | Notwithstanding Section 2.1(b) above, no patent license is granted by a 117 | Contributor: 118 | 119 | (a) for any code that a Contributor has removed from Covered Software; 120 | or 121 | 122 | (b) for infringements caused by: (i) Your and any other third party's 123 | modifications of Covered Software, or (ii) the combination of its 124 | Contributions with other software (except as part of its Contributor 125 | Version); or 126 | 127 | (c) under Patent Claims infringed by Covered Software in the absence of 128 | its Contributions. 129 | 130 | This License does not grant any rights in the trademarks, service marks, 131 | or logos of any Contributor (except as may be necessary to comply with 132 | the notice requirements in Section 3.4). 133 | 134 | 2.4. Subsequent Licenses 135 | 136 | No Contributor makes additional grants as a result of Your choice to 137 | distribute the Covered Software under a subsequent version of this 138 | License (see Section 10.2) or under the terms of a Secondary License (if 139 | permitted under the terms of Section 3.3). 140 | 141 | 2.5. Representation 142 | 143 | Each Contributor represents that the Contributor believes its 144 | Contributions are its original creation(s) or it has sufficient rights 145 | to grant the rights to its Contributions conveyed by this License. 146 | 147 | 2.6. Fair Use 148 | 149 | This License is not intended to limit any rights You have under 150 | applicable copyright doctrines of fair use, fair dealing, or other 151 | equivalents. 152 | 153 | 2.7. Conditions 154 | 155 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted 156 | in Section 2.1. 157 | 158 | 3. Responsibilities 159 | 160 | --- 161 | 162 | 3.1. Distribution of Source Form 163 | 164 | All distribution of Covered Software in Source Code Form, including any 165 | Modifications that You create or to which You contribute, must be under 166 | the terms of this License. You must inform recipients that the Source 167 | Code Form of the Covered Software is governed by the terms of this 168 | License, and how they can obtain a copy of this License. You may not 169 | attempt to alter or restrict the recipients' rights in the Source Code 170 | Form. 171 | 172 | 3.2. Distribution of Executable Form 173 | 174 | If You distribute Covered Software in Executable Form then: 175 | 176 | (a) such Covered Software must also be made available in Source Code 177 | Form, as described in Section 3.1, and You must inform recipients of 178 | the Executable Form how they can obtain a copy of such Source Code 179 | Form by reasonable means in a timely manner, at a charge no more 180 | than the cost of distribution to the recipient; and 181 | 182 | (b) You may distribute such Executable Form under the terms of this 183 | License, or sublicense it under different terms, provided that the 184 | license for the Executable Form does not attempt to limit or alter 185 | the recipients' rights in the Source Code Form under this License. 186 | 187 | 3.3. Distribution of a Larger Work 188 | 189 | You may create and distribute a Larger Work under terms of Your choice, 190 | provided that You also comply with the requirements of this License for 191 | the Covered Software. If the Larger Work is a combination of Covered 192 | Software with a work governed by one or more Secondary Licenses, and the 193 | Covered Software is not Incompatible With Secondary Licenses, this 194 | License permits You to additionally distribute such Covered Software 195 | under the terms of such Secondary License(s), so that the recipient of 196 | the Larger Work may, at their option, further distribute the Covered 197 | Software under the terms of either this License or such Secondary 198 | License(s). 199 | 200 | 3.4. Notices 201 | 202 | You may not remove or alter the substance of any license notices 203 | (including copyright notices, patent notices, disclaimers of warranty, 204 | or limitations of liability) contained within the Source Code Form of 205 | the Covered Software, except that You may alter any license notices to 206 | the extent required to remedy known factual inaccuracies. 207 | 208 | 3.5. Application of Additional Terms 209 | 210 | You may choose to offer, and to charge a fee for, warranty, support, 211 | indemnity or liability obligations to one or more recipients of Covered 212 | Software. However, You may do so only on Your own behalf, and not on 213 | behalf of any Contributor. You must make it absolutely clear that any 214 | such warranty, support, indemnity, or liability obligation is offered by 215 | You alone, and You hereby agree to indemnify every Contributor for any 216 | liability incurred by such Contributor as a result of warranty, support, 217 | indemnity or liability terms You offer. You may include additional 218 | disclaimers of warranty and limitations of liability specific to any 219 | jurisdiction. 220 | 221 | 4. Inability to Comply Due to Statute or Regulation 222 | 223 | --- 224 | 225 | If it is impossible for You to comply with any of the terms of this 226 | License with respect to some or all of the Covered Software due to 227 | statute, judicial order, or regulation then You must: (a) comply with 228 | the terms of this License to the maximum extent possible; and (b) 229 | describe the limitations and the code they affect. Such description must 230 | be placed in a text file included with all distributions of the Covered 231 | Software under this License. Except to the extent prohibited by statute 232 | or regulation, such description must be sufficiently detailed for a 233 | recipient of ordinary skill to be able to understand it. 234 | 235 | 5. Termination 236 | 237 | --- 238 | 239 | 5.1. The rights granted under this License will terminate automatically 240 | if You fail to comply with any of its terms. However, if You become 241 | compliant, then the rights granted under this License from a particular 242 | Contributor are reinstated (a) provisionally, unless and until such 243 | Contributor explicitly and finally terminates Your grants, and (b) on an 244 | ongoing basis, if such Contributor fails to notify You of the 245 | non-compliance by some reasonable means prior to 60 days after You have 246 | come back into compliance. Moreover, Your grants from a particular 247 | Contributor are reinstated on an ongoing basis if such Contributor 248 | notifies You of the non-compliance by some reasonable means, this is the 249 | first time You have received notice of non-compliance with this License 250 | from such Contributor, and You become compliant prior to 30 days after 251 | Your receipt of the notice. 252 | 253 | 5.2. If You initiate litigation against any entity by asserting a patent 254 | infringement claim (excluding declaratory judgment actions, 255 | counter-claims, and cross-claims) alleging that a Contributor Version 256 | directly or indirectly infringes any patent, then the rights granted to 257 | You by any and all Contributors for the Covered Software under Section 258 | 2.1 of this License shall terminate. 259 | 260 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all 261 | end user license agreements (excluding distributors and resellers) which 262 | have been validly granted by You or Your distributors under this License 263 | prior to termination shall survive termination. 264 | 265 | --- 266 | 267 | - * 268 | - 6. Disclaimer of Warranty \* 269 | - ------------------------- \* 270 | - * 271 | - Covered Software is provided under this License on an "as is" \* 272 | - basis, without warranty of any kind, either expressed, implied, or \* 273 | - statutory, including, without limitation, warranties that the \* 274 | - Covered Software is free of defects, merchantable, fit for a \* 275 | - particular purpose or non-infringing. The entire risk as to the \* 276 | - quality and performance of the Covered Software is with You. \* 277 | - Should any Covered Software prove defective in any respect, You \* 278 | - (not any Contributor) assume the cost of any necessary servicing, \* 279 | - repair, or correction. This disclaimer of warranty constitutes an \* 280 | - essential part of this License. No use of any Covered Software is \* 281 | - authorized under this License except under this disclaimer. \* 282 | - * 283 | 284 | --- 285 | 286 | --- 287 | 288 | - * 289 | - 7. Limitation of Liability \* 290 | - -------------------------- \* 291 | - * 292 | - Under no circumstances and under no legal theory, whether tort \* 293 | - (including negligence), contract, or otherwise, shall any \* 294 | - Contributor, or anyone who distributes Covered Software as \* 295 | - permitted above, be liable to You for any direct, indirect, \* 296 | - special, incidental, or consequential damages of any character \* 297 | - including, without limitation, damages for lost profits, loss of \* 298 | - goodwill, work stoppage, computer failure or malfunction, or any \* 299 | - and all other commercial damages or losses, even if such party \* 300 | - shall have been informed of the possibility of such damages. This \* 301 | - limitation of liability shall not apply to liability for death or \* 302 | - personal injury resulting from such party's negligence to the \* 303 | - extent applicable law prohibits such limitation. Some \* 304 | - jurisdictions do not allow the exclusion or limitation of \* 305 | - incidental or consequential damages, so this exclusion and \* 306 | - limitation may not apply to You. \* 307 | - * 308 | 309 | --- 310 | 311 | 8. Litigation 312 | 313 | --- 314 | 315 | Any litigation relating to this License may be brought only in the 316 | courts of a jurisdiction where the defendant maintains its principal 317 | place of business and such litigation shall be governed by laws of that 318 | jurisdiction, without reference to its conflict-of-law provisions. 319 | Nothing in this Section shall prevent a party's ability to bring 320 | cross-claims or counter-claims. 321 | 322 | 9. Miscellaneous 323 | 324 | --- 325 | 326 | This License represents the complete agreement concerning the subject 327 | matter hereof. If any provision of this License is held to be 328 | unenforceable, such provision shall be reformed only to the extent 329 | necessary to make it enforceable. Any law or regulation which provides 330 | that the language of a contract shall be construed against the drafter 331 | shall not be used to construe this License against a Contributor. 332 | 333 | 10. Versions of the License 334 | 335 | --- 336 | 337 | 10.1. New Versions 338 | 339 | Mozilla Foundation is the license steward. Except as provided in Section 340 | 10.3, no one other than the license steward has the right to modify or 341 | publish new versions of this License. Each version will be given a 342 | distinguishing version number. 343 | 344 | 10.2. Effect of New Versions 345 | 346 | You may distribute the Covered Software under the terms of the version 347 | of the License under which You originally received the Covered Software, 348 | or under the terms of any subsequent version published by the license 349 | steward. 350 | 351 | 10.3. Modified Versions 352 | 353 | If you create software not governed by this License, and you want to 354 | create a new license for such software, you may create and use a 355 | modified version of this License if you rename the license and remove 356 | any references to the name of the license steward (except to note that 357 | such modified license differs from this License). 358 | 359 | 10.4. Distributing Source Code Form that is Incompatible With Secondary 360 | Licenses 361 | 362 | If You choose to distribute Source Code Form that is Incompatible With 363 | Secondary Licenses under the terms of this version of the License, the 364 | notice described in Exhibit B of this License must be attached. 365 | 366 | ## Exhibit A - Source Code Form License Notice 367 | 368 | This Source Code Form is subject to the terms of the Mozilla Public 369 | License, v. 2.0. If a copy of the MPL was not distributed with this 370 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 371 | 372 | If it is not possible or desirable to put the notice in a particular 373 | file, then You may include the notice in a location (such as a LICENSE 374 | file in a relevant directory) where a recipient would be likely to look 375 | for such a notice. 376 | 377 | You may add additional accurate notices of copyright ownership. 378 | 379 | ## Exhibit B - "Incompatible With Secondary Licenses" Notice 380 | 381 | This Source Code Form is "Incompatible With Secondary Licenses", as 382 | defined by the Mozilla Public License, v. 2.0. 383 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 |
Keycard; Enhanced member verification
3 |
4 |

5 | 6 |

7 | Invite 8 | • 9 | Overview 10 | • 11 | Setup 12 |

13 | 14 | ## Overview 15 | 16 | Keycard is an effortless Discord member verification system, made to be efficent with minimal user friction. 17 | Here are some things you should know: 18 | 19 | - No Discord OAuth. OAuth is great, when you need it. In this case, we can get all needed information from the bot itself; why go through another step? 20 | - Keycard provides alternate account detection. Each time a user verifies, their Discord ID and hashed IP address is saved to a database. While verifying, Keycard checks this database to see if there's any previously verified accounts on the same IP, that are in the target server. 21 | 22 | ## Setup 23 | 24 | Setup is relatively simple. 25 | 26 | 1. Restrict the @everyone role from doing stuff. This can either be restricting view access, or just revoking speaking privileges. Only give it the permissions you wish an unverified user to have. 27 | 2. Setup your verified role. You can do this by running `/settings role` :) 28 | 3. And now you're done! People can now recieve the specified role if they successfully pass Keycard verification. 29 | 30 | ## Example 31 | 32 | Here is an example of Keycard verification 33 | 34 | https://user-images.githubusercontent.com/45674371/230694594-c3ca13a9-12aa-4f87-91f5-d4b79f046653.mp4 35 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ["@commitlint/config-conventional"], 3 | rules: { 4 | "type-enum": [ 5 | 2, 6 | "always", 7 | [ 8 | "feat", 9 | "fix", 10 | "docs", 11 | "chore", 12 | "style", 13 | "refactor", 14 | "ci", 15 | "test", 16 | "perf", 17 | "revert", 18 | "cleanup", 19 | ], 20 | ], 21 | }, 22 | }; -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | 3 | /** 4 | * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. 5 | * This is especially useful for Docker builds. 6 | */ 7 | !process.env.SKIP_ENV_VALIDATION && (await import("./src/env.mjs")); 8 | 9 | /** @type {import("next").NextConfig} */ 10 | const config = { 11 | reactStrictMode: true, 12 | 13 | /** 14 | * If you have the "experimental: { appDir: true }" setting enabled, then you 15 | * must comment the below `i18n` config out. 16 | * 17 | * @see https://github.com/vercel/next.js/issues/41980 18 | */ 19 | i18n: { 20 | locales: ["en"], 21 | defaultLocale: "en", 22 | }, 23 | typescript: { 24 | ignoreBuildErrors: true, 25 | }, 26 | eslint: { 27 | ignoreDuringBuilds: true, 28 | }, 29 | swcMinify: true, 30 | }; 31 | export default config; 32 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "keycard", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "MPL-2.0", 6 | "scripts": { 7 | "build": "next build", 8 | "dev": "next dev", 9 | "postinstall": "prisma generate", 10 | "lint": "next lint", 11 | "start": "next start", 12 | "register": "node src/pages/api/bot/register.js", 13 | "typecheck": "tsc --noEmit" 14 | }, 15 | "dependencies": { 16 | "@discordjs/builders": "^1.6.1", 17 | "@discordjs/rest": "^1.5.0", 18 | "@prisma/client": "^4.9.0", 19 | "@tailwindcss/typography": "^0.5.9", 20 | "@tanstack/react-query": "^4.20.2", 21 | "@trpc/client": "^10.9.0", 22 | "@trpc/next": "^10.9.0", 23 | "@trpc/react-query": "^10.9.0", 24 | "@trpc/server": "^10.9.0", 25 | "async": "^3.2.4", 26 | "axios": "^1.3.4", 27 | "daisyui": "^2.51.5", 28 | "discord-api-types": "^0.37.35", 29 | "discord-permission": "^1.0.4", 30 | "dotenv": "^16.0.3", 31 | "next": "13.1.6", 32 | "react": "18.2.0", 33 | "react-dom": "18.2.0", 34 | "react-turnstile": "^1.1.0", 35 | "sha3": "^2.1.4", 36 | "superjson": "1.9.1", 37 | "tweetnacl": "^1.0.3", 38 | "zod": "^3.20.2" 39 | }, 40 | "devDependencies": { 41 | "@types/async": "^3.2.18", 42 | "@types/eslint": "^8.21.1", 43 | "@types/node": "^18.11.18", 44 | "@types/prettier": "^2.7.2", 45 | "@types/react": "^18.0.26", 46 | "@types/react-dom": "^18.0.10", 47 | "@typescript-eslint/eslint-plugin": "^5.47.1", 48 | "@typescript-eslint/parser": "^5.47.1", 49 | "animated-tailwindcss": "^4.0.0", 50 | "autoprefixer": "^10.4.7", 51 | "eslint": "^8.30.0", 52 | "eslint-config-next": "13.1.6", 53 | "postcss": "^8.4.14", 54 | "prettier": "^2.8.1", 55 | "prettier-plugin-tailwindcss": "^0.2.1", 56 | "prisma": "^4.9.0", 57 | "tailwindcss": "^3.2.0", 58 | "typescript": "^4.9.4" 59 | }, 60 | "ct3aMetadata": { 61 | "initVersion": "7.5.6" 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /prettier.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("prettier").Config} */ 2 | module.exports = { 3 | plugins: [require.resolve("prettier-plugin-tailwindcss")], 4 | }; 5 | -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- 1 | // This is your Prisma schema file, 2 | // learn more about it in the docs: https://pris.ly/d/prisma-schema 3 | 4 | generator client { 5 | provider = "prisma-client-js" 6 | } 7 | 8 | datasource db { 9 | provider = "mysql" 10 | url = env("DATABASE_URL") 11 | relationMode = "prisma" 12 | } 13 | 14 | model Session { 15 | id String @id @default(cuid()) 16 | createdAt DateTime @default(now()) 17 | discordId String 18 | completed Boolean @default(false) 19 | Server Server? @relation(fields: [serverId], references: [id]) 20 | serverId String? 21 | 22 | @@index([serverId]) 23 | } 24 | 25 | model Server { 26 | // Discord server ID 27 | id String @id 28 | // Discord Role ID to give upon successful verification 29 | verificationRole String? 30 | loggingChannel String? 31 | sessions Session[] 32 | } 33 | 34 | model Account { 35 | id String @id 36 | ip String 37 | } 38 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flowergardn/Keycard/e9c99bc58ca7030b95b2e3cd19b220eb9c93c398/public/favicon.ico -------------------------------------------------------------------------------- /src/components/ErrorPage.tsx: -------------------------------------------------------------------------------- 1 | import Link from "next/link"; 2 | 3 | const ErrorPage = (props: { code: number; description: string }) => { 4 | return ( 5 |
6 |
7 |

{props.code}

8 |

{props.description}

9 | 10 | 13 | 14 |
15 |
16 | ); 17 | }; 18 | 19 | export default ErrorPage; 20 | -------------------------------------------------------------------------------- /src/env.mjs: -------------------------------------------------------------------------------- 1 | import { z } from "zod"; 2 | 3 | /** 4 | * Specify your server-side environment variables schema here. This way you can ensure the app isn't 5 | * built with invalid env vars. 6 | */ 7 | const server = z.object({ 8 | DATABASE_URL: z.string().url(), 9 | NODE_ENV: z.enum(["development", "test", "production"]), 10 | DISCORD_CLIENT_ID: z.string(), 11 | DISCORD_BOT_TOKEN: z.string(), 12 | DISCORD_PUBLIC_KEY: z.string(), 13 | }); 14 | 15 | /** 16 | * Specify your client-side environment variables schema here. This way you can ensure the app isn't 17 | * built with invalid env vars. To expose them to the client, prefix them with `NEXT_PUBLIC_`. 18 | */ 19 | const client = z.object({ 20 | // NEXT_PUBLIC_CLIENTVAR: z.string().min(1), 21 | }); 22 | 23 | /** 24 | * You can't destruct `process.env` as a regular object in the Next.js edge runtimes (e.g. 25 | * middlewares) or client-side so we need to destruct manually. 26 | * 27 | * @type {Record | keyof z.infer, string | undefined>} 28 | */ 29 | const processEnv = { 30 | DATABASE_URL: process.env.DATABASE_URL, 31 | NODE_ENV: process.env.NODE_ENV, 32 | DISCORD_CLIENT_ID: process.env.DISCORD_CLIENT_ID, 33 | DISCORD_BOT_TOKEN: process.env.DISCORD_BOT_TOKEN, 34 | DISCORD_PUBLIC_KEY: process.env.DISCORD_PUBLIC_KEY, 35 | // NEXT_PUBLIC_CLIENTVAR: process.env.NEXT_PUBLIC_CLIENTVAR, 36 | }; 37 | 38 | // Don't touch the part below 39 | // -------------------------- 40 | 41 | const merged = server.merge(client); 42 | 43 | /** @typedef {z.input} MergedInput */ 44 | /** @typedef {z.infer} MergedOutput */ 45 | /** @typedef {z.SafeParseReturnType} MergedSafeParseReturn */ 46 | 47 | let env = /** @type {MergedOutput} */ (process.env); 48 | 49 | if (!!process.env.SKIP_ENV_VALIDATION == false) { 50 | const isServer = typeof window === "undefined"; 51 | 52 | const parsed = /** @type {MergedSafeParseReturn} */ ( 53 | isServer 54 | ? merged.safeParse(processEnv) // on server we can validate all env vars 55 | : client.safeParse(processEnv) // on client we can only validate the ones that are exposed 56 | ); 57 | 58 | if (parsed.success === false) { 59 | console.error( 60 | "❌ Invalid environment variables:", 61 | parsed.error.flatten().fieldErrors 62 | ); 63 | throw new Error("Invalid environment variables"); 64 | } 65 | 66 | env = new Proxy(parsed.data, { 67 | get(target, prop) { 68 | if (typeof prop !== "string") return undefined; 69 | // Throw a descriptive error if a server-side env var is accessed on the client 70 | // Otherwise it would just be returning `undefined` and be annoying to debug 71 | if (!isServer && !prop.startsWith("NEXT_PUBLIC_")) 72 | throw new Error( 73 | process.env.NODE_ENV === "production" 74 | ? "❌ Attempted to access a server-side environment variable on the client" 75 | : `❌ Attempted to access server-side environment variable '${prop}' on the client` 76 | ); 77 | return target[/** @type {keyof typeof target} */ (prop)]; 78 | }, 79 | }); 80 | } 81 | 82 | export { env }; 83 | -------------------------------------------------------------------------------- /src/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import { type AppType } from "next/app"; 2 | 3 | import { api } from "~/utils/api"; 4 | 5 | import "~/styles/globals.css"; 6 | 7 | const Keycard: AppType = ({ Component, pageProps }) => { 8 | return ; 9 | }; 10 | 11 | export default api.withTRPC(Keycard); 12 | -------------------------------------------------------------------------------- /src/pages/api/bot/commands/keycard.ts: -------------------------------------------------------------------------------- 1 | import { CommandOptions } from "~/pages/api/bot/index"; 2 | import { InteractionResponseType, MessageFlags } from "discord-api-types/v10"; 3 | import { EmbedBuilder, codeBlock } from "@discordjs/builders"; 4 | import axios from "axios"; 5 | import { prisma } from "~/server/db"; 6 | 7 | export const execute = async (opt: CommandOptions) => { 8 | const { res: response } = opt; 9 | 10 | const embed = new EmbedBuilder().setTitle("Keycard Info"); 11 | 12 | const servers = await axios.get( 13 | "https://discord.com/api/v10/users/@me/guilds", 14 | { 15 | headers: { 16 | Authorization: `Bot ${process.env.DISCORD_BOT_TOKEN}`, 17 | }, 18 | } 19 | ); 20 | 21 | const sessions = await prisma.session.findMany(); 22 | const accounts = await prisma.account.findMany(); 23 | 24 | const stats = [ 25 | `[Servers]: ${servers.data.length}`, 26 | `[Sessions]: ${sessions.length}`, 27 | `[Verified users]: ${accounts.length}`, 28 | ]; 29 | 30 | embed.setDescription(codeBlock("ini", stats.join("\n"))); 31 | 32 | response.json({ 33 | type: InteractionResponseType.ChannelMessageWithSource, 34 | data: { 35 | embeds: [embed.toJSON()], 36 | flags: MessageFlags.Ephemeral, 37 | }, 38 | }); 39 | }; 40 | -------------------------------------------------------------------------------- /src/pages/api/bot/commands/settings.ts: -------------------------------------------------------------------------------- 1 | import { CommandOptions } from "~/pages/api/bot/index"; 2 | import { 3 | InteractionResponseType, 4 | MessageFlags, 5 | APIInteractionGuildMember, 6 | } from "discord-api-types/v10"; 7 | import { calculate } from "discord-permission"; 8 | import { prisma } from "~/server/db"; 9 | 10 | export const execute = async (opt: CommandOptions) => { 11 | const { res: response, req: request } = opt; 12 | 13 | const { body } = request; 14 | 15 | const member = request.body.member as APIInteractionGuildMember; 16 | 17 | const canManage = calculate("MANAGE_GUILD", parseInt(member.permissions)); 18 | 19 | if (!canManage) { 20 | return response.json({ 21 | type: InteractionResponseType.ChannelMessageWithSource, 22 | data: { 23 | content: 24 | "You're forbidden from accessing this servers Keycard settings.", 25 | flags: MessageFlags.Ephemeral, 26 | }, 27 | }); 28 | } 29 | 30 | const setting = body.data.options.shift(); 31 | 32 | console.log(setting.name); 33 | 34 | switch (setting.name) { 35 | case "role": { 36 | await prisma.server.upsert({ 37 | where: { 38 | id: body.guild_id, 39 | }, 40 | update: { 41 | verificationRole: setting.options[0].value, 42 | }, 43 | create: { 44 | id: body.guild_id, 45 | verificationRole: setting.options[0].value, 46 | }, 47 | }); 48 | 49 | response.json({ 50 | type: InteractionResponseType.ChannelMessageWithSource, 51 | data: { 52 | content: `Verification role set to <@&${setting.options[0].value}>`, 53 | flags: MessageFlags.Ephemeral, 54 | }, 55 | }); 56 | break; 57 | } 58 | case "channel": { 59 | await prisma.server.upsert({ 60 | where: { 61 | id: body.guild_id, 62 | }, 63 | update: { 64 | loggingChannel: setting.options[0].value, 65 | }, 66 | create: { 67 | id: body.guild_id, 68 | loggingChannel: setting.options[0].value, 69 | }, 70 | }); 71 | 72 | response.json({ 73 | type: InteractionResponseType.ChannelMessageWithSource, 74 | data: { 75 | content: `Logging channel set to <#${setting.options[0].value}>`, 76 | flags: MessageFlags.Ephemeral, 77 | }, 78 | }); 79 | break; 80 | } 81 | } 82 | }; 83 | -------------------------------------------------------------------------------- /src/pages/api/bot/commands/verify.ts: -------------------------------------------------------------------------------- 1 | import { CommandOptions } from "~/pages/api/bot/index"; 2 | import { 3 | InteractionResponseType, 4 | MessageFlags, 5 | ButtonStyle, 6 | APIGuildMember, 7 | } from "discord-api-types/v10"; 8 | import { createTRPCContext } from "~/server/api/trpc"; 9 | import { appRouter } from "~/server/api/root"; 10 | import { EmbedBuilder, ButtonBuilder } from "@discordjs/builders"; 11 | import { parseColor } from "../utils/general"; 12 | import { prisma } from "~/server/db"; 13 | 14 | export const execute = async (opt: CommandOptions) => { 15 | const { res: response, req: request } = opt; 16 | 17 | const ctx = createTRPCContext({ req: request, res: response }); 18 | const trpc = appRouter.createCaller(ctx); 19 | 20 | const server = await prisma.server.findFirst({ 21 | where: { 22 | id: request.body.guild_id, 23 | }, 24 | }); 25 | 26 | if (!server) { 27 | response.json({ 28 | type: InteractionResponseType.ChannelMessageWithSource, 29 | data: { 30 | content: 31 | "Keycard has not yet been setup for this server. Tell a server admin to do `/settings role`", 32 | flags: MessageFlags.Ephemeral, 33 | }, 34 | }); 35 | return; 36 | } 37 | 38 | const member = request.body.member as APIGuildMember; 39 | 40 | const session = await trpc.sessions.create({ 41 | discordId: member.user?.id ?? "", 42 | serverId: request.body.guild_id, 43 | }); 44 | 45 | const embed = new EmbedBuilder() 46 | .setTitle("Server verification") 47 | .setColor(parseColor("#2b2d31")); 48 | 49 | embed.setDescription( 50 | "This server uses [Keycard](https://github.com/astridlol/Keycard) to make sure people are who they say they are.\nClick the button below to begin your verification session." 51 | ); 52 | 53 | embed.setFooter({ 54 | text: "Keycard is completely open source <3", 55 | }); 56 | 57 | const button = new ButtonBuilder() 58 | .setStyle(ButtonStyle.Link) 59 | .setLabel("Verify") 60 | .setURL(`https://keycard.vercel.app/v/${session.id}`); 61 | 62 | response.json({ 63 | type: InteractionResponseType.ChannelMessageWithSource, 64 | data: { 65 | embeds: [embed.toJSON()], 66 | components: [ 67 | { 68 | type: 1, 69 | components: [button.toJSON()], 70 | }, 71 | ], 72 | flags: MessageFlags.Ephemeral, 73 | }, 74 | }); 75 | }; 76 | -------------------------------------------------------------------------------- /src/pages/api/bot/index.ts: -------------------------------------------------------------------------------- 1 | import type { NextApiRequest, NextApiResponse } from "next"; 2 | import type { 3 | APIChatInputApplicationCommandInteractionData, 4 | APIGuildMember, 5 | } from "discord-api-types/v10"; 6 | import { InteractionType } from "discord-api-types/v10"; 7 | 8 | import { sign } from "tweetnacl"; 9 | 10 | export interface Interaction { 11 | data: APIChatInputApplicationCommandInteractionData; 12 | member: APIGuildMember; 13 | } 14 | 15 | export interface CommandOptions { 16 | res: NextApiResponse; 17 | req: NextApiRequest; 18 | interaction: Interaction; 19 | } 20 | 21 | const bot = async (req: NextApiRequest, res: NextApiResponse) => { 22 | const { type } = req.body; 23 | 24 | // Your public key can be found on your application in the Developer Portal 25 | const PUBLIC_KEY = process.env.DISCORD_PUBLIC_KEY; 26 | 27 | const signature = req.headers["x-signature-ed25519"]; 28 | const timestamp = req.headers["x-signature-timestamp"]; 29 | 30 | // If neither are provided, something is up. 31 | if (!signature || !timestamp) { 32 | res.status(401); 33 | res.send("Bad request signature"); 34 | return; 35 | } 36 | 37 | // I am way too lazy to fix the issues with buffers, so that's why there is some @ts-ignore below. 38 | // Feel free to remove it and PR the fix :) 39 | const isVerified = sign.detached.verify( 40 | Buffer.from(timestamp + JSON.stringify(req.body)), 41 | // @ts-ignore 42 | Buffer.from(signature, "hex"), 43 | // @ts-ignore 44 | Buffer.from(PUBLIC_KEY, "hex") 45 | ); 46 | 47 | if (!isVerified) { 48 | res.status(401); 49 | res.send("Bad request signature"); 50 | return; 51 | } 52 | 53 | // ACK pings 54 | if (type === 1) { 55 | res.json({ type: 1 }); 56 | return; 57 | } 58 | 59 | if (type === InteractionType.ApplicationCommand) { 60 | const interaction = req.body; 61 | 62 | try { 63 | const command = await import(`../bot/commands/${interaction.data.name}`); 64 | await command.execute({ 65 | interaction, 66 | res, 67 | req, 68 | }); 69 | } catch (err: any) { 70 | console.log(err.message); 71 | console.log(`command does not exist`); 72 | } 73 | } 74 | }; 75 | 76 | export default bot; 77 | -------------------------------------------------------------------------------- /src/pages/api/bot/register.js: -------------------------------------------------------------------------------- 1 | require("dotenv").config({ 2 | path: require("path").resolve(".env"), 3 | }); 4 | const { REST } = require("@discordjs/rest"); 5 | const { 6 | Routes, 7 | ApplicationCommandOptionType, 8 | } = require("discord-api-types/v10"); 9 | 10 | const commands = [ 11 | { 12 | name: "verify", 13 | description: "Start a verification session.", 14 | }, 15 | { 16 | name: "keycard", 17 | description: "View Keycard information", 18 | }, 19 | { 20 | name: "settings", 21 | description: "Manage Keycard settings", 22 | options: [ 23 | { 24 | name: "role", 25 | description: "Set the verification role", 26 | type: ApplicationCommandOptionType.Subcommand, 27 | options: [ 28 | { 29 | name: "role", 30 | description: "The role to set", 31 | type: ApplicationCommandOptionType.Role, 32 | required: true, 33 | }, 34 | ], 35 | }, 36 | { 37 | name: "channel", 38 | description: "Set the verification logging channel", 39 | type: ApplicationCommandOptionType.Subcommand, 40 | options: [ 41 | { 42 | name: "channel", 43 | description: "The channel to send logs into", 44 | type: ApplicationCommandOptionType.Channel, 45 | required: true, 46 | }, 47 | ], 48 | }, 49 | ], 50 | }, 51 | ]; 52 | 53 | const token = process.env.DISCORD_BOT_TOKEN ?? ""; 54 | const id = process.env.DISCORD_CLIENT_ID ?? ""; 55 | 56 | const rest = new REST({ version: "10" }).setToken(token); 57 | 58 | (async () => { 59 | try { 60 | console.log("[Discord API] Started refreshing application (/) commands."); 61 | await rest.put(Routes.applicationCommands(id), { body: commands }); 62 | console.log( 63 | "[Discord API] Successfully reloaded application (/) commands." 64 | ); 65 | process.exit(0); 66 | } catch (error) { 67 | console.error(error); 68 | } 69 | })(); 70 | -------------------------------------------------------------------------------- /src/pages/api/bot/utils/general.ts: -------------------------------------------------------------------------------- 1 | import axios from "axios"; 2 | import { APIEmbed, APIMessageActionRowComponent } from "discord-api-types/v10"; 3 | import { Interaction } from "~/pages/api/bot/index"; 4 | import { prisma } from "~/server/db"; 5 | 6 | interface Option { 7 | name: string; 8 | type: number; 9 | value: string; 10 | } 11 | 12 | export const getArgument = ( 13 | interaction: Interaction, 14 | argument: string 15 | ): Option | null => { 16 | const { options } = interaction.data; 17 | if (!options) return null; 18 | 19 | const _arg = options.filter((o) => o.name === argument); 20 | if (_arg.length === 1) return _arg.shift() as Option; 21 | else return null; 22 | }; 23 | 24 | export function parseColor(color: string) { 25 | let baseColor = color; 26 | baseColor = color.replace("#", ""); 27 | return parseInt(baseColor, 16); 28 | } 29 | 30 | export async function sendLog( 31 | guildId: string, 32 | log: { 33 | content?: string; 34 | embeds?: APIEmbed[]; 35 | components?: APIMessageActionRowComponent[]; 36 | } 37 | ) { 38 | const server = await prisma.server.findFirst({ 39 | where: { 40 | id: guildId, 41 | }, 42 | }); 43 | 44 | if (!server || !server?.loggingChannel) return; 45 | 46 | await axios.post( 47 | `https://discord.com/api/v10/channels/${server.loggingChannel}/messages`, 48 | log, 49 | { 50 | headers: { 51 | Authorization: `Bot ${process.env.DISCORD_BOT_TOKEN}`, 52 | }, 53 | } 54 | ); 55 | } 56 | 57 | const { SHA3 } = require("sha3"); 58 | const SHA3Hash = new SHA3(512); 59 | 60 | /** 61 | * Hashes a string 62 | * @param {string} string - The string to hash (Required) 63 | * @returns The decrypted string 64 | */ 65 | export function hash(string: string) { 66 | SHA3Hash.update(string); 67 | let result = SHA3Hash.digest("hex"); 68 | SHA3Hash.reset(); 69 | return result; 70 | } 71 | 72 | -------------------------------------------------------------------------------- /src/pages/api/invite.ts: -------------------------------------------------------------------------------- 1 | import type { NextApiRequest, NextApiResponse } from "next"; 2 | 3 | const invite = async (req: NextApiRequest, res: NextApiResponse) => { 4 | res.redirect( 5 | "https://discord.com/api/oauth2/authorize?client_id=1092191075805954158&permissions=268435456&scope=bot" 6 | ); 7 | }; 8 | 9 | export default invite; 10 | -------------------------------------------------------------------------------- /src/pages/api/ip.ts: -------------------------------------------------------------------------------- 1 | import axios from "axios"; 2 | import type { NextApiRequest, NextApiResponse } from "next"; 3 | 4 | // This is here since I can't call ip risk from the client-side 5 | 6 | const ip = async (req: NextApiRequest, res: NextApiResponse) => { 7 | const ip = req.headers["x-forwarded-for"] ?? "8.8.8.8"; 8 | 9 | const d = await axios.get(`http://ip-api.com/json/${ip}`); 10 | 11 | res.json({ 12 | ...d.data, 13 | }); 14 | }; 15 | 16 | export default ip; 17 | -------------------------------------------------------------------------------- /src/pages/api/trpc/[trpc].ts: -------------------------------------------------------------------------------- 1 | import { createNextApiHandler } from "@trpc/server/adapters/next"; 2 | 3 | import { env } from "~/env.mjs"; 4 | import { createTRPCContext } from "~/server/api/trpc"; 5 | import { appRouter } from "~/server/api/root"; 6 | 7 | // export API handler 8 | export default createNextApiHandler({ 9 | router: appRouter, 10 | createContext: createTRPCContext, 11 | onError: 12 | env.NODE_ENV === "development" 13 | ? ({ path, error }) => { 14 | console.error( 15 | `❌ tRPC failed on ${path ?? ""}: ${error.message}`, 16 | ); 17 | } 18 | : undefined, 19 | }); 20 | -------------------------------------------------------------------------------- /src/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import { type NextPage } from "next"; 2 | import Head from "next/head"; 3 | 4 | let defaults = { 5 | title: "Keycard", 6 | description: "A new era of Discord verification", 7 | color: "#7ec8e3", 8 | }; 9 | 10 | function Meta({ 11 | title = defaults.title, 12 | description = defaults.description, 13 | color = defaults.color, 14 | }) { 15 | const url = "keycard.vercel.app"; 16 | 17 | return ( 18 | <> 19 | 20 | 21 | 22 | 23 | 24 | 28 | 29 | 30 | 31 | 35 | 36 | Keycard 37 | 38 | ); 39 | } 40 | 41 | const Home: NextPage = () => { 42 | return ( 43 | <> 44 | 45 | 46 | 47 |
48 |
49 |
50 |

Keycard

51 |

52 | Simple, effective & modernized Discord verification. 53 |

54 | 70 | 93 |
94 |
95 |
96 | 97 | ); 98 | }; 99 | 100 | export default Home; 101 | -------------------------------------------------------------------------------- /src/pages/v/[id].tsx: -------------------------------------------------------------------------------- 1 | import { GetStaticProps, NextPage } from "next"; 2 | import ErrorPage from "~/components/ErrorPage"; 3 | import { generateSSGHelper } from "~/server/helpers/ssgHelper"; 4 | import { api } from "~/utils/api"; 5 | import Turnstile from "react-turnstile"; 6 | import { useQuery } from "@tanstack/react-query"; 7 | 8 | interface IPAPIResponse { 9 | query: string; 10 | status: string; 11 | continent: string; 12 | continentCode: string; 13 | country: string; 14 | countryCode: string; 15 | region: string; 16 | regionName: string; 17 | city: string; 18 | district: string; 19 | zip: string; 20 | timezone: string; 21 | currency: string; 22 | isp: string; 23 | org: string; 24 | as: string; 25 | asname: string; 26 | mobile: boolean; 27 | proxy: boolean; 28 | hosting: boolean; 29 | } 30 | 31 | const Verification: NextPage<{ id: string }> = ({ id }) => { 32 | const { data, isLoading: sessionLoading } = api.sessions.fetch.useQuery({ 33 | sessionId: id, 34 | }); 35 | const { isError, error, isSuccess, mutate } = 36 | api.sessions.verify.useMutation(); 37 | 38 | const { data: ipInfo } = useQuery({ 39 | queryKey: ["ipInfo"], 40 | queryFn: () => fetch("/api/ip").then((res) => res.json()), 41 | }); 42 | 43 | if (sessionLoading) return <>loading; 44 | 45 | if (!data) 46 | return ; 47 | 48 | const verify = (token: string) => { 49 | const { query: ip } = ipInfo as IPAPIResponse; 50 | 51 | if (!ip) return; 52 | 53 | mutate({ 54 | captchaToken: token, 55 | sessionId: id, 56 | ip, 57 | }); 58 | }; 59 | 60 | const siteKey = process.env.NEXT_PUBLIC_TURNSTILE_SITE_KEY ?? ""; 61 | 62 | const Text = () => { 63 | if (isSuccess) 64 | return

You may now return back to Discord

; 65 | 66 | if (isError) return

{error.message}

; 67 | 68 | return ( 69 |

Making sure you're a good person...

70 | ); 71 | }; 72 | 73 | return ( 74 | <> 75 |
76 |
77 |

Keycard Verification

78 | 79 | {isError ? <> : } 80 |
81 |
82 | 83 | ); 84 | }; 85 | 86 | export const getStaticProps: GetStaticProps = async (context) => { 87 | const ssg = generateSSGHelper(); 88 | 89 | const id = context.params?.id; 90 | 91 | if (typeof id !== "string") throw new Error("no id"); 92 | 93 | await ssg.sessions.fetch.prefetch({ sessionId: id }); 94 | 95 | return { 96 | props: { 97 | trpcState: ssg.dehydrate(), 98 | id, 99 | }, 100 | }; 101 | }; 102 | 103 | export const getStaticPaths = () => { 104 | return { paths: [], fallback: "blocking" }; 105 | }; 106 | 107 | export default Verification; 108 | -------------------------------------------------------------------------------- /src/server/api/root.ts: -------------------------------------------------------------------------------- 1 | import { createTRPCRouter } from "~/server/api/trpc"; 2 | import { sessionRouter } from "~/server/api/routers/sessions"; 3 | 4 | /** 5 | * This is the primary router for your server. 6 | * 7 | * All routers added in /api/routers should be manually added here. 8 | */ 9 | export const appRouter = createTRPCRouter({ 10 | sessions: sessionRouter 11 | }); 12 | 13 | // export type definition of API 14 | export type AppRouter = typeof appRouter; 15 | -------------------------------------------------------------------------------- /src/server/api/routers/sessions.ts: -------------------------------------------------------------------------------- 1 | import { EmbedBuilder, inlineCode, userMention } from "@discordjs/builders"; 2 | import { Account } from "@prisma/client"; 3 | import { TRPCError } from "@trpc/server"; 4 | import axios from "axios"; 5 | import { 6 | APIEmbedField, 7 | RESTGetAPIGuildMemberResult, 8 | } from "discord-api-types/v10"; 9 | import { z } from "zod"; 10 | import { parseColor, sendLog, hash } from "~/pages/api/bot/utils/general"; 11 | import * as async from "async"; 12 | 13 | import { createTRPCRouter, publicProcedure } from "~/server/api/trpc"; 14 | 15 | function verifyCaptcha(token: string) { 16 | return axios 17 | .post( 18 | `https://challenges.cloudflare.com/turnstile/v0/siteverify`, 19 | { 20 | response: token, 21 | secret: process.env.TURNSTILE_SECRET_KEY, 22 | }, 23 | { 24 | headers: { 25 | "Content-Type": "application/x-www-form-urlencoded", 26 | }, 27 | } 28 | ) 29 | .then((resp) => { 30 | if (resp?.data) return resp?.data; 31 | else 32 | throw new TRPCError({ 33 | code: "BAD_REQUEST", 34 | cause: "Failed to verify captcha", 35 | }); 36 | }) 37 | .catch((err) => { 38 | console.log(err); 39 | }); 40 | } 41 | 42 | // Function to parse through an array list of alts, and only return the ones present in the current server. 43 | async function checkAlts(accounts: Account[], guildId: string) { 44 | const alts: RESTGetAPIGuildMemberResult[] = []; 45 | 46 | await async.each(accounts, async function (data) { 47 | const url = `https://discord.com/api/v10/guilds/${guildId}/members/${data.id}`; 48 | 49 | try { 50 | const response = await fetch(url, { 51 | headers: { 52 | Authorization: `Bot ${process.env.DISCORD_BOT_TOKEN}`, 53 | }, 54 | }); 55 | 56 | if (response.ok) { 57 | const body = await response.json(); 58 | console.log(`Response for ID ${data.id}: ${body}`); 59 | 60 | alts.push(body); 61 | } 62 | } catch (err) { 63 | console.error(err); 64 | } 65 | }); 66 | 67 | return alts; 68 | } 69 | 70 | export const sessionRouter = createTRPCRouter({ 71 | create: publicProcedure 72 | .input(z.object({ discordId: z.string(), serverId: z.string() })) 73 | .query(async ({ input, ctx }) => { 74 | const session = await ctx.prisma.session.create({ 75 | data: { 76 | discordId: input.discordId, 77 | serverId: input.serverId, 78 | }, 79 | }); 80 | return session; 81 | }), 82 | fetch: publicProcedure 83 | .input(z.object({ sessionId: z.string() })) 84 | .query(async ({ input, ctx }) => { 85 | const session = await ctx.prisma.session.findFirst({ 86 | where: { 87 | id: input.sessionId, 88 | }, 89 | }); 90 | return session; 91 | }), 92 | verify: publicProcedure 93 | .input( 94 | z.object({ 95 | sessionId: z.string(), 96 | captchaToken: z.string(), 97 | ip: z.string(), 98 | }) 99 | ) 100 | .mutation(async ({ input, ctx }) => { 101 | await verifyCaptcha(input.captchaToken); 102 | 103 | const ip = hash(input.ip); 104 | 105 | const session = await ctx.prisma.session.findFirst({ 106 | where: { 107 | id: input.sessionId, 108 | }, 109 | }); 110 | 111 | if (!session || !session.serverId) { 112 | throw new TRPCError({ 113 | code: "NOT_FOUND", 114 | cause: "Could not find session", 115 | }); 116 | } 117 | 118 | if (session.completed) { 119 | throw new TRPCError({ 120 | code: "BAD_REQUEST", 121 | cause: "This session token was already used before.", 122 | }); 123 | } 124 | 125 | const server = await ctx.prisma.server.findFirst({ 126 | where: { 127 | id: session.serverId, 128 | }, 129 | }); 130 | 131 | if (!server) { 132 | throw new TRPCError({ 133 | code: "INTERNAL_SERVER_ERROR", 134 | cause: "Could not find the server within the database.", 135 | }); 136 | } 137 | 138 | await axios.put( 139 | `https://discord.com/api/v10/guilds/${session.serverId}/members/${session.discordId}/roles/${server.verificationRole}`, 140 | undefined, 141 | { 142 | headers: { 143 | "X-Audit-Log-Reason": `Verified successfully`, 144 | Authorization: `Bot ${process.env.DISCORD_BOT_TOKEN}`, 145 | }, 146 | } 147 | ); 148 | 149 | await ctx.prisma.session.update({ 150 | where: { 151 | id: input.sessionId, 152 | }, 153 | data: { 154 | completed: true, 155 | }, 156 | }); 157 | 158 | // upsert to update the users IP if it exists, otherwise just create it. 159 | await ctx.prisma.account.upsert({ 160 | where: { 161 | id: session.discordId, 162 | }, 163 | update: { 164 | ip, 165 | }, 166 | create: { 167 | ip, 168 | id: session.discordId, 169 | }, 170 | }); 171 | 172 | const alts = await ctx.prisma.account.findMany({ 173 | where: { 174 | ip, 175 | }, 176 | }); 177 | 178 | const successEmbed = new EmbedBuilder() 179 | .setColor(parseColor("#9beba7")) 180 | .setTimestamp(Date.now()) 181 | .setTitle("User Verified"); 182 | 183 | const fields: APIEmbedField[] = [ 184 | { 185 | name: "User", 186 | value: 187 | `${userMention(session.discordId)} ` + 188 | inlineCode(`(${session.discordId})`), 189 | }, 190 | ]; 191 | 192 | const altsInServer = await checkAlts(alts, session.serverId); 193 | 194 | if (altsInServer.length > 1) { 195 | const altAmount = altsInServer.length 196 | const hasMultipleAlts = altAmount > 1 197 | 198 | console.log(JSON.stringify(altsInServer, null, 4)); 199 | successEmbed.setDescription( 200 | `This user has ${altAmount} alt${hasMultipleAlts ? "s" : ""}.` 201 | ); 202 | 203 | const formattedAlts = altsInServer.map( 204 | (alt) => 205 | alt.user && 206 | `${alt.user.username}#${alt.user.discriminator} (${inlineCode( 207 | alt.user.id 208 | )})` 209 | ); 210 | 211 | fields.push({ 212 | name: "Alts", 213 | value: formattedAlts.join("\n"), 214 | }); 215 | } 216 | 217 | successEmbed.addFields(fields); 218 | 219 | sendLog(session.serverId, { embeds: [successEmbed.toJSON()] }); 220 | 221 | return { 222 | success: true, 223 | }; 224 | }), 225 | }); 226 | -------------------------------------------------------------------------------- /src/server/api/trpc.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * YOU PROBABLY DON'T NEED TO EDIT THIS FILE, UNLESS: 3 | * 1. You want to modify request context (see Part 1). 4 | * 2. You want to create a new middleware or type of procedure (see Part 3). 5 | * 6 | * TL;DR - This is where all the tRPC server stuff is created and plugged in. The pieces you will 7 | * need to use are documented accordingly near the end. 8 | */ 9 | 10 | /** 11 | * 1. CONTEXT 12 | * 13 | * This section defines the "contexts" that are available in the backend API. 14 | * 15 | * These allow you to access things when processing a request, like the database, the session, etc. 16 | */ 17 | import { type CreateNextContextOptions } from "@trpc/server/adapters/next"; 18 | 19 | import { prisma } from "~/server/db"; 20 | 21 | type CreateContextOptions = Record; 22 | 23 | /** 24 | * This helper generates the "internals" for a tRPC context. If you need to use it, you can export 25 | * it from here. 26 | * 27 | * Examples of things you may need it for: 28 | * - testing, so we don't have to mock Next.js' req/res 29 | * - tRPC's `createSSGHelpers`, where we don't have req/res 30 | * 31 | * @see https://create.t3.gg/en/usage/trpc#-servertrpccontextts 32 | */ 33 | const createInnerTRPCContext = (_opts: CreateContextOptions) => { 34 | return { 35 | prisma, 36 | }; 37 | }; 38 | 39 | /** 40 | * This is the actual context you will use in your router. It will be used to process every request 41 | * that goes through your tRPC endpoint. 42 | * 43 | * @see https://trpc.io/docs/context 44 | */ 45 | export const createTRPCContext = (opts: CreateNextContextOptions) => { 46 | return { 47 | prisma 48 | }; 49 | }; 50 | 51 | /** 52 | * 2. INITIALIZATION 53 | * 54 | * This is where the tRPC API is initialized, connecting the context and transformer. We also parse 55 | * ZodErrors so that you get typesafety on the frontend if your procedure fails due to validation 56 | * errors on the backend. 57 | */ 58 | import { initTRPC } from "@trpc/server"; 59 | import superjson from "superjson"; 60 | import { ZodError } from "zod"; 61 | 62 | const t = initTRPC.context().create({ 63 | transformer: superjson, 64 | errorFormatter({ shape, error }) { 65 | return { 66 | ...shape, 67 | data: { 68 | ...shape.data, 69 | zodError: 70 | error.cause instanceof ZodError ? error.cause.flatten() : null, 71 | }, 72 | }; 73 | }, 74 | }); 75 | 76 | /** 77 | * 3. ROUTER & PROCEDURE (THE IMPORTANT BIT) 78 | * 79 | * These are the pieces you use to build your tRPC API. You should import these a lot in the 80 | * "/src/server/api/routers" directory. 81 | */ 82 | 83 | /** 84 | * This is how you create new routers and sub-routers in your tRPC API. 85 | * 86 | * @see https://trpc.io/docs/router 87 | */ 88 | export const createTRPCRouter = t.router; 89 | 90 | /** 91 | * Public (unauthenticated) procedure 92 | * 93 | * This is the base piece you use to build new queries and mutations on your tRPC API. It does not 94 | * guarantee that a user querying is authorized, but you can still access user session data if they 95 | * are logged in. 96 | */ 97 | export const publicProcedure = t.procedure; -------------------------------------------------------------------------------- /src/server/db.ts: -------------------------------------------------------------------------------- 1 | import { PrismaClient } from "@prisma/client"; 2 | 3 | import { env } from "~/env.mjs"; 4 | 5 | const globalForPrisma = globalThis as unknown as { prisma: PrismaClient }; 6 | 7 | export const prisma = 8 | globalForPrisma.prisma || 9 | new PrismaClient({ 10 | log: 11 | env.NODE_ENV === "development" ? ["query", "error", "warn"] : ["error"], 12 | }); 13 | 14 | if (env.NODE_ENV !== "production") globalForPrisma.prisma = prisma; 15 | -------------------------------------------------------------------------------- /src/server/helpers/ssgHelper.ts: -------------------------------------------------------------------------------- 1 | import { createServerSideHelpers } from "@trpc/react-query/server"; 2 | import { appRouter } from "~/server/api/root"; 3 | import { prisma } from "~/server/db"; 4 | import superjson from "superjson"; 5 | 6 | export const generateSSGHelper = () => 7 | createServerSideHelpers({ 8 | router: appRouter, 9 | ctx: { prisma }, 10 | transformer: superjson, // optional - adds superjson serialization 11 | }); 12 | -------------------------------------------------------------------------------- /src/styles/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /src/utils/api.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * This is the client-side entrypoint for your tRPC API. It is used to create the `api` object which 3 | * contains the Next.js App-wrapper, as well as your type-safe React Query hooks. 4 | * 5 | * We also create a few inference helpers for input and output types. 6 | */ 7 | import { httpBatchLink, loggerLink } from "@trpc/client"; 8 | import { createTRPCNext } from "@trpc/next"; 9 | import { type inferRouterInputs, type inferRouterOutputs } from "@trpc/server"; 10 | import superjson from "superjson"; 11 | 12 | import { type AppRouter } from "~/server/api/root"; 13 | 14 | const getBaseUrl = () => { 15 | if (typeof window !== "undefined") return ""; // browser should use relative url 16 | if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`; // SSR should use vercel url 17 | return `http://localhost:${process.env.PORT ?? 3000}`; // dev SSR should use localhost 18 | }; 19 | 20 | /** A set of type-safe react-query hooks for your tRPC API. */ 21 | export const api = createTRPCNext({ 22 | config() { 23 | return { 24 | /** 25 | * Transformer used for data de-serialization from the server. 26 | * 27 | * @see https://trpc.io/docs/data-transformers 28 | */ 29 | transformer: superjson, 30 | 31 | /** 32 | * Links used to determine request flow from client to server. 33 | * 34 | * @see https://trpc.io/docs/links 35 | */ 36 | links: [ 37 | loggerLink({ 38 | enabled: (opts) => 39 | process.env.NODE_ENV === "development" || 40 | (opts.direction === "down" && opts.result instanceof Error), 41 | }), 42 | httpBatchLink({ 43 | url: `${getBaseUrl()}/api/trpc`, 44 | }), 45 | ], 46 | }; 47 | }, 48 | /** 49 | * Whether tRPC should await queries when server rendering pages. 50 | * 51 | * @see https://trpc.io/docs/nextjs#ssr-boolean-default-false 52 | */ 53 | ssr: false, 54 | }); 55 | 56 | /** 57 | * Inference helper for inputs. 58 | * 59 | * @example type HelloInput = RouterInputs['example']['hello'] 60 | */ 61 | export type RouterInputs = inferRouterInputs; 62 | 63 | /** 64 | * Inference helper for outputs. 65 | * 66 | * @example type HelloOutput = RouterOutputs['example']['hello'] 67 | */ 68 | export type RouterOutputs = inferRouterOutputs; 69 | -------------------------------------------------------------------------------- /tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | const { withAnimations } = require("animated-tailwindcss"); 2 | 3 | const config = { 4 | content: ["./src/**/*.{js,ts,jsx,tsx}"], 5 | theme: { 6 | extend: {}, 7 | }, 8 | daisyui: { 9 | themes: ["black"], 10 | }, 11 | plugins: [require("daisyui")], 12 | }; 13 | 14 | // @ts-ignore 15 | module.exports = withAnimations(config); -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2017", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "checkJs": true, 7 | "skipLibCheck": true, 8 | "strict": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "noEmit": true, 11 | "esModuleInterop": true, 12 | "module": "esnext", 13 | "moduleResolution": "node", 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "jsx": "preserve", 17 | "incremental": true, 18 | "noUncheckedIndexedAccess": true, 19 | "baseUrl": ".", 20 | "paths": { 21 | "~/*": ["./src/*"] 22 | } 23 | }, 24 | "include": [ 25 | ".eslintrc.cjs", 26 | "next-env.d.ts", 27 | "**/*.ts", 28 | "**/*.tsx", 29 | "**/*.cjs", 30 | "**/*.mjs" 31 | ], 32 | "exclude": ["node_modules"] 33 | } 34 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@alloc/quick-lru@^5.2.0": 6 | version "5.2.0" 7 | resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" 8 | integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== 9 | 10 | "@babel/runtime@^7.20.7": 11 | version "7.21.0" 12 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" 13 | integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== 14 | dependencies: 15 | regenerator-runtime "^0.13.11" 16 | 17 | "@cspotcode/source-map-support@^0.8.0": 18 | version "0.8.1" 19 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" 20 | integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== 21 | dependencies: 22 | "@jridgewell/trace-mapping" "0.3.9" 23 | 24 | "@discordjs/builders@^1.6.1": 25 | version "1.6.1" 26 | resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-1.6.1.tgz#5b1447cfa493bc1306671ef18ce3aae13c0af0ba" 27 | integrity sha512-CCcLwn/8ANhlAbhlE18fcaN0hfXTen53/JiwZs1t9oE/Cqa9maA8ZRarkCIsXF4J7J/MYnd0J6IsxeKsq+f6mw== 28 | dependencies: 29 | "@discordjs/formatters" "^0.3.0" 30 | "@discordjs/util" "^0.2.0" 31 | "@sapphire/shapeshift" "^3.8.1" 32 | discord-api-types "^0.37.37" 33 | fast-deep-equal "^3.1.3" 34 | ts-mixer "^6.0.3" 35 | tslib "^2.5.0" 36 | 37 | "@discordjs/collection@^1.5.0": 38 | version "1.5.0" 39 | resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-1.5.0.tgz#478acd5d510cb5996c5101f47b24959ac7499cc2" 40 | integrity sha512-suyVndkEAAWrGxyw/CPGdtXoRRU6AUNkibtnbJevQzpelkJh3Q1gQqWDpqf5i39CnAn5+LrN0YS+cULeEjq2Yw== 41 | 42 | "@discordjs/formatters@^0.3.0": 43 | version "0.3.0" 44 | resolved "https://registry.yarnpkg.com/@discordjs/formatters/-/formatters-0.3.0.tgz#8313d158c5e974597eec43b1f381d870a507d133" 45 | integrity sha512-Fc4MomalbP8HMKEMor3qUiboAKDtR7PSBoPjwm7WYghVRwgJlj5WYvUsriLsxeKk8+Qq2oy+HJlGTUkGvX0YnA== 46 | dependencies: 47 | discord-api-types "^0.37.37" 48 | 49 | "@discordjs/rest@^1.5.0": 50 | version "1.7.0" 51 | resolved "https://registry.yarnpkg.com/@discordjs/rest/-/rest-1.7.0.tgz#c61fcd14e810b44e4821df5dfb5e74fa5fcb6e5d" 52 | integrity sha512-r2HzmznRIo8IDGYBWqQfkEaGN1LrFfWQd3dSyC4tOpMU8nuVvFUEw6V/lwnG44jyOq+vgyDny2fxeUDMt9I4aQ== 53 | dependencies: 54 | "@discordjs/collection" "^1.5.0" 55 | "@discordjs/util" "^0.2.0" 56 | "@sapphire/async-queue" "^1.5.0" 57 | "@sapphire/snowflake" "^3.4.0" 58 | discord-api-types "^0.37.37" 59 | file-type "^18.2.1" 60 | tslib "^2.5.0" 61 | undici "^5.21.0" 62 | 63 | "@discordjs/util@^0.2.0": 64 | version "0.2.0" 65 | resolved "https://registry.yarnpkg.com/@discordjs/util/-/util-0.2.0.tgz#91b590dae3934ffa5fe34530afc5212c569d6751" 66 | integrity sha512-/8qNbebFzLWKOOg+UV+RB8itp4SmU5jw0tBUD3ifElW6rYNOj1Ku5JaSW7lLl/WgjjxF01l/1uQPCzkwr110vg== 67 | 68 | "@eslint-community/eslint-utils@^4.2.0": 69 | version "4.4.0" 70 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" 71 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== 72 | dependencies: 73 | eslint-visitor-keys "^3.3.0" 74 | 75 | "@eslint-community/regexpp@^4.4.0": 76 | version "4.5.0" 77 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz#f6f729b02feee2c749f57e334b7a1b5f40a81724" 78 | integrity sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ== 79 | 80 | "@eslint/eslintrc@^2.0.2": 81 | version "2.0.2" 82 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02" 83 | integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ== 84 | dependencies: 85 | ajv "^6.12.4" 86 | debug "^4.3.2" 87 | espree "^9.5.1" 88 | globals "^13.19.0" 89 | ignore "^5.2.0" 90 | import-fresh "^3.2.1" 91 | js-yaml "^4.1.0" 92 | minimatch "^3.1.2" 93 | strip-json-comments "^3.1.1" 94 | 95 | "@eslint/js@8.39.0": 96 | version "8.39.0" 97 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.39.0.tgz#58b536bcc843f4cd1e02a7e6171da5c040f4d44b" 98 | integrity sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng== 99 | 100 | "@humanwhocodes/config-array@^0.11.8": 101 | version "0.11.8" 102 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" 103 | integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== 104 | dependencies: 105 | "@humanwhocodes/object-schema" "^1.2.1" 106 | debug "^4.1.1" 107 | minimatch "^3.0.5" 108 | 109 | "@humanwhocodes/module-importer@^1.0.1": 110 | version "1.0.1" 111 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" 112 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 113 | 114 | "@humanwhocodes/object-schema@^1.2.1": 115 | version "1.2.1" 116 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" 117 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== 118 | 119 | "@jridgewell/gen-mapping@^0.3.2": 120 | version "0.3.3" 121 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" 122 | integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== 123 | dependencies: 124 | "@jridgewell/set-array" "^1.0.1" 125 | "@jridgewell/sourcemap-codec" "^1.4.10" 126 | "@jridgewell/trace-mapping" "^0.3.9" 127 | 128 | "@jridgewell/resolve-uri@3.1.0": 129 | version "3.1.0" 130 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 131 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 132 | 133 | "@jridgewell/resolve-uri@^3.0.3": 134 | version "3.1.1" 135 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" 136 | integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== 137 | 138 | "@jridgewell/set-array@^1.0.1": 139 | version "1.1.2" 140 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 141 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 142 | 143 | "@jridgewell/sourcemap-codec@1.4.14": 144 | version "1.4.14" 145 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 146 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 147 | 148 | "@jridgewell/sourcemap-codec@^1.4.10": 149 | version "1.4.15" 150 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" 151 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 152 | 153 | "@jridgewell/trace-mapping@0.3.9": 154 | version "0.3.9" 155 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" 156 | integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== 157 | dependencies: 158 | "@jridgewell/resolve-uri" "^3.0.3" 159 | "@jridgewell/sourcemap-codec" "^1.4.10" 160 | 161 | "@jridgewell/trace-mapping@^0.3.9": 162 | version "0.3.18" 163 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" 164 | integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== 165 | dependencies: 166 | "@jridgewell/resolve-uri" "3.1.0" 167 | "@jridgewell/sourcemap-codec" "1.4.14" 168 | 169 | "@next/env@13.1.6": 170 | version "13.1.6" 171 | resolved "https://registry.yarnpkg.com/@next/env/-/env-13.1.6.tgz#c4925609f16142ded1a5cb833359ab17359b7a93" 172 | integrity sha512-s+W9Fdqh5MFk6ECrbnVmmAOwxKQuhGMT7xXHrkYIBMBcTiOqNWhv5KbJIboKR5STXxNXl32hllnvKaffzFaWQg== 173 | 174 | "@next/eslint-plugin-next@13.1.6": 175 | version "13.1.6" 176 | resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.1.6.tgz#ad8be22dd3d8aee9a9bd9a2507e2c55a2f7ebdd9" 177 | integrity sha512-o7cauUYsXjzSJkay8wKjpKJf2uLzlggCsGUkPu3lP09Pv97jYlekTC20KJrjQKmSv5DXV0R/uks2ZXhqjNkqAw== 178 | dependencies: 179 | glob "7.1.7" 180 | 181 | "@next/swc-android-arm-eabi@13.1.6": 182 | version "13.1.6" 183 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.1.6.tgz#d766dfc10e27814d947b20f052067c239913dbcc" 184 | integrity sha512-F3/6Z8LH/pGlPzR1AcjPFxx35mPqjE5xZcf+IL+KgbW9tMkp7CYi1y7qKrEWU7W4AumxX/8OINnDQWLiwLasLQ== 185 | 186 | "@next/swc-android-arm64@13.1.6": 187 | version "13.1.6" 188 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-13.1.6.tgz#f37a98d5f18927d8c9970d750d516ac779465176" 189 | integrity sha512-cMwQjnB8vrYkWyK/H0Rf2c2pKIH4RGjpKUDvbjVAit6SbwPDpmaijLio0LWFV3/tOnY6kvzbL62lndVA0mkYpw== 190 | 191 | "@next/swc-darwin-arm64@13.1.6": 192 | version "13.1.6" 193 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.1.6.tgz#ec1b90fd9bf809d8b81004c5182e254dced4ad96" 194 | integrity sha512-KKRQH4DDE4kONXCvFMNBZGDb499Hs+xcFAwvj+rfSUssIDrZOlyfJNy55rH5t2Qxed1e4K80KEJgsxKQN1/fyw== 195 | 196 | "@next/swc-darwin-x64@13.1.6": 197 | version "13.1.6" 198 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.1.6.tgz#e869ac75d16995eee733a7d1550322d9051c1eb4" 199 | integrity sha512-/uOky5PaZDoaU99ohjtNcDTJ6ks/gZ5ykTQDvNZDjIoCxFe3+t06bxsTPY6tAO6uEAw5f6vVFX5H5KLwhrkZCA== 200 | 201 | "@next/swc-freebsd-x64@13.1.6": 202 | version "13.1.6" 203 | resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.1.6.tgz#84a7b2e423a2904afc2edca21c2f1ba6b53fa4c1" 204 | integrity sha512-qaEALZeV7to6weSXk3Br80wtFQ7cFTpos/q+m9XVRFggu+8Ib895XhMWdJBzew6aaOcMvYR6KQ6JmHA2/eMzWw== 205 | 206 | "@next/swc-linux-arm-gnueabihf@13.1.6": 207 | version "13.1.6" 208 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.1.6.tgz#980eed1f655ff8a72187d8a6ef9e73ac39d20d23" 209 | integrity sha512-OybkbC58A1wJ+JrJSOjGDvZzrVEQA4sprJejGqMwiZyLqhr9Eo8FXF0y6HL+m1CPCpPhXEHz/2xKoYsl16kNqw== 210 | 211 | "@next/swc-linux-arm64-gnu@13.1.6": 212 | version "13.1.6" 213 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.1.6.tgz#87a71db21cded3f7c63d1d19079845c59813c53d" 214 | integrity sha512-yCH+yDr7/4FDuWv6+GiYrPI9kcTAO3y48UmaIbrKy8ZJpi7RehJe3vIBRUmLrLaNDH3rY1rwoHi471NvR5J5NQ== 215 | 216 | "@next/swc-linux-arm64-musl@13.1.6": 217 | version "13.1.6" 218 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.1.6.tgz#c5aac8619331b9fd030603bbe2b36052011e11de" 219 | integrity sha512-ECagB8LGX25P9Mrmlc7Q/TQBb9rGScxHbv/kLqqIWs2fIXy6Y/EiBBiM72NTwuXUFCNrWR4sjUPSooVBJJ3ESQ== 220 | 221 | "@next/swc-linux-x64-gnu@13.1.6": 222 | version "13.1.6" 223 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.1.6.tgz#9513d36d540bbfea575576746736054c31aacdea" 224 | integrity sha512-GT5w2mruk90V/I5g6ScuueE7fqj/d8Bui2qxdw6lFxmuTgMeol5rnzAv4uAoVQgClOUO/MULilzlODg9Ib3Y4Q== 225 | 226 | "@next/swc-linux-x64-musl@13.1.6": 227 | version "13.1.6" 228 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.1.6.tgz#d61fc6884899f5957251f4ce3f522e34a2c479b7" 229 | integrity sha512-keFD6KvwOPzmat4TCnlnuxJCQepPN+8j3Nw876FtULxo8005Y9Ghcl7ACcR8GoiKoddAq8gxNBrpjoxjQRHeAQ== 230 | 231 | "@next/swc-win32-arm64-msvc@13.1.6": 232 | version "13.1.6" 233 | resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.1.6.tgz#fac2077a8ae9768e31444c9ae90807e64117cda7" 234 | integrity sha512-OwertslIiGQluFvHyRDzBCIB07qJjqabAmINlXUYt7/sY7Q7QPE8xVi5beBxX/rxTGPIbtyIe3faBE6Z2KywhQ== 235 | 236 | "@next/swc-win32-ia32-msvc@13.1.6": 237 | version "13.1.6" 238 | resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.1.6.tgz#498bc11c91b4c482a625bf4b978f98ae91111e46" 239 | integrity sha512-g8zowiuP8FxUR9zslPmlju7qYbs2XBtTLVSxVikPtUDQedhcls39uKYLvOOd1JZg0ehyhopobRoH1q+MHlIN/w== 240 | 241 | "@next/swc-win32-x64-msvc@13.1.6": 242 | version "13.1.6" 243 | resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.1.6.tgz#17ed919c723426b7d0ce1cd73d40ce3dcd342089" 244 | integrity sha512-Ls2OL9hi3YlJKGNdKv8k3X/lLgc3VmLG3a/DeTkAd+lAituJp8ZHmRmm9f9SL84fT3CotlzcgbdaCDfFwFA6bA== 245 | 246 | "@nodelib/fs.scandir@2.1.5": 247 | version "2.1.5" 248 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 249 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 250 | dependencies: 251 | "@nodelib/fs.stat" "2.0.5" 252 | run-parallel "^1.1.9" 253 | 254 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 255 | version "2.0.5" 256 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 257 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 258 | 259 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": 260 | version "1.2.8" 261 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 262 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 263 | dependencies: 264 | "@nodelib/fs.scandir" "2.1.5" 265 | fastq "^1.6.0" 266 | 267 | "@pkgr/utils@^2.3.1": 268 | version "2.3.1" 269 | resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.3.1.tgz#0a9b06ffddee364d6642b3cd562ca76f55b34a03" 270 | integrity sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw== 271 | dependencies: 272 | cross-spawn "^7.0.3" 273 | is-glob "^4.0.3" 274 | open "^8.4.0" 275 | picocolors "^1.0.0" 276 | tiny-glob "^0.2.9" 277 | tslib "^2.4.0" 278 | 279 | "@prisma/client@^4.9.0": 280 | version "4.13.0" 281 | resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.13.0.tgz#271d2b9756503ea17bbdb459c7995536cf2a6191" 282 | integrity sha512-YaiiICcRB2hatxsbnfB66uWXjcRw3jsZdlAVxmx0cFcTc/Ad/sKdHCcWSnqyDX47vAewkjRFwiLwrOUjswVvmA== 283 | dependencies: 284 | "@prisma/engines-version" "4.13.0-50.1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a" 285 | 286 | "@prisma/engines-version@4.13.0-50.1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a": 287 | version "4.13.0-50.1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a" 288 | resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.13.0-50.1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a.tgz#ae338908d11685dee50e7683502d75442b955bf9" 289 | integrity sha512-fsQlbkhPJf08JOzKoyoD9atdUijuGBekwoOPZC3YOygXEml1MTtgXVpnUNchQlRSY82OQ6pSGQ9PxUe4arcSLQ== 290 | 291 | "@prisma/engines@4.13.0": 292 | version "4.13.0" 293 | resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.13.0.tgz#582a6b90b6efeb0f465984f1fe0e72a4afaaa5ae" 294 | integrity sha512-HrniowHRZXHuGT9XRgoXEaP2gJLXM5RMoItaY2PkjvuZ+iHc0Zjbm/302MB8YsPdWozAPHHn+jpFEcEn71OgPw== 295 | 296 | "@rushstack/eslint-patch@^1.1.3": 297 | version "1.2.0" 298 | resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" 299 | integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== 300 | 301 | "@sapphire/async-queue@^1.5.0": 302 | version "1.5.0" 303 | resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.5.0.tgz#2f255a3f186635c4fb5a2381e375d3dfbc5312d8" 304 | integrity sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA== 305 | 306 | "@sapphire/shapeshift@^3.8.1": 307 | version "3.8.2" 308 | resolved "https://registry.yarnpkg.com/@sapphire/shapeshift/-/shapeshift-3.8.2.tgz#f9f25cba74c710b56f8790de76a9642a9635e7db" 309 | integrity sha512-NXpnJAsxN3/h9TqQPntOeVWZrpIuucqXI3IWF6tj2fWCoRLCuVK5wx7Dtg7pRrtkYfsMUbDqgKoX26vrC5iYfA== 310 | dependencies: 311 | fast-deep-equal "^3.1.3" 312 | lodash "^4.17.21" 313 | 314 | "@sapphire/snowflake@^3.4.0": 315 | version "3.4.2" 316 | resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-3.4.2.tgz#365af8e7b57ada924ec8e85383b921280f81d128" 317 | integrity sha512-KJwlv5gkGjs1uFV7/xx81n3tqgBwBJvH94n1xDyH3q+JSmtsMeSleJffarEBfG2yAFeJiFA4BnGOK6FFPHc19g== 318 | 319 | "@swc/helpers@0.4.14": 320 | version "0.4.14" 321 | resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74" 322 | integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== 323 | dependencies: 324 | tslib "^2.4.0" 325 | 326 | "@tailwindcss/typography@^0.5.9": 327 | version "0.5.9" 328 | resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.9.tgz#027e4b0674929daaf7c921c900beee80dbad93e8" 329 | integrity sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg== 330 | dependencies: 331 | lodash.castarray "^4.4.0" 332 | lodash.isplainobject "^4.0.6" 333 | lodash.merge "^4.6.2" 334 | postcss-selector-parser "6.0.10" 335 | 336 | "@tanstack/query-core@4.29.5": 337 | version "4.29.5" 338 | resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.29.5.tgz#a0273e88bf2fc102c4c893dc7c034127b67fd5d9" 339 | integrity sha512-xXIiyQ/4r9KfaJ3k6kejqcaqFXXBTzN2aOJ5H1J6aTJE9hl/nbgAdfF6oiIu0CD5xowejJEJ6bBg8TO7BN4NuQ== 340 | 341 | "@tanstack/react-query@^4.20.2": 342 | version "4.29.5" 343 | resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.29.5.tgz#3890741291f9f925933243d78bd74dfc59d64208" 344 | integrity sha512-F87cibC3s3eG0Q90g2O+hqntpCrudKFnR8P24qkH9uccEhXErnJxBC/AAI4cJRV2bfMO8IeGZQYf3WyYgmSg0w== 345 | dependencies: 346 | "@tanstack/query-core" "4.29.5" 347 | use-sync-external-store "^1.2.0" 348 | 349 | "@tokenizer/token@^0.3.0": 350 | version "0.3.0" 351 | resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" 352 | integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== 353 | 354 | "@trpc/client@^10.9.0": 355 | version "10.21.2" 356 | resolved "https://registry.yarnpkg.com/@trpc/client/-/client-10.21.2.tgz#6ec7d5d98719a7934b395b323b3ce20331cd1848" 357 | integrity sha512-It5NjrdOqT9UyrJPzpSfT9SAECFt2QxTM/XOX7PQ2s/CnvFCc4420UITV7lYJiWLsD8zdG1CLLO6KdFvDL11FQ== 358 | 359 | "@trpc/next@^10.9.0": 360 | version "10.21.2" 361 | resolved "https://registry.yarnpkg.com/@trpc/next/-/next-10.21.2.tgz#5fa4de51bb816b33aa03f2f469963ef3f9f54cb6" 362 | integrity sha512-Emo33iQ/uG5aYOxUVXmqTC4HWWx7T/6NAYsMkmiPUBIssbhjqeAF5a5JmyneaUgeifMzHnkqS9UdCcJiH/BfpQ== 363 | dependencies: 364 | react-ssr-prepass "^1.5.0" 365 | 366 | "@trpc/react-query@^10.9.0": 367 | version "10.21.2" 368 | resolved "https://registry.yarnpkg.com/@trpc/react-query/-/react-query-10.21.2.tgz#dc9b53daafaa62cfa097b615d5e4ede28ef6ff3a" 369 | integrity sha512-INuxZ27t4p/deqMQmEc+a8ipvNOkdKV2scd5ZUleQL8LgE/lw4+R5bsJopMJFHuJtwMCOOADb1+7DLaQK/NwRQ== 370 | 371 | "@trpc/server@^10.9.0": 372 | version "10.21.2" 373 | resolved "https://registry.yarnpkg.com/@trpc/server/-/server-10.21.2.tgz#33f4ae2e1330dbc37e0c9e2337bdc8f97be72892" 374 | integrity sha512-4v9FIOQw1J06OLICLj0M5jmrVF1XCEyu1FXvZA4wB/om1q18NWENXaLjcisgvV/h2gBxx8iN00t9/bE9jn2+fw== 375 | 376 | "@tsconfig/node10@^1.0.7": 377 | version "1.0.9" 378 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" 379 | integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== 380 | 381 | "@tsconfig/node12@^1.0.7": 382 | version "1.0.11" 383 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" 384 | integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== 385 | 386 | "@tsconfig/node14@^1.0.0": 387 | version "1.0.3" 388 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" 389 | integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== 390 | 391 | "@tsconfig/node16@^1.0.2": 392 | version "1.0.3" 393 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" 394 | integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== 395 | 396 | "@types/async@^3.2.18": 397 | version "3.2.20" 398 | resolved "https://registry.yarnpkg.com/@types/async/-/async-3.2.20.tgz#53517caaa68c94f99da1c4e986cf7f2954981515" 399 | integrity sha512-6jSBQQugzyX1aWto0CbvOnmxrU9tMoXfA9gc4IrLEtvr3dTwSg5GLGoWiZnGLI6UG/kqpB3JOQKQrqnhUWGKQA== 400 | 401 | "@types/eslint@^8.21.1": 402 | version "8.37.0" 403 | resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.37.0.tgz#29cebc6c2a3ac7fea7113207bf5a828fdf4d7ef1" 404 | integrity sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ== 405 | dependencies: 406 | "@types/estree" "*" 407 | "@types/json-schema" "*" 408 | 409 | "@types/estree@*": 410 | version "1.0.1" 411 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" 412 | integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== 413 | 414 | "@types/json-schema@*", "@types/json-schema@^7.0.9": 415 | version "7.0.11" 416 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" 417 | integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== 418 | 419 | "@types/json5@^0.0.29": 420 | version "0.0.29" 421 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" 422 | integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== 423 | 424 | "@types/node@^18.11.18": 425 | version "18.16.1" 426 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.1.tgz#5db121e9c5352925bb1f1b892c4ae620e3526799" 427 | integrity sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA== 428 | 429 | "@types/prettier@^2.7.2": 430 | version "2.7.2" 431 | resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" 432 | integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== 433 | 434 | "@types/prop-types@*": 435 | version "15.7.5" 436 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 437 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 438 | 439 | "@types/react-dom@^18.0.10": 440 | version "18.2.1" 441 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.1.tgz#663b2612feb5f6431a70207430d7c04881b87f29" 442 | integrity sha512-8QZEV9+Kwy7tXFmjJrp3XUKQSs9LTnE0KnoUb0YCguWBiNW0Yfb2iBMYZ08WPg35IR6P3Z0s00B15SwZnO26+w== 443 | dependencies: 444 | "@types/react" "*" 445 | 446 | "@types/react@*", "@types/react@^18.0.26": 447 | version "18.2.0" 448 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.0.tgz#15cda145354accfc09a18d2f2305f9fc099ada21" 449 | integrity sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA== 450 | dependencies: 451 | "@types/prop-types" "*" 452 | "@types/scheduler" "*" 453 | csstype "^3.0.2" 454 | 455 | "@types/scheduler@*": 456 | version "0.16.3" 457 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" 458 | integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== 459 | 460 | "@types/semver@^7.3.12": 461 | version "7.3.13" 462 | resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" 463 | integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== 464 | 465 | "@typescript-eslint/eslint-plugin@^5.47.1": 466 | version "5.59.1" 467 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz#9b09ee1541bff1d2cebdcb87e7ce4a4003acde08" 468 | integrity sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg== 469 | dependencies: 470 | "@eslint-community/regexpp" "^4.4.0" 471 | "@typescript-eslint/scope-manager" "5.59.1" 472 | "@typescript-eslint/type-utils" "5.59.1" 473 | "@typescript-eslint/utils" "5.59.1" 474 | debug "^4.3.4" 475 | grapheme-splitter "^1.0.4" 476 | ignore "^5.2.0" 477 | natural-compare-lite "^1.4.0" 478 | semver "^7.3.7" 479 | tsutils "^3.21.0" 480 | 481 | "@typescript-eslint/parser@^5.42.0", "@typescript-eslint/parser@^5.47.1": 482 | version "5.59.1" 483 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.1.tgz#73c2c12127c5c1182d2e5b71a8fa2a85d215cbb4" 484 | integrity sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g== 485 | dependencies: 486 | "@typescript-eslint/scope-manager" "5.59.1" 487 | "@typescript-eslint/types" "5.59.1" 488 | "@typescript-eslint/typescript-estree" "5.59.1" 489 | debug "^4.3.4" 490 | 491 | "@typescript-eslint/scope-manager@5.59.1": 492 | version "5.59.1" 493 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz#8a20222719cebc5198618a5d44113705b51fd7fe" 494 | integrity sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA== 495 | dependencies: 496 | "@typescript-eslint/types" "5.59.1" 497 | "@typescript-eslint/visitor-keys" "5.59.1" 498 | 499 | "@typescript-eslint/type-utils@5.59.1": 500 | version "5.59.1" 501 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz#63981d61684fd24eda2f9f08c0a47ecb000a2111" 502 | integrity sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw== 503 | dependencies: 504 | "@typescript-eslint/typescript-estree" "5.59.1" 505 | "@typescript-eslint/utils" "5.59.1" 506 | debug "^4.3.4" 507 | tsutils "^3.21.0" 508 | 509 | "@typescript-eslint/types@5.59.1": 510 | version "5.59.1" 511 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.1.tgz#03f3fedd1c044cb336ebc34cc7855f121991f41d" 512 | integrity sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg== 513 | 514 | "@typescript-eslint/typescript-estree@5.59.1": 515 | version "5.59.1" 516 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz#4aa546d27fd0d477c618f0ca00b483f0ec84c43c" 517 | integrity sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA== 518 | dependencies: 519 | "@typescript-eslint/types" "5.59.1" 520 | "@typescript-eslint/visitor-keys" "5.59.1" 521 | debug "^4.3.4" 522 | globby "^11.1.0" 523 | is-glob "^4.0.3" 524 | semver "^7.3.7" 525 | tsutils "^3.21.0" 526 | 527 | "@typescript-eslint/utils@5.59.1": 528 | version "5.59.1" 529 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.1.tgz#d89fc758ad23d2157cfae53f0b429bdf15db9473" 530 | integrity sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA== 531 | dependencies: 532 | "@eslint-community/eslint-utils" "^4.2.0" 533 | "@types/json-schema" "^7.0.9" 534 | "@types/semver" "^7.3.12" 535 | "@typescript-eslint/scope-manager" "5.59.1" 536 | "@typescript-eslint/types" "5.59.1" 537 | "@typescript-eslint/typescript-estree" "5.59.1" 538 | eslint-scope "^5.1.1" 539 | semver "^7.3.7" 540 | 541 | "@typescript-eslint/visitor-keys@5.59.1": 542 | version "5.59.1" 543 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz#0d96c36efb6560d7fb8eb85de10442c10d8f6058" 544 | integrity sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA== 545 | dependencies: 546 | "@typescript-eslint/types" "5.59.1" 547 | eslint-visitor-keys "^3.3.0" 548 | 549 | acorn-jsx@^5.3.2: 550 | version "5.3.2" 551 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 552 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 553 | 554 | acorn-walk@^8.1.1: 555 | version "8.2.0" 556 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" 557 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== 558 | 559 | acorn@^8.4.1, acorn@^8.8.0: 560 | version "8.8.2" 561 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" 562 | integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== 563 | 564 | ajv@^6.10.0, ajv@^6.12.4: 565 | version "6.12.6" 566 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 567 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 568 | dependencies: 569 | fast-deep-equal "^3.1.1" 570 | fast-json-stable-stringify "^2.0.0" 571 | json-schema-traverse "^0.4.1" 572 | uri-js "^4.2.2" 573 | 574 | animated-tailwindcss@^4.0.0: 575 | version "4.0.0" 576 | resolved "https://registry.yarnpkg.com/animated-tailwindcss/-/animated-tailwindcss-4.0.0.tgz#017eca1fdaf2e77c040225c24aa5a44fc564a4c2" 577 | integrity sha512-sJquGVOQkdRuEJiDKX/bjjuXgGTpXBiNKiYD3ef+hoNdpWnjDrOVInOHB9QJC/Q7Ir5Ae+KEAg/ZW/ZBS6KcSw== 578 | 579 | ansi-regex@^5.0.1: 580 | version "5.0.1" 581 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 582 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 583 | 584 | ansi-styles@^4.1.0: 585 | version "4.3.0" 586 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 587 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 588 | dependencies: 589 | color-convert "^2.0.1" 590 | 591 | any-promise@^1.0.0: 592 | version "1.3.0" 593 | resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" 594 | integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== 595 | 596 | anymatch@~3.1.2: 597 | version "3.1.3" 598 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" 599 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 600 | dependencies: 601 | normalize-path "^3.0.0" 602 | picomatch "^2.0.4" 603 | 604 | arg@^4.1.0: 605 | version "4.1.3" 606 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 607 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 608 | 609 | arg@^5.0.2: 610 | version "5.0.2" 611 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" 612 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== 613 | 614 | argparse@^2.0.1: 615 | version "2.0.1" 616 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 617 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 618 | 619 | aria-query@^5.1.3: 620 | version "5.1.3" 621 | resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" 622 | integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== 623 | dependencies: 624 | deep-equal "^2.0.5" 625 | 626 | array-buffer-byte-length@^1.0.0: 627 | version "1.0.0" 628 | resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" 629 | integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== 630 | dependencies: 631 | call-bind "^1.0.2" 632 | is-array-buffer "^3.0.1" 633 | 634 | array-includes@^3.1.5, array-includes@^3.1.6: 635 | version "3.1.6" 636 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" 637 | integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== 638 | dependencies: 639 | call-bind "^1.0.2" 640 | define-properties "^1.1.4" 641 | es-abstract "^1.20.4" 642 | get-intrinsic "^1.1.3" 643 | is-string "^1.0.7" 644 | 645 | array-union@^2.1.0: 646 | version "2.1.0" 647 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 648 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 649 | 650 | array.prototype.flat@^1.3.1: 651 | version "1.3.1" 652 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" 653 | integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== 654 | dependencies: 655 | call-bind "^1.0.2" 656 | define-properties "^1.1.4" 657 | es-abstract "^1.20.4" 658 | es-shim-unscopables "^1.0.0" 659 | 660 | array.prototype.flatmap@^1.3.1: 661 | version "1.3.1" 662 | resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" 663 | integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== 664 | dependencies: 665 | call-bind "^1.0.2" 666 | define-properties "^1.1.4" 667 | es-abstract "^1.20.4" 668 | es-shim-unscopables "^1.0.0" 669 | 670 | array.prototype.tosorted@^1.1.1: 671 | version "1.1.1" 672 | resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" 673 | integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== 674 | dependencies: 675 | call-bind "^1.0.2" 676 | define-properties "^1.1.4" 677 | es-abstract "^1.20.4" 678 | es-shim-unscopables "^1.0.0" 679 | get-intrinsic "^1.1.3" 680 | 681 | ast-types-flow@^0.0.7: 682 | version "0.0.7" 683 | resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" 684 | integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== 685 | 686 | async@^3.2.4: 687 | version "3.2.4" 688 | resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" 689 | integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== 690 | 691 | asynckit@^0.4.0: 692 | version "0.4.0" 693 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 694 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 695 | 696 | autoprefixer@^10.4.7: 697 | version "10.4.14" 698 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" 699 | integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== 700 | dependencies: 701 | browserslist "^4.21.5" 702 | caniuse-lite "^1.0.30001464" 703 | fraction.js "^4.2.0" 704 | normalize-range "^0.1.2" 705 | picocolors "^1.0.0" 706 | postcss-value-parser "^4.2.0" 707 | 708 | available-typed-arrays@^1.0.5: 709 | version "1.0.5" 710 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" 711 | integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== 712 | 713 | axe-core@^4.6.2: 714 | version "4.7.0" 715 | resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" 716 | integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== 717 | 718 | axios@^1.3.4: 719 | version "1.3.6" 720 | resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.6.tgz#1ace9a9fb994314b5f6327960918406fa92c6646" 721 | integrity sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg== 722 | dependencies: 723 | follow-redirects "^1.15.0" 724 | form-data "^4.0.0" 725 | proxy-from-env "^1.1.0" 726 | 727 | axobject-query@^3.1.1: 728 | version "3.1.1" 729 | resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1" 730 | integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg== 731 | dependencies: 732 | deep-equal "^2.0.5" 733 | 734 | balanced-match@^1.0.0: 735 | version "1.0.2" 736 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 737 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 738 | 739 | base64-js@^1.3.1: 740 | version "1.5.1" 741 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 742 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 743 | 744 | binary-extensions@^2.0.0: 745 | version "2.2.0" 746 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 747 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 748 | 749 | brace-expansion@^1.1.7: 750 | version "1.1.11" 751 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 752 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 753 | dependencies: 754 | balanced-match "^1.0.0" 755 | concat-map "0.0.1" 756 | 757 | braces@^3.0.2, braces@~3.0.2: 758 | version "3.0.2" 759 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 760 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 761 | dependencies: 762 | fill-range "^7.0.1" 763 | 764 | browserslist@^4.21.5: 765 | version "4.21.5" 766 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" 767 | integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== 768 | dependencies: 769 | caniuse-lite "^1.0.30001449" 770 | electron-to-chromium "^1.4.284" 771 | node-releases "^2.0.8" 772 | update-browserslist-db "^1.0.10" 773 | 774 | buffer@6.0.3: 775 | version "6.0.3" 776 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" 777 | integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== 778 | dependencies: 779 | base64-js "^1.3.1" 780 | ieee754 "^1.2.1" 781 | 782 | busboy@^1.6.0: 783 | version "1.6.0" 784 | resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" 785 | integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== 786 | dependencies: 787 | streamsearch "^1.1.0" 788 | 789 | call-bind@^1.0.0, call-bind@^1.0.2: 790 | version "1.0.2" 791 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 792 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 793 | dependencies: 794 | function-bind "^1.1.1" 795 | get-intrinsic "^1.0.2" 796 | 797 | callsites@^3.0.0: 798 | version "3.1.0" 799 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 800 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 801 | 802 | camelcase-css@^2.0.1: 803 | version "2.0.1" 804 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" 805 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 806 | 807 | caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001449, caniuse-lite@^1.0.30001464: 808 | version "1.0.30001481" 809 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz#f58a717afe92f9e69d0e35ff64df596bfad93912" 810 | integrity sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ== 811 | 812 | chalk@^4.0.0: 813 | version "4.1.2" 814 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 815 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 816 | dependencies: 817 | ansi-styles "^4.1.0" 818 | supports-color "^7.1.0" 819 | 820 | chokidar@^3.5.3: 821 | version "3.5.3" 822 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 823 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 824 | dependencies: 825 | anymatch "~3.1.2" 826 | braces "~3.0.2" 827 | glob-parent "~5.1.2" 828 | is-binary-path "~2.1.0" 829 | is-glob "~4.0.1" 830 | normalize-path "~3.0.0" 831 | readdirp "~3.6.0" 832 | optionalDependencies: 833 | fsevents "~2.3.2" 834 | 835 | client-only@0.0.1: 836 | version "0.0.1" 837 | resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" 838 | integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== 839 | 840 | color-convert@^2.0.1: 841 | version "2.0.1" 842 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 843 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 844 | dependencies: 845 | color-name "~1.1.4" 846 | 847 | color-name@^1.0.0, color-name@~1.1.4: 848 | version "1.1.4" 849 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 850 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 851 | 852 | color-string@^1.9.0: 853 | version "1.9.1" 854 | resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" 855 | integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== 856 | dependencies: 857 | color-name "^1.0.0" 858 | simple-swizzle "^0.2.2" 859 | 860 | color@^4.2: 861 | version "4.2.3" 862 | resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" 863 | integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== 864 | dependencies: 865 | color-convert "^2.0.1" 866 | color-string "^1.9.0" 867 | 868 | combined-stream@^1.0.8: 869 | version "1.0.8" 870 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 871 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 872 | dependencies: 873 | delayed-stream "~1.0.0" 874 | 875 | commander@^4.0.0: 876 | version "4.1.1" 877 | resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" 878 | integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== 879 | 880 | concat-map@0.0.1: 881 | version "0.0.1" 882 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 883 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 884 | 885 | copy-anything@^3.0.2: 886 | version "3.0.3" 887 | resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-3.0.3.tgz#206767156f08da0e02efd392f71abcdf79643559" 888 | integrity sha512-fpW2W/BqEzqPp29QS+MwwfisHCQZtiduTe/m8idFo0xbti9fIZ2WVhAsCv4ggFVH3AgCkVdpoOCtQC6gBrdhjw== 889 | dependencies: 890 | is-what "^4.1.8" 891 | 892 | create-require@^1.1.0: 893 | version "1.1.1" 894 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" 895 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 896 | 897 | cross-spawn@^7.0.2, cross-spawn@^7.0.3: 898 | version "7.0.3" 899 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 900 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 901 | dependencies: 902 | path-key "^3.1.0" 903 | shebang-command "^2.0.0" 904 | which "^2.0.1" 905 | 906 | css-selector-tokenizer@^0.8.0: 907 | version "0.8.0" 908 | resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz#88267ef6238e64f2215ea2764b3e2cf498b845dd" 909 | integrity sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg== 910 | dependencies: 911 | cssesc "^3.0.0" 912 | fastparse "^1.1.2" 913 | 914 | cssesc@^3.0.0: 915 | version "3.0.0" 916 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 917 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 918 | 919 | csstype@^3.0.2: 920 | version "3.1.2" 921 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" 922 | integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== 923 | 924 | daisyui@^2.51.5: 925 | version "2.51.6" 926 | resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-2.51.6.tgz#c91f5a782f2e991b973dfe9d17d7e93cd973b372" 927 | integrity sha512-JRqOKayuFCmWe4X4k6Qvx1y7V/VNao8U5eTSOhusOKIzCsYqf56+TCSe4d7zmqGE0V6JiLDYAT8JeoWUeRKFCw== 928 | dependencies: 929 | color "^4.2" 930 | css-selector-tokenizer "^0.8.0" 931 | postcss-js "^4.0.0" 932 | tailwindcss "^3" 933 | 934 | damerau-levenshtein@^1.0.8: 935 | version "1.0.8" 936 | resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" 937 | integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== 938 | 939 | debug@^3.2.7: 940 | version "3.2.7" 941 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 942 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 943 | dependencies: 944 | ms "^2.1.1" 945 | 946 | debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: 947 | version "4.3.4" 948 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 949 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 950 | dependencies: 951 | ms "2.1.2" 952 | 953 | deep-equal@^2.0.5: 954 | version "2.2.1" 955 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.1.tgz#c72ab22f3a7d3503a4ca87dde976fe9978816739" 956 | integrity sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ== 957 | dependencies: 958 | array-buffer-byte-length "^1.0.0" 959 | call-bind "^1.0.2" 960 | es-get-iterator "^1.1.3" 961 | get-intrinsic "^1.2.0" 962 | is-arguments "^1.1.1" 963 | is-array-buffer "^3.0.2" 964 | is-date-object "^1.0.5" 965 | is-regex "^1.1.4" 966 | is-shared-array-buffer "^1.0.2" 967 | isarray "^2.0.5" 968 | object-is "^1.1.5" 969 | object-keys "^1.1.1" 970 | object.assign "^4.1.4" 971 | regexp.prototype.flags "^1.5.0" 972 | side-channel "^1.0.4" 973 | which-boxed-primitive "^1.0.2" 974 | which-collection "^1.0.1" 975 | which-typed-array "^1.1.9" 976 | 977 | deep-is@^0.1.3: 978 | version "0.1.4" 979 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 980 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 981 | 982 | define-lazy-prop@^2.0.0: 983 | version "2.0.0" 984 | resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" 985 | integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== 986 | 987 | define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: 988 | version "1.2.0" 989 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" 990 | integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== 991 | dependencies: 992 | has-property-descriptors "^1.0.0" 993 | object-keys "^1.1.1" 994 | 995 | delayed-stream@~1.0.0: 996 | version "1.0.0" 997 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 998 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 999 | 1000 | didyoumean@^1.2.2: 1001 | version "1.2.2" 1002 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" 1003 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 1004 | 1005 | diff@^4.0.1: 1006 | version "4.0.2" 1007 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 1008 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 1009 | 1010 | dir-glob@^3.0.1: 1011 | version "3.0.1" 1012 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 1013 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 1014 | dependencies: 1015 | path-type "^4.0.0" 1016 | 1017 | discord-api-types@^0.37.35, discord-api-types@^0.37.37: 1018 | version "0.37.40" 1019 | resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.40.tgz#030b8eae88f3fc57505077e37691e9087170b458" 1020 | integrity sha512-LMALvtO+p6ERK8rwWoaI490NfIE/egbqjR4/rfLL1z9gQE1gqLiTpIUUDIunfAtKYzeH6ucyXhaXXWpfZh/Q6g== 1021 | 1022 | discord-permission@^1.0.4: 1023 | version "1.0.4" 1024 | resolved "https://registry.yarnpkg.com/discord-permission/-/discord-permission-1.0.4.tgz#bb580f43865b4b5ab936d0ee5dbd1914f1b3bc8e" 1025 | integrity sha512-839DDIqw93JFnYNPo9UO43roFwMxZJIZ+BV4OtjhbFHHcNaZF7vZB5nppX/bQWtCoz8ZtGGsKR0g6er/a3yPvg== 1026 | dependencies: 1027 | ts-node "^10.9.1" 1028 | typescript "^4.9.5" 1029 | 1030 | dlv@^1.1.3: 1031 | version "1.1.3" 1032 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" 1033 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 1034 | 1035 | doctrine@^2.1.0: 1036 | version "2.1.0" 1037 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 1038 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== 1039 | dependencies: 1040 | esutils "^2.0.2" 1041 | 1042 | doctrine@^3.0.0: 1043 | version "3.0.0" 1044 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 1045 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 1046 | dependencies: 1047 | esutils "^2.0.2" 1048 | 1049 | dotenv@^16.0.3: 1050 | version "16.0.3" 1051 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" 1052 | integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== 1053 | 1054 | electron-to-chromium@^1.4.284: 1055 | version "1.4.374" 1056 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.374.tgz#091b2de9d80b970f9b5e689675ea62622cd1d74b" 1057 | integrity sha512-dNP9tQNTrjgVlSXMqGaj0BdrCS+9pcUvy5/emB6x8kh0YwCoDZ0Z4ce1+7aod+KhybHUd5o5LgKrc5al4kVmzQ== 1058 | 1059 | emoji-regex@^9.2.2: 1060 | version "9.2.2" 1061 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 1062 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 1063 | 1064 | enhanced-resolve@^5.12.0: 1065 | version "5.13.0" 1066 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz#26d1ecc448c02de997133217b5c1053f34a0a275" 1067 | integrity sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg== 1068 | dependencies: 1069 | graceful-fs "^4.2.4" 1070 | tapable "^2.2.0" 1071 | 1072 | es-abstract@^1.19.0, es-abstract@^1.20.4: 1073 | version "1.21.2" 1074 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" 1075 | integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== 1076 | dependencies: 1077 | array-buffer-byte-length "^1.0.0" 1078 | available-typed-arrays "^1.0.5" 1079 | call-bind "^1.0.2" 1080 | es-set-tostringtag "^2.0.1" 1081 | es-to-primitive "^1.2.1" 1082 | function.prototype.name "^1.1.5" 1083 | get-intrinsic "^1.2.0" 1084 | get-symbol-description "^1.0.0" 1085 | globalthis "^1.0.3" 1086 | gopd "^1.0.1" 1087 | has "^1.0.3" 1088 | has-property-descriptors "^1.0.0" 1089 | has-proto "^1.0.1" 1090 | has-symbols "^1.0.3" 1091 | internal-slot "^1.0.5" 1092 | is-array-buffer "^3.0.2" 1093 | is-callable "^1.2.7" 1094 | is-negative-zero "^2.0.2" 1095 | is-regex "^1.1.4" 1096 | is-shared-array-buffer "^1.0.2" 1097 | is-string "^1.0.7" 1098 | is-typed-array "^1.1.10" 1099 | is-weakref "^1.0.2" 1100 | object-inspect "^1.12.3" 1101 | object-keys "^1.1.1" 1102 | object.assign "^4.1.4" 1103 | regexp.prototype.flags "^1.4.3" 1104 | safe-regex-test "^1.0.0" 1105 | string.prototype.trim "^1.2.7" 1106 | string.prototype.trimend "^1.0.6" 1107 | string.prototype.trimstart "^1.0.6" 1108 | typed-array-length "^1.0.4" 1109 | unbox-primitive "^1.0.2" 1110 | which-typed-array "^1.1.9" 1111 | 1112 | es-get-iterator@^1.1.3: 1113 | version "1.1.3" 1114 | resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" 1115 | integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== 1116 | dependencies: 1117 | call-bind "^1.0.2" 1118 | get-intrinsic "^1.1.3" 1119 | has-symbols "^1.0.3" 1120 | is-arguments "^1.1.1" 1121 | is-map "^2.0.2" 1122 | is-set "^2.0.2" 1123 | is-string "^1.0.7" 1124 | isarray "^2.0.5" 1125 | stop-iteration-iterator "^1.0.0" 1126 | 1127 | es-set-tostringtag@^2.0.1: 1128 | version "2.0.1" 1129 | resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" 1130 | integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== 1131 | dependencies: 1132 | get-intrinsic "^1.1.3" 1133 | has "^1.0.3" 1134 | has-tostringtag "^1.0.0" 1135 | 1136 | es-shim-unscopables@^1.0.0: 1137 | version "1.0.0" 1138 | resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" 1139 | integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== 1140 | dependencies: 1141 | has "^1.0.3" 1142 | 1143 | es-to-primitive@^1.2.1: 1144 | version "1.2.1" 1145 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 1146 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 1147 | dependencies: 1148 | is-callable "^1.1.4" 1149 | is-date-object "^1.0.1" 1150 | is-symbol "^1.0.2" 1151 | 1152 | escalade@^3.1.1: 1153 | version "3.1.1" 1154 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1155 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1156 | 1157 | escape-string-regexp@^4.0.0: 1158 | version "4.0.0" 1159 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 1160 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 1161 | 1162 | eslint-config-next@13.1.6: 1163 | version "13.1.6" 1164 | resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.1.6.tgz#ab6894fe5b80080f1e9b9306d1c4b0003230620e" 1165 | integrity sha512-0cg7h5wztg/SoLAlxljZ0ZPUQ7i6QKqRiP4M2+MgTZtxWwNKb2JSwNc18nJ6/kXBI6xYvPraTbQSIhAuVw6czw== 1166 | dependencies: 1167 | "@next/eslint-plugin-next" "13.1.6" 1168 | "@rushstack/eslint-patch" "^1.1.3" 1169 | "@typescript-eslint/parser" "^5.42.0" 1170 | eslint-import-resolver-node "^0.3.6" 1171 | eslint-import-resolver-typescript "^3.5.2" 1172 | eslint-plugin-import "^2.26.0" 1173 | eslint-plugin-jsx-a11y "^6.5.1" 1174 | eslint-plugin-react "^7.31.7" 1175 | eslint-plugin-react-hooks "^4.5.0" 1176 | 1177 | eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.7: 1178 | version "0.3.7" 1179 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" 1180 | integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== 1181 | dependencies: 1182 | debug "^3.2.7" 1183 | is-core-module "^2.11.0" 1184 | resolve "^1.22.1" 1185 | 1186 | eslint-import-resolver-typescript@^3.5.2: 1187 | version "3.5.5" 1188 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz#0a9034ae7ed94b254a360fbea89187b60ea7456d" 1189 | integrity sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw== 1190 | dependencies: 1191 | debug "^4.3.4" 1192 | enhanced-resolve "^5.12.0" 1193 | eslint-module-utils "^2.7.4" 1194 | get-tsconfig "^4.5.0" 1195 | globby "^13.1.3" 1196 | is-core-module "^2.11.0" 1197 | is-glob "^4.0.3" 1198 | synckit "^0.8.5" 1199 | 1200 | eslint-module-utils@^2.7.4: 1201 | version "2.8.0" 1202 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" 1203 | integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== 1204 | dependencies: 1205 | debug "^3.2.7" 1206 | 1207 | eslint-plugin-import@^2.26.0: 1208 | version "2.27.5" 1209 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" 1210 | integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== 1211 | dependencies: 1212 | array-includes "^3.1.6" 1213 | array.prototype.flat "^1.3.1" 1214 | array.prototype.flatmap "^1.3.1" 1215 | debug "^3.2.7" 1216 | doctrine "^2.1.0" 1217 | eslint-import-resolver-node "^0.3.7" 1218 | eslint-module-utils "^2.7.4" 1219 | has "^1.0.3" 1220 | is-core-module "^2.11.0" 1221 | is-glob "^4.0.3" 1222 | minimatch "^3.1.2" 1223 | object.values "^1.1.6" 1224 | resolve "^1.22.1" 1225 | semver "^6.3.0" 1226 | tsconfig-paths "^3.14.1" 1227 | 1228 | eslint-plugin-jsx-a11y@^6.5.1: 1229 | version "6.7.1" 1230 | resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976" 1231 | integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== 1232 | dependencies: 1233 | "@babel/runtime" "^7.20.7" 1234 | aria-query "^5.1.3" 1235 | array-includes "^3.1.6" 1236 | array.prototype.flatmap "^1.3.1" 1237 | ast-types-flow "^0.0.7" 1238 | axe-core "^4.6.2" 1239 | axobject-query "^3.1.1" 1240 | damerau-levenshtein "^1.0.8" 1241 | emoji-regex "^9.2.2" 1242 | has "^1.0.3" 1243 | jsx-ast-utils "^3.3.3" 1244 | language-tags "=1.0.5" 1245 | minimatch "^3.1.2" 1246 | object.entries "^1.1.6" 1247 | object.fromentries "^2.0.6" 1248 | semver "^6.3.0" 1249 | 1250 | eslint-plugin-react-hooks@^4.5.0: 1251 | version "4.6.0" 1252 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" 1253 | integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== 1254 | 1255 | eslint-plugin-react@^7.31.7: 1256 | version "7.32.2" 1257 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" 1258 | integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== 1259 | dependencies: 1260 | array-includes "^3.1.6" 1261 | array.prototype.flatmap "^1.3.1" 1262 | array.prototype.tosorted "^1.1.1" 1263 | doctrine "^2.1.0" 1264 | estraverse "^5.3.0" 1265 | jsx-ast-utils "^2.4.1 || ^3.0.0" 1266 | minimatch "^3.1.2" 1267 | object.entries "^1.1.6" 1268 | object.fromentries "^2.0.6" 1269 | object.hasown "^1.1.2" 1270 | object.values "^1.1.6" 1271 | prop-types "^15.8.1" 1272 | resolve "^2.0.0-next.4" 1273 | semver "^6.3.0" 1274 | string.prototype.matchall "^4.0.8" 1275 | 1276 | eslint-scope@^5.1.1: 1277 | version "5.1.1" 1278 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 1279 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 1280 | dependencies: 1281 | esrecurse "^4.3.0" 1282 | estraverse "^4.1.1" 1283 | 1284 | eslint-scope@^7.2.0: 1285 | version "7.2.0" 1286 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" 1287 | integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== 1288 | dependencies: 1289 | esrecurse "^4.3.0" 1290 | estraverse "^5.2.0" 1291 | 1292 | eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: 1293 | version "3.4.0" 1294 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" 1295 | integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== 1296 | 1297 | eslint@^8.30.0: 1298 | version "8.39.0" 1299 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.39.0.tgz#7fd20a295ef92d43809e914b70c39fd5a23cf3f1" 1300 | integrity sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og== 1301 | dependencies: 1302 | "@eslint-community/eslint-utils" "^4.2.0" 1303 | "@eslint-community/regexpp" "^4.4.0" 1304 | "@eslint/eslintrc" "^2.0.2" 1305 | "@eslint/js" "8.39.0" 1306 | "@humanwhocodes/config-array" "^0.11.8" 1307 | "@humanwhocodes/module-importer" "^1.0.1" 1308 | "@nodelib/fs.walk" "^1.2.8" 1309 | ajv "^6.10.0" 1310 | chalk "^4.0.0" 1311 | cross-spawn "^7.0.2" 1312 | debug "^4.3.2" 1313 | doctrine "^3.0.0" 1314 | escape-string-regexp "^4.0.0" 1315 | eslint-scope "^7.2.0" 1316 | eslint-visitor-keys "^3.4.0" 1317 | espree "^9.5.1" 1318 | esquery "^1.4.2" 1319 | esutils "^2.0.2" 1320 | fast-deep-equal "^3.1.3" 1321 | file-entry-cache "^6.0.1" 1322 | find-up "^5.0.0" 1323 | glob-parent "^6.0.2" 1324 | globals "^13.19.0" 1325 | grapheme-splitter "^1.0.4" 1326 | ignore "^5.2.0" 1327 | import-fresh "^3.0.0" 1328 | imurmurhash "^0.1.4" 1329 | is-glob "^4.0.0" 1330 | is-path-inside "^3.0.3" 1331 | js-sdsl "^4.1.4" 1332 | js-yaml "^4.1.0" 1333 | json-stable-stringify-without-jsonify "^1.0.1" 1334 | levn "^0.4.1" 1335 | lodash.merge "^4.6.2" 1336 | minimatch "^3.1.2" 1337 | natural-compare "^1.4.0" 1338 | optionator "^0.9.1" 1339 | strip-ansi "^6.0.1" 1340 | strip-json-comments "^3.1.0" 1341 | text-table "^0.2.0" 1342 | 1343 | espree@^9.5.1: 1344 | version "9.5.1" 1345 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" 1346 | integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== 1347 | dependencies: 1348 | acorn "^8.8.0" 1349 | acorn-jsx "^5.3.2" 1350 | eslint-visitor-keys "^3.4.0" 1351 | 1352 | esquery@^1.4.2: 1353 | version "1.5.0" 1354 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" 1355 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== 1356 | dependencies: 1357 | estraverse "^5.1.0" 1358 | 1359 | esrecurse@^4.3.0: 1360 | version "4.3.0" 1361 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 1362 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1363 | dependencies: 1364 | estraverse "^5.2.0" 1365 | 1366 | estraverse@^4.1.1: 1367 | version "4.3.0" 1368 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 1369 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 1370 | 1371 | estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: 1372 | version "5.3.0" 1373 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 1374 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 1375 | 1376 | esutils@^2.0.2: 1377 | version "2.0.3" 1378 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1379 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1380 | 1381 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 1382 | version "3.1.3" 1383 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1384 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1385 | 1386 | fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.9: 1387 | version "3.2.12" 1388 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" 1389 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== 1390 | dependencies: 1391 | "@nodelib/fs.stat" "^2.0.2" 1392 | "@nodelib/fs.walk" "^1.2.3" 1393 | glob-parent "^5.1.2" 1394 | merge2 "^1.3.0" 1395 | micromatch "^4.0.4" 1396 | 1397 | fast-json-stable-stringify@^2.0.0: 1398 | version "2.1.0" 1399 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1400 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1401 | 1402 | fast-levenshtein@^2.0.6: 1403 | version "2.0.6" 1404 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1405 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 1406 | 1407 | fastparse@^1.1.2: 1408 | version "1.1.2" 1409 | resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" 1410 | integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== 1411 | 1412 | fastq@^1.6.0: 1413 | version "1.15.0" 1414 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" 1415 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== 1416 | dependencies: 1417 | reusify "^1.0.4" 1418 | 1419 | file-entry-cache@^6.0.1: 1420 | version "6.0.1" 1421 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 1422 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1423 | dependencies: 1424 | flat-cache "^3.0.4" 1425 | 1426 | file-type@^18.2.1: 1427 | version "18.3.0" 1428 | resolved "https://registry.yarnpkg.com/file-type/-/file-type-18.3.0.tgz#116d4df9120b7f17e973ad5c976b82a40407bd07" 1429 | integrity sha512-pkPZ5OGIq0TYb37b8bHDLNeQSe1H2KlaQ2ySGpJkkr2KZdaWsO4QhPzHA0mQcsUW2cSqJk+4gM/UyLz/UFbXdQ== 1430 | dependencies: 1431 | readable-web-to-node-stream "^3.0.2" 1432 | strtok3 "^7.0.0" 1433 | token-types "^5.0.1" 1434 | 1435 | fill-range@^7.0.1: 1436 | version "7.0.1" 1437 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1438 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1439 | dependencies: 1440 | to-regex-range "^5.0.1" 1441 | 1442 | find-up@^5.0.0: 1443 | version "5.0.0" 1444 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1445 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1446 | dependencies: 1447 | locate-path "^6.0.0" 1448 | path-exists "^4.0.0" 1449 | 1450 | flat-cache@^3.0.4: 1451 | version "3.0.4" 1452 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 1453 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 1454 | dependencies: 1455 | flatted "^3.1.0" 1456 | rimraf "^3.0.2" 1457 | 1458 | flatted@^3.1.0: 1459 | version "3.2.7" 1460 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" 1461 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== 1462 | 1463 | follow-redirects@^1.15.0: 1464 | version "1.15.2" 1465 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" 1466 | integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== 1467 | 1468 | for-each@^0.3.3: 1469 | version "0.3.3" 1470 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" 1471 | integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== 1472 | dependencies: 1473 | is-callable "^1.1.3" 1474 | 1475 | form-data@^4.0.0: 1476 | version "4.0.0" 1477 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 1478 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 1479 | dependencies: 1480 | asynckit "^0.4.0" 1481 | combined-stream "^1.0.8" 1482 | mime-types "^2.1.12" 1483 | 1484 | fraction.js@^4.2.0: 1485 | version "4.2.0" 1486 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" 1487 | integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== 1488 | 1489 | fs.realpath@^1.0.0: 1490 | version "1.0.0" 1491 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1492 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1493 | 1494 | fsevents@~2.3.2: 1495 | version "2.3.2" 1496 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1497 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1498 | 1499 | function-bind@^1.1.1: 1500 | version "1.1.1" 1501 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1502 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1503 | 1504 | function.prototype.name@^1.1.5: 1505 | version "1.1.5" 1506 | resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" 1507 | integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== 1508 | dependencies: 1509 | call-bind "^1.0.2" 1510 | define-properties "^1.1.3" 1511 | es-abstract "^1.19.0" 1512 | functions-have-names "^1.2.2" 1513 | 1514 | functions-have-names@^1.2.2, functions-have-names@^1.2.3: 1515 | version "1.2.3" 1516 | resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" 1517 | integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== 1518 | 1519 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: 1520 | version "1.2.0" 1521 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" 1522 | integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== 1523 | dependencies: 1524 | function-bind "^1.1.1" 1525 | has "^1.0.3" 1526 | has-symbols "^1.0.3" 1527 | 1528 | get-symbol-description@^1.0.0: 1529 | version "1.0.0" 1530 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" 1531 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== 1532 | dependencies: 1533 | call-bind "^1.0.2" 1534 | get-intrinsic "^1.1.1" 1535 | 1536 | get-tsconfig@^4.5.0: 1537 | version "4.5.0" 1538 | resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.5.0.tgz#6d52d1c7b299bd3ee9cd7638561653399ac77b0f" 1539 | integrity sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ== 1540 | 1541 | glob-parent@^5.1.2, glob-parent@~5.1.2: 1542 | version "5.1.2" 1543 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1544 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1545 | dependencies: 1546 | is-glob "^4.0.1" 1547 | 1548 | glob-parent@^6.0.2: 1549 | version "6.0.2" 1550 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1551 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1552 | dependencies: 1553 | is-glob "^4.0.3" 1554 | 1555 | glob@7.1.6: 1556 | version "7.1.6" 1557 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1558 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 1559 | dependencies: 1560 | fs.realpath "^1.0.0" 1561 | inflight "^1.0.4" 1562 | inherits "2" 1563 | minimatch "^3.0.4" 1564 | once "^1.3.0" 1565 | path-is-absolute "^1.0.0" 1566 | 1567 | glob@7.1.7: 1568 | version "7.1.7" 1569 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 1570 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 1571 | dependencies: 1572 | fs.realpath "^1.0.0" 1573 | inflight "^1.0.4" 1574 | inherits "2" 1575 | minimatch "^3.0.4" 1576 | once "^1.3.0" 1577 | path-is-absolute "^1.0.0" 1578 | 1579 | glob@^7.1.3: 1580 | version "7.2.3" 1581 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1582 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1583 | dependencies: 1584 | fs.realpath "^1.0.0" 1585 | inflight "^1.0.4" 1586 | inherits "2" 1587 | minimatch "^3.1.1" 1588 | once "^1.3.0" 1589 | path-is-absolute "^1.0.0" 1590 | 1591 | globals@^13.19.0: 1592 | version "13.20.0" 1593 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" 1594 | integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== 1595 | dependencies: 1596 | type-fest "^0.20.2" 1597 | 1598 | globalthis@^1.0.3: 1599 | version "1.0.3" 1600 | resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" 1601 | integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== 1602 | dependencies: 1603 | define-properties "^1.1.3" 1604 | 1605 | globalyzer@0.1.0: 1606 | version "0.1.0" 1607 | resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" 1608 | integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== 1609 | 1610 | globby@^11.1.0: 1611 | version "11.1.0" 1612 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1613 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1614 | dependencies: 1615 | array-union "^2.1.0" 1616 | dir-glob "^3.0.1" 1617 | fast-glob "^3.2.9" 1618 | ignore "^5.2.0" 1619 | merge2 "^1.4.1" 1620 | slash "^3.0.0" 1621 | 1622 | globby@^13.1.3: 1623 | version "13.1.4" 1624 | resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.4.tgz#2f91c116066bcec152465ba36e5caa4a13c01317" 1625 | integrity sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g== 1626 | dependencies: 1627 | dir-glob "^3.0.1" 1628 | fast-glob "^3.2.11" 1629 | ignore "^5.2.0" 1630 | merge2 "^1.4.1" 1631 | slash "^4.0.0" 1632 | 1633 | globrex@^0.1.2: 1634 | version "0.1.2" 1635 | resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" 1636 | integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== 1637 | 1638 | gopd@^1.0.1: 1639 | version "1.0.1" 1640 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" 1641 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== 1642 | dependencies: 1643 | get-intrinsic "^1.1.3" 1644 | 1645 | graceful-fs@^4.2.4: 1646 | version "4.2.11" 1647 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" 1648 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== 1649 | 1650 | grapheme-splitter@^1.0.4: 1651 | version "1.0.4" 1652 | resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" 1653 | integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== 1654 | 1655 | has-bigints@^1.0.1, has-bigints@^1.0.2: 1656 | version "1.0.2" 1657 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" 1658 | integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== 1659 | 1660 | has-flag@^4.0.0: 1661 | version "4.0.0" 1662 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1663 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1664 | 1665 | has-property-descriptors@^1.0.0: 1666 | version "1.0.0" 1667 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" 1668 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== 1669 | dependencies: 1670 | get-intrinsic "^1.1.1" 1671 | 1672 | has-proto@^1.0.1: 1673 | version "1.0.1" 1674 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" 1675 | integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== 1676 | 1677 | has-symbols@^1.0.2, has-symbols@^1.0.3: 1678 | version "1.0.3" 1679 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 1680 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 1681 | 1682 | has-tostringtag@^1.0.0: 1683 | version "1.0.0" 1684 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 1685 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 1686 | dependencies: 1687 | has-symbols "^1.0.2" 1688 | 1689 | has@^1.0.3: 1690 | version "1.0.3" 1691 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1692 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1693 | dependencies: 1694 | function-bind "^1.1.1" 1695 | 1696 | ieee754@^1.2.1: 1697 | version "1.2.1" 1698 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 1699 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 1700 | 1701 | ignore@^5.2.0: 1702 | version "5.2.4" 1703 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" 1704 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== 1705 | 1706 | import-fresh@^3.0.0, import-fresh@^3.2.1: 1707 | version "3.3.0" 1708 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1709 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1710 | dependencies: 1711 | parent-module "^1.0.0" 1712 | resolve-from "^4.0.0" 1713 | 1714 | imurmurhash@^0.1.4: 1715 | version "0.1.4" 1716 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1717 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 1718 | 1719 | inflight@^1.0.4: 1720 | version "1.0.6" 1721 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1722 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1723 | dependencies: 1724 | once "^1.3.0" 1725 | wrappy "1" 1726 | 1727 | inherits@2, inherits@^2.0.3: 1728 | version "2.0.4" 1729 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1730 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1731 | 1732 | internal-slot@^1.0.3, internal-slot@^1.0.4, internal-slot@^1.0.5: 1733 | version "1.0.5" 1734 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" 1735 | integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== 1736 | dependencies: 1737 | get-intrinsic "^1.2.0" 1738 | has "^1.0.3" 1739 | side-channel "^1.0.4" 1740 | 1741 | is-arguments@^1.1.1: 1742 | version "1.1.1" 1743 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" 1744 | integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== 1745 | dependencies: 1746 | call-bind "^1.0.2" 1747 | has-tostringtag "^1.0.0" 1748 | 1749 | is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: 1750 | version "3.0.2" 1751 | resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" 1752 | integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== 1753 | dependencies: 1754 | call-bind "^1.0.2" 1755 | get-intrinsic "^1.2.0" 1756 | is-typed-array "^1.1.10" 1757 | 1758 | is-arrayish@^0.3.1: 1759 | version "0.3.2" 1760 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" 1761 | integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== 1762 | 1763 | is-bigint@^1.0.1: 1764 | version "1.0.4" 1765 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" 1766 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== 1767 | dependencies: 1768 | has-bigints "^1.0.1" 1769 | 1770 | is-binary-path@~2.1.0: 1771 | version "2.1.0" 1772 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1773 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1774 | dependencies: 1775 | binary-extensions "^2.0.0" 1776 | 1777 | is-boolean-object@^1.1.0: 1778 | version "1.1.2" 1779 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" 1780 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== 1781 | dependencies: 1782 | call-bind "^1.0.2" 1783 | has-tostringtag "^1.0.0" 1784 | 1785 | is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: 1786 | version "1.2.7" 1787 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" 1788 | integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== 1789 | 1790 | is-core-module@^2.11.0, is-core-module@^2.9.0: 1791 | version "2.12.0" 1792 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" 1793 | integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== 1794 | dependencies: 1795 | has "^1.0.3" 1796 | 1797 | is-date-object@^1.0.1, is-date-object@^1.0.5: 1798 | version "1.0.5" 1799 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" 1800 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== 1801 | dependencies: 1802 | has-tostringtag "^1.0.0" 1803 | 1804 | is-docker@^2.0.0, is-docker@^2.1.1: 1805 | version "2.2.1" 1806 | resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" 1807 | integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== 1808 | 1809 | is-extglob@^2.1.1: 1810 | version "2.1.1" 1811 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1812 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1813 | 1814 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 1815 | version "4.0.3" 1816 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1817 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1818 | dependencies: 1819 | is-extglob "^2.1.1" 1820 | 1821 | is-map@^2.0.1, is-map@^2.0.2: 1822 | version "2.0.2" 1823 | resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" 1824 | integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== 1825 | 1826 | is-negative-zero@^2.0.2: 1827 | version "2.0.2" 1828 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" 1829 | integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== 1830 | 1831 | is-number-object@^1.0.4: 1832 | version "1.0.7" 1833 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" 1834 | integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== 1835 | dependencies: 1836 | has-tostringtag "^1.0.0" 1837 | 1838 | is-number@^7.0.0: 1839 | version "7.0.0" 1840 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1841 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1842 | 1843 | is-path-inside@^3.0.3: 1844 | version "3.0.3" 1845 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 1846 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 1847 | 1848 | is-regex@^1.1.4: 1849 | version "1.1.4" 1850 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 1851 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 1852 | dependencies: 1853 | call-bind "^1.0.2" 1854 | has-tostringtag "^1.0.0" 1855 | 1856 | is-set@^2.0.1, is-set@^2.0.2: 1857 | version "2.0.2" 1858 | resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" 1859 | integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== 1860 | 1861 | is-shared-array-buffer@^1.0.2: 1862 | version "1.0.2" 1863 | resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" 1864 | integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== 1865 | dependencies: 1866 | call-bind "^1.0.2" 1867 | 1868 | is-string@^1.0.5, is-string@^1.0.7: 1869 | version "1.0.7" 1870 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" 1871 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== 1872 | dependencies: 1873 | has-tostringtag "^1.0.0" 1874 | 1875 | is-symbol@^1.0.2, is-symbol@^1.0.3: 1876 | version "1.0.4" 1877 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 1878 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 1879 | dependencies: 1880 | has-symbols "^1.0.2" 1881 | 1882 | is-typed-array@^1.1.10, is-typed-array@^1.1.9: 1883 | version "1.1.10" 1884 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" 1885 | integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== 1886 | dependencies: 1887 | available-typed-arrays "^1.0.5" 1888 | call-bind "^1.0.2" 1889 | for-each "^0.3.3" 1890 | gopd "^1.0.1" 1891 | has-tostringtag "^1.0.0" 1892 | 1893 | is-weakmap@^2.0.1: 1894 | version "2.0.1" 1895 | resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" 1896 | integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== 1897 | 1898 | is-weakref@^1.0.2: 1899 | version "1.0.2" 1900 | resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" 1901 | integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== 1902 | dependencies: 1903 | call-bind "^1.0.2" 1904 | 1905 | is-weakset@^2.0.1: 1906 | version "2.0.2" 1907 | resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" 1908 | integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== 1909 | dependencies: 1910 | call-bind "^1.0.2" 1911 | get-intrinsic "^1.1.1" 1912 | 1913 | is-what@^4.1.8: 1914 | version "4.1.8" 1915 | resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.8.tgz#0e2a8807fda30980ddb2571c79db3d209b14cbe4" 1916 | integrity sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA== 1917 | 1918 | is-wsl@^2.2.0: 1919 | version "2.2.0" 1920 | resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" 1921 | integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== 1922 | dependencies: 1923 | is-docker "^2.0.0" 1924 | 1925 | isarray@^2.0.5: 1926 | version "2.0.5" 1927 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" 1928 | integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== 1929 | 1930 | isexe@^2.0.0: 1931 | version "2.0.0" 1932 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1933 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1934 | 1935 | jiti@^1.18.2: 1936 | version "1.18.2" 1937 | resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.18.2.tgz#80c3ef3d486ebf2450d9335122b32d121f2a83cd" 1938 | integrity sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg== 1939 | 1940 | js-sdsl@^4.1.4: 1941 | version "4.4.0" 1942 | resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430" 1943 | integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== 1944 | 1945 | "js-tokens@^3.0.0 || ^4.0.0": 1946 | version "4.0.0" 1947 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1948 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1949 | 1950 | js-yaml@^4.1.0: 1951 | version "4.1.0" 1952 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1953 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1954 | dependencies: 1955 | argparse "^2.0.1" 1956 | 1957 | json-schema-traverse@^0.4.1: 1958 | version "0.4.1" 1959 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1960 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1961 | 1962 | json-stable-stringify-without-jsonify@^1.0.1: 1963 | version "1.0.1" 1964 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1965 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 1966 | 1967 | json5@^1.0.2: 1968 | version "1.0.2" 1969 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" 1970 | integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== 1971 | dependencies: 1972 | minimist "^1.2.0" 1973 | 1974 | "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: 1975 | version "3.3.3" 1976 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" 1977 | integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== 1978 | dependencies: 1979 | array-includes "^3.1.5" 1980 | object.assign "^4.1.3" 1981 | 1982 | language-subtag-registry@~0.3.2: 1983 | version "0.3.22" 1984 | resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" 1985 | integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== 1986 | 1987 | language-tags@=1.0.5: 1988 | version "1.0.5" 1989 | resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" 1990 | integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== 1991 | dependencies: 1992 | language-subtag-registry "~0.3.2" 1993 | 1994 | levn@^0.4.1: 1995 | version "0.4.1" 1996 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1997 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1998 | dependencies: 1999 | prelude-ls "^1.2.1" 2000 | type-check "~0.4.0" 2001 | 2002 | lilconfig@^2.0.5, lilconfig@^2.1.0: 2003 | version "2.1.0" 2004 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" 2005 | integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== 2006 | 2007 | lines-and-columns@^1.1.6: 2008 | version "1.2.4" 2009 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 2010 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 2011 | 2012 | locate-path@^6.0.0: 2013 | version "6.0.0" 2014 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 2015 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 2016 | dependencies: 2017 | p-locate "^5.0.0" 2018 | 2019 | lodash.castarray@^4.4.0: 2020 | version "4.4.0" 2021 | resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115" 2022 | integrity sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q== 2023 | 2024 | lodash.isplainobject@^4.0.6: 2025 | version "4.0.6" 2026 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 2027 | integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== 2028 | 2029 | lodash.merge@^4.6.2: 2030 | version "4.6.2" 2031 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 2032 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 2033 | 2034 | lodash@^4.17.21: 2035 | version "4.17.21" 2036 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 2037 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 2038 | 2039 | loose-envify@^1.1.0, loose-envify@^1.4.0: 2040 | version "1.4.0" 2041 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 2042 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 2043 | dependencies: 2044 | js-tokens "^3.0.0 || ^4.0.0" 2045 | 2046 | lru-cache@^6.0.0: 2047 | version "6.0.0" 2048 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 2049 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 2050 | dependencies: 2051 | yallist "^4.0.0" 2052 | 2053 | make-error@^1.1.1: 2054 | version "1.3.6" 2055 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 2056 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 2057 | 2058 | merge2@^1.3.0, merge2@^1.4.1: 2059 | version "1.4.1" 2060 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 2061 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 2062 | 2063 | micromatch@^4.0.4, micromatch@^4.0.5: 2064 | version "4.0.5" 2065 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 2066 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 2067 | dependencies: 2068 | braces "^3.0.2" 2069 | picomatch "^2.3.1" 2070 | 2071 | mime-db@1.52.0: 2072 | version "1.52.0" 2073 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 2074 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 2075 | 2076 | mime-types@^2.1.12: 2077 | version "2.1.35" 2078 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 2079 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 2080 | dependencies: 2081 | mime-db "1.52.0" 2082 | 2083 | minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 2084 | version "3.1.2" 2085 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 2086 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 2087 | dependencies: 2088 | brace-expansion "^1.1.7" 2089 | 2090 | minimist@^1.2.0, minimist@^1.2.6: 2091 | version "1.2.8" 2092 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" 2093 | integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== 2094 | 2095 | ms@2.1.2: 2096 | version "2.1.2" 2097 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2098 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2099 | 2100 | ms@^2.1.1: 2101 | version "2.1.3" 2102 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 2103 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 2104 | 2105 | mz@^2.7.0: 2106 | version "2.7.0" 2107 | resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" 2108 | integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== 2109 | dependencies: 2110 | any-promise "^1.0.0" 2111 | object-assign "^4.0.1" 2112 | thenify-all "^1.0.0" 2113 | 2114 | nanoid@^3.3.4, nanoid@^3.3.6: 2115 | version "3.3.6" 2116 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" 2117 | integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== 2118 | 2119 | natural-compare-lite@^1.4.0: 2120 | version "1.4.0" 2121 | resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" 2122 | integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== 2123 | 2124 | natural-compare@^1.4.0: 2125 | version "1.4.0" 2126 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2127 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 2128 | 2129 | next@13.1.6: 2130 | version "13.1.6" 2131 | resolved "https://registry.yarnpkg.com/next/-/next-13.1.6.tgz#054babe20b601f21f682f197063c9b0b32f1a27c" 2132 | integrity sha512-hHlbhKPj9pW+Cymvfzc15lvhaOZ54l+8sXDXJWm3OBNBzgrVj6hwGPmqqsXg40xO1Leq+kXpllzRPuncpC0Phw== 2133 | dependencies: 2134 | "@next/env" "13.1.6" 2135 | "@swc/helpers" "0.4.14" 2136 | caniuse-lite "^1.0.30001406" 2137 | postcss "8.4.14" 2138 | styled-jsx "5.1.1" 2139 | optionalDependencies: 2140 | "@next/swc-android-arm-eabi" "13.1.6" 2141 | "@next/swc-android-arm64" "13.1.6" 2142 | "@next/swc-darwin-arm64" "13.1.6" 2143 | "@next/swc-darwin-x64" "13.1.6" 2144 | "@next/swc-freebsd-x64" "13.1.6" 2145 | "@next/swc-linux-arm-gnueabihf" "13.1.6" 2146 | "@next/swc-linux-arm64-gnu" "13.1.6" 2147 | "@next/swc-linux-arm64-musl" "13.1.6" 2148 | "@next/swc-linux-x64-gnu" "13.1.6" 2149 | "@next/swc-linux-x64-musl" "13.1.6" 2150 | "@next/swc-win32-arm64-msvc" "13.1.6" 2151 | "@next/swc-win32-ia32-msvc" "13.1.6" 2152 | "@next/swc-win32-x64-msvc" "13.1.6" 2153 | 2154 | node-releases@^2.0.8: 2155 | version "2.0.10" 2156 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" 2157 | integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== 2158 | 2159 | normalize-path@^3.0.0, normalize-path@~3.0.0: 2160 | version "3.0.0" 2161 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2162 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 2163 | 2164 | normalize-range@^0.1.2: 2165 | version "0.1.2" 2166 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 2167 | integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== 2168 | 2169 | object-assign@^4.0.1, object-assign@^4.1.1: 2170 | version "4.1.1" 2171 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2172 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 2173 | 2174 | object-hash@^3.0.0: 2175 | version "3.0.0" 2176 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" 2177 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== 2178 | 2179 | object-inspect@^1.12.3, object-inspect@^1.9.0: 2180 | version "1.12.3" 2181 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" 2182 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== 2183 | 2184 | object-is@^1.1.5: 2185 | version "1.1.5" 2186 | resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" 2187 | integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== 2188 | dependencies: 2189 | call-bind "^1.0.2" 2190 | define-properties "^1.1.3" 2191 | 2192 | object-keys@^1.1.1: 2193 | version "1.1.1" 2194 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 2195 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 2196 | 2197 | object.assign@^4.1.3, object.assign@^4.1.4: 2198 | version "4.1.4" 2199 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" 2200 | integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== 2201 | dependencies: 2202 | call-bind "^1.0.2" 2203 | define-properties "^1.1.4" 2204 | has-symbols "^1.0.3" 2205 | object-keys "^1.1.1" 2206 | 2207 | object.entries@^1.1.6: 2208 | version "1.1.6" 2209 | resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" 2210 | integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== 2211 | dependencies: 2212 | call-bind "^1.0.2" 2213 | define-properties "^1.1.4" 2214 | es-abstract "^1.20.4" 2215 | 2216 | object.fromentries@^2.0.6: 2217 | version "2.0.6" 2218 | resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" 2219 | integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== 2220 | dependencies: 2221 | call-bind "^1.0.2" 2222 | define-properties "^1.1.4" 2223 | es-abstract "^1.20.4" 2224 | 2225 | object.hasown@^1.1.2: 2226 | version "1.1.2" 2227 | resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" 2228 | integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== 2229 | dependencies: 2230 | define-properties "^1.1.4" 2231 | es-abstract "^1.20.4" 2232 | 2233 | object.values@^1.1.6: 2234 | version "1.1.6" 2235 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" 2236 | integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== 2237 | dependencies: 2238 | call-bind "^1.0.2" 2239 | define-properties "^1.1.4" 2240 | es-abstract "^1.20.4" 2241 | 2242 | once@^1.3.0: 2243 | version "1.4.0" 2244 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2245 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 2246 | dependencies: 2247 | wrappy "1" 2248 | 2249 | open@^8.4.0: 2250 | version "8.4.2" 2251 | resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" 2252 | integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== 2253 | dependencies: 2254 | define-lazy-prop "^2.0.0" 2255 | is-docker "^2.1.1" 2256 | is-wsl "^2.2.0" 2257 | 2258 | optionator@^0.9.1: 2259 | version "0.9.1" 2260 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 2261 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 2262 | dependencies: 2263 | deep-is "^0.1.3" 2264 | fast-levenshtein "^2.0.6" 2265 | levn "^0.4.1" 2266 | prelude-ls "^1.2.1" 2267 | type-check "^0.4.0" 2268 | word-wrap "^1.2.3" 2269 | 2270 | p-limit@^3.0.2: 2271 | version "3.1.0" 2272 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 2273 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 2274 | dependencies: 2275 | yocto-queue "^0.1.0" 2276 | 2277 | p-locate@^5.0.0: 2278 | version "5.0.0" 2279 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 2280 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 2281 | dependencies: 2282 | p-limit "^3.0.2" 2283 | 2284 | parent-module@^1.0.0: 2285 | version "1.0.1" 2286 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 2287 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 2288 | dependencies: 2289 | callsites "^3.0.0" 2290 | 2291 | path-exists@^4.0.0: 2292 | version "4.0.0" 2293 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2294 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2295 | 2296 | path-is-absolute@^1.0.0: 2297 | version "1.0.1" 2298 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2299 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 2300 | 2301 | path-key@^3.1.0: 2302 | version "3.1.1" 2303 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2304 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2305 | 2306 | path-parse@^1.0.7: 2307 | version "1.0.7" 2308 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2309 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2310 | 2311 | path-type@^4.0.0: 2312 | version "4.0.0" 2313 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 2314 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 2315 | 2316 | peek-readable@^5.0.0: 2317 | version "5.0.0" 2318 | resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0.tgz#7ead2aff25dc40458c60347ea76cfdfd63efdfec" 2319 | integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A== 2320 | 2321 | picocolors@^1.0.0: 2322 | version "1.0.0" 2323 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 2324 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 2325 | 2326 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 2327 | version "2.3.1" 2328 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2329 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2330 | 2331 | pify@^2.3.0: 2332 | version "2.3.0" 2333 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2334 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== 2335 | 2336 | pirates@^4.0.1: 2337 | version "4.0.5" 2338 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" 2339 | integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== 2340 | 2341 | postcss-import@^15.1.0: 2342 | version "15.1.0" 2343 | resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" 2344 | integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== 2345 | dependencies: 2346 | postcss-value-parser "^4.0.0" 2347 | read-cache "^1.0.0" 2348 | resolve "^1.1.7" 2349 | 2350 | postcss-js@^4.0.0, postcss-js@^4.0.1: 2351 | version "4.0.1" 2352 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" 2353 | integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== 2354 | dependencies: 2355 | camelcase-css "^2.0.1" 2356 | 2357 | postcss-load-config@^4.0.1: 2358 | version "4.0.1" 2359 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd" 2360 | integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== 2361 | dependencies: 2362 | lilconfig "^2.0.5" 2363 | yaml "^2.1.1" 2364 | 2365 | postcss-nested@^6.0.1: 2366 | version "6.0.1" 2367 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" 2368 | integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== 2369 | dependencies: 2370 | postcss-selector-parser "^6.0.11" 2371 | 2372 | postcss-selector-parser@6.0.10: 2373 | version "6.0.10" 2374 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" 2375 | integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== 2376 | dependencies: 2377 | cssesc "^3.0.0" 2378 | util-deprecate "^1.0.2" 2379 | 2380 | postcss-selector-parser@^6.0.11: 2381 | version "6.0.11" 2382 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" 2383 | integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== 2384 | dependencies: 2385 | cssesc "^3.0.0" 2386 | util-deprecate "^1.0.2" 2387 | 2388 | postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: 2389 | version "4.2.0" 2390 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 2391 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 2392 | 2393 | postcss@8.4.14: 2394 | version "8.4.14" 2395 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" 2396 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== 2397 | dependencies: 2398 | nanoid "^3.3.4" 2399 | picocolors "^1.0.0" 2400 | source-map-js "^1.0.2" 2401 | 2402 | postcss@^8.4.14, postcss@^8.4.23: 2403 | version "8.4.23" 2404 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.23.tgz#df0aee9ac7c5e53e1075c24a3613496f9e6552ab" 2405 | integrity sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA== 2406 | dependencies: 2407 | nanoid "^3.3.6" 2408 | picocolors "^1.0.0" 2409 | source-map-js "^1.0.2" 2410 | 2411 | prelude-ls@^1.2.1: 2412 | version "1.2.1" 2413 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 2414 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 2415 | 2416 | prettier-plugin-tailwindcss@^0.2.1: 2417 | version "0.2.7" 2418 | resolved "https://registry.yarnpkg.com/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.7.tgz#2314d728cce9c9699ced41a01253eb48b4218da5" 2419 | integrity sha512-jQopIOgjLpX+y8HeD56XZw7onupRTC0cw7eKKUimI7vhjkPF5/1ltW5LyqaPtSyc8HvEpvNZsvvsGFa2qpa59w== 2420 | 2421 | prettier@^2.8.1: 2422 | version "2.8.8" 2423 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" 2424 | integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== 2425 | 2426 | prisma@^4.9.0: 2427 | version "4.13.0" 2428 | resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.13.0.tgz#0b83f40acf50cd47d7463a135c4e9b275713e602" 2429 | integrity sha512-L9mqjnSmvWIRCYJ9mQkwCtj4+JDYYTdhoyo8hlsHNDXaZLh/b4hR0IoKIBbTKxZuyHQzLopb/+0Rvb69uGV7uA== 2430 | dependencies: 2431 | "@prisma/engines" "4.13.0" 2432 | 2433 | prop-types@^15.8.1: 2434 | version "15.8.1" 2435 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" 2436 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== 2437 | dependencies: 2438 | loose-envify "^1.4.0" 2439 | object-assign "^4.1.1" 2440 | react-is "^16.13.1" 2441 | 2442 | proxy-from-env@^1.1.0: 2443 | version "1.1.0" 2444 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" 2445 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== 2446 | 2447 | punycode@^2.1.0: 2448 | version "2.3.0" 2449 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" 2450 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== 2451 | 2452 | queue-microtask@^1.2.2: 2453 | version "1.2.3" 2454 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 2455 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 2456 | 2457 | react-dom@18.2.0: 2458 | version "18.2.0" 2459 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" 2460 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== 2461 | dependencies: 2462 | loose-envify "^1.1.0" 2463 | scheduler "^0.23.0" 2464 | 2465 | react-is@^16.13.1: 2466 | version "16.13.1" 2467 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 2468 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 2469 | 2470 | react-ssr-prepass@^1.5.0: 2471 | version "1.5.0" 2472 | resolved "https://registry.yarnpkg.com/react-ssr-prepass/-/react-ssr-prepass-1.5.0.tgz#bc4ca7fcb52365e6aea11cc254a3d1bdcbd030c5" 2473 | integrity sha512-yFNHrlVEReVYKsLI5lF05tZoHveA5pGzjFbFJY/3pOqqjGOmMmqx83N4hIjN2n6E1AOa+eQEUxs3CgRnPmT0RQ== 2474 | 2475 | react-turnstile@^1.1.0: 2476 | version "1.1.0" 2477 | resolved "https://registry.yarnpkg.com/react-turnstile/-/react-turnstile-1.1.0.tgz#4b69950f6cff287ecbaf58f1beae35808d54ad16" 2478 | integrity sha512-zHuMcBL8QAeU7JUjRigL+FF/Zat0dbE53Rr1MOtOGhNDYOFXIRNBCktfL5cJszcQJALk+qjOctTJY/I+6lVYvQ== 2479 | 2480 | react@18.2.0: 2481 | version "18.2.0" 2482 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 2483 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 2484 | dependencies: 2485 | loose-envify "^1.1.0" 2486 | 2487 | read-cache@^1.0.0: 2488 | version "1.0.0" 2489 | resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" 2490 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== 2491 | dependencies: 2492 | pify "^2.3.0" 2493 | 2494 | readable-stream@^3.6.0: 2495 | version "3.6.2" 2496 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" 2497 | integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== 2498 | dependencies: 2499 | inherits "^2.0.3" 2500 | string_decoder "^1.1.1" 2501 | util-deprecate "^1.0.1" 2502 | 2503 | readable-web-to-node-stream@^3.0.2: 2504 | version "3.0.2" 2505 | resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" 2506 | integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== 2507 | dependencies: 2508 | readable-stream "^3.6.0" 2509 | 2510 | readdirp@~3.6.0: 2511 | version "3.6.0" 2512 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 2513 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 2514 | dependencies: 2515 | picomatch "^2.2.1" 2516 | 2517 | regenerator-runtime@^0.13.11: 2518 | version "0.13.11" 2519 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" 2520 | integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== 2521 | 2522 | regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0: 2523 | version "1.5.0" 2524 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" 2525 | integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== 2526 | dependencies: 2527 | call-bind "^1.0.2" 2528 | define-properties "^1.2.0" 2529 | functions-have-names "^1.2.3" 2530 | 2531 | resolve-from@^4.0.0: 2532 | version "4.0.0" 2533 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 2534 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 2535 | 2536 | resolve@^1.1.7, resolve@^1.22.1, resolve@^1.22.2: 2537 | version "1.22.2" 2538 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" 2539 | integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== 2540 | dependencies: 2541 | is-core-module "^2.11.0" 2542 | path-parse "^1.0.7" 2543 | supports-preserve-symlinks-flag "^1.0.0" 2544 | 2545 | resolve@^2.0.0-next.4: 2546 | version "2.0.0-next.4" 2547 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" 2548 | integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== 2549 | dependencies: 2550 | is-core-module "^2.9.0" 2551 | path-parse "^1.0.7" 2552 | supports-preserve-symlinks-flag "^1.0.0" 2553 | 2554 | reusify@^1.0.4: 2555 | version "1.0.4" 2556 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 2557 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 2558 | 2559 | rimraf@^3.0.2: 2560 | version "3.0.2" 2561 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2562 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2563 | dependencies: 2564 | glob "^7.1.3" 2565 | 2566 | run-parallel@^1.1.9: 2567 | version "1.2.0" 2568 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 2569 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 2570 | dependencies: 2571 | queue-microtask "^1.2.2" 2572 | 2573 | safe-buffer@~5.2.0: 2574 | version "5.2.1" 2575 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 2576 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 2577 | 2578 | safe-regex-test@^1.0.0: 2579 | version "1.0.0" 2580 | resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" 2581 | integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== 2582 | dependencies: 2583 | call-bind "^1.0.2" 2584 | get-intrinsic "^1.1.3" 2585 | is-regex "^1.1.4" 2586 | 2587 | scheduler@^0.23.0: 2588 | version "0.23.0" 2589 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" 2590 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 2591 | dependencies: 2592 | loose-envify "^1.1.0" 2593 | 2594 | semver@^6.3.0: 2595 | version "6.3.0" 2596 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2597 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 2598 | 2599 | semver@^7.3.7: 2600 | version "7.5.0" 2601 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" 2602 | integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== 2603 | dependencies: 2604 | lru-cache "^6.0.0" 2605 | 2606 | sha3@^2.1.4: 2607 | version "2.1.4" 2608 | resolved "https://registry.yarnpkg.com/sha3/-/sha3-2.1.4.tgz#000fac0fe7c2feac1f48a25e7a31b52a6492cc8f" 2609 | integrity sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg== 2610 | dependencies: 2611 | buffer "6.0.3" 2612 | 2613 | shebang-command@^2.0.0: 2614 | version "2.0.0" 2615 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2616 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2617 | dependencies: 2618 | shebang-regex "^3.0.0" 2619 | 2620 | shebang-regex@^3.0.0: 2621 | version "3.0.0" 2622 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2623 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2624 | 2625 | side-channel@^1.0.4: 2626 | version "1.0.4" 2627 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 2628 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 2629 | dependencies: 2630 | call-bind "^1.0.0" 2631 | get-intrinsic "^1.0.2" 2632 | object-inspect "^1.9.0" 2633 | 2634 | simple-swizzle@^0.2.2: 2635 | version "0.2.2" 2636 | resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" 2637 | integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== 2638 | dependencies: 2639 | is-arrayish "^0.3.1" 2640 | 2641 | slash@^3.0.0: 2642 | version "3.0.0" 2643 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2644 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2645 | 2646 | slash@^4.0.0: 2647 | version "4.0.0" 2648 | resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" 2649 | integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== 2650 | 2651 | source-map-js@^1.0.2: 2652 | version "1.0.2" 2653 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 2654 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 2655 | 2656 | stop-iteration-iterator@^1.0.0: 2657 | version "1.0.0" 2658 | resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" 2659 | integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== 2660 | dependencies: 2661 | internal-slot "^1.0.4" 2662 | 2663 | streamsearch@^1.1.0: 2664 | version "1.1.0" 2665 | resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" 2666 | integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== 2667 | 2668 | string.prototype.matchall@^4.0.8: 2669 | version "4.0.8" 2670 | resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" 2671 | integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== 2672 | dependencies: 2673 | call-bind "^1.0.2" 2674 | define-properties "^1.1.4" 2675 | es-abstract "^1.20.4" 2676 | get-intrinsic "^1.1.3" 2677 | has-symbols "^1.0.3" 2678 | internal-slot "^1.0.3" 2679 | regexp.prototype.flags "^1.4.3" 2680 | side-channel "^1.0.4" 2681 | 2682 | string.prototype.trim@^1.2.7: 2683 | version "1.2.7" 2684 | resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" 2685 | integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== 2686 | dependencies: 2687 | call-bind "^1.0.2" 2688 | define-properties "^1.1.4" 2689 | es-abstract "^1.20.4" 2690 | 2691 | string.prototype.trimend@^1.0.6: 2692 | version "1.0.6" 2693 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" 2694 | integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== 2695 | dependencies: 2696 | call-bind "^1.0.2" 2697 | define-properties "^1.1.4" 2698 | es-abstract "^1.20.4" 2699 | 2700 | string.prototype.trimstart@^1.0.6: 2701 | version "1.0.6" 2702 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" 2703 | integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== 2704 | dependencies: 2705 | call-bind "^1.0.2" 2706 | define-properties "^1.1.4" 2707 | es-abstract "^1.20.4" 2708 | 2709 | string_decoder@^1.1.1: 2710 | version "1.3.0" 2711 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 2712 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 2713 | dependencies: 2714 | safe-buffer "~5.2.0" 2715 | 2716 | strip-ansi@^6.0.1: 2717 | version "6.0.1" 2718 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2719 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2720 | dependencies: 2721 | ansi-regex "^5.0.1" 2722 | 2723 | strip-bom@^3.0.0: 2724 | version "3.0.0" 2725 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 2726 | integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== 2727 | 2728 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 2729 | version "3.1.1" 2730 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 2731 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2732 | 2733 | strtok3@^7.0.0: 2734 | version "7.0.0" 2735 | resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0.tgz#868c428b4ade64a8fd8fee7364256001c1a4cbe5" 2736 | integrity sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ== 2737 | dependencies: 2738 | "@tokenizer/token" "^0.3.0" 2739 | peek-readable "^5.0.0" 2740 | 2741 | styled-jsx@5.1.1: 2742 | version "5.1.1" 2743 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" 2744 | integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== 2745 | dependencies: 2746 | client-only "0.0.1" 2747 | 2748 | sucrase@^3.32.0: 2749 | version "3.32.0" 2750 | resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.32.0.tgz#c4a95e0f1e18b6847127258a75cf360bc568d4a7" 2751 | integrity sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ== 2752 | dependencies: 2753 | "@jridgewell/gen-mapping" "^0.3.2" 2754 | commander "^4.0.0" 2755 | glob "7.1.6" 2756 | lines-and-columns "^1.1.6" 2757 | mz "^2.7.0" 2758 | pirates "^4.0.1" 2759 | ts-interface-checker "^0.1.9" 2760 | 2761 | superjson@1.9.1: 2762 | version "1.9.1" 2763 | resolved "https://registry.yarnpkg.com/superjson/-/superjson-1.9.1.tgz#e23bd2e8cf0f4ade131d6d769754cac7eaa8ab34" 2764 | integrity sha512-oT3HA2nPKlU1+5taFgz/HDy+GEaY+CWEbLzaRJVD4gZ7zMVVC4GDNFdgvAZt6/VuIk6D2R7RtPAiCHwmdzlMmg== 2765 | dependencies: 2766 | copy-anything "^3.0.2" 2767 | 2768 | supports-color@^7.1.0: 2769 | version "7.2.0" 2770 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2771 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2772 | dependencies: 2773 | has-flag "^4.0.0" 2774 | 2775 | supports-preserve-symlinks-flag@^1.0.0: 2776 | version "1.0.0" 2777 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2778 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2779 | 2780 | synckit@^0.8.5: 2781 | version "0.8.5" 2782 | resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.5.tgz#b7f4358f9bb559437f9f167eb6bc46b3c9818fa3" 2783 | integrity sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q== 2784 | dependencies: 2785 | "@pkgr/utils" "^2.3.1" 2786 | tslib "^2.5.0" 2787 | 2788 | tailwindcss@^3, tailwindcss@^3.2.0: 2789 | version "3.3.2" 2790 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.2.tgz#2f9e35d715fdf0bbf674d90147a0684d7054a2d3" 2791 | integrity sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w== 2792 | dependencies: 2793 | "@alloc/quick-lru" "^5.2.0" 2794 | arg "^5.0.2" 2795 | chokidar "^3.5.3" 2796 | didyoumean "^1.2.2" 2797 | dlv "^1.1.3" 2798 | fast-glob "^3.2.12" 2799 | glob-parent "^6.0.2" 2800 | is-glob "^4.0.3" 2801 | jiti "^1.18.2" 2802 | lilconfig "^2.1.0" 2803 | micromatch "^4.0.5" 2804 | normalize-path "^3.0.0" 2805 | object-hash "^3.0.0" 2806 | picocolors "^1.0.0" 2807 | postcss "^8.4.23" 2808 | postcss-import "^15.1.0" 2809 | postcss-js "^4.0.1" 2810 | postcss-load-config "^4.0.1" 2811 | postcss-nested "^6.0.1" 2812 | postcss-selector-parser "^6.0.11" 2813 | postcss-value-parser "^4.2.0" 2814 | resolve "^1.22.2" 2815 | sucrase "^3.32.0" 2816 | 2817 | tapable@^2.2.0: 2818 | version "2.2.1" 2819 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" 2820 | integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== 2821 | 2822 | text-table@^0.2.0: 2823 | version "0.2.0" 2824 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2825 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 2826 | 2827 | thenify-all@^1.0.0: 2828 | version "1.6.0" 2829 | resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" 2830 | integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== 2831 | dependencies: 2832 | thenify ">= 3.1.0 < 4" 2833 | 2834 | "thenify@>= 3.1.0 < 4": 2835 | version "3.3.1" 2836 | resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" 2837 | integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== 2838 | dependencies: 2839 | any-promise "^1.0.0" 2840 | 2841 | tiny-glob@^0.2.9: 2842 | version "0.2.9" 2843 | resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" 2844 | integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== 2845 | dependencies: 2846 | globalyzer "0.1.0" 2847 | globrex "^0.1.2" 2848 | 2849 | to-regex-range@^5.0.1: 2850 | version "5.0.1" 2851 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2852 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2853 | dependencies: 2854 | is-number "^7.0.0" 2855 | 2856 | token-types@^5.0.1: 2857 | version "5.0.1" 2858 | resolved "https://registry.yarnpkg.com/token-types/-/token-types-5.0.1.tgz#aa9d9e6b23c420a675e55413b180635b86a093b4" 2859 | integrity sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg== 2860 | dependencies: 2861 | "@tokenizer/token" "^0.3.0" 2862 | ieee754 "^1.2.1" 2863 | 2864 | ts-interface-checker@^0.1.9: 2865 | version "0.1.13" 2866 | resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" 2867 | integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== 2868 | 2869 | ts-mixer@^6.0.3: 2870 | version "6.0.3" 2871 | resolved "https://registry.yarnpkg.com/ts-mixer/-/ts-mixer-6.0.3.tgz#69bd50f406ff39daa369885b16c77a6194c7cae6" 2872 | integrity sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ== 2873 | 2874 | ts-node@^10.9.1: 2875 | version "10.9.1" 2876 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" 2877 | integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== 2878 | dependencies: 2879 | "@cspotcode/source-map-support" "^0.8.0" 2880 | "@tsconfig/node10" "^1.0.7" 2881 | "@tsconfig/node12" "^1.0.7" 2882 | "@tsconfig/node14" "^1.0.0" 2883 | "@tsconfig/node16" "^1.0.2" 2884 | acorn "^8.4.1" 2885 | acorn-walk "^8.1.1" 2886 | arg "^4.1.0" 2887 | create-require "^1.1.0" 2888 | diff "^4.0.1" 2889 | make-error "^1.1.1" 2890 | v8-compile-cache-lib "^3.0.1" 2891 | yn "3.1.1" 2892 | 2893 | tsconfig-paths@^3.14.1: 2894 | version "3.14.2" 2895 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" 2896 | integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== 2897 | dependencies: 2898 | "@types/json5" "^0.0.29" 2899 | json5 "^1.0.2" 2900 | minimist "^1.2.6" 2901 | strip-bom "^3.0.0" 2902 | 2903 | tslib@^1.8.1: 2904 | version "1.14.1" 2905 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 2906 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 2907 | 2908 | tslib@^2.4.0, tslib@^2.5.0: 2909 | version "2.5.0" 2910 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" 2911 | integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== 2912 | 2913 | tsutils@^3.21.0: 2914 | version "3.21.0" 2915 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 2916 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 2917 | dependencies: 2918 | tslib "^1.8.1" 2919 | 2920 | tweetnacl@^1.0.3: 2921 | version "1.0.3" 2922 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" 2923 | integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== 2924 | 2925 | type-check@^0.4.0, type-check@~0.4.0: 2926 | version "0.4.0" 2927 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 2928 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 2929 | dependencies: 2930 | prelude-ls "^1.2.1" 2931 | 2932 | type-fest@^0.20.2: 2933 | version "0.20.2" 2934 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 2935 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 2936 | 2937 | typed-array-length@^1.0.4: 2938 | version "1.0.4" 2939 | resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" 2940 | integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== 2941 | dependencies: 2942 | call-bind "^1.0.2" 2943 | for-each "^0.3.3" 2944 | is-typed-array "^1.1.9" 2945 | 2946 | typescript@^4.9.4, typescript@^4.9.5: 2947 | version "4.9.5" 2948 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" 2949 | integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== 2950 | 2951 | unbox-primitive@^1.0.2: 2952 | version "1.0.2" 2953 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" 2954 | integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== 2955 | dependencies: 2956 | call-bind "^1.0.2" 2957 | has-bigints "^1.0.2" 2958 | has-symbols "^1.0.3" 2959 | which-boxed-primitive "^1.0.2" 2960 | 2961 | undici@^5.21.0: 2962 | version "5.22.0" 2963 | resolved "https://registry.yarnpkg.com/undici/-/undici-5.22.0.tgz#5e205d82a5aecc003fc4388ccd3d2c6e8674a0ad" 2964 | integrity sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA== 2965 | dependencies: 2966 | busboy "^1.6.0" 2967 | 2968 | update-browserslist-db@^1.0.10: 2969 | version "1.0.11" 2970 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" 2971 | integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== 2972 | dependencies: 2973 | escalade "^3.1.1" 2974 | picocolors "^1.0.0" 2975 | 2976 | uri-js@^4.2.2: 2977 | version "4.4.1" 2978 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 2979 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 2980 | dependencies: 2981 | punycode "^2.1.0" 2982 | 2983 | use-sync-external-store@^1.2.0: 2984 | version "1.2.0" 2985 | resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" 2986 | integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== 2987 | 2988 | util-deprecate@^1.0.1, util-deprecate@^1.0.2: 2989 | version "1.0.2" 2990 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2991 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 2992 | 2993 | v8-compile-cache-lib@^3.0.1: 2994 | version "3.0.1" 2995 | resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" 2996 | integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== 2997 | 2998 | which-boxed-primitive@^1.0.2: 2999 | version "1.0.2" 3000 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 3001 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 3002 | dependencies: 3003 | is-bigint "^1.0.1" 3004 | is-boolean-object "^1.1.0" 3005 | is-number-object "^1.0.4" 3006 | is-string "^1.0.5" 3007 | is-symbol "^1.0.3" 3008 | 3009 | which-collection@^1.0.1: 3010 | version "1.0.1" 3011 | resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" 3012 | integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== 3013 | dependencies: 3014 | is-map "^2.0.1" 3015 | is-set "^2.0.1" 3016 | is-weakmap "^2.0.1" 3017 | is-weakset "^2.0.1" 3018 | 3019 | which-typed-array@^1.1.9: 3020 | version "1.1.9" 3021 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" 3022 | integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== 3023 | dependencies: 3024 | available-typed-arrays "^1.0.5" 3025 | call-bind "^1.0.2" 3026 | for-each "^0.3.3" 3027 | gopd "^1.0.1" 3028 | has-tostringtag "^1.0.0" 3029 | is-typed-array "^1.1.10" 3030 | 3031 | which@^2.0.1: 3032 | version "2.0.2" 3033 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 3034 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 3035 | dependencies: 3036 | isexe "^2.0.0" 3037 | 3038 | word-wrap@^1.2.3: 3039 | version "1.2.3" 3040 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 3041 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 3042 | 3043 | wrappy@1: 3044 | version "1.0.2" 3045 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3046 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 3047 | 3048 | yallist@^4.0.0: 3049 | version "4.0.0" 3050 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 3051 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 3052 | 3053 | yaml@^2.1.1: 3054 | version "2.2.2" 3055 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.2.tgz#ec551ef37326e6d42872dad1970300f8eb83a073" 3056 | integrity sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA== 3057 | 3058 | yn@3.1.1: 3059 | version "3.1.1" 3060 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 3061 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 3062 | 3063 | yocto-queue@^0.1.0: 3064 | version "0.1.0" 3065 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 3066 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 3067 | 3068 | zod@^3.20.2: 3069 | version "3.21.4" 3070 | resolved "https://registry.yarnpkg.com/zod/-/zod-3.21.4.tgz#10882231d992519f0a10b5dd58a38c9dabbb64db" 3071 | integrity sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw== 3072 | --------------------------------------------------------------------------------