├── .github └── FUNDING.yml ├── .gitignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── eslint.config.mjs ├── example ├── index.html └── index2.html ├── package.json ├── pnpm-lock.yaml ├── rollup.config.js ├── scripts └── fetch.ts ├── src ├── constants.ts ├── functionNames.ts ├── optionNames.ts └── p5i.ts └── tsconfig.json /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: antfu 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### Node template 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # Runtime data 11 | pids 12 | *.pid 13 | *.seed 14 | *.pid.lock 15 | 16 | # Directory for instrumented libs generated by jscoverage/JSCover 17 | lib-cov 18 | 19 | # Coverage directory used by tools like istanbul 20 | coverage 21 | 22 | # nyc test coverage 23 | .nyc_output 24 | 25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 26 | .grunt 27 | 28 | # Bower dependency directory (https://bower.io/) 29 | bower_components 30 | 31 | # node-waf configuration 32 | .lock-wscript 33 | 34 | # Compiled binary addons (https://nodejs.org/api/addons.html) 35 | build/Release 36 | 37 | # Dependency directories 38 | node_modules/ 39 | jspm_packages/ 40 | 41 | # TypeScript v1 declaration files 42 | typings/ 43 | 44 | # Optional npm cache directory 45 | .npm 46 | 47 | # Optional eslint cache 48 | .eslintcache 49 | 50 | # Optional REPL history 51 | .node_repl_history 52 | 53 | # Output of 'npm pack' 54 | *.tgz 55 | 56 | # Yarn Integrity file 57 | .yarn-integrity 58 | 59 | # dotenv environment variables file 60 | .env 61 | 62 | # parcel-bundler cache (https://parceljs.org/) 63 | .cache 64 | 65 | # next.js build output 66 | .next 67 | 68 | # nuxt.js build output 69 | .nuxt 70 | 71 | # Nuxt generate 72 | dist 73 | 74 | # vuepress build output 75 | .vuepress/dist 76 | 77 | # Serverless directories 78 | .serverless 79 | 80 | # IDE 81 | .idea 82 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | // Enable the ESlint flat config support 3 | // (remove this if your ESLint extension above v3.0.5) 4 | "eslint.experimental.useFlatConfig": true, 5 | 6 | // Disable the default formatter, use eslint instead 7 | "prettier.enable": false, 8 | "editor.formatOnSave": false, 9 | 10 | // Auto fix 11 | "editor.codeActionsOnSave": { 12 | "source.fixAll.eslint": "explicit", 13 | "source.organizeImports": "never" 14 | }, 15 | 16 | // Silent the stylistic rules in you IDE, but still auto fix them 17 | "eslint.rules.customizations": [ 18 | { "rule": "style/*", "severity": "off" }, 19 | { "rule": "format/*", "severity": "off" }, 20 | { "rule": "*-indent", "severity": "off" }, 21 | { "rule": "*-spacing", "severity": "off" }, 22 | { "rule": "*-spaces", "severity": "off" }, 23 | { "rule": "*-order", "severity": "off" }, 24 | { "rule": "*-dangle", "severity": "off" }, 25 | { "rule": "*-newline", "severity": "off" }, 26 | { "rule": "*quotes", "severity": "off" }, 27 | { "rule": "*semi", "severity": "off" } 28 | ], 29 | 30 | // Enable eslint for all supported languages 31 | "eslint.validate": [ 32 | "javascript", 33 | "javascriptreact", 34 | "typescript", 35 | "typescriptreact", 36 | "vue", 37 | "html", 38 | "markdown", 39 | "json", 40 | "jsonc", 41 | "yaml", 42 | "toml", 43 | "gql", 44 | "graphql", 45 | "astro" 46 | ] 47 | } 48 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Anthony Fu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # p5i 2 | 3 | [p5.js](http://p5js.org/), but with more friendly [instance mode](https://p5js.org/examples/instance-mode-instantiation.html) APIs 4 | 5 | - ES6 Destructurable 6 | - Declare first, initialize / reuse later 7 | - Cleaner setup 8 | - TypeScript type definitions 9 | - Accessing instance context on `setup` and `draw` 10 | - Flexible ways to defining your sketches 11 | 12 | ## Motivation 13 | 14 | [p5.js](http://p5js.org/) in [global mode](https://github.com/processing/p5.js/wiki/Global-and-instance-mode) is simple, consice and easy-to-use. However, injecting to the global window makes it less flexible in the modern web environment which you may have multiple pages and components with their own lifecycles, that's the reason we have the [instance mode](https://p5js.org/examples/instance-mode-instantiation.html). Unfortunately, it isn't prefect, in the instance mode, you have to prefix every single function with `xxx.`, make it a bit verbose and misaligned with the global mode. 15 | 16 | ```ts 17 | new P5((sketch) => { 18 | sketch.setup = () => { 19 | sketch.createCanvas(720, 400) 20 | sketch.frameRate(30) 21 | } 22 | 23 | sketch.draw = () => { 24 | sketch.background(0) 25 | sketch.stroke(255) 26 | } 27 | }, document.getElementById('canvas')) 28 | ``` 29 | 30 | To get rid of it, you may think of destructuring, but it won't work 31 | 32 | ```ts 33 | new P5((sketch) => { 34 | // NO! you can't! 35 | const { frameRate, createCanvas } = sketch 36 | 37 | sketch.setup = () => { 38 | // `this` gets lost 39 | createCanvas(200, 200) 40 | } 41 | }) 42 | ``` 43 | 44 | **p5i** is a wrapper for p5.js to make the API more flexible and friendly to the modern world. It makes the functions in p5 independent from the `this` context and being destructurable. This makes the instance mode more like the global mode while keeps the ability to be isolated and reuseable. See the following example and the type definitions for more details. 45 | 46 | ## Install 47 | 48 | ```bash 49 | npm i p5i 50 | ``` 51 | 52 | CDN 53 | 54 | ```html 55 | 56 | ``` 57 | 58 | Functions will be exposed to the global variable `P5I`. 59 | 60 | ## Usage 61 | 62 |
63 | Before 64 |
65 | 66 | ```js 67 | import P5 from 'p5' 68 | 69 | const myp5 = new P5((sketch) => { 70 | let y = 100 71 | 72 | sketch.setup = () => { 73 | sketch.createCanvas(720, 400) 74 | sketch.stroke(255) 75 | sketch.frameRate(30) 76 | } 77 | 78 | sketch.draw = () => { 79 | sketch.background(0) 80 | y = y - 1 81 | if (y < 0) 82 | y = sketch.height 83 | 84 | sketch.line(0, y, sketch.width, y) 85 | } 86 | }, document.getElementById('canvas')) 87 | ``` 88 | 89 |
90 | 91 | After 92 | 93 | ```ts 94 | import { p5i } from 'p5i' 95 | 96 | let y = 100 97 | 98 | function setup({ createCanvas, stroke, frameRate }) { 99 | createCanvas(720, 400) 100 | stroke(255) 101 | frameRate(30) 102 | } 103 | 104 | function draw({ background, line, height, width }) { 105 | background(0) 106 | y = y - 1 107 | if (y < 0) 108 | y = height 109 | 110 | line(0, y, width, y) 111 | } 112 | 113 | p5i({ setup, draw }, document.getElementById('canvas')) 114 | ``` 115 | 116 | Or 117 | 118 | ```ts 119 | import { P5I, p5i } from 'p5i' 120 | 121 | const { mount, createCanvas, stroke, frameRate, background, line } = p5i() 122 | 123 | let y = 100 124 | 125 | function setup() { 126 | createCanvas(720, 400) 127 | stroke(255) 128 | frameRate(30) 129 | } 130 | 131 | // with TypeScript 132 | function draw({ height, width }: P5I) { 133 | background(0) 134 | y = y - 1 135 | if (y < 0) 136 | y = height 137 | 138 | line(0, y, width, y) 139 | } 140 | 141 | mount(document.getElementById('canvas'), { setup, draw }) 142 | ``` 143 | 144 | Or 145 | 146 | ```js 147 | import { p5i } from 'p5i' 148 | 149 | const sketch = p5i(() => { 150 | let y = 100 151 | 152 | return { 153 | setup({ createCanvas, stroke, frameRate }) { 154 | createCanvas(720, 400) 155 | stroke(255) 156 | frameRate(30) 157 | }, 158 | draw({ background, height, width, line }) { 159 | background(0) 160 | y = y - 1 161 | if (y < 0) 162 | y = height 163 | 164 | line(0, y, width, y) 165 | } 166 | } 167 | }) 168 | 169 | // you can mount it later 170 | sketch.mount(document.getElementById('canvas')) 171 | ``` 172 | 173 |
174 | Or if you are fine with non-strict JavaScript 175 |
176 | 177 | The [`with` keyword](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with): 178 | 179 | 180 | 181 | ```js 182 | p5i((sketch) => { 183 | let y = 100 184 | 185 | with (sketch) { 186 | function setup() { 187 | createCanvas(720, 400) 188 | stroke(255) 189 | frameRate(30) 190 | } 191 | 192 | function draw() { 193 | background(0) 194 | y = y - 1 195 | if (y < 0) 196 | y = height 197 | 198 | line(0, y, width, y) 199 | } 200 | 201 | return { setup, draw } 202 | } 203 | }, document.getElementById('canvas')) 204 | ``` 205 | 206 |
207 | 208 | ## Sponsors 209 | 210 | This project is part of my Sponsor Program 211 | 212 |

213 | 214 | 215 | 216 |

217 | 218 | ## License 219 | 220 | MIT 221 | -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import antfu from '@antfu/eslint-config' 2 | 3 | export default antfu({ 4 | ignores: [ 5 | 'src/constants.ts', 6 | ], 7 | }) 8 | .removeRules( 9 | 'ts/ban-ts-comment', 10 | 'no-new', 11 | ) 12 | -------------------------------------------------------------------------------- /example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | p5i demo 6 | 7 | 8 | 9 |
10 | 11 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /example/index2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | p5i demo 6 | 7 | 8 | 9 |
10 | 11 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "p5i", 3 | "type": "module", 4 | "version": "0.6.0", 5 | "packageManager": "pnpm@9.15.1", 6 | "description": "p5.js, but with more friendly instance mode APIs", 7 | "author": "Anthony Fu ", 8 | "license": "MIT", 9 | "funding": "https://github.com/sponsors/antfu", 10 | "homepage": "https://github.com/antfu/p5i#readme", 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/antfu/p5i.git" 14 | }, 15 | "bugs": { 16 | "url": "https://github.com/antfu/p5i/issues" 17 | }, 18 | "sideEffects": false, 19 | "exports": { 20 | ".": { 21 | "types": "./dist/p5i.d.ts", 22 | "import": "./dist/p5i.mjs" 23 | } 24 | }, 25 | "main": "dist/p5i.mjs", 26 | "module": "dist/p5i.mjs", 27 | "unpkg": "dist/p5i.browser.js", 28 | "jsdelivr": "dist/p5i.browser.js", 29 | "types": "dist/p5i.d.ts", 30 | "files": [ 31 | "dist" 32 | ], 33 | "scripts": { 34 | "prepublishOnly": "npm run build", 35 | "fetch": "esno scripts/fetch.ts", 36 | "watch": "npm run build -- --watch", 37 | "lint": "eslint .", 38 | "build": "rollup -c", 39 | "release": "bumpp && pnpm publish" 40 | }, 41 | "devDependencies": { 42 | "@antfu/eslint-config": "^3.12.1", 43 | "@rollup/plugin-commonjs": "^28.0.2", 44 | "@rollup/plugin-node-resolve": "^16.0.0", 45 | "@types/node": "^22.10.2", 46 | "@types/p5": "^1.7.6", 47 | "axios": "^1.7.9", 48 | "bumpp": "^9.9.2", 49 | "eslint": "^9.17.0", 50 | "esno": "^4.8.0", 51 | "jsdom": "^25.0.1", 52 | "p5": "^1.11.2", 53 | "rollup": "^4.29.1", 54 | "rollup-plugin-dts": "^6.1.1", 55 | "rollup-plugin-typescript2": "^0.36.0", 56 | "typescript": "^5.7.2" 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | devDependencies: 11 | '@antfu/eslint-config': 12 | specifier: ^3.12.1 13 | version: 3.12.1(@typescript-eslint/utils@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(@vue/compiler-sfc@3.4.27)(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 14 | '@rollup/plugin-commonjs': 15 | specifier: ^28.0.2 16 | version: 28.0.2(rollup@4.29.1) 17 | '@rollup/plugin-node-resolve': 18 | specifier: ^16.0.0 19 | version: 16.0.0(rollup@4.29.1) 20 | '@types/node': 21 | specifier: ^22.10.2 22 | version: 22.10.2 23 | '@types/p5': 24 | specifier: ^1.7.6 25 | version: 1.7.6 26 | axios: 27 | specifier: ^1.7.9 28 | version: 1.7.9 29 | bumpp: 30 | specifier: ^9.9.2 31 | version: 9.9.2 32 | eslint: 33 | specifier: ^9.17.0 34 | version: 9.17.0(jiti@2.4.2) 35 | esno: 36 | specifier: ^4.8.0 37 | version: 4.8.0 38 | jsdom: 39 | specifier: ^25.0.1 40 | version: 25.0.1 41 | p5: 42 | specifier: ^1.11.2 43 | version: 1.11.2 44 | rollup: 45 | specifier: ^4.29.1 46 | version: 4.29.1 47 | rollup-plugin-dts: 48 | specifier: ^6.1.1 49 | version: 6.1.1(rollup@4.29.1)(typescript@5.7.2) 50 | rollup-plugin-typescript2: 51 | specifier: ^0.36.0 52 | version: 0.36.0(rollup@4.29.1)(typescript@5.7.2) 53 | typescript: 54 | specifier: ^5.7.2 55 | version: 5.7.2 56 | 57 | packages: 58 | 59 | '@antfu/eslint-config@3.12.1': 60 | resolution: {integrity: sha512-6sRgO4u63GK75xeZ2MfCSRT9GcfLti4ZN3Xw+bIu39oo6HY50fBY+rXnWvgwNimzHBOh3yV5xUHfTqcHq1M5AA==} 61 | hasBin: true 62 | peerDependencies: 63 | '@eslint-react/eslint-plugin': ^1.19.0 64 | '@prettier/plugin-xml': ^3.4.1 65 | '@unocss/eslint-plugin': '>=0.50.0' 66 | astro-eslint-parser: ^1.0.2 67 | eslint: ^9.10.0 68 | eslint-plugin-astro: ^1.2.0 69 | eslint-plugin-format: '>=0.1.0' 70 | eslint-plugin-react-hooks: ^5.0.0 71 | eslint-plugin-react-refresh: ^0.4.4 72 | eslint-plugin-solid: ^0.14.3 73 | eslint-plugin-svelte: '>=2.35.1' 74 | prettier-plugin-astro: ^0.14.0 75 | prettier-plugin-slidev: ^1.0.5 76 | svelte-eslint-parser: '>=0.37.0' 77 | peerDependenciesMeta: 78 | '@eslint-react/eslint-plugin': 79 | optional: true 80 | '@prettier/plugin-xml': 81 | optional: true 82 | '@unocss/eslint-plugin': 83 | optional: true 84 | astro-eslint-parser: 85 | optional: true 86 | eslint-plugin-astro: 87 | optional: true 88 | eslint-plugin-format: 89 | optional: true 90 | eslint-plugin-react-hooks: 91 | optional: true 92 | eslint-plugin-react-refresh: 93 | optional: true 94 | eslint-plugin-solid: 95 | optional: true 96 | eslint-plugin-svelte: 97 | optional: true 98 | prettier-plugin-astro: 99 | optional: true 100 | prettier-plugin-slidev: 101 | optional: true 102 | svelte-eslint-parser: 103 | optional: true 104 | 105 | '@antfu/install-pkg@0.5.0': 106 | resolution: {integrity: sha512-dKnk2xlAyC7rvTkpkHmu+Qy/2Zc3Vm/l8PtNyIOGDBtXPY3kThfU4ORNEp3V7SXw5XSOb+tOJaUYpfquPzL/Tg==} 107 | 108 | '@antfu/utils@0.7.10': 109 | resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} 110 | 111 | '@babel/code-frame@7.24.2': 112 | resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} 113 | engines: {node: '>=6.9.0'} 114 | 115 | '@babel/helper-string-parser@7.24.1': 116 | resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} 117 | engines: {node: '>=6.9.0'} 118 | 119 | '@babel/helper-validator-identifier@7.25.9': 120 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 121 | engines: {node: '>=6.9.0'} 122 | 123 | '@babel/highlight@7.24.5': 124 | resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} 125 | engines: {node: '>=6.9.0'} 126 | 127 | '@babel/parser@7.24.5': 128 | resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} 129 | engines: {node: '>=6.0.0'} 130 | hasBin: true 131 | 132 | '@babel/types@7.24.5': 133 | resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} 134 | engines: {node: '>=6.9.0'} 135 | 136 | '@clack/core@0.4.0': 137 | resolution: {integrity: sha512-YJCYBsyJfNDaTbvDUVSJ3SgSuPrcujarRgkJ5NLjexDZKvaOiVVJvAQYx8lIgG0qRT8ff0fPgqyBCVivanIZ+A==} 138 | 139 | '@clack/prompts@0.9.0': 140 | resolution: {integrity: sha512-nGsytiExgUr4FL0pR/LeqxA28nz3E0cW7eLTSh3Iod9TGrbBt8Y7BHbV3mmkNC4G0evdYyQ3ZsbiBkk7ektArA==} 141 | 142 | '@es-joy/jsdoccomment@0.49.0': 143 | resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} 144 | engines: {node: '>=16'} 145 | 146 | '@esbuild/aix-ppc64@0.23.1': 147 | resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} 148 | engines: {node: '>=18'} 149 | cpu: [ppc64] 150 | os: [aix] 151 | 152 | '@esbuild/android-arm64@0.23.1': 153 | resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} 154 | engines: {node: '>=18'} 155 | cpu: [arm64] 156 | os: [android] 157 | 158 | '@esbuild/android-arm@0.23.1': 159 | resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} 160 | engines: {node: '>=18'} 161 | cpu: [arm] 162 | os: [android] 163 | 164 | '@esbuild/android-x64@0.23.1': 165 | resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} 166 | engines: {node: '>=18'} 167 | cpu: [x64] 168 | os: [android] 169 | 170 | '@esbuild/darwin-arm64@0.23.1': 171 | resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} 172 | engines: {node: '>=18'} 173 | cpu: [arm64] 174 | os: [darwin] 175 | 176 | '@esbuild/darwin-x64@0.23.1': 177 | resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} 178 | engines: {node: '>=18'} 179 | cpu: [x64] 180 | os: [darwin] 181 | 182 | '@esbuild/freebsd-arm64@0.23.1': 183 | resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} 184 | engines: {node: '>=18'} 185 | cpu: [arm64] 186 | os: [freebsd] 187 | 188 | '@esbuild/freebsd-x64@0.23.1': 189 | resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} 190 | engines: {node: '>=18'} 191 | cpu: [x64] 192 | os: [freebsd] 193 | 194 | '@esbuild/linux-arm64@0.23.1': 195 | resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} 196 | engines: {node: '>=18'} 197 | cpu: [arm64] 198 | os: [linux] 199 | 200 | '@esbuild/linux-arm@0.23.1': 201 | resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} 202 | engines: {node: '>=18'} 203 | cpu: [arm] 204 | os: [linux] 205 | 206 | '@esbuild/linux-ia32@0.23.1': 207 | resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} 208 | engines: {node: '>=18'} 209 | cpu: [ia32] 210 | os: [linux] 211 | 212 | '@esbuild/linux-loong64@0.23.1': 213 | resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} 214 | engines: {node: '>=18'} 215 | cpu: [loong64] 216 | os: [linux] 217 | 218 | '@esbuild/linux-mips64el@0.23.1': 219 | resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} 220 | engines: {node: '>=18'} 221 | cpu: [mips64el] 222 | os: [linux] 223 | 224 | '@esbuild/linux-ppc64@0.23.1': 225 | resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} 226 | engines: {node: '>=18'} 227 | cpu: [ppc64] 228 | os: [linux] 229 | 230 | '@esbuild/linux-riscv64@0.23.1': 231 | resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} 232 | engines: {node: '>=18'} 233 | cpu: [riscv64] 234 | os: [linux] 235 | 236 | '@esbuild/linux-s390x@0.23.1': 237 | resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} 238 | engines: {node: '>=18'} 239 | cpu: [s390x] 240 | os: [linux] 241 | 242 | '@esbuild/linux-x64@0.23.1': 243 | resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} 244 | engines: {node: '>=18'} 245 | cpu: [x64] 246 | os: [linux] 247 | 248 | '@esbuild/netbsd-x64@0.23.1': 249 | resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} 250 | engines: {node: '>=18'} 251 | cpu: [x64] 252 | os: [netbsd] 253 | 254 | '@esbuild/openbsd-arm64@0.23.1': 255 | resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} 256 | engines: {node: '>=18'} 257 | cpu: [arm64] 258 | os: [openbsd] 259 | 260 | '@esbuild/openbsd-x64@0.23.1': 261 | resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} 262 | engines: {node: '>=18'} 263 | cpu: [x64] 264 | os: [openbsd] 265 | 266 | '@esbuild/sunos-x64@0.23.1': 267 | resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} 268 | engines: {node: '>=18'} 269 | cpu: [x64] 270 | os: [sunos] 271 | 272 | '@esbuild/win32-arm64@0.23.1': 273 | resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} 274 | engines: {node: '>=18'} 275 | cpu: [arm64] 276 | os: [win32] 277 | 278 | '@esbuild/win32-ia32@0.23.1': 279 | resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} 280 | engines: {node: '>=18'} 281 | cpu: [ia32] 282 | os: [win32] 283 | 284 | '@esbuild/win32-x64@0.23.1': 285 | resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} 286 | engines: {node: '>=18'} 287 | cpu: [x64] 288 | os: [win32] 289 | 290 | '@eslint-community/eslint-plugin-eslint-comments@4.4.1': 291 | resolution: {integrity: sha512-lb/Z/MzbTf7CaVYM9WCFNQZ4L1yi3ev2fsFPF99h31ljhSEyUoyEsKsNWiU+qD1glbYTDJdqgyaLKtyTkkqtuQ==} 292 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 293 | peerDependencies: 294 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 295 | 296 | '@eslint-community/eslint-utils@4.4.1': 297 | resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} 298 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 299 | peerDependencies: 300 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 301 | 302 | '@eslint-community/regexpp@4.12.1': 303 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 304 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 305 | 306 | '@eslint/compat@1.2.4': 307 | resolution: {integrity: sha512-S8ZdQj/N69YAtuqFt7653jwcvuUj131+6qGLUyDqfDg1OIoBQ66OCuXC473YQfO2AaxITTutiRQiDwoo7ZLYyg==} 308 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 309 | peerDependencies: 310 | eslint: ^9.10.0 311 | peerDependenciesMeta: 312 | eslint: 313 | optional: true 314 | 315 | '@eslint/config-array@0.19.0': 316 | resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==} 317 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 318 | 319 | '@eslint/core@0.9.0': 320 | resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} 321 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 322 | 323 | '@eslint/eslintrc@3.2.0': 324 | resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} 325 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 326 | 327 | '@eslint/js@9.17.0': 328 | resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} 329 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 330 | 331 | '@eslint/markdown@6.2.1': 332 | resolution: {integrity: sha512-cKVd110hG4ICHmWhIwZJfKmmJBvbiDWyrHODJknAtudKgZtlROGoLX9UEOA0o746zC0hCY4UV4vR+aOGW9S6JQ==} 333 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 334 | 335 | '@eslint/object-schema@2.1.4': 336 | resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} 337 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 338 | 339 | '@eslint/plugin-kit@0.2.3': 340 | resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} 341 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 342 | 343 | '@humanfs/core@0.19.1': 344 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 345 | engines: {node: '>=18.18.0'} 346 | 347 | '@humanfs/node@0.16.6': 348 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 349 | engines: {node: '>=18.18.0'} 350 | 351 | '@humanwhocodes/module-importer@1.0.1': 352 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 353 | engines: {node: '>=12.22'} 354 | 355 | '@humanwhocodes/retry@0.3.1': 356 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 357 | engines: {node: '>=18.18'} 358 | 359 | '@humanwhocodes/retry@0.4.1': 360 | resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} 361 | engines: {node: '>=18.18'} 362 | 363 | '@jridgewell/sourcemap-codec@1.4.15': 364 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 365 | 366 | '@nodelib/fs.scandir@2.1.5': 367 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 368 | engines: {node: '>= 8'} 369 | 370 | '@nodelib/fs.stat@2.0.5': 371 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 372 | engines: {node: '>= 8'} 373 | 374 | '@nodelib/fs.walk@1.2.8': 375 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 376 | engines: {node: '>= 8'} 377 | 378 | '@pkgr/core@0.1.1': 379 | resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} 380 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 381 | 382 | '@rollup/plugin-commonjs@28.0.2': 383 | resolution: {integrity: sha512-BEFI2EDqzl+vA1rl97IDRZ61AIwGH093d9nz8+dThxJNH8oSoB7MjWvPCX3dkaK1/RCJ/1v/R1XB15FuSs0fQw==} 384 | engines: {node: '>=16.0.0 || 14 >= 14.17'} 385 | peerDependencies: 386 | rollup: ^2.68.0||^3.0.0||^4.0.0 387 | peerDependenciesMeta: 388 | rollup: 389 | optional: true 390 | 391 | '@rollup/plugin-node-resolve@16.0.0': 392 | resolution: {integrity: sha512-0FPvAeVUT/zdWoO0jnb/V5BlBsUSNfkIOtFHzMO4H9MOklrmQFY6FduVHKucNb/aTFxvnGhj4MNj/T1oNdDfNg==} 393 | engines: {node: '>=14.0.0'} 394 | peerDependencies: 395 | rollup: ^2.78.0||^3.0.0||^4.0.0 396 | peerDependenciesMeta: 397 | rollup: 398 | optional: true 399 | 400 | '@rollup/pluginutils@4.2.1': 401 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} 402 | engines: {node: '>= 8.0.0'} 403 | 404 | '@rollup/pluginutils@5.1.0': 405 | resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} 406 | engines: {node: '>=14.0.0'} 407 | peerDependencies: 408 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 409 | peerDependenciesMeta: 410 | rollup: 411 | optional: true 412 | 413 | '@rollup/rollup-android-arm-eabi@4.29.1': 414 | resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} 415 | cpu: [arm] 416 | os: [android] 417 | 418 | '@rollup/rollup-android-arm64@4.29.1': 419 | resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} 420 | cpu: [arm64] 421 | os: [android] 422 | 423 | '@rollup/rollup-darwin-arm64@4.29.1': 424 | resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} 425 | cpu: [arm64] 426 | os: [darwin] 427 | 428 | '@rollup/rollup-darwin-x64@4.29.1': 429 | resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} 430 | cpu: [x64] 431 | os: [darwin] 432 | 433 | '@rollup/rollup-freebsd-arm64@4.29.1': 434 | resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} 435 | cpu: [arm64] 436 | os: [freebsd] 437 | 438 | '@rollup/rollup-freebsd-x64@4.29.1': 439 | resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} 440 | cpu: [x64] 441 | os: [freebsd] 442 | 443 | '@rollup/rollup-linux-arm-gnueabihf@4.29.1': 444 | resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} 445 | cpu: [arm] 446 | os: [linux] 447 | 448 | '@rollup/rollup-linux-arm-musleabihf@4.29.1': 449 | resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} 450 | cpu: [arm] 451 | os: [linux] 452 | 453 | '@rollup/rollup-linux-arm64-gnu@4.29.1': 454 | resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} 455 | cpu: [arm64] 456 | os: [linux] 457 | 458 | '@rollup/rollup-linux-arm64-musl@4.29.1': 459 | resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} 460 | cpu: [arm64] 461 | os: [linux] 462 | 463 | '@rollup/rollup-linux-loongarch64-gnu@4.29.1': 464 | resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} 465 | cpu: [loong64] 466 | os: [linux] 467 | 468 | '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': 469 | resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} 470 | cpu: [ppc64] 471 | os: [linux] 472 | 473 | '@rollup/rollup-linux-riscv64-gnu@4.29.1': 474 | resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} 475 | cpu: [riscv64] 476 | os: [linux] 477 | 478 | '@rollup/rollup-linux-s390x-gnu@4.29.1': 479 | resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} 480 | cpu: [s390x] 481 | os: [linux] 482 | 483 | '@rollup/rollup-linux-x64-gnu@4.29.1': 484 | resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} 485 | cpu: [x64] 486 | os: [linux] 487 | 488 | '@rollup/rollup-linux-x64-musl@4.29.1': 489 | resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} 490 | cpu: [x64] 491 | os: [linux] 492 | 493 | '@rollup/rollup-win32-arm64-msvc@4.29.1': 494 | resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} 495 | cpu: [arm64] 496 | os: [win32] 497 | 498 | '@rollup/rollup-win32-ia32-msvc@4.29.1': 499 | resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} 500 | cpu: [ia32] 501 | os: [win32] 502 | 503 | '@rollup/rollup-win32-x64-msvc@4.29.1': 504 | resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} 505 | cpu: [x64] 506 | os: [win32] 507 | 508 | '@stylistic/eslint-plugin@2.12.1': 509 | resolution: {integrity: sha512-fubZKIHSPuo07FgRTn6S4Nl0uXPRPYVNpyZzIDGfp7Fny6JjNus6kReLD7NI380JXi4HtUTSOZ34LBuNPO1XLQ==} 510 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 511 | peerDependencies: 512 | eslint: '>=8.40.0' 513 | 514 | '@types/debug@4.1.12': 515 | resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} 516 | 517 | '@types/doctrine@0.0.9': 518 | resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} 519 | 520 | '@types/estree@1.0.6': 521 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 522 | 523 | '@types/json-schema@7.0.15': 524 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 525 | 526 | '@types/mdast@4.0.4': 527 | resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} 528 | 529 | '@types/ms@0.7.34': 530 | resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} 531 | 532 | '@types/node@22.10.2': 533 | resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} 534 | 535 | '@types/normalize-package-data@2.4.0': 536 | resolution: {integrity: sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==} 537 | 538 | '@types/p5@1.7.6': 539 | resolution: {integrity: sha512-6pLTOo0V3N5jZb5nTwjiv3lPHLK3Z/TjbhQUj8CTWXocUk1Z/f6OHTp3Pcwi1BhWnf5gqKUcyEb1gP0KIJuQgw==} 540 | 541 | '@types/resolve@1.20.2': 542 | resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} 543 | 544 | '@types/unist@3.0.3': 545 | resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} 546 | 547 | '@typescript-eslint/eslint-plugin@8.18.2': 548 | resolution: {integrity: sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg==} 549 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 550 | peerDependencies: 551 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 552 | eslint: ^8.57.0 || ^9.0.0 553 | typescript: '>=4.8.4 <5.8.0' 554 | 555 | '@typescript-eslint/parser@8.18.2': 556 | resolution: {integrity: sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA==} 557 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 558 | peerDependencies: 559 | eslint: ^8.57.0 || ^9.0.0 560 | typescript: '>=4.8.4 <5.8.0' 561 | 562 | '@typescript-eslint/scope-manager@8.18.2': 563 | resolution: {integrity: sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g==} 564 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 565 | 566 | '@typescript-eslint/type-utils@8.18.2': 567 | resolution: {integrity: sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA==} 568 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 569 | peerDependencies: 570 | eslint: ^8.57.0 || ^9.0.0 571 | typescript: '>=4.8.4 <5.8.0' 572 | 573 | '@typescript-eslint/types@8.18.2': 574 | resolution: {integrity: sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ==} 575 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 576 | 577 | '@typescript-eslint/typescript-estree@8.18.2': 578 | resolution: {integrity: sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg==} 579 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 580 | peerDependencies: 581 | typescript: '>=4.8.4 <5.8.0' 582 | 583 | '@typescript-eslint/utils@8.18.2': 584 | resolution: {integrity: sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q==} 585 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 586 | peerDependencies: 587 | eslint: ^8.57.0 || ^9.0.0 588 | typescript: '>=4.8.4 <5.8.0' 589 | 590 | '@typescript-eslint/visitor-keys@8.18.2': 591 | resolution: {integrity: sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw==} 592 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 593 | 594 | '@vitest/eslint-plugin@1.1.20': 595 | resolution: {integrity: sha512-2eLsgUm+GVOpDfNyH2do//MiNO/WZkXrPi+EjDmXEdUt6Jwnziq4H221L8vJE0aJys+l1FRfSkm4QbaIyDCfBg==} 596 | peerDependencies: 597 | '@typescript-eslint/utils': '>= 8.0' 598 | eslint: '>= 8.57.0' 599 | typescript: '>= 5.0.0' 600 | vitest: '*' 601 | peerDependenciesMeta: 602 | typescript: 603 | optional: true 604 | vitest: 605 | optional: true 606 | 607 | '@vue/compiler-core@3.4.27': 608 | resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} 609 | 610 | '@vue/compiler-dom@3.4.27': 611 | resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} 612 | 613 | '@vue/compiler-sfc@3.4.27': 614 | resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} 615 | 616 | '@vue/compiler-ssr@3.4.27': 617 | resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} 618 | 619 | '@vue/shared@3.4.27': 620 | resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} 621 | 622 | acorn-jsx@5.3.2: 623 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 624 | peerDependencies: 625 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 626 | 627 | acorn@8.14.0: 628 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 629 | engines: {node: '>=0.4.0'} 630 | hasBin: true 631 | 632 | agent-base@7.1.1: 633 | resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} 634 | engines: {node: '>= 14'} 635 | 636 | ajv@6.12.6: 637 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 638 | 639 | ansi-regex@5.0.1: 640 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 641 | engines: {node: '>=8'} 642 | 643 | ansi-styles@3.2.1: 644 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 645 | engines: {node: '>=4'} 646 | 647 | ansi-styles@4.3.0: 648 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 649 | engines: {node: '>=8'} 650 | 651 | are-docs-informative@0.0.2: 652 | resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} 653 | engines: {node: '>=14'} 654 | 655 | argparse@2.0.1: 656 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 657 | 658 | asynckit@0.4.0: 659 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 660 | 661 | axios@1.7.9: 662 | resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} 663 | 664 | balanced-match@1.0.0: 665 | resolution: {integrity: sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==} 666 | 667 | boolbase@1.0.0: 668 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 669 | 670 | brace-expansion@1.1.11: 671 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 672 | 673 | brace-expansion@2.0.1: 674 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 675 | 676 | braces@3.0.2: 677 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 678 | engines: {node: '>=8'} 679 | 680 | browserslist@4.24.2: 681 | resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} 682 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 683 | hasBin: true 684 | 685 | builtin-modules@3.3.0: 686 | resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} 687 | engines: {node: '>=6'} 688 | 689 | bumpp@9.9.2: 690 | resolution: {integrity: sha512-ggRxRV1rWHEyWXnf55UqYzGvttS/Vpkl1zxcNdE5xoYMTHlSgRA0Td4nKn3ckCcMuC+MTgaGQrbKBeyr0V9+Hg==} 691 | engines: {node: '>=10'} 692 | hasBin: true 693 | 694 | c12@2.0.1: 695 | resolution: {integrity: sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==} 696 | peerDependencies: 697 | magicast: ^0.3.5 698 | peerDependenciesMeta: 699 | magicast: 700 | optional: true 701 | 702 | cac@6.7.14: 703 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 704 | engines: {node: '>=8'} 705 | 706 | callsites@3.1.0: 707 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 708 | engines: {node: '>=6'} 709 | 710 | caniuse-lite@1.0.30001687: 711 | resolution: {integrity: sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==} 712 | 713 | ccount@2.0.1: 714 | resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} 715 | 716 | chalk@2.4.2: 717 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 718 | engines: {node: '>=4'} 719 | 720 | chalk@4.1.0: 721 | resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} 722 | engines: {node: '>=10'} 723 | 724 | character-entities@2.0.2: 725 | resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} 726 | 727 | chokidar@4.0.3: 728 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 729 | engines: {node: '>= 14.16.0'} 730 | 731 | chownr@2.0.0: 732 | resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} 733 | engines: {node: '>=10'} 734 | 735 | ci-info@4.0.0: 736 | resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} 737 | engines: {node: '>=8'} 738 | 739 | citty@0.1.6: 740 | resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} 741 | 742 | clean-regexp@1.0.0: 743 | resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} 744 | engines: {node: '>=4'} 745 | 746 | cliui@8.0.1: 747 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 748 | engines: {node: '>=12'} 749 | 750 | color-convert@1.9.3: 751 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 752 | 753 | color-convert@2.0.1: 754 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 755 | engines: {node: '>=7.0.0'} 756 | 757 | color-name@1.1.3: 758 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 759 | 760 | color-name@1.1.4: 761 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 762 | 763 | combined-stream@1.0.8: 764 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 765 | engines: {node: '>= 0.8'} 766 | 767 | comment-parser@1.4.1: 768 | resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} 769 | engines: {node: '>= 12.0.0'} 770 | 771 | commondir@1.0.1: 772 | resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 773 | 774 | concat-map@0.0.1: 775 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 776 | 777 | confbox@0.1.8: 778 | resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} 779 | 780 | consola@3.3.1: 781 | resolution: {integrity: sha512-GyKnPG3/I+a4RtJxgHquJXWr70g9I3c4NT3dvqh0LPHQP2nZFQBOBszb7a5u/pGzqr40AKplQA6UxM1BSynSXg==} 782 | engines: {node: ^14.18.0 || >=16.10.0} 783 | 784 | core-js-compat@3.39.0: 785 | resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} 786 | 787 | cross-spawn@7.0.6: 788 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 789 | engines: {node: '>= 8'} 790 | 791 | cssesc@3.0.0: 792 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 793 | engines: {node: '>=4'} 794 | hasBin: true 795 | 796 | cssstyle@4.1.0: 797 | resolution: {integrity: sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==} 798 | engines: {node: '>=18'} 799 | 800 | data-urls@5.0.0: 801 | resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} 802 | engines: {node: '>=18'} 803 | 804 | debug@3.2.7: 805 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 806 | peerDependencies: 807 | supports-color: '*' 808 | peerDependenciesMeta: 809 | supports-color: 810 | optional: true 811 | 812 | debug@4.4.0: 813 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 814 | engines: {node: '>=6.0'} 815 | peerDependencies: 816 | supports-color: '*' 817 | peerDependenciesMeta: 818 | supports-color: 819 | optional: true 820 | 821 | decimal.js@10.4.3: 822 | resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} 823 | 824 | decode-named-character-reference@1.0.2: 825 | resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} 826 | 827 | deep-is@0.1.3: 828 | resolution: {integrity: sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==} 829 | 830 | deepmerge@4.2.2: 831 | resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} 832 | engines: {node: '>=0.10.0'} 833 | 834 | defu@6.1.4: 835 | resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 836 | 837 | delayed-stream@1.0.0: 838 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 839 | engines: {node: '>=0.4.0'} 840 | 841 | dequal@2.0.3: 842 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 843 | engines: {node: '>=6'} 844 | 845 | destr@2.0.3: 846 | resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} 847 | 848 | devlop@1.1.0: 849 | resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} 850 | 851 | doctrine@3.0.0: 852 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 853 | engines: {node: '>=6.0.0'} 854 | 855 | dotenv@16.4.7: 856 | resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} 857 | engines: {node: '>=12'} 858 | 859 | electron-to-chromium@1.5.71: 860 | resolution: {integrity: sha512-dB68l59BI75W1BUGVTAEJy45CEVuEGy9qPVVQ8pnHyHMn36PLPPoE1mjLH+lo9rKulO3HC2OhbACI/8tCqJBcA==} 861 | 862 | emoji-regex@8.0.0: 863 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 864 | 865 | enhanced-resolve@5.17.1: 866 | resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} 867 | engines: {node: '>=10.13.0'} 868 | 869 | entities@4.5.0: 870 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 871 | engines: {node: '>=0.12'} 872 | 873 | error-ex@1.3.2: 874 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 875 | 876 | es-module-lexer@1.5.4: 877 | resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} 878 | 879 | esbuild@0.23.1: 880 | resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} 881 | engines: {node: '>=18'} 882 | hasBin: true 883 | 884 | escalade@3.2.0: 885 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 886 | engines: {node: '>=6'} 887 | 888 | escape-string-regexp@1.0.5: 889 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 890 | engines: {node: '>=0.8.0'} 891 | 892 | escape-string-regexp@4.0.0: 893 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 894 | engines: {node: '>=10'} 895 | 896 | escape-string-regexp@5.0.0: 897 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 898 | engines: {node: '>=12'} 899 | 900 | eslint-compat-utils@0.5.1: 901 | resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} 902 | engines: {node: '>=12'} 903 | peerDependencies: 904 | eslint: '>=6.0.0' 905 | 906 | eslint-compat-utils@0.6.4: 907 | resolution: {integrity: sha512-/u+GQt8NMfXO8w17QendT4gvO5acfxQsAKirAt0LVxDnr2N8YLCVbregaNc/Yhp7NM128DwCaRvr8PLDfeNkQw==} 908 | engines: {node: '>=12'} 909 | peerDependencies: 910 | eslint: '>=6.0.0' 911 | 912 | eslint-config-flat-gitignore@0.3.0: 913 | resolution: {integrity: sha512-0Ndxo4qGhcewjTzw52TK06Mc00aDtHNTdeeW2JfONgDcLkRO/n/BteMRzNVpLQYxdCC/dFEilfM9fjjpGIJ9Og==} 914 | peerDependencies: 915 | eslint: ^9.5.0 916 | 917 | eslint-flat-config-utils@0.4.0: 918 | resolution: {integrity: sha512-kfd5kQZC+BMO0YwTol6zxjKX1zAsk8JfSAopbKjKqmENTJcew+yBejuvccAg37cvOrN0Mh+DVbeyznuNWEjt4A==} 919 | 920 | eslint-import-resolver-node@0.3.9: 921 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 922 | 923 | eslint-json-compat-utils@0.2.1: 924 | resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} 925 | engines: {node: '>=12'} 926 | peerDependencies: 927 | '@eslint/json': '*' 928 | eslint: '*' 929 | jsonc-eslint-parser: ^2.4.0 930 | peerDependenciesMeta: 931 | '@eslint/json': 932 | optional: true 933 | 934 | eslint-merge-processors@0.1.0: 935 | resolution: {integrity: sha512-IvRXXtEajLeyssvW4wJcZ2etxkR9mUf4zpNwgI+m/Uac9RfXHskuJefkHUcawVzePnd6xp24enp5jfgdHzjRdQ==} 936 | peerDependencies: 937 | eslint: '*' 938 | 939 | eslint-plugin-antfu@2.7.0: 940 | resolution: {integrity: sha512-gZM3jq3ouqaoHmUNszb1Zo2Ux7RckSvkGksjLWz9ipBYGSv1EwwBETN6AdiUXn+RpVHXTbEMPAPlXJazcA6+iA==} 941 | peerDependencies: 942 | eslint: '*' 943 | 944 | eslint-plugin-command@0.2.7: 945 | resolution: {integrity: sha512-UXJ/1R6kdKDcHhiRqxHJ9RZ3juMR1IWQuSrnwt56qCjxt/am+5+YDt6GKs1FJPnppe6/geEYsO3CR9jc63i0xw==} 946 | peerDependencies: 947 | eslint: '*' 948 | 949 | eslint-plugin-es-x@7.8.0: 950 | resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} 951 | engines: {node: ^14.18.0 || >=16.0.0} 952 | peerDependencies: 953 | eslint: '>=8' 954 | 955 | eslint-plugin-import-x@4.6.1: 956 | resolution: {integrity: sha512-wluSUifMIb7UfwWXqx7Yx0lE/SGCcGXECLx/9bCmbY2nneLwvAZ4vkd1IXDjPKFvdcdUgr1BaRnaRpx3k2+Pfw==} 957 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 958 | peerDependencies: 959 | eslint: ^8.57.0 || ^9.0.0 960 | 961 | eslint-plugin-jsdoc@50.6.1: 962 | resolution: {integrity: sha512-UWyaYi6iURdSfdVVqvfOs2vdCVz0J40O/z/HTsv2sFjdjmdlUI/qlKLOTmwbPQ2tAfQnE5F9vqx+B+poF71DBQ==} 963 | engines: {node: '>=18'} 964 | peerDependencies: 965 | eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 966 | 967 | eslint-plugin-jsonc@2.18.2: 968 | resolution: {integrity: sha512-SDhJiSsWt3nItl/UuIv+ti4g3m4gpGkmnUJS9UWR3TrpyNsIcnJoBRD7Kof6cM4Rk3L0wrmY5Tm3z7ZPjR2uGg==} 969 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 970 | peerDependencies: 971 | eslint: '>=6.0.0' 972 | 973 | eslint-plugin-n@17.15.1: 974 | resolution: {integrity: sha512-KFw7x02hZZkBdbZEFQduRGH4VkIH4MW97ClsbAM4Y4E6KguBJWGfWG1P4HEIpZk2bkoWf0bojpnjNAhYQP8beA==} 975 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 976 | peerDependencies: 977 | eslint: '>=8.23.0' 978 | 979 | eslint-plugin-no-only-tests@3.3.0: 980 | resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} 981 | engines: {node: '>=5.0.0'} 982 | 983 | eslint-plugin-perfectionist@4.4.0: 984 | resolution: {integrity: sha512-B78pWxCsA2sClourpWEmWziCcjEsAEyxsNV5G6cxxteu/NI0/2en9XZUONf5e/+O+dgoLZsEPHQEhnIxJcnUvA==} 985 | engines: {node: ^18.0.0 || >=20.0.0} 986 | peerDependencies: 987 | eslint: '>=8.0.0' 988 | 989 | eslint-plugin-regexp@2.7.0: 990 | resolution: {integrity: sha512-U8oZI77SBtH8U3ulZ05iu0qEzIizyEDXd+BWHvyVxTOjGwcDcvy/kEpgFG4DYca2ByRLiVPFZ2GeH7j1pdvZTA==} 991 | engines: {node: ^18 || >=20} 992 | peerDependencies: 993 | eslint: '>=8.44.0' 994 | 995 | eslint-plugin-toml@0.12.0: 996 | resolution: {integrity: sha512-+/wVObA9DVhwZB1nG83D2OAQRrcQZXy+drqUnFJKymqnmbnbfg/UPmEMCKrJNcEboUGxUjYrJlgy+/Y930mURQ==} 997 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 998 | peerDependencies: 999 | eslint: '>=6.0.0' 1000 | 1001 | eslint-plugin-unicorn@56.0.1: 1002 | resolution: {integrity: sha512-FwVV0Uwf8XPfVnKSGpMg7NtlZh0G0gBarCaFcMUOoqPxXryxdYxTRRv4kH6B9TFCVIrjRXG+emcxIk2ayZilog==} 1003 | engines: {node: '>=18.18'} 1004 | peerDependencies: 1005 | eslint: '>=8.56.0' 1006 | 1007 | eslint-plugin-unused-imports@4.1.4: 1008 | resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} 1009 | peerDependencies: 1010 | '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 1011 | eslint: ^9.0.0 || ^8.0.0 1012 | peerDependenciesMeta: 1013 | '@typescript-eslint/eslint-plugin': 1014 | optional: true 1015 | 1016 | eslint-plugin-vue@9.32.0: 1017 | resolution: {integrity: sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug==} 1018 | engines: {node: ^14.17.0 || >=16.0.0} 1019 | peerDependencies: 1020 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 1021 | 1022 | eslint-plugin-yml@1.16.0: 1023 | resolution: {integrity: sha512-t4MNCetPjTn18/fUDlQ/wKkcYjnuLYKChBrZ0qUaNqRigVqChHWzTP8SrfFi5s4keX3vdlkWRSu8zHJMdKwxWQ==} 1024 | engines: {node: ^14.17.0 || >=16.0.0} 1025 | peerDependencies: 1026 | eslint: '>=6.0.0' 1027 | 1028 | eslint-processor-vue-blocks@0.1.2: 1029 | resolution: {integrity: sha512-PfpJ4uKHnqeL/fXUnzYkOax3aIenlwewXRX8jFinA1a2yCFnLgMuiH3xvCgvHHUlV2xJWQHbCTdiJWGwb3NqpQ==} 1030 | peerDependencies: 1031 | '@vue/compiler-sfc': ^3.3.0 1032 | eslint: ^8.50.0 || ^9.0.0 1033 | 1034 | eslint-scope@7.2.2: 1035 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 1036 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1037 | 1038 | eslint-scope@8.2.0: 1039 | resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} 1040 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1041 | 1042 | eslint-visitor-keys@3.4.3: 1043 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1044 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1045 | 1046 | eslint-visitor-keys@4.2.0: 1047 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 1048 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1049 | 1050 | eslint@9.17.0: 1051 | resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} 1052 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1053 | hasBin: true 1054 | peerDependencies: 1055 | jiti: '*' 1056 | peerDependenciesMeta: 1057 | jiti: 1058 | optional: true 1059 | 1060 | esno@4.8.0: 1061 | resolution: {integrity: sha512-acMtooReAQGzLU0zcuEDHa8S62meh5aIyi8jboYxyvAePdmuWx2Mpwmt0xjwO0bs9/SXf+dvXJ0QJoDWw814Iw==} 1062 | hasBin: true 1063 | 1064 | espree@10.3.0: 1065 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 1066 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1067 | 1068 | espree@9.6.1: 1069 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1070 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1071 | 1072 | esquery@1.6.0: 1073 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 1074 | engines: {node: '>=0.10'} 1075 | 1076 | esrecurse@4.3.0: 1077 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1078 | engines: {node: '>=4.0'} 1079 | 1080 | estraverse@5.3.0: 1081 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1082 | engines: {node: '>=4.0'} 1083 | 1084 | estree-walker@2.0.2: 1085 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1086 | 1087 | esutils@2.0.3: 1088 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1089 | engines: {node: '>=0.10.0'} 1090 | 1091 | execa@8.0.1: 1092 | resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 1093 | engines: {node: '>=16.17'} 1094 | 1095 | fast-deep-equal@3.1.3: 1096 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1097 | 1098 | fast-glob@3.3.2: 1099 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1100 | engines: {node: '>=8.6.0'} 1101 | 1102 | fast-json-stable-stringify@2.1.0: 1103 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1104 | 1105 | fast-levenshtein@2.0.6: 1106 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1107 | 1108 | fastq@1.9.0: 1109 | resolution: {integrity: sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==} 1110 | 1111 | fdir@6.4.2: 1112 | resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} 1113 | peerDependencies: 1114 | picomatch: ^3 || ^4 1115 | peerDependenciesMeta: 1116 | picomatch: 1117 | optional: true 1118 | 1119 | file-entry-cache@8.0.0: 1120 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 1121 | engines: {node: '>=16.0.0'} 1122 | 1123 | fill-range@7.0.1: 1124 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1125 | engines: {node: '>=8'} 1126 | 1127 | find-cache-dir@3.3.2: 1128 | resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} 1129 | engines: {node: '>=8'} 1130 | 1131 | find-up-simple@1.0.0: 1132 | resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} 1133 | engines: {node: '>=18'} 1134 | 1135 | find-up@4.1.0: 1136 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1137 | engines: {node: '>=8'} 1138 | 1139 | find-up@5.0.0: 1140 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1141 | engines: {node: '>=10'} 1142 | 1143 | flat-cache@4.0.1: 1144 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 1145 | engines: {node: '>=16'} 1146 | 1147 | flatted@3.3.1: 1148 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 1149 | 1150 | follow-redirects@1.15.6: 1151 | resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} 1152 | engines: {node: '>=4.0'} 1153 | peerDependencies: 1154 | debug: '*' 1155 | peerDependenciesMeta: 1156 | debug: 1157 | optional: true 1158 | 1159 | form-data@4.0.0: 1160 | resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} 1161 | engines: {node: '>= 6'} 1162 | 1163 | fs-extra@10.1.0: 1164 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 1165 | engines: {node: '>=12'} 1166 | 1167 | fs-minipass@2.1.0: 1168 | resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} 1169 | engines: {node: '>= 8'} 1170 | 1171 | fsevents@2.3.3: 1172 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1173 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1174 | os: [darwin] 1175 | 1176 | function-bind@1.1.2: 1177 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1178 | 1179 | get-caller-file@2.0.5: 1180 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1181 | engines: {node: 6.* || 8.* || >= 10.*} 1182 | 1183 | get-stream@8.0.1: 1184 | resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 1185 | engines: {node: '>=16'} 1186 | 1187 | get-tsconfig@4.8.1: 1188 | resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} 1189 | 1190 | giget@1.2.3: 1191 | resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} 1192 | hasBin: true 1193 | 1194 | glob-parent@5.1.2: 1195 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1196 | engines: {node: '>= 6'} 1197 | 1198 | glob-parent@6.0.2: 1199 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1200 | engines: {node: '>=10.13.0'} 1201 | 1202 | globals@13.24.0: 1203 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 1204 | engines: {node: '>=8'} 1205 | 1206 | globals@14.0.0: 1207 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 1208 | engines: {node: '>=18'} 1209 | 1210 | globals@15.14.0: 1211 | resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} 1212 | engines: {node: '>=18'} 1213 | 1214 | graceful-fs@4.2.4: 1215 | resolution: {integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==} 1216 | 1217 | graphemer@1.4.0: 1218 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1219 | 1220 | has-flag@3.0.0: 1221 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1222 | engines: {node: '>=4'} 1223 | 1224 | has-flag@4.0.0: 1225 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1226 | engines: {node: '>=8'} 1227 | 1228 | hasown@2.0.2: 1229 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1230 | engines: {node: '>= 0.4'} 1231 | 1232 | hosted-git-info@2.8.8: 1233 | resolution: {integrity: sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==} 1234 | 1235 | html-encoding-sniffer@4.0.0: 1236 | resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} 1237 | engines: {node: '>=18'} 1238 | 1239 | http-proxy-agent@7.0.2: 1240 | resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} 1241 | engines: {node: '>= 14'} 1242 | 1243 | https-proxy-agent@7.0.5: 1244 | resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} 1245 | engines: {node: '>= 14'} 1246 | 1247 | human-signals@5.0.0: 1248 | resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 1249 | engines: {node: '>=16.17.0'} 1250 | 1251 | iconv-lite@0.6.3: 1252 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1253 | engines: {node: '>=0.10.0'} 1254 | 1255 | ignore@5.3.2: 1256 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1257 | engines: {node: '>= 4'} 1258 | 1259 | import-fresh@3.3.0: 1260 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1261 | engines: {node: '>=6'} 1262 | 1263 | imurmurhash@0.1.4: 1264 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1265 | engines: {node: '>=0.8.19'} 1266 | 1267 | indent-string@4.0.0: 1268 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1269 | engines: {node: '>=8'} 1270 | 1271 | is-arrayish@0.2.1: 1272 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1273 | 1274 | is-builtin-module@3.2.1: 1275 | resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} 1276 | engines: {node: '>=6'} 1277 | 1278 | is-core-module@2.13.1: 1279 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 1280 | 1281 | is-extglob@2.1.1: 1282 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1283 | engines: {node: '>=0.10.0'} 1284 | 1285 | is-fullwidth-code-point@3.0.0: 1286 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1287 | engines: {node: '>=8'} 1288 | 1289 | is-glob@4.0.3: 1290 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1291 | engines: {node: '>=0.10.0'} 1292 | 1293 | is-module@1.0.0: 1294 | resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 1295 | 1296 | is-number@7.0.0: 1297 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1298 | engines: {node: '>=0.12.0'} 1299 | 1300 | is-potential-custom-element-name@1.0.1: 1301 | resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} 1302 | 1303 | is-reference@1.2.1: 1304 | resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} 1305 | 1306 | is-stream@3.0.0: 1307 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1308 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1309 | 1310 | isexe@2.0.0: 1311 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1312 | 1313 | jiti@2.4.2: 1314 | resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} 1315 | hasBin: true 1316 | 1317 | js-tokens@4.0.0: 1318 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1319 | 1320 | js-yaml@4.1.0: 1321 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1322 | hasBin: true 1323 | 1324 | jsdoc-type-pratt-parser@4.1.0: 1325 | resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} 1326 | engines: {node: '>=12.0.0'} 1327 | 1328 | jsdom@25.0.1: 1329 | resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} 1330 | engines: {node: '>=18'} 1331 | peerDependencies: 1332 | canvas: ^2.11.2 1333 | peerDependenciesMeta: 1334 | canvas: 1335 | optional: true 1336 | 1337 | jsesc@0.5.0: 1338 | resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} 1339 | hasBin: true 1340 | 1341 | jsesc@3.0.2: 1342 | resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} 1343 | engines: {node: '>=6'} 1344 | hasBin: true 1345 | 1346 | json-buffer@3.0.1: 1347 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1348 | 1349 | json-parse-even-better-errors@2.3.1: 1350 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1351 | 1352 | json-schema-traverse@0.4.1: 1353 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1354 | 1355 | json-stable-stringify-without-jsonify@1.0.1: 1356 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1357 | 1358 | jsonc-eslint-parser@2.4.0: 1359 | resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} 1360 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1361 | 1362 | jsonc-parser@3.3.1: 1363 | resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} 1364 | 1365 | jsonfile@6.1.0: 1366 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 1367 | 1368 | keyv@4.5.4: 1369 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1370 | 1371 | kleur@3.0.3: 1372 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 1373 | engines: {node: '>=6'} 1374 | 1375 | levn@0.4.1: 1376 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1377 | engines: {node: '>= 0.8.0'} 1378 | 1379 | lines-and-columns@1.1.6: 1380 | resolution: {integrity: sha512-8ZmlJFVK9iCmtLz19HpSsR8HaAMWBT284VMNednLwlIMDP2hJDCIhUp0IZ2xUcZ+Ob6BM0VvCSJwzASDM45NLQ==} 1381 | 1382 | local-pkg@0.5.1: 1383 | resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} 1384 | engines: {node: '>=14'} 1385 | 1386 | locate-path@5.0.0: 1387 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1388 | engines: {node: '>=8'} 1389 | 1390 | locate-path@6.0.0: 1391 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1392 | engines: {node: '>=10'} 1393 | 1394 | lodash.merge@4.6.2: 1395 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1396 | 1397 | lodash@4.17.21: 1398 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1399 | 1400 | longest-streak@3.1.0: 1401 | resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} 1402 | 1403 | magic-string@0.30.10: 1404 | resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} 1405 | 1406 | make-dir@3.1.0: 1407 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} 1408 | engines: {node: '>=8'} 1409 | 1410 | markdown-table@3.0.4: 1411 | resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} 1412 | 1413 | mdast-util-find-and-replace@3.0.1: 1414 | resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} 1415 | 1416 | mdast-util-from-markdown@2.0.2: 1417 | resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} 1418 | 1419 | mdast-util-gfm-autolink-literal@2.0.1: 1420 | resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} 1421 | 1422 | mdast-util-gfm-footnote@2.0.0: 1423 | resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} 1424 | 1425 | mdast-util-gfm-strikethrough@2.0.0: 1426 | resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} 1427 | 1428 | mdast-util-gfm-table@2.0.0: 1429 | resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} 1430 | 1431 | mdast-util-gfm-task-list-item@2.0.0: 1432 | resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} 1433 | 1434 | mdast-util-gfm@3.0.0: 1435 | resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} 1436 | 1437 | mdast-util-phrasing@4.1.0: 1438 | resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} 1439 | 1440 | mdast-util-to-markdown@2.1.2: 1441 | resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} 1442 | 1443 | mdast-util-to-string@4.0.0: 1444 | resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} 1445 | 1446 | merge-stream@2.0.0: 1447 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1448 | 1449 | merge2@1.4.1: 1450 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1451 | engines: {node: '>= 8'} 1452 | 1453 | micromark-core-commonmark@2.0.2: 1454 | resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} 1455 | 1456 | micromark-extension-gfm-autolink-literal@2.1.0: 1457 | resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} 1458 | 1459 | micromark-extension-gfm-footnote@2.1.0: 1460 | resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} 1461 | 1462 | micromark-extension-gfm-strikethrough@2.1.0: 1463 | resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} 1464 | 1465 | micromark-extension-gfm-table@2.1.0: 1466 | resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} 1467 | 1468 | micromark-extension-gfm-tagfilter@2.0.0: 1469 | resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} 1470 | 1471 | micromark-extension-gfm-task-list-item@2.1.0: 1472 | resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} 1473 | 1474 | micromark-extension-gfm@3.0.0: 1475 | resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} 1476 | 1477 | micromark-factory-destination@2.0.1: 1478 | resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} 1479 | 1480 | micromark-factory-label@2.0.1: 1481 | resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} 1482 | 1483 | micromark-factory-space@2.0.1: 1484 | resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} 1485 | 1486 | micromark-factory-title@2.0.1: 1487 | resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} 1488 | 1489 | micromark-factory-whitespace@2.0.1: 1490 | resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} 1491 | 1492 | micromark-util-character@2.1.1: 1493 | resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} 1494 | 1495 | micromark-util-chunked@2.0.1: 1496 | resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} 1497 | 1498 | micromark-util-classify-character@2.0.1: 1499 | resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} 1500 | 1501 | micromark-util-combine-extensions@2.0.1: 1502 | resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} 1503 | 1504 | micromark-util-decode-numeric-character-reference@2.0.2: 1505 | resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} 1506 | 1507 | micromark-util-decode-string@2.0.1: 1508 | resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} 1509 | 1510 | micromark-util-encode@2.0.1: 1511 | resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} 1512 | 1513 | micromark-util-html-tag-name@2.0.1: 1514 | resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} 1515 | 1516 | micromark-util-normalize-identifier@2.0.1: 1517 | resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} 1518 | 1519 | micromark-util-resolve-all@2.0.1: 1520 | resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} 1521 | 1522 | micromark-util-sanitize-uri@2.0.1: 1523 | resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} 1524 | 1525 | micromark-util-subtokenize@2.0.3: 1526 | resolution: {integrity: sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==} 1527 | 1528 | micromark-util-symbol@2.0.1: 1529 | resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} 1530 | 1531 | micromark-util-types@2.0.1: 1532 | resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} 1533 | 1534 | micromark@4.0.1: 1535 | resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} 1536 | 1537 | micromatch@4.0.5: 1538 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1539 | engines: {node: '>=8.6'} 1540 | 1541 | mime-db@1.44.0: 1542 | resolution: {integrity: sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==} 1543 | engines: {node: '>= 0.6'} 1544 | 1545 | mime-types@2.1.27: 1546 | resolution: {integrity: sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==} 1547 | engines: {node: '>= 0.6'} 1548 | 1549 | mimic-fn@4.0.0: 1550 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 1551 | engines: {node: '>=12'} 1552 | 1553 | min-indent@1.0.1: 1554 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 1555 | engines: {node: '>=4'} 1556 | 1557 | minimatch@3.1.2: 1558 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1559 | 1560 | minimatch@9.0.5: 1561 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1562 | engines: {node: '>=16 || 14 >=14.17'} 1563 | 1564 | minipass@3.3.6: 1565 | resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} 1566 | engines: {node: '>=8'} 1567 | 1568 | minipass@5.0.0: 1569 | resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} 1570 | engines: {node: '>=8'} 1571 | 1572 | minizlib@2.1.2: 1573 | resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} 1574 | engines: {node: '>= 8'} 1575 | 1576 | mkdirp@1.0.4: 1577 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 1578 | engines: {node: '>=10'} 1579 | hasBin: true 1580 | 1581 | mlly@1.7.3: 1582 | resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} 1583 | 1584 | ms@2.1.3: 1585 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1586 | 1587 | nanoid@3.3.7: 1588 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1589 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1590 | hasBin: true 1591 | 1592 | natural-compare@1.4.0: 1593 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1594 | 1595 | natural-orderby@5.0.0: 1596 | resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} 1597 | engines: {node: '>=18'} 1598 | 1599 | node-fetch-native@1.6.4: 1600 | resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} 1601 | 1602 | node-releases@2.0.18: 1603 | resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} 1604 | 1605 | normalize-package-data@2.5.0: 1606 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1607 | 1608 | npm-run-path@5.3.0: 1609 | resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 1610 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1611 | 1612 | nth-check@2.1.1: 1613 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 1614 | 1615 | nwsapi@2.2.13: 1616 | resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==} 1617 | 1618 | nypm@0.3.12: 1619 | resolution: {integrity: sha512-D3pzNDWIvgA+7IORhD/IuWzEk4uXv6GsgOxiid4UU3h9oq5IqV1KtPDi63n4sZJ/xcWlr88c0QM2RgN5VbOhFA==} 1620 | engines: {node: ^14.16.0 || >=16.10.0} 1621 | hasBin: true 1622 | 1623 | ohash@1.1.4: 1624 | resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} 1625 | 1626 | onetime@6.0.0: 1627 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 1628 | engines: {node: '>=12'} 1629 | 1630 | optionator@0.9.4: 1631 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1632 | engines: {node: '>= 0.8.0'} 1633 | 1634 | p-limit@2.3.0: 1635 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 1636 | engines: {node: '>=6'} 1637 | 1638 | p-limit@3.1.0: 1639 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1640 | engines: {node: '>=10'} 1641 | 1642 | p-locate@4.1.0: 1643 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 1644 | engines: {node: '>=8'} 1645 | 1646 | p-locate@5.0.0: 1647 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1648 | engines: {node: '>=10'} 1649 | 1650 | p-try@2.2.0: 1651 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 1652 | engines: {node: '>=6'} 1653 | 1654 | p5@1.11.2: 1655 | resolution: {integrity: sha512-kvtMTmxJexkbfuaVThg/1JE6iQyS8tTAqGE1UGbfApKUIzDc5hHM23hc08FV3jG0jlNS2En9kqZDb4FrJ8x+kg==} 1656 | 1657 | package-manager-detector@0.2.6: 1658 | resolution: {integrity: sha512-9vPH3qooBlYRJdmdYP00nvjZOulm40r5dhtal8st18ctf+6S1k7pi5yIHLvI4w5D70x0Y+xdVD9qITH0QO/A8A==} 1659 | 1660 | parent-module@1.0.1: 1661 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1662 | engines: {node: '>=6'} 1663 | 1664 | parse-gitignore@2.0.0: 1665 | resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} 1666 | engines: {node: '>=14'} 1667 | 1668 | parse-imports@2.2.1: 1669 | resolution: {integrity: sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==} 1670 | engines: {node: '>= 18'} 1671 | 1672 | parse-json@5.2.0: 1673 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1674 | engines: {node: '>=8'} 1675 | 1676 | parse5@7.1.2: 1677 | resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} 1678 | 1679 | path-exists@4.0.0: 1680 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1681 | engines: {node: '>=8'} 1682 | 1683 | path-key@3.1.1: 1684 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1685 | engines: {node: '>=8'} 1686 | 1687 | path-key@4.0.0: 1688 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 1689 | engines: {node: '>=12'} 1690 | 1691 | path-parse@1.0.7: 1692 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1693 | 1694 | pathe@1.1.2: 1695 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 1696 | 1697 | perfect-debounce@1.0.0: 1698 | resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} 1699 | 1700 | picocolors@1.1.1: 1701 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1702 | 1703 | picomatch@2.3.1: 1704 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1705 | engines: {node: '>=8.6'} 1706 | 1707 | picomatch@4.0.2: 1708 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1709 | engines: {node: '>=12'} 1710 | 1711 | pkg-dir@4.2.0: 1712 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 1713 | engines: {node: '>=8'} 1714 | 1715 | pkg-types@1.2.1: 1716 | resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} 1717 | 1718 | pluralize@8.0.0: 1719 | resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 1720 | engines: {node: '>=4'} 1721 | 1722 | postcss-selector-parser@6.0.16: 1723 | resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} 1724 | engines: {node: '>=4'} 1725 | 1726 | postcss@8.4.38: 1727 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} 1728 | engines: {node: ^10 || ^12 || >=14} 1729 | 1730 | prelude-ls@1.2.1: 1731 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1732 | engines: {node: '>= 0.8.0'} 1733 | 1734 | prompts@2.4.2: 1735 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 1736 | engines: {node: '>= 6'} 1737 | 1738 | proxy-from-env@1.1.0: 1739 | resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 1740 | 1741 | punycode@2.3.1: 1742 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1743 | engines: {node: '>=6'} 1744 | 1745 | rc9@2.1.2: 1746 | resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} 1747 | 1748 | read-pkg-up@7.0.1: 1749 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 1750 | engines: {node: '>=8'} 1751 | 1752 | read-pkg@5.2.0: 1753 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 1754 | engines: {node: '>=8'} 1755 | 1756 | readdirp@4.0.2: 1757 | resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} 1758 | engines: {node: '>= 14.16.0'} 1759 | 1760 | refa@0.12.1: 1761 | resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} 1762 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 1763 | 1764 | regexp-ast-analysis@0.7.1: 1765 | resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} 1766 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 1767 | 1768 | regexp-tree@0.1.27: 1769 | resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} 1770 | hasBin: true 1771 | 1772 | regjsparser@0.10.0: 1773 | resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} 1774 | hasBin: true 1775 | 1776 | require-directory@2.1.1: 1777 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1778 | engines: {node: '>=0.10.0'} 1779 | 1780 | resolve-from@4.0.0: 1781 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1782 | engines: {node: '>=4'} 1783 | 1784 | resolve-pkg-maps@1.0.0: 1785 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 1786 | 1787 | resolve@1.22.8: 1788 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1789 | hasBin: true 1790 | 1791 | reusify@1.0.4: 1792 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1793 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1794 | 1795 | rollup-plugin-dts@6.1.1: 1796 | resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} 1797 | engines: {node: '>=16'} 1798 | peerDependencies: 1799 | rollup: ^3.29.4 || ^4 1800 | typescript: ^4.5 || ^5.0 1801 | 1802 | rollup-plugin-typescript2@0.36.0: 1803 | resolution: {integrity: sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==} 1804 | peerDependencies: 1805 | rollup: '>=1.26.3' 1806 | typescript: '>=2.4.0' 1807 | 1808 | rollup@4.29.1: 1809 | resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} 1810 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1811 | hasBin: true 1812 | 1813 | rrweb-cssom@0.7.1: 1814 | resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} 1815 | 1816 | run-parallel@1.1.10: 1817 | resolution: {integrity: sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==} 1818 | 1819 | safer-buffer@2.1.2: 1820 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1821 | 1822 | saxes@6.0.0: 1823 | resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} 1824 | engines: {node: '>=v12.22.7'} 1825 | 1826 | scslre@0.3.0: 1827 | resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} 1828 | engines: {node: ^14.0.0 || >=16.0.0} 1829 | 1830 | semver@5.7.1: 1831 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 1832 | hasBin: true 1833 | 1834 | semver@6.3.0: 1835 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 1836 | hasBin: true 1837 | 1838 | semver@7.6.3: 1839 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 1840 | engines: {node: '>=10'} 1841 | hasBin: true 1842 | 1843 | shebang-command@2.0.0: 1844 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1845 | engines: {node: '>=8'} 1846 | 1847 | shebang-regex@3.0.0: 1848 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1849 | engines: {node: '>=8'} 1850 | 1851 | signal-exit@4.1.0: 1852 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1853 | engines: {node: '>=14'} 1854 | 1855 | sisteransi@1.0.5: 1856 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 1857 | 1858 | slashes@3.0.12: 1859 | resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} 1860 | 1861 | source-map-js@1.2.0: 1862 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} 1863 | engines: {node: '>=0.10.0'} 1864 | 1865 | spdx-correct@3.1.1: 1866 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} 1867 | 1868 | spdx-exceptions@2.3.0: 1869 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 1870 | 1871 | spdx-expression-parse@3.0.1: 1872 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 1873 | 1874 | spdx-expression-parse@4.0.0: 1875 | resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} 1876 | 1877 | spdx-license-ids@3.0.7: 1878 | resolution: {integrity: sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==} 1879 | 1880 | stable-hash@0.0.4: 1881 | resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} 1882 | 1883 | string-width@4.2.3: 1884 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1885 | engines: {node: '>=8'} 1886 | 1887 | strip-ansi@6.0.1: 1888 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1889 | engines: {node: '>=8'} 1890 | 1891 | strip-final-newline@3.0.0: 1892 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 1893 | engines: {node: '>=12'} 1894 | 1895 | strip-indent@3.0.0: 1896 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 1897 | engines: {node: '>=8'} 1898 | 1899 | strip-json-comments@3.1.1: 1900 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1901 | engines: {node: '>=8'} 1902 | 1903 | supports-color@5.5.0: 1904 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1905 | engines: {node: '>=4'} 1906 | 1907 | supports-color@7.2.0: 1908 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1909 | engines: {node: '>=8'} 1910 | 1911 | supports-preserve-symlinks-flag@1.0.0: 1912 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1913 | engines: {node: '>= 0.4'} 1914 | 1915 | symbol-tree@3.2.4: 1916 | resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} 1917 | 1918 | synckit@0.6.2: 1919 | resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} 1920 | engines: {node: '>=12.20'} 1921 | 1922 | synckit@0.9.2: 1923 | resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} 1924 | engines: {node: ^14.18.0 || >=16.0.0} 1925 | 1926 | tapable@2.2.1: 1927 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 1928 | engines: {node: '>=6'} 1929 | 1930 | tar@6.2.1: 1931 | resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} 1932 | engines: {node: '>=10'} 1933 | 1934 | tinyexec@0.3.1: 1935 | resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} 1936 | 1937 | tinyglobby@0.2.10: 1938 | resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} 1939 | engines: {node: '>=12.0.0'} 1940 | 1941 | tldts-core@6.1.66: 1942 | resolution: {integrity: sha512-s07jJruSwndD2X8bVjwioPfqpIc1pDTzszPe9pL1Skbh4bjytL85KNQ3tolqLbCvpQHawIsGfFi9dgerWjqW4g==} 1943 | 1944 | tldts@6.1.66: 1945 | resolution: {integrity: sha512-l3ciXsYFel/jSRfESbyKYud1nOw7WfhrBEF9I3UiarYk/qEaOOwu3qXNECHw4fHGHGTEOuhf/VdKgoDX5M/dhQ==} 1946 | hasBin: true 1947 | 1948 | to-fast-properties@2.0.0: 1949 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1950 | engines: {node: '>=4'} 1951 | 1952 | to-regex-range@5.0.1: 1953 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1954 | engines: {node: '>=8.0'} 1955 | 1956 | toml-eslint-parser@0.10.0: 1957 | resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==} 1958 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1959 | 1960 | tough-cookie@5.0.0: 1961 | resolution: {integrity: sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==} 1962 | engines: {node: '>=16'} 1963 | 1964 | tr46@5.0.0: 1965 | resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} 1966 | engines: {node: '>=18'} 1967 | 1968 | ts-api-utils@1.3.0: 1969 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} 1970 | engines: {node: '>=16'} 1971 | peerDependencies: 1972 | typescript: '>=4.2.0' 1973 | 1974 | tslib@2.8.1: 1975 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1976 | 1977 | tsx@4.19.2: 1978 | resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} 1979 | engines: {node: '>=18.0.0'} 1980 | hasBin: true 1981 | 1982 | type-check@0.4.0: 1983 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1984 | engines: {node: '>= 0.8.0'} 1985 | 1986 | type-fest@0.20.2: 1987 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 1988 | engines: {node: '>=10'} 1989 | 1990 | type-fest@0.6.0: 1991 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 1992 | engines: {node: '>=8'} 1993 | 1994 | type-fest@0.8.1: 1995 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 1996 | engines: {node: '>=8'} 1997 | 1998 | typescript@5.7.2: 1999 | resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} 2000 | engines: {node: '>=14.17'} 2001 | hasBin: true 2002 | 2003 | ufo@1.5.4: 2004 | resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} 2005 | 2006 | undici-types@6.20.0: 2007 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} 2008 | 2009 | unist-util-is@6.0.0: 2010 | resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} 2011 | 2012 | unist-util-stringify-position@4.0.0: 2013 | resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} 2014 | 2015 | unist-util-visit-parents@6.0.1: 2016 | resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} 2017 | 2018 | unist-util-visit@5.0.0: 2019 | resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} 2020 | 2021 | universalify@2.0.1: 2022 | resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} 2023 | engines: {node: '>= 10.0.0'} 2024 | 2025 | update-browserslist-db@1.1.1: 2026 | resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} 2027 | hasBin: true 2028 | peerDependencies: 2029 | browserslist: '>= 4.21.0' 2030 | 2031 | uri-js@4.4.0: 2032 | resolution: {integrity: sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==} 2033 | 2034 | util-deprecate@1.0.2: 2035 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2036 | 2037 | validate-npm-package-license@3.0.4: 2038 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2039 | 2040 | vue-eslint-parser@9.4.3: 2041 | resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} 2042 | engines: {node: ^14.17.0 || >=16.0.0} 2043 | peerDependencies: 2044 | eslint: '>=6.0.0' 2045 | 2046 | w3c-xmlserializer@5.0.0: 2047 | resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} 2048 | engines: {node: '>=18'} 2049 | 2050 | webidl-conversions@7.0.0: 2051 | resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} 2052 | engines: {node: '>=12'} 2053 | 2054 | whatwg-encoding@3.1.1: 2055 | resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} 2056 | engines: {node: '>=18'} 2057 | 2058 | whatwg-mimetype@4.0.0: 2059 | resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} 2060 | engines: {node: '>=18'} 2061 | 2062 | whatwg-url@14.0.0: 2063 | resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} 2064 | engines: {node: '>=18'} 2065 | 2066 | which@2.0.2: 2067 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2068 | engines: {node: '>= 8'} 2069 | hasBin: true 2070 | 2071 | word-wrap@1.2.5: 2072 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 2073 | engines: {node: '>=0.10.0'} 2074 | 2075 | wrap-ansi@7.0.0: 2076 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2077 | engines: {node: '>=10'} 2078 | 2079 | ws@8.18.0: 2080 | resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} 2081 | engines: {node: '>=10.0.0'} 2082 | peerDependencies: 2083 | bufferutil: ^4.0.1 2084 | utf-8-validate: '>=5.0.2' 2085 | peerDependenciesMeta: 2086 | bufferutil: 2087 | optional: true 2088 | utf-8-validate: 2089 | optional: true 2090 | 2091 | xml-name-validator@4.0.0: 2092 | resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} 2093 | engines: {node: '>=12'} 2094 | 2095 | xml-name-validator@5.0.0: 2096 | resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} 2097 | engines: {node: '>=18'} 2098 | 2099 | xmlchars@2.2.0: 2100 | resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} 2101 | 2102 | y18n@5.0.8: 2103 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 2104 | engines: {node: '>=10'} 2105 | 2106 | yallist@4.0.0: 2107 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2108 | 2109 | yaml-eslint-parser@1.2.3: 2110 | resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} 2111 | engines: {node: ^14.17.0 || >=16.0.0} 2112 | 2113 | yaml@2.4.2: 2114 | resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} 2115 | engines: {node: '>= 14'} 2116 | hasBin: true 2117 | 2118 | yargs-parser@21.1.1: 2119 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 2120 | engines: {node: '>=12'} 2121 | 2122 | yargs@17.7.2: 2123 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 2124 | engines: {node: '>=12'} 2125 | 2126 | yocto-queue@0.1.0: 2127 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2128 | engines: {node: '>=10'} 2129 | 2130 | zwitch@2.0.4: 2131 | resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} 2132 | 2133 | snapshots: 2134 | 2135 | '@antfu/eslint-config@3.12.1(@typescript-eslint/utils@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(@vue/compiler-sfc@3.4.27)(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': 2136 | dependencies: 2137 | '@antfu/install-pkg': 0.5.0 2138 | '@clack/prompts': 0.9.0 2139 | '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.17.0(jiti@2.4.2)) 2140 | '@eslint/markdown': 6.2.1 2141 | '@stylistic/eslint-plugin': 2.12.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2142 | '@typescript-eslint/eslint-plugin': 8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2143 | '@typescript-eslint/parser': 8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2144 | '@vitest/eslint-plugin': 1.1.20(@typescript-eslint/utils@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2145 | eslint: 9.17.0(jiti@2.4.2) 2146 | eslint-config-flat-gitignore: 0.3.0(eslint@9.17.0(jiti@2.4.2)) 2147 | eslint-flat-config-utils: 0.4.0 2148 | eslint-merge-processors: 0.1.0(eslint@9.17.0(jiti@2.4.2)) 2149 | eslint-plugin-antfu: 2.7.0(eslint@9.17.0(jiti@2.4.2)) 2150 | eslint-plugin-command: 0.2.7(eslint@9.17.0(jiti@2.4.2)) 2151 | eslint-plugin-import-x: 4.6.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2152 | eslint-plugin-jsdoc: 50.6.1(eslint@9.17.0(jiti@2.4.2)) 2153 | eslint-plugin-jsonc: 2.18.2(eslint@9.17.0(jiti@2.4.2)) 2154 | eslint-plugin-n: 17.15.1(eslint@9.17.0(jiti@2.4.2)) 2155 | eslint-plugin-no-only-tests: 3.3.0 2156 | eslint-plugin-perfectionist: 4.4.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2157 | eslint-plugin-regexp: 2.7.0(eslint@9.17.0(jiti@2.4.2)) 2158 | eslint-plugin-toml: 0.12.0(eslint@9.17.0(jiti@2.4.2)) 2159 | eslint-plugin-unicorn: 56.0.1(eslint@9.17.0(jiti@2.4.2)) 2160 | eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2)) 2161 | eslint-plugin-vue: 9.32.0(eslint@9.17.0(jiti@2.4.2)) 2162 | eslint-plugin-yml: 1.16.0(eslint@9.17.0(jiti@2.4.2)) 2163 | eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.17.0(jiti@2.4.2)) 2164 | globals: 15.14.0 2165 | jsonc-eslint-parser: 2.4.0 2166 | local-pkg: 0.5.1 2167 | parse-gitignore: 2.0.0 2168 | picocolors: 1.1.1 2169 | toml-eslint-parser: 0.10.0 2170 | vue-eslint-parser: 9.4.3(eslint@9.17.0(jiti@2.4.2)) 2171 | yaml-eslint-parser: 1.2.3 2172 | yargs: 17.7.2 2173 | transitivePeerDependencies: 2174 | - '@eslint/json' 2175 | - '@typescript-eslint/utils' 2176 | - '@vue/compiler-sfc' 2177 | - supports-color 2178 | - typescript 2179 | - vitest 2180 | 2181 | '@antfu/install-pkg@0.5.0': 2182 | dependencies: 2183 | package-manager-detector: 0.2.6 2184 | tinyexec: 0.3.1 2185 | 2186 | '@antfu/utils@0.7.10': {} 2187 | 2188 | '@babel/code-frame@7.24.2': 2189 | dependencies: 2190 | '@babel/highlight': 7.24.5 2191 | picocolors: 1.1.1 2192 | 2193 | '@babel/helper-string-parser@7.24.1': {} 2194 | 2195 | '@babel/helper-validator-identifier@7.25.9': {} 2196 | 2197 | '@babel/highlight@7.24.5': 2198 | dependencies: 2199 | '@babel/helper-validator-identifier': 7.25.9 2200 | chalk: 2.4.2 2201 | js-tokens: 4.0.0 2202 | picocolors: 1.1.1 2203 | 2204 | '@babel/parser@7.24.5': 2205 | dependencies: 2206 | '@babel/types': 7.24.5 2207 | 2208 | '@babel/types@7.24.5': 2209 | dependencies: 2210 | '@babel/helper-string-parser': 7.24.1 2211 | '@babel/helper-validator-identifier': 7.25.9 2212 | to-fast-properties: 2.0.0 2213 | 2214 | '@clack/core@0.4.0': 2215 | dependencies: 2216 | picocolors: 1.1.1 2217 | sisteransi: 1.0.5 2218 | 2219 | '@clack/prompts@0.9.0': 2220 | dependencies: 2221 | '@clack/core': 0.4.0 2222 | picocolors: 1.1.1 2223 | sisteransi: 1.0.5 2224 | 2225 | '@es-joy/jsdoccomment@0.49.0': 2226 | dependencies: 2227 | comment-parser: 1.4.1 2228 | esquery: 1.6.0 2229 | jsdoc-type-pratt-parser: 4.1.0 2230 | 2231 | '@esbuild/aix-ppc64@0.23.1': 2232 | optional: true 2233 | 2234 | '@esbuild/android-arm64@0.23.1': 2235 | optional: true 2236 | 2237 | '@esbuild/android-arm@0.23.1': 2238 | optional: true 2239 | 2240 | '@esbuild/android-x64@0.23.1': 2241 | optional: true 2242 | 2243 | '@esbuild/darwin-arm64@0.23.1': 2244 | optional: true 2245 | 2246 | '@esbuild/darwin-x64@0.23.1': 2247 | optional: true 2248 | 2249 | '@esbuild/freebsd-arm64@0.23.1': 2250 | optional: true 2251 | 2252 | '@esbuild/freebsd-x64@0.23.1': 2253 | optional: true 2254 | 2255 | '@esbuild/linux-arm64@0.23.1': 2256 | optional: true 2257 | 2258 | '@esbuild/linux-arm@0.23.1': 2259 | optional: true 2260 | 2261 | '@esbuild/linux-ia32@0.23.1': 2262 | optional: true 2263 | 2264 | '@esbuild/linux-loong64@0.23.1': 2265 | optional: true 2266 | 2267 | '@esbuild/linux-mips64el@0.23.1': 2268 | optional: true 2269 | 2270 | '@esbuild/linux-ppc64@0.23.1': 2271 | optional: true 2272 | 2273 | '@esbuild/linux-riscv64@0.23.1': 2274 | optional: true 2275 | 2276 | '@esbuild/linux-s390x@0.23.1': 2277 | optional: true 2278 | 2279 | '@esbuild/linux-x64@0.23.1': 2280 | optional: true 2281 | 2282 | '@esbuild/netbsd-x64@0.23.1': 2283 | optional: true 2284 | 2285 | '@esbuild/openbsd-arm64@0.23.1': 2286 | optional: true 2287 | 2288 | '@esbuild/openbsd-x64@0.23.1': 2289 | optional: true 2290 | 2291 | '@esbuild/sunos-x64@0.23.1': 2292 | optional: true 2293 | 2294 | '@esbuild/win32-arm64@0.23.1': 2295 | optional: true 2296 | 2297 | '@esbuild/win32-ia32@0.23.1': 2298 | optional: true 2299 | 2300 | '@esbuild/win32-x64@0.23.1': 2301 | optional: true 2302 | 2303 | '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.17.0(jiti@2.4.2))': 2304 | dependencies: 2305 | escape-string-regexp: 4.0.0 2306 | eslint: 9.17.0(jiti@2.4.2) 2307 | ignore: 5.3.2 2308 | 2309 | '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0(jiti@2.4.2))': 2310 | dependencies: 2311 | eslint: 9.17.0(jiti@2.4.2) 2312 | eslint-visitor-keys: 3.4.3 2313 | 2314 | '@eslint-community/regexpp@4.12.1': {} 2315 | 2316 | '@eslint/compat@1.2.4(eslint@9.17.0(jiti@2.4.2))': 2317 | optionalDependencies: 2318 | eslint: 9.17.0(jiti@2.4.2) 2319 | 2320 | '@eslint/config-array@0.19.0': 2321 | dependencies: 2322 | '@eslint/object-schema': 2.1.4 2323 | debug: 4.4.0 2324 | minimatch: 3.1.2 2325 | transitivePeerDependencies: 2326 | - supports-color 2327 | 2328 | '@eslint/core@0.9.0': {} 2329 | 2330 | '@eslint/eslintrc@3.2.0': 2331 | dependencies: 2332 | ajv: 6.12.6 2333 | debug: 4.4.0 2334 | espree: 10.3.0 2335 | globals: 14.0.0 2336 | ignore: 5.3.2 2337 | import-fresh: 3.3.0 2338 | js-yaml: 4.1.0 2339 | minimatch: 3.1.2 2340 | strip-json-comments: 3.1.1 2341 | transitivePeerDependencies: 2342 | - supports-color 2343 | 2344 | '@eslint/js@9.17.0': {} 2345 | 2346 | '@eslint/markdown@6.2.1': 2347 | dependencies: 2348 | '@eslint/plugin-kit': 0.2.3 2349 | mdast-util-from-markdown: 2.0.2 2350 | mdast-util-gfm: 3.0.0 2351 | micromark-extension-gfm: 3.0.0 2352 | transitivePeerDependencies: 2353 | - supports-color 2354 | 2355 | '@eslint/object-schema@2.1.4': {} 2356 | 2357 | '@eslint/plugin-kit@0.2.3': 2358 | dependencies: 2359 | levn: 0.4.1 2360 | 2361 | '@humanfs/core@0.19.1': {} 2362 | 2363 | '@humanfs/node@0.16.6': 2364 | dependencies: 2365 | '@humanfs/core': 0.19.1 2366 | '@humanwhocodes/retry': 0.3.1 2367 | 2368 | '@humanwhocodes/module-importer@1.0.1': {} 2369 | 2370 | '@humanwhocodes/retry@0.3.1': {} 2371 | 2372 | '@humanwhocodes/retry@0.4.1': {} 2373 | 2374 | '@jridgewell/sourcemap-codec@1.4.15': {} 2375 | 2376 | '@nodelib/fs.scandir@2.1.5': 2377 | dependencies: 2378 | '@nodelib/fs.stat': 2.0.5 2379 | run-parallel: 1.1.10 2380 | 2381 | '@nodelib/fs.stat@2.0.5': {} 2382 | 2383 | '@nodelib/fs.walk@1.2.8': 2384 | dependencies: 2385 | '@nodelib/fs.scandir': 2.1.5 2386 | fastq: 1.9.0 2387 | 2388 | '@pkgr/core@0.1.1': {} 2389 | 2390 | '@rollup/plugin-commonjs@28.0.2(rollup@4.29.1)': 2391 | dependencies: 2392 | '@rollup/pluginutils': 5.1.0(rollup@4.29.1) 2393 | commondir: 1.0.1 2394 | estree-walker: 2.0.2 2395 | fdir: 6.4.2(picomatch@4.0.2) 2396 | is-reference: 1.2.1 2397 | magic-string: 0.30.10 2398 | picomatch: 4.0.2 2399 | optionalDependencies: 2400 | rollup: 4.29.1 2401 | 2402 | '@rollup/plugin-node-resolve@16.0.0(rollup@4.29.1)': 2403 | dependencies: 2404 | '@rollup/pluginutils': 5.1.0(rollup@4.29.1) 2405 | '@types/resolve': 1.20.2 2406 | deepmerge: 4.2.2 2407 | is-module: 1.0.0 2408 | resolve: 1.22.8 2409 | optionalDependencies: 2410 | rollup: 4.29.1 2411 | 2412 | '@rollup/pluginutils@4.2.1': 2413 | dependencies: 2414 | estree-walker: 2.0.2 2415 | picomatch: 2.3.1 2416 | 2417 | '@rollup/pluginutils@5.1.0(rollup@4.29.1)': 2418 | dependencies: 2419 | '@types/estree': 1.0.6 2420 | estree-walker: 2.0.2 2421 | picomatch: 2.3.1 2422 | optionalDependencies: 2423 | rollup: 4.29.1 2424 | 2425 | '@rollup/rollup-android-arm-eabi@4.29.1': 2426 | optional: true 2427 | 2428 | '@rollup/rollup-android-arm64@4.29.1': 2429 | optional: true 2430 | 2431 | '@rollup/rollup-darwin-arm64@4.29.1': 2432 | optional: true 2433 | 2434 | '@rollup/rollup-darwin-x64@4.29.1': 2435 | optional: true 2436 | 2437 | '@rollup/rollup-freebsd-arm64@4.29.1': 2438 | optional: true 2439 | 2440 | '@rollup/rollup-freebsd-x64@4.29.1': 2441 | optional: true 2442 | 2443 | '@rollup/rollup-linux-arm-gnueabihf@4.29.1': 2444 | optional: true 2445 | 2446 | '@rollup/rollup-linux-arm-musleabihf@4.29.1': 2447 | optional: true 2448 | 2449 | '@rollup/rollup-linux-arm64-gnu@4.29.1': 2450 | optional: true 2451 | 2452 | '@rollup/rollup-linux-arm64-musl@4.29.1': 2453 | optional: true 2454 | 2455 | '@rollup/rollup-linux-loongarch64-gnu@4.29.1': 2456 | optional: true 2457 | 2458 | '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': 2459 | optional: true 2460 | 2461 | '@rollup/rollup-linux-riscv64-gnu@4.29.1': 2462 | optional: true 2463 | 2464 | '@rollup/rollup-linux-s390x-gnu@4.29.1': 2465 | optional: true 2466 | 2467 | '@rollup/rollup-linux-x64-gnu@4.29.1': 2468 | optional: true 2469 | 2470 | '@rollup/rollup-linux-x64-musl@4.29.1': 2471 | optional: true 2472 | 2473 | '@rollup/rollup-win32-arm64-msvc@4.29.1': 2474 | optional: true 2475 | 2476 | '@rollup/rollup-win32-ia32-msvc@4.29.1': 2477 | optional: true 2478 | 2479 | '@rollup/rollup-win32-x64-msvc@4.29.1': 2480 | optional: true 2481 | 2482 | '@stylistic/eslint-plugin@2.12.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': 2483 | dependencies: 2484 | '@typescript-eslint/utils': 8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2485 | eslint: 9.17.0(jiti@2.4.2) 2486 | eslint-visitor-keys: 4.2.0 2487 | espree: 10.3.0 2488 | estraverse: 5.3.0 2489 | picomatch: 4.0.2 2490 | transitivePeerDependencies: 2491 | - supports-color 2492 | - typescript 2493 | 2494 | '@types/debug@4.1.12': 2495 | dependencies: 2496 | '@types/ms': 0.7.34 2497 | 2498 | '@types/doctrine@0.0.9': {} 2499 | 2500 | '@types/estree@1.0.6': {} 2501 | 2502 | '@types/json-schema@7.0.15': {} 2503 | 2504 | '@types/mdast@4.0.4': 2505 | dependencies: 2506 | '@types/unist': 3.0.3 2507 | 2508 | '@types/ms@0.7.34': {} 2509 | 2510 | '@types/node@22.10.2': 2511 | dependencies: 2512 | undici-types: 6.20.0 2513 | 2514 | '@types/normalize-package-data@2.4.0': {} 2515 | 2516 | '@types/p5@1.7.6': {} 2517 | 2518 | '@types/resolve@1.20.2': {} 2519 | 2520 | '@types/unist@3.0.3': {} 2521 | 2522 | '@typescript-eslint/eslint-plugin@8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': 2523 | dependencies: 2524 | '@eslint-community/regexpp': 4.12.1 2525 | '@typescript-eslint/parser': 8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2526 | '@typescript-eslint/scope-manager': 8.18.2 2527 | '@typescript-eslint/type-utils': 8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2528 | '@typescript-eslint/utils': 8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2529 | '@typescript-eslint/visitor-keys': 8.18.2 2530 | eslint: 9.17.0(jiti@2.4.2) 2531 | graphemer: 1.4.0 2532 | ignore: 5.3.2 2533 | natural-compare: 1.4.0 2534 | ts-api-utils: 1.3.0(typescript@5.7.2) 2535 | typescript: 5.7.2 2536 | transitivePeerDependencies: 2537 | - supports-color 2538 | 2539 | '@typescript-eslint/parser@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': 2540 | dependencies: 2541 | '@typescript-eslint/scope-manager': 8.18.2 2542 | '@typescript-eslint/types': 8.18.2 2543 | '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2) 2544 | '@typescript-eslint/visitor-keys': 8.18.2 2545 | debug: 4.4.0 2546 | eslint: 9.17.0(jiti@2.4.2) 2547 | typescript: 5.7.2 2548 | transitivePeerDependencies: 2549 | - supports-color 2550 | 2551 | '@typescript-eslint/scope-manager@8.18.2': 2552 | dependencies: 2553 | '@typescript-eslint/types': 8.18.2 2554 | '@typescript-eslint/visitor-keys': 8.18.2 2555 | 2556 | '@typescript-eslint/type-utils@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': 2557 | dependencies: 2558 | '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2) 2559 | '@typescript-eslint/utils': 8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2560 | debug: 4.4.0 2561 | eslint: 9.17.0(jiti@2.4.2) 2562 | ts-api-utils: 1.3.0(typescript@5.7.2) 2563 | typescript: 5.7.2 2564 | transitivePeerDependencies: 2565 | - supports-color 2566 | 2567 | '@typescript-eslint/types@8.18.2': {} 2568 | 2569 | '@typescript-eslint/typescript-estree@8.18.2(typescript@5.7.2)': 2570 | dependencies: 2571 | '@typescript-eslint/types': 8.18.2 2572 | '@typescript-eslint/visitor-keys': 8.18.2 2573 | debug: 4.4.0 2574 | fast-glob: 3.3.2 2575 | is-glob: 4.0.3 2576 | minimatch: 9.0.5 2577 | semver: 7.6.3 2578 | ts-api-utils: 1.3.0(typescript@5.7.2) 2579 | typescript: 5.7.2 2580 | transitivePeerDependencies: 2581 | - supports-color 2582 | 2583 | '@typescript-eslint/utils@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': 2584 | dependencies: 2585 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2)) 2586 | '@typescript-eslint/scope-manager': 8.18.2 2587 | '@typescript-eslint/types': 8.18.2 2588 | '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2) 2589 | eslint: 9.17.0(jiti@2.4.2) 2590 | typescript: 5.7.2 2591 | transitivePeerDependencies: 2592 | - supports-color 2593 | 2594 | '@typescript-eslint/visitor-keys@8.18.2': 2595 | dependencies: 2596 | '@typescript-eslint/types': 8.18.2 2597 | eslint-visitor-keys: 4.2.0 2598 | 2599 | '@vitest/eslint-plugin@1.1.20(@typescript-eslint/utils@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': 2600 | dependencies: 2601 | '@typescript-eslint/utils': 8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2602 | eslint: 9.17.0(jiti@2.4.2) 2603 | optionalDependencies: 2604 | typescript: 5.7.2 2605 | 2606 | '@vue/compiler-core@3.4.27': 2607 | dependencies: 2608 | '@babel/parser': 7.24.5 2609 | '@vue/shared': 3.4.27 2610 | entities: 4.5.0 2611 | estree-walker: 2.0.2 2612 | source-map-js: 1.2.0 2613 | 2614 | '@vue/compiler-dom@3.4.27': 2615 | dependencies: 2616 | '@vue/compiler-core': 3.4.27 2617 | '@vue/shared': 3.4.27 2618 | 2619 | '@vue/compiler-sfc@3.4.27': 2620 | dependencies: 2621 | '@babel/parser': 7.24.5 2622 | '@vue/compiler-core': 3.4.27 2623 | '@vue/compiler-dom': 3.4.27 2624 | '@vue/compiler-ssr': 3.4.27 2625 | '@vue/shared': 3.4.27 2626 | estree-walker: 2.0.2 2627 | magic-string: 0.30.10 2628 | postcss: 8.4.38 2629 | source-map-js: 1.2.0 2630 | 2631 | '@vue/compiler-ssr@3.4.27': 2632 | dependencies: 2633 | '@vue/compiler-dom': 3.4.27 2634 | '@vue/shared': 3.4.27 2635 | 2636 | '@vue/shared@3.4.27': {} 2637 | 2638 | acorn-jsx@5.3.2(acorn@8.14.0): 2639 | dependencies: 2640 | acorn: 8.14.0 2641 | 2642 | acorn@8.14.0: {} 2643 | 2644 | agent-base@7.1.1: 2645 | dependencies: 2646 | debug: 4.4.0 2647 | transitivePeerDependencies: 2648 | - supports-color 2649 | 2650 | ajv@6.12.6: 2651 | dependencies: 2652 | fast-deep-equal: 3.1.3 2653 | fast-json-stable-stringify: 2.1.0 2654 | json-schema-traverse: 0.4.1 2655 | uri-js: 4.4.0 2656 | 2657 | ansi-regex@5.0.1: {} 2658 | 2659 | ansi-styles@3.2.1: 2660 | dependencies: 2661 | color-convert: 1.9.3 2662 | 2663 | ansi-styles@4.3.0: 2664 | dependencies: 2665 | color-convert: 2.0.1 2666 | 2667 | are-docs-informative@0.0.2: {} 2668 | 2669 | argparse@2.0.1: {} 2670 | 2671 | asynckit@0.4.0: {} 2672 | 2673 | axios@1.7.9: 2674 | dependencies: 2675 | follow-redirects: 1.15.6 2676 | form-data: 4.0.0 2677 | proxy-from-env: 1.1.0 2678 | transitivePeerDependencies: 2679 | - debug 2680 | 2681 | balanced-match@1.0.0: {} 2682 | 2683 | boolbase@1.0.0: {} 2684 | 2685 | brace-expansion@1.1.11: 2686 | dependencies: 2687 | balanced-match: 1.0.0 2688 | concat-map: 0.0.1 2689 | 2690 | brace-expansion@2.0.1: 2691 | dependencies: 2692 | balanced-match: 1.0.0 2693 | 2694 | braces@3.0.2: 2695 | dependencies: 2696 | fill-range: 7.0.1 2697 | 2698 | browserslist@4.24.2: 2699 | dependencies: 2700 | caniuse-lite: 1.0.30001687 2701 | electron-to-chromium: 1.5.71 2702 | node-releases: 2.0.18 2703 | update-browserslist-db: 1.1.1(browserslist@4.24.2) 2704 | 2705 | builtin-modules@3.3.0: {} 2706 | 2707 | bumpp@9.9.2: 2708 | dependencies: 2709 | c12: 2.0.1 2710 | cac: 6.7.14 2711 | escalade: 3.2.0 2712 | js-yaml: 4.1.0 2713 | jsonc-parser: 3.3.1 2714 | prompts: 2.4.2 2715 | semver: 7.6.3 2716 | tinyexec: 0.3.1 2717 | tinyglobby: 0.2.10 2718 | transitivePeerDependencies: 2719 | - magicast 2720 | 2721 | c12@2.0.1: 2722 | dependencies: 2723 | chokidar: 4.0.3 2724 | confbox: 0.1.8 2725 | defu: 6.1.4 2726 | dotenv: 16.4.7 2727 | giget: 1.2.3 2728 | jiti: 2.4.2 2729 | mlly: 1.7.3 2730 | ohash: 1.1.4 2731 | pathe: 1.1.2 2732 | perfect-debounce: 1.0.0 2733 | pkg-types: 1.2.1 2734 | rc9: 2.1.2 2735 | 2736 | cac@6.7.14: {} 2737 | 2738 | callsites@3.1.0: {} 2739 | 2740 | caniuse-lite@1.0.30001687: {} 2741 | 2742 | ccount@2.0.1: {} 2743 | 2744 | chalk@2.4.2: 2745 | dependencies: 2746 | ansi-styles: 3.2.1 2747 | escape-string-regexp: 1.0.5 2748 | supports-color: 5.5.0 2749 | 2750 | chalk@4.1.0: 2751 | dependencies: 2752 | ansi-styles: 4.3.0 2753 | supports-color: 7.2.0 2754 | 2755 | character-entities@2.0.2: {} 2756 | 2757 | chokidar@4.0.3: 2758 | dependencies: 2759 | readdirp: 4.0.2 2760 | 2761 | chownr@2.0.0: {} 2762 | 2763 | ci-info@4.0.0: {} 2764 | 2765 | citty@0.1.6: 2766 | dependencies: 2767 | consola: 3.3.1 2768 | 2769 | clean-regexp@1.0.0: 2770 | dependencies: 2771 | escape-string-regexp: 1.0.5 2772 | 2773 | cliui@8.0.1: 2774 | dependencies: 2775 | string-width: 4.2.3 2776 | strip-ansi: 6.0.1 2777 | wrap-ansi: 7.0.0 2778 | 2779 | color-convert@1.9.3: 2780 | dependencies: 2781 | color-name: 1.1.3 2782 | 2783 | color-convert@2.0.1: 2784 | dependencies: 2785 | color-name: 1.1.4 2786 | 2787 | color-name@1.1.3: {} 2788 | 2789 | color-name@1.1.4: {} 2790 | 2791 | combined-stream@1.0.8: 2792 | dependencies: 2793 | delayed-stream: 1.0.0 2794 | 2795 | comment-parser@1.4.1: {} 2796 | 2797 | commondir@1.0.1: {} 2798 | 2799 | concat-map@0.0.1: {} 2800 | 2801 | confbox@0.1.8: {} 2802 | 2803 | consola@3.3.1: {} 2804 | 2805 | core-js-compat@3.39.0: 2806 | dependencies: 2807 | browserslist: 4.24.2 2808 | 2809 | cross-spawn@7.0.6: 2810 | dependencies: 2811 | path-key: 3.1.1 2812 | shebang-command: 2.0.0 2813 | which: 2.0.2 2814 | 2815 | cssesc@3.0.0: {} 2816 | 2817 | cssstyle@4.1.0: 2818 | dependencies: 2819 | rrweb-cssom: 0.7.1 2820 | 2821 | data-urls@5.0.0: 2822 | dependencies: 2823 | whatwg-mimetype: 4.0.0 2824 | whatwg-url: 14.0.0 2825 | 2826 | debug@3.2.7: 2827 | dependencies: 2828 | ms: 2.1.3 2829 | 2830 | debug@4.4.0: 2831 | dependencies: 2832 | ms: 2.1.3 2833 | 2834 | decimal.js@10.4.3: {} 2835 | 2836 | decode-named-character-reference@1.0.2: 2837 | dependencies: 2838 | character-entities: 2.0.2 2839 | 2840 | deep-is@0.1.3: {} 2841 | 2842 | deepmerge@4.2.2: {} 2843 | 2844 | defu@6.1.4: {} 2845 | 2846 | delayed-stream@1.0.0: {} 2847 | 2848 | dequal@2.0.3: {} 2849 | 2850 | destr@2.0.3: {} 2851 | 2852 | devlop@1.1.0: 2853 | dependencies: 2854 | dequal: 2.0.3 2855 | 2856 | doctrine@3.0.0: 2857 | dependencies: 2858 | esutils: 2.0.3 2859 | 2860 | dotenv@16.4.7: {} 2861 | 2862 | electron-to-chromium@1.5.71: {} 2863 | 2864 | emoji-regex@8.0.0: {} 2865 | 2866 | enhanced-resolve@5.17.1: 2867 | dependencies: 2868 | graceful-fs: 4.2.4 2869 | tapable: 2.2.1 2870 | 2871 | entities@4.5.0: {} 2872 | 2873 | error-ex@1.3.2: 2874 | dependencies: 2875 | is-arrayish: 0.2.1 2876 | 2877 | es-module-lexer@1.5.4: {} 2878 | 2879 | esbuild@0.23.1: 2880 | optionalDependencies: 2881 | '@esbuild/aix-ppc64': 0.23.1 2882 | '@esbuild/android-arm': 0.23.1 2883 | '@esbuild/android-arm64': 0.23.1 2884 | '@esbuild/android-x64': 0.23.1 2885 | '@esbuild/darwin-arm64': 0.23.1 2886 | '@esbuild/darwin-x64': 0.23.1 2887 | '@esbuild/freebsd-arm64': 0.23.1 2888 | '@esbuild/freebsd-x64': 0.23.1 2889 | '@esbuild/linux-arm': 0.23.1 2890 | '@esbuild/linux-arm64': 0.23.1 2891 | '@esbuild/linux-ia32': 0.23.1 2892 | '@esbuild/linux-loong64': 0.23.1 2893 | '@esbuild/linux-mips64el': 0.23.1 2894 | '@esbuild/linux-ppc64': 0.23.1 2895 | '@esbuild/linux-riscv64': 0.23.1 2896 | '@esbuild/linux-s390x': 0.23.1 2897 | '@esbuild/linux-x64': 0.23.1 2898 | '@esbuild/netbsd-x64': 0.23.1 2899 | '@esbuild/openbsd-arm64': 0.23.1 2900 | '@esbuild/openbsd-x64': 0.23.1 2901 | '@esbuild/sunos-x64': 0.23.1 2902 | '@esbuild/win32-arm64': 0.23.1 2903 | '@esbuild/win32-ia32': 0.23.1 2904 | '@esbuild/win32-x64': 0.23.1 2905 | 2906 | escalade@3.2.0: {} 2907 | 2908 | escape-string-regexp@1.0.5: {} 2909 | 2910 | escape-string-regexp@4.0.0: {} 2911 | 2912 | escape-string-regexp@5.0.0: {} 2913 | 2914 | eslint-compat-utils@0.5.1(eslint@9.17.0(jiti@2.4.2)): 2915 | dependencies: 2916 | eslint: 9.17.0(jiti@2.4.2) 2917 | semver: 7.6.3 2918 | 2919 | eslint-compat-utils@0.6.4(eslint@9.17.0(jiti@2.4.2)): 2920 | dependencies: 2921 | eslint: 9.17.0(jiti@2.4.2) 2922 | semver: 7.6.3 2923 | 2924 | eslint-config-flat-gitignore@0.3.0(eslint@9.17.0(jiti@2.4.2)): 2925 | dependencies: 2926 | '@eslint/compat': 1.2.4(eslint@9.17.0(jiti@2.4.2)) 2927 | eslint: 9.17.0(jiti@2.4.2) 2928 | find-up-simple: 1.0.0 2929 | 2930 | eslint-flat-config-utils@0.4.0: 2931 | dependencies: 2932 | pathe: 1.1.2 2933 | 2934 | eslint-import-resolver-node@0.3.9: 2935 | dependencies: 2936 | debug: 3.2.7 2937 | is-core-module: 2.13.1 2938 | resolve: 1.22.8 2939 | transitivePeerDependencies: 2940 | - supports-color 2941 | 2942 | eslint-json-compat-utils@0.2.1(eslint@9.17.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0): 2943 | dependencies: 2944 | eslint: 9.17.0(jiti@2.4.2) 2945 | esquery: 1.6.0 2946 | jsonc-eslint-parser: 2.4.0 2947 | 2948 | eslint-merge-processors@0.1.0(eslint@9.17.0(jiti@2.4.2)): 2949 | dependencies: 2950 | eslint: 9.17.0(jiti@2.4.2) 2951 | 2952 | eslint-plugin-antfu@2.7.0(eslint@9.17.0(jiti@2.4.2)): 2953 | dependencies: 2954 | '@antfu/utils': 0.7.10 2955 | eslint: 9.17.0(jiti@2.4.2) 2956 | 2957 | eslint-plugin-command@0.2.7(eslint@9.17.0(jiti@2.4.2)): 2958 | dependencies: 2959 | '@es-joy/jsdoccomment': 0.49.0 2960 | eslint: 9.17.0(jiti@2.4.2) 2961 | 2962 | eslint-plugin-es-x@7.8.0(eslint@9.17.0(jiti@2.4.2)): 2963 | dependencies: 2964 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2)) 2965 | '@eslint-community/regexpp': 4.12.1 2966 | eslint: 9.17.0(jiti@2.4.2) 2967 | eslint-compat-utils: 0.5.1(eslint@9.17.0(jiti@2.4.2)) 2968 | 2969 | eslint-plugin-import-x@4.6.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2): 2970 | dependencies: 2971 | '@types/doctrine': 0.0.9 2972 | '@typescript-eslint/scope-manager': 8.18.2 2973 | '@typescript-eslint/utils': 8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 2974 | debug: 4.4.0 2975 | doctrine: 3.0.0 2976 | enhanced-resolve: 5.17.1 2977 | eslint: 9.17.0(jiti@2.4.2) 2978 | eslint-import-resolver-node: 0.3.9 2979 | get-tsconfig: 4.8.1 2980 | is-glob: 4.0.3 2981 | minimatch: 9.0.5 2982 | semver: 7.6.3 2983 | stable-hash: 0.0.4 2984 | tslib: 2.8.1 2985 | transitivePeerDependencies: 2986 | - supports-color 2987 | - typescript 2988 | 2989 | eslint-plugin-jsdoc@50.6.1(eslint@9.17.0(jiti@2.4.2)): 2990 | dependencies: 2991 | '@es-joy/jsdoccomment': 0.49.0 2992 | are-docs-informative: 0.0.2 2993 | comment-parser: 1.4.1 2994 | debug: 4.4.0 2995 | escape-string-regexp: 4.0.0 2996 | eslint: 9.17.0(jiti@2.4.2) 2997 | espree: 10.3.0 2998 | esquery: 1.6.0 2999 | parse-imports: 2.2.1 3000 | semver: 7.6.3 3001 | spdx-expression-parse: 4.0.0 3002 | synckit: 0.9.2 3003 | transitivePeerDependencies: 3004 | - supports-color 3005 | 3006 | eslint-plugin-jsonc@2.18.2(eslint@9.17.0(jiti@2.4.2)): 3007 | dependencies: 3008 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2)) 3009 | eslint: 9.17.0(jiti@2.4.2) 3010 | eslint-compat-utils: 0.6.4(eslint@9.17.0(jiti@2.4.2)) 3011 | eslint-json-compat-utils: 0.2.1(eslint@9.17.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0) 3012 | espree: 9.6.1 3013 | graphemer: 1.4.0 3014 | jsonc-eslint-parser: 2.4.0 3015 | natural-compare: 1.4.0 3016 | synckit: 0.6.2 3017 | transitivePeerDependencies: 3018 | - '@eslint/json' 3019 | 3020 | eslint-plugin-n@17.15.1(eslint@9.17.0(jiti@2.4.2)): 3021 | dependencies: 3022 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2)) 3023 | enhanced-resolve: 5.17.1 3024 | eslint: 9.17.0(jiti@2.4.2) 3025 | eslint-plugin-es-x: 7.8.0(eslint@9.17.0(jiti@2.4.2)) 3026 | get-tsconfig: 4.8.1 3027 | globals: 15.14.0 3028 | ignore: 5.3.2 3029 | minimatch: 9.0.5 3030 | semver: 7.6.3 3031 | 3032 | eslint-plugin-no-only-tests@3.3.0: {} 3033 | 3034 | eslint-plugin-perfectionist@4.4.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2): 3035 | dependencies: 3036 | '@typescript-eslint/types': 8.18.2 3037 | '@typescript-eslint/utils': 8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 3038 | eslint: 9.17.0(jiti@2.4.2) 3039 | natural-orderby: 5.0.0 3040 | transitivePeerDependencies: 3041 | - supports-color 3042 | - typescript 3043 | 3044 | eslint-plugin-regexp@2.7.0(eslint@9.17.0(jiti@2.4.2)): 3045 | dependencies: 3046 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2)) 3047 | '@eslint-community/regexpp': 4.12.1 3048 | comment-parser: 1.4.1 3049 | eslint: 9.17.0(jiti@2.4.2) 3050 | jsdoc-type-pratt-parser: 4.1.0 3051 | refa: 0.12.1 3052 | regexp-ast-analysis: 0.7.1 3053 | scslre: 0.3.0 3054 | 3055 | eslint-plugin-toml@0.12.0(eslint@9.17.0(jiti@2.4.2)): 3056 | dependencies: 3057 | debug: 4.4.0 3058 | eslint: 9.17.0(jiti@2.4.2) 3059 | eslint-compat-utils: 0.6.4(eslint@9.17.0(jiti@2.4.2)) 3060 | lodash: 4.17.21 3061 | toml-eslint-parser: 0.10.0 3062 | transitivePeerDependencies: 3063 | - supports-color 3064 | 3065 | eslint-plugin-unicorn@56.0.1(eslint@9.17.0(jiti@2.4.2)): 3066 | dependencies: 3067 | '@babel/helper-validator-identifier': 7.25.9 3068 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2)) 3069 | ci-info: 4.0.0 3070 | clean-regexp: 1.0.0 3071 | core-js-compat: 3.39.0 3072 | eslint: 9.17.0(jiti@2.4.2) 3073 | esquery: 1.6.0 3074 | globals: 15.14.0 3075 | indent-string: 4.0.0 3076 | is-builtin-module: 3.2.1 3077 | jsesc: 3.0.2 3078 | pluralize: 8.0.0 3079 | read-pkg-up: 7.0.1 3080 | regexp-tree: 0.1.27 3081 | regjsparser: 0.10.0 3082 | semver: 7.6.3 3083 | strip-indent: 3.0.0 3084 | 3085 | eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2)): 3086 | dependencies: 3087 | eslint: 9.17.0(jiti@2.4.2) 3088 | optionalDependencies: 3089 | '@typescript-eslint/eslint-plugin': 8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) 3090 | 3091 | eslint-plugin-vue@9.32.0(eslint@9.17.0(jiti@2.4.2)): 3092 | dependencies: 3093 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2)) 3094 | eslint: 9.17.0(jiti@2.4.2) 3095 | globals: 13.24.0 3096 | natural-compare: 1.4.0 3097 | nth-check: 2.1.1 3098 | postcss-selector-parser: 6.0.16 3099 | semver: 7.6.3 3100 | vue-eslint-parser: 9.4.3(eslint@9.17.0(jiti@2.4.2)) 3101 | xml-name-validator: 4.0.0 3102 | transitivePeerDependencies: 3103 | - supports-color 3104 | 3105 | eslint-plugin-yml@1.16.0(eslint@9.17.0(jiti@2.4.2)): 3106 | dependencies: 3107 | debug: 4.4.0 3108 | eslint: 9.17.0(jiti@2.4.2) 3109 | eslint-compat-utils: 0.6.4(eslint@9.17.0(jiti@2.4.2)) 3110 | lodash: 4.17.21 3111 | natural-compare: 1.4.0 3112 | yaml-eslint-parser: 1.2.3 3113 | transitivePeerDependencies: 3114 | - supports-color 3115 | 3116 | eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.17.0(jiti@2.4.2)): 3117 | dependencies: 3118 | '@vue/compiler-sfc': 3.4.27 3119 | eslint: 9.17.0(jiti@2.4.2) 3120 | 3121 | eslint-scope@7.2.2: 3122 | dependencies: 3123 | esrecurse: 4.3.0 3124 | estraverse: 5.3.0 3125 | 3126 | eslint-scope@8.2.0: 3127 | dependencies: 3128 | esrecurse: 4.3.0 3129 | estraverse: 5.3.0 3130 | 3131 | eslint-visitor-keys@3.4.3: {} 3132 | 3133 | eslint-visitor-keys@4.2.0: {} 3134 | 3135 | eslint@9.17.0(jiti@2.4.2): 3136 | dependencies: 3137 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2)) 3138 | '@eslint-community/regexpp': 4.12.1 3139 | '@eslint/config-array': 0.19.0 3140 | '@eslint/core': 0.9.0 3141 | '@eslint/eslintrc': 3.2.0 3142 | '@eslint/js': 9.17.0 3143 | '@eslint/plugin-kit': 0.2.3 3144 | '@humanfs/node': 0.16.6 3145 | '@humanwhocodes/module-importer': 1.0.1 3146 | '@humanwhocodes/retry': 0.4.1 3147 | '@types/estree': 1.0.6 3148 | '@types/json-schema': 7.0.15 3149 | ajv: 6.12.6 3150 | chalk: 4.1.0 3151 | cross-spawn: 7.0.6 3152 | debug: 4.4.0 3153 | escape-string-regexp: 4.0.0 3154 | eslint-scope: 8.2.0 3155 | eslint-visitor-keys: 4.2.0 3156 | espree: 10.3.0 3157 | esquery: 1.6.0 3158 | esutils: 2.0.3 3159 | fast-deep-equal: 3.1.3 3160 | file-entry-cache: 8.0.0 3161 | find-up: 5.0.0 3162 | glob-parent: 6.0.2 3163 | ignore: 5.3.2 3164 | imurmurhash: 0.1.4 3165 | is-glob: 4.0.3 3166 | json-stable-stringify-without-jsonify: 1.0.1 3167 | lodash.merge: 4.6.2 3168 | minimatch: 3.1.2 3169 | natural-compare: 1.4.0 3170 | optionator: 0.9.4 3171 | optionalDependencies: 3172 | jiti: 2.4.2 3173 | transitivePeerDependencies: 3174 | - supports-color 3175 | 3176 | esno@4.8.0: 3177 | dependencies: 3178 | tsx: 4.19.2 3179 | 3180 | espree@10.3.0: 3181 | dependencies: 3182 | acorn: 8.14.0 3183 | acorn-jsx: 5.3.2(acorn@8.14.0) 3184 | eslint-visitor-keys: 4.2.0 3185 | 3186 | espree@9.6.1: 3187 | dependencies: 3188 | acorn: 8.14.0 3189 | acorn-jsx: 5.3.2(acorn@8.14.0) 3190 | eslint-visitor-keys: 3.4.3 3191 | 3192 | esquery@1.6.0: 3193 | dependencies: 3194 | estraverse: 5.3.0 3195 | 3196 | esrecurse@4.3.0: 3197 | dependencies: 3198 | estraverse: 5.3.0 3199 | 3200 | estraverse@5.3.0: {} 3201 | 3202 | estree-walker@2.0.2: {} 3203 | 3204 | esutils@2.0.3: {} 3205 | 3206 | execa@8.0.1: 3207 | dependencies: 3208 | cross-spawn: 7.0.6 3209 | get-stream: 8.0.1 3210 | human-signals: 5.0.0 3211 | is-stream: 3.0.0 3212 | merge-stream: 2.0.0 3213 | npm-run-path: 5.3.0 3214 | onetime: 6.0.0 3215 | signal-exit: 4.1.0 3216 | strip-final-newline: 3.0.0 3217 | 3218 | fast-deep-equal@3.1.3: {} 3219 | 3220 | fast-glob@3.3.2: 3221 | dependencies: 3222 | '@nodelib/fs.stat': 2.0.5 3223 | '@nodelib/fs.walk': 1.2.8 3224 | glob-parent: 5.1.2 3225 | merge2: 1.4.1 3226 | micromatch: 4.0.5 3227 | 3228 | fast-json-stable-stringify@2.1.0: {} 3229 | 3230 | fast-levenshtein@2.0.6: {} 3231 | 3232 | fastq@1.9.0: 3233 | dependencies: 3234 | reusify: 1.0.4 3235 | 3236 | fdir@6.4.2(picomatch@4.0.2): 3237 | optionalDependencies: 3238 | picomatch: 4.0.2 3239 | 3240 | file-entry-cache@8.0.0: 3241 | dependencies: 3242 | flat-cache: 4.0.1 3243 | 3244 | fill-range@7.0.1: 3245 | dependencies: 3246 | to-regex-range: 5.0.1 3247 | 3248 | find-cache-dir@3.3.2: 3249 | dependencies: 3250 | commondir: 1.0.1 3251 | make-dir: 3.1.0 3252 | pkg-dir: 4.2.0 3253 | 3254 | find-up-simple@1.0.0: {} 3255 | 3256 | find-up@4.1.0: 3257 | dependencies: 3258 | locate-path: 5.0.0 3259 | path-exists: 4.0.0 3260 | 3261 | find-up@5.0.0: 3262 | dependencies: 3263 | locate-path: 6.0.0 3264 | path-exists: 4.0.0 3265 | 3266 | flat-cache@4.0.1: 3267 | dependencies: 3268 | flatted: 3.3.1 3269 | keyv: 4.5.4 3270 | 3271 | flatted@3.3.1: {} 3272 | 3273 | follow-redirects@1.15.6: {} 3274 | 3275 | form-data@4.0.0: 3276 | dependencies: 3277 | asynckit: 0.4.0 3278 | combined-stream: 1.0.8 3279 | mime-types: 2.1.27 3280 | 3281 | fs-extra@10.1.0: 3282 | dependencies: 3283 | graceful-fs: 4.2.4 3284 | jsonfile: 6.1.0 3285 | universalify: 2.0.1 3286 | 3287 | fs-minipass@2.1.0: 3288 | dependencies: 3289 | minipass: 3.3.6 3290 | 3291 | fsevents@2.3.3: 3292 | optional: true 3293 | 3294 | function-bind@1.1.2: {} 3295 | 3296 | get-caller-file@2.0.5: {} 3297 | 3298 | get-stream@8.0.1: {} 3299 | 3300 | get-tsconfig@4.8.1: 3301 | dependencies: 3302 | resolve-pkg-maps: 1.0.0 3303 | 3304 | giget@1.2.3: 3305 | dependencies: 3306 | citty: 0.1.6 3307 | consola: 3.3.1 3308 | defu: 6.1.4 3309 | node-fetch-native: 1.6.4 3310 | nypm: 0.3.12 3311 | ohash: 1.1.4 3312 | pathe: 1.1.2 3313 | tar: 6.2.1 3314 | 3315 | glob-parent@5.1.2: 3316 | dependencies: 3317 | is-glob: 4.0.3 3318 | 3319 | glob-parent@6.0.2: 3320 | dependencies: 3321 | is-glob: 4.0.3 3322 | 3323 | globals@13.24.0: 3324 | dependencies: 3325 | type-fest: 0.20.2 3326 | 3327 | globals@14.0.0: {} 3328 | 3329 | globals@15.14.0: {} 3330 | 3331 | graceful-fs@4.2.4: {} 3332 | 3333 | graphemer@1.4.0: {} 3334 | 3335 | has-flag@3.0.0: {} 3336 | 3337 | has-flag@4.0.0: {} 3338 | 3339 | hasown@2.0.2: 3340 | dependencies: 3341 | function-bind: 1.1.2 3342 | 3343 | hosted-git-info@2.8.8: {} 3344 | 3345 | html-encoding-sniffer@4.0.0: 3346 | dependencies: 3347 | whatwg-encoding: 3.1.1 3348 | 3349 | http-proxy-agent@7.0.2: 3350 | dependencies: 3351 | agent-base: 7.1.1 3352 | debug: 4.4.0 3353 | transitivePeerDependencies: 3354 | - supports-color 3355 | 3356 | https-proxy-agent@7.0.5: 3357 | dependencies: 3358 | agent-base: 7.1.1 3359 | debug: 4.4.0 3360 | transitivePeerDependencies: 3361 | - supports-color 3362 | 3363 | human-signals@5.0.0: {} 3364 | 3365 | iconv-lite@0.6.3: 3366 | dependencies: 3367 | safer-buffer: 2.1.2 3368 | 3369 | ignore@5.3.2: {} 3370 | 3371 | import-fresh@3.3.0: 3372 | dependencies: 3373 | parent-module: 1.0.1 3374 | resolve-from: 4.0.0 3375 | 3376 | imurmurhash@0.1.4: {} 3377 | 3378 | indent-string@4.0.0: {} 3379 | 3380 | is-arrayish@0.2.1: {} 3381 | 3382 | is-builtin-module@3.2.1: 3383 | dependencies: 3384 | builtin-modules: 3.3.0 3385 | 3386 | is-core-module@2.13.1: 3387 | dependencies: 3388 | hasown: 2.0.2 3389 | 3390 | is-extglob@2.1.1: {} 3391 | 3392 | is-fullwidth-code-point@3.0.0: {} 3393 | 3394 | is-glob@4.0.3: 3395 | dependencies: 3396 | is-extglob: 2.1.1 3397 | 3398 | is-module@1.0.0: {} 3399 | 3400 | is-number@7.0.0: {} 3401 | 3402 | is-potential-custom-element-name@1.0.1: {} 3403 | 3404 | is-reference@1.2.1: 3405 | dependencies: 3406 | '@types/estree': 1.0.6 3407 | 3408 | is-stream@3.0.0: {} 3409 | 3410 | isexe@2.0.0: {} 3411 | 3412 | jiti@2.4.2: {} 3413 | 3414 | js-tokens@4.0.0: {} 3415 | 3416 | js-yaml@4.1.0: 3417 | dependencies: 3418 | argparse: 2.0.1 3419 | 3420 | jsdoc-type-pratt-parser@4.1.0: {} 3421 | 3422 | jsdom@25.0.1: 3423 | dependencies: 3424 | cssstyle: 4.1.0 3425 | data-urls: 5.0.0 3426 | decimal.js: 10.4.3 3427 | form-data: 4.0.0 3428 | html-encoding-sniffer: 4.0.0 3429 | http-proxy-agent: 7.0.2 3430 | https-proxy-agent: 7.0.5 3431 | is-potential-custom-element-name: 1.0.1 3432 | nwsapi: 2.2.13 3433 | parse5: 7.1.2 3434 | rrweb-cssom: 0.7.1 3435 | saxes: 6.0.0 3436 | symbol-tree: 3.2.4 3437 | tough-cookie: 5.0.0 3438 | w3c-xmlserializer: 5.0.0 3439 | webidl-conversions: 7.0.0 3440 | whatwg-encoding: 3.1.1 3441 | whatwg-mimetype: 4.0.0 3442 | whatwg-url: 14.0.0 3443 | ws: 8.18.0 3444 | xml-name-validator: 5.0.0 3445 | transitivePeerDependencies: 3446 | - bufferutil 3447 | - supports-color 3448 | - utf-8-validate 3449 | 3450 | jsesc@0.5.0: {} 3451 | 3452 | jsesc@3.0.2: {} 3453 | 3454 | json-buffer@3.0.1: {} 3455 | 3456 | json-parse-even-better-errors@2.3.1: {} 3457 | 3458 | json-schema-traverse@0.4.1: {} 3459 | 3460 | json-stable-stringify-without-jsonify@1.0.1: {} 3461 | 3462 | jsonc-eslint-parser@2.4.0: 3463 | dependencies: 3464 | acorn: 8.14.0 3465 | eslint-visitor-keys: 3.4.3 3466 | espree: 9.6.1 3467 | semver: 7.6.3 3468 | 3469 | jsonc-parser@3.3.1: {} 3470 | 3471 | jsonfile@6.1.0: 3472 | dependencies: 3473 | universalify: 2.0.1 3474 | optionalDependencies: 3475 | graceful-fs: 4.2.4 3476 | 3477 | keyv@4.5.4: 3478 | dependencies: 3479 | json-buffer: 3.0.1 3480 | 3481 | kleur@3.0.3: {} 3482 | 3483 | levn@0.4.1: 3484 | dependencies: 3485 | prelude-ls: 1.2.1 3486 | type-check: 0.4.0 3487 | 3488 | lines-and-columns@1.1.6: {} 3489 | 3490 | local-pkg@0.5.1: 3491 | dependencies: 3492 | mlly: 1.7.3 3493 | pkg-types: 1.2.1 3494 | 3495 | locate-path@5.0.0: 3496 | dependencies: 3497 | p-locate: 4.1.0 3498 | 3499 | locate-path@6.0.0: 3500 | dependencies: 3501 | p-locate: 5.0.0 3502 | 3503 | lodash.merge@4.6.2: {} 3504 | 3505 | lodash@4.17.21: {} 3506 | 3507 | longest-streak@3.1.0: {} 3508 | 3509 | magic-string@0.30.10: 3510 | dependencies: 3511 | '@jridgewell/sourcemap-codec': 1.4.15 3512 | 3513 | make-dir@3.1.0: 3514 | dependencies: 3515 | semver: 6.3.0 3516 | 3517 | markdown-table@3.0.4: {} 3518 | 3519 | mdast-util-find-and-replace@3.0.1: 3520 | dependencies: 3521 | '@types/mdast': 4.0.4 3522 | escape-string-regexp: 5.0.0 3523 | unist-util-is: 6.0.0 3524 | unist-util-visit-parents: 6.0.1 3525 | 3526 | mdast-util-from-markdown@2.0.2: 3527 | dependencies: 3528 | '@types/mdast': 4.0.4 3529 | '@types/unist': 3.0.3 3530 | decode-named-character-reference: 1.0.2 3531 | devlop: 1.1.0 3532 | mdast-util-to-string: 4.0.0 3533 | micromark: 4.0.1 3534 | micromark-util-decode-numeric-character-reference: 2.0.2 3535 | micromark-util-decode-string: 2.0.1 3536 | micromark-util-normalize-identifier: 2.0.1 3537 | micromark-util-symbol: 2.0.1 3538 | micromark-util-types: 2.0.1 3539 | unist-util-stringify-position: 4.0.0 3540 | transitivePeerDependencies: 3541 | - supports-color 3542 | 3543 | mdast-util-gfm-autolink-literal@2.0.1: 3544 | dependencies: 3545 | '@types/mdast': 4.0.4 3546 | ccount: 2.0.1 3547 | devlop: 1.1.0 3548 | mdast-util-find-and-replace: 3.0.1 3549 | micromark-util-character: 2.1.1 3550 | 3551 | mdast-util-gfm-footnote@2.0.0: 3552 | dependencies: 3553 | '@types/mdast': 4.0.4 3554 | devlop: 1.1.0 3555 | mdast-util-from-markdown: 2.0.2 3556 | mdast-util-to-markdown: 2.1.2 3557 | micromark-util-normalize-identifier: 2.0.1 3558 | transitivePeerDependencies: 3559 | - supports-color 3560 | 3561 | mdast-util-gfm-strikethrough@2.0.0: 3562 | dependencies: 3563 | '@types/mdast': 4.0.4 3564 | mdast-util-from-markdown: 2.0.2 3565 | mdast-util-to-markdown: 2.1.2 3566 | transitivePeerDependencies: 3567 | - supports-color 3568 | 3569 | mdast-util-gfm-table@2.0.0: 3570 | dependencies: 3571 | '@types/mdast': 4.0.4 3572 | devlop: 1.1.0 3573 | markdown-table: 3.0.4 3574 | mdast-util-from-markdown: 2.0.2 3575 | mdast-util-to-markdown: 2.1.2 3576 | transitivePeerDependencies: 3577 | - supports-color 3578 | 3579 | mdast-util-gfm-task-list-item@2.0.0: 3580 | dependencies: 3581 | '@types/mdast': 4.0.4 3582 | devlop: 1.1.0 3583 | mdast-util-from-markdown: 2.0.2 3584 | mdast-util-to-markdown: 2.1.2 3585 | transitivePeerDependencies: 3586 | - supports-color 3587 | 3588 | mdast-util-gfm@3.0.0: 3589 | dependencies: 3590 | mdast-util-from-markdown: 2.0.2 3591 | mdast-util-gfm-autolink-literal: 2.0.1 3592 | mdast-util-gfm-footnote: 2.0.0 3593 | mdast-util-gfm-strikethrough: 2.0.0 3594 | mdast-util-gfm-table: 2.0.0 3595 | mdast-util-gfm-task-list-item: 2.0.0 3596 | mdast-util-to-markdown: 2.1.2 3597 | transitivePeerDependencies: 3598 | - supports-color 3599 | 3600 | mdast-util-phrasing@4.1.0: 3601 | dependencies: 3602 | '@types/mdast': 4.0.4 3603 | unist-util-is: 6.0.0 3604 | 3605 | mdast-util-to-markdown@2.1.2: 3606 | dependencies: 3607 | '@types/mdast': 4.0.4 3608 | '@types/unist': 3.0.3 3609 | longest-streak: 3.1.0 3610 | mdast-util-phrasing: 4.1.0 3611 | mdast-util-to-string: 4.0.0 3612 | micromark-util-classify-character: 2.0.1 3613 | micromark-util-decode-string: 2.0.1 3614 | unist-util-visit: 5.0.0 3615 | zwitch: 2.0.4 3616 | 3617 | mdast-util-to-string@4.0.0: 3618 | dependencies: 3619 | '@types/mdast': 4.0.4 3620 | 3621 | merge-stream@2.0.0: {} 3622 | 3623 | merge2@1.4.1: {} 3624 | 3625 | micromark-core-commonmark@2.0.2: 3626 | dependencies: 3627 | decode-named-character-reference: 1.0.2 3628 | devlop: 1.1.0 3629 | micromark-factory-destination: 2.0.1 3630 | micromark-factory-label: 2.0.1 3631 | micromark-factory-space: 2.0.1 3632 | micromark-factory-title: 2.0.1 3633 | micromark-factory-whitespace: 2.0.1 3634 | micromark-util-character: 2.1.1 3635 | micromark-util-chunked: 2.0.1 3636 | micromark-util-classify-character: 2.0.1 3637 | micromark-util-html-tag-name: 2.0.1 3638 | micromark-util-normalize-identifier: 2.0.1 3639 | micromark-util-resolve-all: 2.0.1 3640 | micromark-util-subtokenize: 2.0.3 3641 | micromark-util-symbol: 2.0.1 3642 | micromark-util-types: 2.0.1 3643 | 3644 | micromark-extension-gfm-autolink-literal@2.1.0: 3645 | dependencies: 3646 | micromark-util-character: 2.1.1 3647 | micromark-util-sanitize-uri: 2.0.1 3648 | micromark-util-symbol: 2.0.1 3649 | micromark-util-types: 2.0.1 3650 | 3651 | micromark-extension-gfm-footnote@2.1.0: 3652 | dependencies: 3653 | devlop: 1.1.0 3654 | micromark-core-commonmark: 2.0.2 3655 | micromark-factory-space: 2.0.1 3656 | micromark-util-character: 2.1.1 3657 | micromark-util-normalize-identifier: 2.0.1 3658 | micromark-util-sanitize-uri: 2.0.1 3659 | micromark-util-symbol: 2.0.1 3660 | micromark-util-types: 2.0.1 3661 | 3662 | micromark-extension-gfm-strikethrough@2.1.0: 3663 | dependencies: 3664 | devlop: 1.1.0 3665 | micromark-util-chunked: 2.0.1 3666 | micromark-util-classify-character: 2.0.1 3667 | micromark-util-resolve-all: 2.0.1 3668 | micromark-util-symbol: 2.0.1 3669 | micromark-util-types: 2.0.1 3670 | 3671 | micromark-extension-gfm-table@2.1.0: 3672 | dependencies: 3673 | devlop: 1.1.0 3674 | micromark-factory-space: 2.0.1 3675 | micromark-util-character: 2.1.1 3676 | micromark-util-symbol: 2.0.1 3677 | micromark-util-types: 2.0.1 3678 | 3679 | micromark-extension-gfm-tagfilter@2.0.0: 3680 | dependencies: 3681 | micromark-util-types: 2.0.1 3682 | 3683 | micromark-extension-gfm-task-list-item@2.1.0: 3684 | dependencies: 3685 | devlop: 1.1.0 3686 | micromark-factory-space: 2.0.1 3687 | micromark-util-character: 2.1.1 3688 | micromark-util-symbol: 2.0.1 3689 | micromark-util-types: 2.0.1 3690 | 3691 | micromark-extension-gfm@3.0.0: 3692 | dependencies: 3693 | micromark-extension-gfm-autolink-literal: 2.1.0 3694 | micromark-extension-gfm-footnote: 2.1.0 3695 | micromark-extension-gfm-strikethrough: 2.1.0 3696 | micromark-extension-gfm-table: 2.1.0 3697 | micromark-extension-gfm-tagfilter: 2.0.0 3698 | micromark-extension-gfm-task-list-item: 2.1.0 3699 | micromark-util-combine-extensions: 2.0.1 3700 | micromark-util-types: 2.0.1 3701 | 3702 | micromark-factory-destination@2.0.1: 3703 | dependencies: 3704 | micromark-util-character: 2.1.1 3705 | micromark-util-symbol: 2.0.1 3706 | micromark-util-types: 2.0.1 3707 | 3708 | micromark-factory-label@2.0.1: 3709 | dependencies: 3710 | devlop: 1.1.0 3711 | micromark-util-character: 2.1.1 3712 | micromark-util-symbol: 2.0.1 3713 | micromark-util-types: 2.0.1 3714 | 3715 | micromark-factory-space@2.0.1: 3716 | dependencies: 3717 | micromark-util-character: 2.1.1 3718 | micromark-util-types: 2.0.1 3719 | 3720 | micromark-factory-title@2.0.1: 3721 | dependencies: 3722 | micromark-factory-space: 2.0.1 3723 | micromark-util-character: 2.1.1 3724 | micromark-util-symbol: 2.0.1 3725 | micromark-util-types: 2.0.1 3726 | 3727 | micromark-factory-whitespace@2.0.1: 3728 | dependencies: 3729 | micromark-factory-space: 2.0.1 3730 | micromark-util-character: 2.1.1 3731 | micromark-util-symbol: 2.0.1 3732 | micromark-util-types: 2.0.1 3733 | 3734 | micromark-util-character@2.1.1: 3735 | dependencies: 3736 | micromark-util-symbol: 2.0.1 3737 | micromark-util-types: 2.0.1 3738 | 3739 | micromark-util-chunked@2.0.1: 3740 | dependencies: 3741 | micromark-util-symbol: 2.0.1 3742 | 3743 | micromark-util-classify-character@2.0.1: 3744 | dependencies: 3745 | micromark-util-character: 2.1.1 3746 | micromark-util-symbol: 2.0.1 3747 | micromark-util-types: 2.0.1 3748 | 3749 | micromark-util-combine-extensions@2.0.1: 3750 | dependencies: 3751 | micromark-util-chunked: 2.0.1 3752 | micromark-util-types: 2.0.1 3753 | 3754 | micromark-util-decode-numeric-character-reference@2.0.2: 3755 | dependencies: 3756 | micromark-util-symbol: 2.0.1 3757 | 3758 | micromark-util-decode-string@2.0.1: 3759 | dependencies: 3760 | decode-named-character-reference: 1.0.2 3761 | micromark-util-character: 2.1.1 3762 | micromark-util-decode-numeric-character-reference: 2.0.2 3763 | micromark-util-symbol: 2.0.1 3764 | 3765 | micromark-util-encode@2.0.1: {} 3766 | 3767 | micromark-util-html-tag-name@2.0.1: {} 3768 | 3769 | micromark-util-normalize-identifier@2.0.1: 3770 | dependencies: 3771 | micromark-util-symbol: 2.0.1 3772 | 3773 | micromark-util-resolve-all@2.0.1: 3774 | dependencies: 3775 | micromark-util-types: 2.0.1 3776 | 3777 | micromark-util-sanitize-uri@2.0.1: 3778 | dependencies: 3779 | micromark-util-character: 2.1.1 3780 | micromark-util-encode: 2.0.1 3781 | micromark-util-symbol: 2.0.1 3782 | 3783 | micromark-util-subtokenize@2.0.3: 3784 | dependencies: 3785 | devlop: 1.1.0 3786 | micromark-util-chunked: 2.0.1 3787 | micromark-util-symbol: 2.0.1 3788 | micromark-util-types: 2.0.1 3789 | 3790 | micromark-util-symbol@2.0.1: {} 3791 | 3792 | micromark-util-types@2.0.1: {} 3793 | 3794 | micromark@4.0.1: 3795 | dependencies: 3796 | '@types/debug': 4.1.12 3797 | debug: 4.4.0 3798 | decode-named-character-reference: 1.0.2 3799 | devlop: 1.1.0 3800 | micromark-core-commonmark: 2.0.2 3801 | micromark-factory-space: 2.0.1 3802 | micromark-util-character: 2.1.1 3803 | micromark-util-chunked: 2.0.1 3804 | micromark-util-combine-extensions: 2.0.1 3805 | micromark-util-decode-numeric-character-reference: 2.0.2 3806 | micromark-util-encode: 2.0.1 3807 | micromark-util-normalize-identifier: 2.0.1 3808 | micromark-util-resolve-all: 2.0.1 3809 | micromark-util-sanitize-uri: 2.0.1 3810 | micromark-util-subtokenize: 2.0.3 3811 | micromark-util-symbol: 2.0.1 3812 | micromark-util-types: 2.0.1 3813 | transitivePeerDependencies: 3814 | - supports-color 3815 | 3816 | micromatch@4.0.5: 3817 | dependencies: 3818 | braces: 3.0.2 3819 | picomatch: 2.3.1 3820 | 3821 | mime-db@1.44.0: {} 3822 | 3823 | mime-types@2.1.27: 3824 | dependencies: 3825 | mime-db: 1.44.0 3826 | 3827 | mimic-fn@4.0.0: {} 3828 | 3829 | min-indent@1.0.1: {} 3830 | 3831 | minimatch@3.1.2: 3832 | dependencies: 3833 | brace-expansion: 1.1.11 3834 | 3835 | minimatch@9.0.5: 3836 | dependencies: 3837 | brace-expansion: 2.0.1 3838 | 3839 | minipass@3.3.6: 3840 | dependencies: 3841 | yallist: 4.0.0 3842 | 3843 | minipass@5.0.0: {} 3844 | 3845 | minizlib@2.1.2: 3846 | dependencies: 3847 | minipass: 3.3.6 3848 | yallist: 4.0.0 3849 | 3850 | mkdirp@1.0.4: {} 3851 | 3852 | mlly@1.7.3: 3853 | dependencies: 3854 | acorn: 8.14.0 3855 | pathe: 1.1.2 3856 | pkg-types: 1.2.1 3857 | ufo: 1.5.4 3858 | 3859 | ms@2.1.3: {} 3860 | 3861 | nanoid@3.3.7: {} 3862 | 3863 | natural-compare@1.4.0: {} 3864 | 3865 | natural-orderby@5.0.0: {} 3866 | 3867 | node-fetch-native@1.6.4: {} 3868 | 3869 | node-releases@2.0.18: {} 3870 | 3871 | normalize-package-data@2.5.0: 3872 | dependencies: 3873 | hosted-git-info: 2.8.8 3874 | resolve: 1.22.8 3875 | semver: 5.7.1 3876 | validate-npm-package-license: 3.0.4 3877 | 3878 | npm-run-path@5.3.0: 3879 | dependencies: 3880 | path-key: 4.0.0 3881 | 3882 | nth-check@2.1.1: 3883 | dependencies: 3884 | boolbase: 1.0.0 3885 | 3886 | nwsapi@2.2.13: {} 3887 | 3888 | nypm@0.3.12: 3889 | dependencies: 3890 | citty: 0.1.6 3891 | consola: 3.3.1 3892 | execa: 8.0.1 3893 | pathe: 1.1.2 3894 | pkg-types: 1.2.1 3895 | ufo: 1.5.4 3896 | 3897 | ohash@1.1.4: {} 3898 | 3899 | onetime@6.0.0: 3900 | dependencies: 3901 | mimic-fn: 4.0.0 3902 | 3903 | optionator@0.9.4: 3904 | dependencies: 3905 | deep-is: 0.1.3 3906 | fast-levenshtein: 2.0.6 3907 | levn: 0.4.1 3908 | prelude-ls: 1.2.1 3909 | type-check: 0.4.0 3910 | word-wrap: 1.2.5 3911 | 3912 | p-limit@2.3.0: 3913 | dependencies: 3914 | p-try: 2.2.0 3915 | 3916 | p-limit@3.1.0: 3917 | dependencies: 3918 | yocto-queue: 0.1.0 3919 | 3920 | p-locate@4.1.0: 3921 | dependencies: 3922 | p-limit: 2.3.0 3923 | 3924 | p-locate@5.0.0: 3925 | dependencies: 3926 | p-limit: 3.1.0 3927 | 3928 | p-try@2.2.0: {} 3929 | 3930 | p5@1.11.2: {} 3931 | 3932 | package-manager-detector@0.2.6: {} 3933 | 3934 | parent-module@1.0.1: 3935 | dependencies: 3936 | callsites: 3.1.0 3937 | 3938 | parse-gitignore@2.0.0: {} 3939 | 3940 | parse-imports@2.2.1: 3941 | dependencies: 3942 | es-module-lexer: 1.5.4 3943 | slashes: 3.0.12 3944 | 3945 | parse-json@5.2.0: 3946 | dependencies: 3947 | '@babel/code-frame': 7.24.2 3948 | error-ex: 1.3.2 3949 | json-parse-even-better-errors: 2.3.1 3950 | lines-and-columns: 1.1.6 3951 | 3952 | parse5@7.1.2: 3953 | dependencies: 3954 | entities: 4.5.0 3955 | 3956 | path-exists@4.0.0: {} 3957 | 3958 | path-key@3.1.1: {} 3959 | 3960 | path-key@4.0.0: {} 3961 | 3962 | path-parse@1.0.7: {} 3963 | 3964 | pathe@1.1.2: {} 3965 | 3966 | perfect-debounce@1.0.0: {} 3967 | 3968 | picocolors@1.1.1: {} 3969 | 3970 | picomatch@2.3.1: {} 3971 | 3972 | picomatch@4.0.2: {} 3973 | 3974 | pkg-dir@4.2.0: 3975 | dependencies: 3976 | find-up: 4.1.0 3977 | 3978 | pkg-types@1.2.1: 3979 | dependencies: 3980 | confbox: 0.1.8 3981 | mlly: 1.7.3 3982 | pathe: 1.1.2 3983 | 3984 | pluralize@8.0.0: {} 3985 | 3986 | postcss-selector-parser@6.0.16: 3987 | dependencies: 3988 | cssesc: 3.0.0 3989 | util-deprecate: 1.0.2 3990 | 3991 | postcss@8.4.38: 3992 | dependencies: 3993 | nanoid: 3.3.7 3994 | picocolors: 1.1.1 3995 | source-map-js: 1.2.0 3996 | 3997 | prelude-ls@1.2.1: {} 3998 | 3999 | prompts@2.4.2: 4000 | dependencies: 4001 | kleur: 3.0.3 4002 | sisteransi: 1.0.5 4003 | 4004 | proxy-from-env@1.1.0: {} 4005 | 4006 | punycode@2.3.1: {} 4007 | 4008 | rc9@2.1.2: 4009 | dependencies: 4010 | defu: 6.1.4 4011 | destr: 2.0.3 4012 | 4013 | read-pkg-up@7.0.1: 4014 | dependencies: 4015 | find-up: 4.1.0 4016 | read-pkg: 5.2.0 4017 | type-fest: 0.8.1 4018 | 4019 | read-pkg@5.2.0: 4020 | dependencies: 4021 | '@types/normalize-package-data': 2.4.0 4022 | normalize-package-data: 2.5.0 4023 | parse-json: 5.2.0 4024 | type-fest: 0.6.0 4025 | 4026 | readdirp@4.0.2: {} 4027 | 4028 | refa@0.12.1: 4029 | dependencies: 4030 | '@eslint-community/regexpp': 4.12.1 4031 | 4032 | regexp-ast-analysis@0.7.1: 4033 | dependencies: 4034 | '@eslint-community/regexpp': 4.12.1 4035 | refa: 0.12.1 4036 | 4037 | regexp-tree@0.1.27: {} 4038 | 4039 | regjsparser@0.10.0: 4040 | dependencies: 4041 | jsesc: 0.5.0 4042 | 4043 | require-directory@2.1.1: {} 4044 | 4045 | resolve-from@4.0.0: {} 4046 | 4047 | resolve-pkg-maps@1.0.0: {} 4048 | 4049 | resolve@1.22.8: 4050 | dependencies: 4051 | is-core-module: 2.13.1 4052 | path-parse: 1.0.7 4053 | supports-preserve-symlinks-flag: 1.0.0 4054 | 4055 | reusify@1.0.4: {} 4056 | 4057 | rollup-plugin-dts@6.1.1(rollup@4.29.1)(typescript@5.7.2): 4058 | dependencies: 4059 | magic-string: 0.30.10 4060 | rollup: 4.29.1 4061 | typescript: 5.7.2 4062 | optionalDependencies: 4063 | '@babel/code-frame': 7.24.2 4064 | 4065 | rollup-plugin-typescript2@0.36.0(rollup@4.29.1)(typescript@5.7.2): 4066 | dependencies: 4067 | '@rollup/pluginutils': 4.2.1 4068 | find-cache-dir: 3.3.2 4069 | fs-extra: 10.1.0 4070 | rollup: 4.29.1 4071 | semver: 7.6.3 4072 | tslib: 2.8.1 4073 | typescript: 5.7.2 4074 | 4075 | rollup@4.29.1: 4076 | dependencies: 4077 | '@types/estree': 1.0.6 4078 | optionalDependencies: 4079 | '@rollup/rollup-android-arm-eabi': 4.29.1 4080 | '@rollup/rollup-android-arm64': 4.29.1 4081 | '@rollup/rollup-darwin-arm64': 4.29.1 4082 | '@rollup/rollup-darwin-x64': 4.29.1 4083 | '@rollup/rollup-freebsd-arm64': 4.29.1 4084 | '@rollup/rollup-freebsd-x64': 4.29.1 4085 | '@rollup/rollup-linux-arm-gnueabihf': 4.29.1 4086 | '@rollup/rollup-linux-arm-musleabihf': 4.29.1 4087 | '@rollup/rollup-linux-arm64-gnu': 4.29.1 4088 | '@rollup/rollup-linux-arm64-musl': 4.29.1 4089 | '@rollup/rollup-linux-loongarch64-gnu': 4.29.1 4090 | '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1 4091 | '@rollup/rollup-linux-riscv64-gnu': 4.29.1 4092 | '@rollup/rollup-linux-s390x-gnu': 4.29.1 4093 | '@rollup/rollup-linux-x64-gnu': 4.29.1 4094 | '@rollup/rollup-linux-x64-musl': 4.29.1 4095 | '@rollup/rollup-win32-arm64-msvc': 4.29.1 4096 | '@rollup/rollup-win32-ia32-msvc': 4.29.1 4097 | '@rollup/rollup-win32-x64-msvc': 4.29.1 4098 | fsevents: 2.3.3 4099 | 4100 | rrweb-cssom@0.7.1: {} 4101 | 4102 | run-parallel@1.1.10: {} 4103 | 4104 | safer-buffer@2.1.2: {} 4105 | 4106 | saxes@6.0.0: 4107 | dependencies: 4108 | xmlchars: 2.2.0 4109 | 4110 | scslre@0.3.0: 4111 | dependencies: 4112 | '@eslint-community/regexpp': 4.12.1 4113 | refa: 0.12.1 4114 | regexp-ast-analysis: 0.7.1 4115 | 4116 | semver@5.7.1: {} 4117 | 4118 | semver@6.3.0: {} 4119 | 4120 | semver@7.6.3: {} 4121 | 4122 | shebang-command@2.0.0: 4123 | dependencies: 4124 | shebang-regex: 3.0.0 4125 | 4126 | shebang-regex@3.0.0: {} 4127 | 4128 | signal-exit@4.1.0: {} 4129 | 4130 | sisteransi@1.0.5: {} 4131 | 4132 | slashes@3.0.12: {} 4133 | 4134 | source-map-js@1.2.0: {} 4135 | 4136 | spdx-correct@3.1.1: 4137 | dependencies: 4138 | spdx-expression-parse: 3.0.1 4139 | spdx-license-ids: 3.0.7 4140 | 4141 | spdx-exceptions@2.3.0: {} 4142 | 4143 | spdx-expression-parse@3.0.1: 4144 | dependencies: 4145 | spdx-exceptions: 2.3.0 4146 | spdx-license-ids: 3.0.7 4147 | 4148 | spdx-expression-parse@4.0.0: 4149 | dependencies: 4150 | spdx-exceptions: 2.3.0 4151 | spdx-license-ids: 3.0.7 4152 | 4153 | spdx-license-ids@3.0.7: {} 4154 | 4155 | stable-hash@0.0.4: {} 4156 | 4157 | string-width@4.2.3: 4158 | dependencies: 4159 | emoji-regex: 8.0.0 4160 | is-fullwidth-code-point: 3.0.0 4161 | strip-ansi: 6.0.1 4162 | 4163 | strip-ansi@6.0.1: 4164 | dependencies: 4165 | ansi-regex: 5.0.1 4166 | 4167 | strip-final-newline@3.0.0: {} 4168 | 4169 | strip-indent@3.0.0: 4170 | dependencies: 4171 | min-indent: 1.0.1 4172 | 4173 | strip-json-comments@3.1.1: {} 4174 | 4175 | supports-color@5.5.0: 4176 | dependencies: 4177 | has-flag: 3.0.0 4178 | 4179 | supports-color@7.2.0: 4180 | dependencies: 4181 | has-flag: 4.0.0 4182 | 4183 | supports-preserve-symlinks-flag@1.0.0: {} 4184 | 4185 | symbol-tree@3.2.4: {} 4186 | 4187 | synckit@0.6.2: 4188 | dependencies: 4189 | tslib: 2.8.1 4190 | 4191 | synckit@0.9.2: 4192 | dependencies: 4193 | '@pkgr/core': 0.1.1 4194 | tslib: 2.8.1 4195 | 4196 | tapable@2.2.1: {} 4197 | 4198 | tar@6.2.1: 4199 | dependencies: 4200 | chownr: 2.0.0 4201 | fs-minipass: 2.1.0 4202 | minipass: 5.0.0 4203 | minizlib: 2.1.2 4204 | mkdirp: 1.0.4 4205 | yallist: 4.0.0 4206 | 4207 | tinyexec@0.3.1: {} 4208 | 4209 | tinyglobby@0.2.10: 4210 | dependencies: 4211 | fdir: 6.4.2(picomatch@4.0.2) 4212 | picomatch: 4.0.2 4213 | 4214 | tldts-core@6.1.66: {} 4215 | 4216 | tldts@6.1.66: 4217 | dependencies: 4218 | tldts-core: 6.1.66 4219 | 4220 | to-fast-properties@2.0.0: {} 4221 | 4222 | to-regex-range@5.0.1: 4223 | dependencies: 4224 | is-number: 7.0.0 4225 | 4226 | toml-eslint-parser@0.10.0: 4227 | dependencies: 4228 | eslint-visitor-keys: 3.4.3 4229 | 4230 | tough-cookie@5.0.0: 4231 | dependencies: 4232 | tldts: 6.1.66 4233 | 4234 | tr46@5.0.0: 4235 | dependencies: 4236 | punycode: 2.3.1 4237 | 4238 | ts-api-utils@1.3.0(typescript@5.7.2): 4239 | dependencies: 4240 | typescript: 5.7.2 4241 | 4242 | tslib@2.8.1: {} 4243 | 4244 | tsx@4.19.2: 4245 | dependencies: 4246 | esbuild: 0.23.1 4247 | get-tsconfig: 4.8.1 4248 | optionalDependencies: 4249 | fsevents: 2.3.3 4250 | 4251 | type-check@0.4.0: 4252 | dependencies: 4253 | prelude-ls: 1.2.1 4254 | 4255 | type-fest@0.20.2: {} 4256 | 4257 | type-fest@0.6.0: {} 4258 | 4259 | type-fest@0.8.1: {} 4260 | 4261 | typescript@5.7.2: {} 4262 | 4263 | ufo@1.5.4: {} 4264 | 4265 | undici-types@6.20.0: {} 4266 | 4267 | unist-util-is@6.0.0: 4268 | dependencies: 4269 | '@types/unist': 3.0.3 4270 | 4271 | unist-util-stringify-position@4.0.0: 4272 | dependencies: 4273 | '@types/unist': 3.0.3 4274 | 4275 | unist-util-visit-parents@6.0.1: 4276 | dependencies: 4277 | '@types/unist': 3.0.3 4278 | unist-util-is: 6.0.0 4279 | 4280 | unist-util-visit@5.0.0: 4281 | dependencies: 4282 | '@types/unist': 3.0.3 4283 | unist-util-is: 6.0.0 4284 | unist-util-visit-parents: 6.0.1 4285 | 4286 | universalify@2.0.1: {} 4287 | 4288 | update-browserslist-db@1.1.1(browserslist@4.24.2): 4289 | dependencies: 4290 | browserslist: 4.24.2 4291 | escalade: 3.2.0 4292 | picocolors: 1.1.1 4293 | 4294 | uri-js@4.4.0: 4295 | dependencies: 4296 | punycode: 2.3.1 4297 | 4298 | util-deprecate@1.0.2: {} 4299 | 4300 | validate-npm-package-license@3.0.4: 4301 | dependencies: 4302 | spdx-correct: 3.1.1 4303 | spdx-expression-parse: 3.0.1 4304 | 4305 | vue-eslint-parser@9.4.3(eslint@9.17.0(jiti@2.4.2)): 4306 | dependencies: 4307 | debug: 4.4.0 4308 | eslint: 9.17.0(jiti@2.4.2) 4309 | eslint-scope: 7.2.2 4310 | eslint-visitor-keys: 3.4.3 4311 | espree: 9.6.1 4312 | esquery: 1.6.0 4313 | lodash: 4.17.21 4314 | semver: 7.6.3 4315 | transitivePeerDependencies: 4316 | - supports-color 4317 | 4318 | w3c-xmlserializer@5.0.0: 4319 | dependencies: 4320 | xml-name-validator: 5.0.0 4321 | 4322 | webidl-conversions@7.0.0: {} 4323 | 4324 | whatwg-encoding@3.1.1: 4325 | dependencies: 4326 | iconv-lite: 0.6.3 4327 | 4328 | whatwg-mimetype@4.0.0: {} 4329 | 4330 | whatwg-url@14.0.0: 4331 | dependencies: 4332 | tr46: 5.0.0 4333 | webidl-conversions: 7.0.0 4334 | 4335 | which@2.0.2: 4336 | dependencies: 4337 | isexe: 2.0.0 4338 | 4339 | word-wrap@1.2.5: {} 4340 | 4341 | wrap-ansi@7.0.0: 4342 | dependencies: 4343 | ansi-styles: 4.3.0 4344 | string-width: 4.2.3 4345 | strip-ansi: 6.0.1 4346 | 4347 | ws@8.18.0: {} 4348 | 4349 | xml-name-validator@4.0.0: {} 4350 | 4351 | xml-name-validator@5.0.0: {} 4352 | 4353 | xmlchars@2.2.0: {} 4354 | 4355 | y18n@5.0.8: {} 4356 | 4357 | yallist@4.0.0: {} 4358 | 4359 | yaml-eslint-parser@1.2.3: 4360 | dependencies: 4361 | eslint-visitor-keys: 3.4.3 4362 | lodash: 4.17.21 4363 | yaml: 2.4.2 4364 | 4365 | yaml@2.4.2: {} 4366 | 4367 | yargs-parser@21.1.1: {} 4368 | 4369 | yargs@17.7.2: 4370 | dependencies: 4371 | cliui: 8.0.1 4372 | escalade: 3.2.0 4373 | get-caller-file: 2.0.5 4374 | require-directory: 2.1.1 4375 | string-width: 4.2.3 4376 | y18n: 5.0.8 4377 | yargs-parser: 21.1.1 4378 | 4379 | yocto-queue@0.1.0: {} 4380 | 4381 | zwitch@2.0.4: {} 4382 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import commonjs from '@rollup/plugin-commonjs' 2 | import { nodeResolve } from '@rollup/plugin-node-resolve' 3 | import dts from 'rollup-plugin-dts' 4 | import typescript from 'rollup-plugin-typescript2' 5 | 6 | export default [ 7 | { 8 | input: 'src/p5i.ts', 9 | output: [ 10 | { 11 | file: 'dist/p5i.mjs', 12 | format: 'esm', 13 | }, 14 | ], 15 | plugins: [typescript(), nodeResolve(), commonjs()], 16 | }, 17 | { 18 | input: 'src/p5i.ts', 19 | output: [ 20 | { 21 | file: 'dist/p5i.browser.js', 22 | format: 'umd', 23 | name: 'P5I', 24 | }, 25 | ], 26 | plugins: [typescript(), nodeResolve(), commonjs()], 27 | }, 28 | { 29 | input: 'src/p5i.ts', 30 | output: [ 31 | { 32 | file: 'dist/p5i.d.ts', 33 | format: 'es', 34 | }, 35 | ], 36 | plugins: [dts()], 37 | }, 38 | ] 39 | -------------------------------------------------------------------------------- /scripts/fetch.ts: -------------------------------------------------------------------------------- 1 | import { promises as fs } from 'node:fs' 2 | import axios from 'axios' 3 | 4 | async function run() { 5 | const { data } = await axios.get('https://github.com/processing/p5.js/blob/main/src/core/constants.js?raw=true') 6 | await fs.writeFile('src/constants.ts', data, 'utf-8') 7 | } 8 | 9 | run() 10 | -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @module Constants 3 | * @submodule Constants 4 | * @for p5 5 | */ 6 | 7 | const _PI = Math.PI; 8 | 9 | /** 10 | * Version of this p5.js. 11 | * @property {String} VERSION 12 | * @final 13 | */ 14 | export const VERSION = 15 | 'VERSION_CONST_WILL_BE_REPLACED_BY_BROWSERIFY_BUILD_PROCESS'; 16 | 17 | // GRAPHICS RENDERER 18 | /** 19 | * The default, two-dimensional renderer. 20 | * @property {String} P2D 21 | * @final 22 | */ 23 | export const P2D = 'p2d'; 24 | /** 25 | * One of the two render modes in p5.js, used for computationally intensive tasks like 3D rendering and shaders. 26 | * 27 | * `WEBGL` differs from the default `P2D` renderer in the following ways: 28 | * 29 | * - **Coordinate System** - When drawing in `WEBGL` mode, the origin point (0,0,0) is located at the center of the screen, not the top-left corner. See the learn page about coordinates and transformations. 30 | * - **3D Shapes** - `WEBGL` mode can be used to draw 3-dimensional shapes like box(), sphere(), cone(), and more. See the learn page about custom geometry to make more complex objects. 31 | * - **Shape Detail** - When drawing in `WEBGL` mode, you can specify how smooth curves should be drawn by using a `detail` parameter. See the wiki section about shapes for a more information and an example. 32 | * - **Textures** - A texture is like a skin that wraps onto a shape. See the wiki section about textures for examples of mapping images onto surfaces with textures. 33 | * - **Materials and Lighting** - `WEBGL` offers different types of lights like ambientLight() to place around a scene. Materials like specularMaterial() reflect the lighting to convey shape and depth. See the learn page for styling and appearance to experiment with different combinations. 34 | * - **Camera** - The viewport of a `WEBGL` sketch can be adjusted by changing camera attributes. See the learn page section about cameras for an explanation of camera controls. 35 | * - **Text** - `WEBGL` requires opentype/truetype font files to be preloaded using loadFont(). See the wiki section about text for details, along with a workaround. 36 | * - **Shaders** - Shaders are hardware accelerated programs that can be used for a variety of effects and graphics. See the introduction to shaders to get started with shaders in p5.js. 37 | * - **Graphics Acceleration** - `WEBGL` mode uses the graphics card instead of the CPU, so it may help boost the performance of your sketch (example: drawing more shapes on the screen at once). 38 | * 39 | * To learn more about WEBGL mode, check out all the interactive WEBGL tutorials in the "Learn" section of this website, or read the wiki article "Getting started with WebGL in p5". 40 | * 41 | * @property {String} WEBGL 42 | * @final 43 | */ 44 | export const WEBGL = 'webgl'; 45 | /** 46 | * One of the two possible values of a WebGL canvas (either WEBGL or WEBGL2), 47 | * which can be used to determine what capabilities the rendering environment 48 | * has. 49 | * @property {String} WEBGL2 50 | * @final 51 | */ 52 | export const WEBGL2 = 'webgl2'; 53 | 54 | // ENVIRONMENT 55 | /** 56 | * @property {String} ARROW 57 | * @final 58 | */ 59 | export const ARROW = 'default'; 60 | /** 61 | * @property {String} CROSS 62 | * @final 63 | */ 64 | export const CROSS = 'crosshair'; 65 | /** 66 | * @property {String} HAND 67 | * @final 68 | */ 69 | export const HAND = 'pointer'; 70 | /** 71 | * @property {String} MOVE 72 | * @final 73 | */ 74 | export const MOVE = 'move'; 75 | /** 76 | * @property {String} TEXT 77 | * @final 78 | */ 79 | export const TEXT = 'text'; 80 | /** 81 | * @property {String} WAIT 82 | * @final 83 | */ 84 | export const WAIT = 'wait'; 85 | 86 | // TRIGONOMETRY 87 | 88 | /** 89 | * A `Number` constant that's approximately 1.5708. 90 | * 91 | * `HALF_PI` is half the value of the mathematical constant π. It's useful for 92 | * many tasks that involve rotation and oscillation. For example, calling 93 | * `rotate(HALF_PI)` rotates the coordinate system `HALF_PI` radians, which is 94 | * a quarter turn (90˚). 95 | * 96 | * Note: `TWO_PI` radians equals 360˚, `PI` radians equals 180˚, `HALF_PI` 97 | * radians equals 90˚, and `QUARTER_PI` radians equals 45˚. 98 | * 99 | * @property {Number} HALF_PI 100 | * @final 101 | * 102 | * @example 103 | *
104 | * 105 | * function setup() { 106 | * createCanvas(100, 100); 107 | * 108 | * background(200); 109 | * 110 | * // Draw an arc from 0 to HALF_PI. 111 | * arc(50, 50, 80, 80, 0, HALF_PI); 112 | * 113 | * describe('The bottom-right quarter of a circle drawn in white on a gray background.'); 114 | * } 115 | * 116 | *
117 | * 118 | *
119 | * 120 | * function setup() { 121 | * createCanvas(100, 100); 122 | * 123 | * background(200); 124 | * 125 | * // Translate the origin to the center. 126 | * translate(50, 50); 127 | * 128 | * // Draw a line. 129 | * line(0, 0, 40, 0); 130 | * 131 | * // Rotate a quarter turn. 132 | * rotate(HALF_PI); 133 | * 134 | * // Draw the same line, rotated. 135 | * line(0, 0, 40, 0); 136 | * 137 | * describe('Two black lines on a gray background. One line extends from the center to the right. The other line extends from the center to the bottom.'); 138 | * } 139 | * 140 | *
141 | * 142 | *
143 | * 144 | * function setup() { 145 | * createCanvas(100, 100); 146 | * 147 | * describe( 148 | * 'A red circle and a blue circle oscillate from left to right on a gray background. The red circle appears to chase the blue circle.' 149 | * ); 150 | * } 151 | * 152 | * function draw() { 153 | * background(200); 154 | * 155 | * // Translate the origin to the center. 156 | * translate(50, 50); 157 | * 158 | * // Calculate the x-coordinates. 159 | * let x1 = 40 * sin(frameCount * 0.05); 160 | * let x2 = 40 * sin(frameCount * 0.05 + HALF_PI); 161 | * 162 | * // Style the oscillators. 163 | * noStroke(); 164 | * 165 | * // Draw the red oscillator. 166 | * fill(255, 0, 0); 167 | * circle(x1, 0, 20); 168 | * 169 | * // Draw the blue oscillator. 170 | * fill(0, 0, 255); 171 | * circle(x2, 0, 20); 172 | * } 173 | * 174 | *
175 | */ 176 | export const HALF_PI = _PI / 2; 177 | 178 | /** 179 | * A `Number` constant that's approximately 3.1416. 180 | * 181 | * `PI` is the mathematical constant π. It's useful for many tasks that 182 | * involve rotation and oscillation. For example, calling `rotate(PI)` rotates 183 | * the coordinate system `PI` radians, which is a half turn (180˚). 184 | * 185 | * Note: `TWO_PI` radians equals 360˚, `PI` radians equals 180˚, `HALF_PI` 186 | * radians equals 90˚, and `QUARTER_PI` radians equals 45˚. 187 | * 188 | * @property {Number} PI 189 | * @final 190 | * 191 | * @example 192 | *
193 | * 194 | * function setup() { 195 | * createCanvas(100, 100); 196 | * 197 | * background(200); 198 | * 199 | * // Draw an arc from 0 to PI. 200 | * arc(50, 50, 80, 80, 0, PI); 201 | * 202 | * describe('The bottom half of a circle drawn in white on a gray background.'); 203 | * } 204 | * 205 | *
206 | * 207 | *
208 | * 209 | * function setup() { 210 | * createCanvas(100, 100); 211 | * 212 | * background(200); 213 | * 214 | * // Translate the origin to the center. 215 | * translate(50, 50); 216 | * 217 | * // Draw a line. 218 | * line(0, 0, 40, 0); 219 | * 220 | * // Rotate a half turn. 221 | * rotate(PI); 222 | * 223 | * // Draw the same line, rotated. 224 | * line(0, 0, 40, 0); 225 | * 226 | * describe('A horizontal black line on a gray background.'); 227 | * } 228 | * 229 | *
230 | * 231 | *
232 | * 233 | * function setup() { 234 | * createCanvas(100, 100); 235 | * 236 | * describe( 237 | * 'A red circle and a blue circle oscillate from left to right on a gray background. The circles drift apart, then meet in the middle, over and over again.' 238 | * ); 239 | * } 240 | * 241 | * function draw() { 242 | * background(200); 243 | * 244 | * // Translate the origin to the center. 245 | * translate(50, 50); 246 | * 247 | * // Calculate the x-coordinates. 248 | * let x1 = 40 * sin(frameCount * 0.05); 249 | * let x2 = 40 * sin(frameCount * 0.05 + PI); 250 | * 251 | * // Style the oscillators. 252 | * noStroke(); 253 | * 254 | * // Draw the red oscillator. 255 | * fill(255, 0, 0); 256 | * circle(x1, 0, 20); 257 | * 258 | * // Draw the blue oscillator. 259 | * fill(0, 0, 255); 260 | * circle(x2, 0, 20); 261 | * } 262 | * 263 | *
264 | */ 265 | export const PI = _PI; 266 | 267 | /** 268 | * A `Number` constant that's approximately 0.7854. 269 | * 270 | * `QUARTER_PI` is one-fourth the value of the mathematical constant π. It's 271 | * useful for many tasks that involve rotation and oscillation. For example, 272 | * calling `rotate(QUARTER_PI)` rotates the coordinate system `QUARTER_PI` 273 | * radians, which is an eighth of a turn (45˚). 274 | * 275 | * Note: `TWO_PI` radians equals 360˚, `PI` radians equals 180˚, `HALF_PI` 276 | * radians equals 90˚, and `QUARTER_PI` radians equals 45˚. 277 | * 278 | * @property {Number} QUARTER_PI 279 | * @final 280 | * 281 | * @example 282 | *
283 | * 284 | * function setup() { 285 | * createCanvas(100, 100); 286 | * 287 | * background(200); 288 | * 289 | * // Draw an arc from 0 to QUARTER_PI. 290 | * arc(50, 50, 80, 80, 0, QUARTER_PI); 291 | * 292 | * describe('A one-eighth slice of a circle drawn in white on a gray background.'); 293 | * } 294 | * 295 | *
296 | * 297 | *
298 | * 299 | * function setup() { 300 | * createCanvas(100, 100); 301 | * 302 | * background(200); 303 | * 304 | * // Translate the origin to the center. 305 | * translate(50, 50); 306 | * 307 | * // Draw a line. 308 | * line(0, 0, 40, 0); 309 | * 310 | * // Rotate an eighth turn. 311 | * rotate(QUARTER_PI); 312 | * 313 | * // Draw the same line, rotated. 314 | * line(0, 0, 40, 0); 315 | * 316 | * describe('Two black lines that form a "V" opening towards the bottom-right corner of a gray square.'); 317 | * } 318 | * 319 | *
320 | * 321 | *
322 | * 323 | * function setup() { 324 | * createCanvas(100, 100); 325 | * 326 | * describe( 327 | * 'A red circle and a blue circle oscillate from left to right on a gray background. The red circle appears to chase the blue circle.' 328 | * ); 329 | * } 330 | * 331 | * function draw() { 332 | * background(200); 333 | * 334 | * // Translate the origin to the center. 335 | * translate(50, 50); 336 | * 337 | * // Calculate the x-coordinates. 338 | * let x1 = 40 * sin(frameCount * 0.05); 339 | * let x2 = 40 * sin(frameCount * 0.05 + QUARTER_PI); 340 | * 341 | * // Style the oscillators. 342 | * noStroke(); 343 | * 344 | * // Draw the red oscillator. 345 | * fill(255, 0, 0); 346 | * circle(x1, 0, 20); 347 | * 348 | * // Draw the blue oscillator. 349 | * fill(0, 0, 255); 350 | * circle(x2, 0, 20); 351 | * } 352 | * 353 | *
354 | */ 355 | export const QUARTER_PI = _PI / 4; 356 | 357 | /** 358 | * A `Number` constant that's approximately 6.2382. 359 | * 360 | * `TAU` is twice the value of the mathematical constant π. It's useful for 361 | * many tasks that involve rotation and oscillation. For example, calling 362 | * `rotate(TAU)` rotates the coordinate system `TAU` radians, which is one 363 | * full turn (360˚). `TAU` and `TWO_PI` are equal. 364 | * 365 | * Note: `TAU` radians equals 360˚, `PI` radians equals 180˚, `HALF_PI` 366 | * radians equals 90˚, and `QUARTER_PI` radians equals 45˚. 367 | * 368 | * @property {Number} TAU 369 | * @final 370 | * 371 | * @example 372 | *
373 | * 374 | * function setup() { 375 | * createCanvas(100, 100); 376 | * 377 | * background(200); 378 | * 379 | * // Draw an arc from 0 to TAU. 380 | * arc(50, 50, 80, 80, 0, TAU); 381 | * 382 | * describe('A white circle drawn on a gray background.'); 383 | * } 384 | * 385 | *
386 | * 387 | *
388 | * 389 | * function setup() { 390 | * createCanvas(100, 100); 391 | * 392 | * background(200); 393 | * 394 | * // Translate the origin to the center. 395 | * translate(50, 50); 396 | * 397 | * // Draw a line. 398 | * line(0, 0, 40, 0); 399 | * 400 | * // Rotate a full turn. 401 | * rotate(TAU); 402 | * 403 | * // Style the second line. 404 | * strokeWeight(5); 405 | * 406 | * // Draw the same line, shorter and rotated. 407 | * line(0, 0, 20, 0); 408 | * 409 | * describe( 410 | * 'Two horizontal black lines on a gray background. A thick line extends from the center toward the right. A thin line extends from the end of the thick line.' 411 | * ); 412 | * } 413 | * 414 | *
415 | * 416 | *
417 | * 418 | * function setup() { 419 | * createCanvas(100, 100); 420 | * 421 | * describe( 422 | * 'A red circle with a blue center oscillates from left to right on a gray background.' 423 | * ); 424 | * } 425 | * 426 | * function draw() { 427 | * background(200); 428 | * 429 | * // Translate the origin to the center. 430 | * translate(50, 50); 431 | * 432 | * // Calculate the x-coordinates. 433 | * let x1 = 40 * sin(frameCount * 0.05); 434 | * let x2 = 40 * sin(frameCount * 0.05 + TAU); 435 | * 436 | * // Style the oscillators. 437 | * noStroke(); 438 | * 439 | * // Draw the red oscillator. 440 | * fill(255, 0, 0); 441 | * circle(x1, 0, 20); 442 | * 443 | * // Draw the blue oscillator, smaller. 444 | * fill(0, 0, 255); 445 | * circle(x2, 0, 10); 446 | * } 447 | * 448 | *
449 | */ 450 | export const TAU = _PI * 2; 451 | 452 | /** 453 | * A `Number` constant that's approximately 6.2382. 454 | * 455 | * `TWO_PI` is twice the value of the mathematical constant π. It's useful for 456 | * many tasks that involve rotation and oscillation. For example, calling 457 | * `rotate(TWO_PI)` rotates the coordinate system `TWO_PI` radians, which is 458 | * one full turn (360˚). `TWO_PI` and `TAU` are equal. 459 | * 460 | * Note: `TWO_PI` radians equals 360˚, `PI` radians equals 180˚, `HALF_PI` 461 | * radians equals 90˚, and `QUARTER_PI` radians equals 45˚. 462 | * 463 | * @property {Number} TWO_PI 464 | * @final 465 | * 466 | * @example 467 | *
468 | * 469 | * function setup() { 470 | * createCanvas(100, 100); 471 | * 472 | * background(200); 473 | * 474 | * // Draw an arc from 0 to TWO_PI. 475 | * arc(50, 50, 80, 80, 0, TWO_PI); 476 | * 477 | * describe('A white circle drawn on a gray background.'); 478 | * } 479 | * 480 | *
481 | * 482 | *
483 | * 484 | * function setup() { 485 | * createCanvas(100, 100); 486 | * 487 | * background(200); 488 | * 489 | * // Translate the origin to the center. 490 | * translate(50, 50); 491 | * 492 | * // Draw a line. 493 | * line(0, 0, 40, 0); 494 | * 495 | * // Rotate a full turn. 496 | * rotate(TWO_PI); 497 | * 498 | * // Style the second line. 499 | * strokeWeight(5); 500 | * 501 | * // Draw the same line, shorter and rotated. 502 | * line(0, 0, 20, 0); 503 | * 504 | * describe( 505 | * 'Two horizontal black lines on a gray background. A thick line extends from the center toward the right. A thin line extends from the end of the thick line.' 506 | * ); 507 | * } 508 | * 509 | *
510 | * 511 | *
512 | * 513 | * function setup() { 514 | * createCanvas(100, 100); 515 | * 516 | * describe( 517 | * 'A red circle with a blue center oscillates from left to right on a gray background.' 518 | * ); 519 | * } 520 | * 521 | * function draw() { 522 | * background(200); 523 | * 524 | * // Translate the origin to the center. 525 | * translate(50, 50); 526 | * 527 | * // Calculate the x-coordinates. 528 | * let x1 = 40 * sin(frameCount * 0.05); 529 | * let x2 = 40 * sin(frameCount * 0.05 + TWO_PI); 530 | * 531 | * // Style the oscillators. 532 | * noStroke(); 533 | * 534 | * // Draw the red oscillator. 535 | * fill(255, 0, 0); 536 | * circle(x1, 0, 20); 537 | * 538 | * // Draw the blue oscillator, smaller. 539 | * fill(0, 0, 255); 540 | * circle(x2, 0, 10); 541 | * } 542 | * 543 | *
544 | */ 545 | export const TWO_PI = _PI * 2; 546 | 547 | /** 548 | * A `String` constant that's used to set the 549 | * angleMode(). 550 | * 551 | * By default, functions such as rotate() and 552 | * sin() expect angles measured in units of radians. 553 | * Calling `angleMode(DEGREES)` ensures that angles are measured in units of 554 | * degrees. 555 | * 556 | * Note: `TWO_PI` radians equals 360˚. 557 | * 558 | * @property {String} DEGREES 559 | * @final 560 | * 561 | * @example 562 | *
563 | * 564 | * function setup() { 565 | * createCanvas(100, 100); 566 | * 567 | * background(200); 568 | * 569 | * // Draw a red arc from 0 to HALF_PI radians. 570 | * fill(255, 0, 0); 571 | * arc(50, 50, 80, 80, 0, HALF_PI); 572 | * 573 | * // Use degrees. 574 | * angleMode(DEGREES); 575 | * 576 | * // Draw a blue arc from 90˚ to 180˚. 577 | * fill(0, 0, 255); 578 | * arc(50, 50, 80, 80, 90, 180); 579 | * 580 | * describe('The bottom half of a circle drawn on a gray background. The bottom-right quarter is red. The bottom-left quarter is blue.'); 581 | * } 582 | * 583 | *
584 | */ 585 | export const DEGREES = 'degrees'; 586 | 587 | /** 588 | * A `String` constant that's used to set the 589 | * angleMode(). 590 | * 591 | * By default, functions such as rotate() and 592 | * sin() expect angles measured in units of radians. 593 | * Calling `angleMode(RADIANS)` ensures that angles are measured in units of 594 | * radians. Doing so can be useful if the 595 | * angleMode() has been set to 596 | * DEGREES. 597 | * 598 | * Note: `TWO_PI` radians equals 360˚. 599 | * 600 | * @property {String} RADIANS 601 | * @final 602 | * 603 | * @example 604 | *
605 | * 606 | * function setup() { 607 | * createCanvas(100, 100); 608 | * 609 | * background(200); 610 | * 611 | * // Use degrees. 612 | * angleMode(DEGREES); 613 | * 614 | * // Draw a red arc from 0˚ to 90˚. 615 | * fill(255, 0, 0); 616 | * arc(50, 50, 80, 80, 0, 90); 617 | * 618 | * // Use radians. 619 | * angleMode(RADIANS); 620 | * 621 | * // Draw a blue arc from HALF_PI to PI. 622 | * fill(0, 0, 255); 623 | * arc(50, 50, 80, 80, HALF_PI, PI); 624 | * 625 | * describe('The bottom half of a circle drawn on a gray background. The bottom-right quarter is red. The bottom-left quarter is blue.'); 626 | * } 627 | * 628 | *
629 | */ 630 | export const RADIANS = 'radians'; 631 | export const DEG_TO_RAD = _PI / 180.0; 632 | export const RAD_TO_DEG = 180.0 / _PI; 633 | 634 | // SHAPE 635 | /** 636 | * @property {String} CORNER 637 | * @final 638 | */ 639 | export const CORNER = 'corner'; 640 | /** 641 | * @property {String} CORNERS 642 | * @final 643 | */ 644 | export const CORNERS = 'corners'; 645 | /** 646 | * @property {String} RADIUS 647 | * @final 648 | */ 649 | export const RADIUS = 'radius'; 650 | /** 651 | * @property {String} RIGHT 652 | * @final 653 | */ 654 | export const RIGHT = 'right'; 655 | /** 656 | * @property {String} LEFT 657 | * @final 658 | */ 659 | export const LEFT = 'left'; 660 | /** 661 | * @property {String} CENTER 662 | * @final 663 | */ 664 | export const CENTER = 'center'; 665 | /** 666 | * @property {String} TOP 667 | * @final 668 | */ 669 | export const TOP = 'top'; 670 | /** 671 | * @property {String} BOTTOM 672 | * @final 673 | */ 674 | export const BOTTOM = 'bottom'; 675 | /** 676 | * @property {String} BASELINE 677 | * @final 678 | * @default alphabetic 679 | */ 680 | export const BASELINE = 'alphabetic'; 681 | /** 682 | * @property {Number} POINTS 683 | * @final 684 | * @default 0x0000 685 | */ 686 | export const POINTS = 0x0000; 687 | /** 688 | * @property {Number} LINES 689 | * @final 690 | * @default 0x0001 691 | */ 692 | export const LINES = 0x0001; 693 | /** 694 | * @property {Number} LINE_STRIP 695 | * @final 696 | * @default 0x0003 697 | */ 698 | export const LINE_STRIP = 0x0003; 699 | /** 700 | * @property {Number} LINE_LOOP 701 | * @final 702 | * @default 0x0002 703 | */ 704 | export const LINE_LOOP = 0x0002; 705 | /** 706 | * @property {Number} TRIANGLES 707 | * @final 708 | * @default 0x0004 709 | */ 710 | export const TRIANGLES = 0x0004; 711 | /** 712 | * @property {Number} TRIANGLE_FAN 713 | * @final 714 | * @default 0x0006 715 | */ 716 | export const TRIANGLE_FAN = 0x0006; 717 | /** 718 | * @property {Number} TRIANGLE_STRIP 719 | * @final 720 | * @default 0x0005 721 | */ 722 | export const TRIANGLE_STRIP = 0x0005; 723 | /** 724 | * @property {String} QUADS 725 | * @final 726 | */ 727 | export const QUADS = 'quads'; 728 | /** 729 | * @property {String} QUAD_STRIP 730 | * @final 731 | * @default quad_strip 732 | */ 733 | export const QUAD_STRIP = 'quad_strip'; 734 | /** 735 | * @property {String} TESS 736 | * @final 737 | * @default tess 738 | */ 739 | export const TESS = 'tess'; 740 | /** 741 | * @property {String} CLOSE 742 | * @final 743 | */ 744 | export const CLOSE = 'close'; 745 | /** 746 | * @property {String} OPEN 747 | * @final 748 | */ 749 | export const OPEN = 'open'; 750 | /** 751 | * @property {String} CHORD 752 | * @final 753 | */ 754 | export const CHORD = 'chord'; 755 | /** 756 | * @property {String} PIE 757 | * @final 758 | */ 759 | export const PIE = 'pie'; 760 | /** 761 | * @property {String} PROJECT 762 | * @final 763 | * @default square 764 | */ 765 | export const PROJECT = 'square'; // PEND: careful this is counterintuitive 766 | /** 767 | * @property {String} SQUARE 768 | * @final 769 | * @default butt 770 | */ 771 | export const SQUARE = 'butt'; 772 | /** 773 | * @property {String} ROUND 774 | * @final 775 | */ 776 | export const ROUND = 'round'; 777 | /** 778 | * @property {String} BEVEL 779 | * @final 780 | */ 781 | export const BEVEL = 'bevel'; 782 | /** 783 | * @property {String} MITER 784 | * @final 785 | */ 786 | export const MITER = 'miter'; 787 | 788 | // COLOR 789 | /** 790 | * @property {String} RGB 791 | * @final 792 | */ 793 | export const RGB = 'rgb'; 794 | /** 795 | * HSB (hue, saturation, brightness) is a type of color model. 796 | * You can learn more about it at 797 | * HSB. 798 | * 799 | * @property {String} HSB 800 | * @final 801 | */ 802 | export const HSB = 'hsb'; 803 | /** 804 | * @property {String} HSL 805 | * @final 806 | */ 807 | export const HSL = 'hsl'; 808 | 809 | // DOM EXTENSION 810 | /** 811 | * AUTO allows us to automatically set the width or height of an element (but not both), 812 | * based on the current height and width of the element. Only one parameter can 813 | * be passed to the size function as AUTO, at a time. 814 | * 815 | * @property {String} AUTO 816 | * @final 817 | */ 818 | export const AUTO = 'auto'; 819 | 820 | /** 821 | * @property {Number} ALT 822 | * @final 823 | */ 824 | // INPUT 825 | export const ALT = 18; 826 | /** 827 | * @property {Number} BACKSPACE 828 | * @final 829 | */ 830 | export const BACKSPACE = 8; 831 | /** 832 | * @property {Number} CONTROL 833 | * @final 834 | */ 835 | export const CONTROL = 17; 836 | /** 837 | * @property {Number} DELETE 838 | * @final 839 | */ 840 | export const DELETE = 46; 841 | /** 842 | * @property {Number} DOWN_ARROW 843 | * @final 844 | */ 845 | export const DOWN_ARROW = 40; 846 | /** 847 | * @property {Number} ENTER 848 | * @final 849 | */ 850 | export const ENTER = 13; 851 | /** 852 | * @property {Number} ESCAPE 853 | * @final 854 | */ 855 | export const ESCAPE = 27; 856 | /** 857 | * @property {Number} LEFT_ARROW 858 | * @final 859 | */ 860 | export const LEFT_ARROW = 37; 861 | /** 862 | * @property {Number} OPTION 863 | * @final 864 | */ 865 | export const OPTION = 18; 866 | /** 867 | * @property {Number} RETURN 868 | * @final 869 | */ 870 | export const RETURN = 13; 871 | /** 872 | * @property {Number} RIGHT_ARROW 873 | * @final 874 | */ 875 | export const RIGHT_ARROW = 39; 876 | /** 877 | * @property {Number} SHIFT 878 | * @final 879 | */ 880 | export const SHIFT = 16; 881 | /** 882 | * @property {Number} TAB 883 | * @final 884 | */ 885 | export const TAB = 9; 886 | /** 887 | * @property {Number} UP_ARROW 888 | * @final 889 | */ 890 | export const UP_ARROW = 38; 891 | 892 | // RENDERING 893 | /** 894 | * @property {String} BLEND 895 | * @final 896 | * @default source-over 897 | */ 898 | export const BLEND = 'source-over'; 899 | /** 900 | * @property {String} REMOVE 901 | * @final 902 | * @default destination-out 903 | */ 904 | export const REMOVE = 'destination-out'; 905 | /** 906 | * @property {String} ADD 907 | * @final 908 | * @default lighter 909 | */ 910 | export const ADD = 'lighter'; 911 | //ADD: 'add', // 912 | //SUBTRACT: 'subtract', // 913 | /** 914 | * @property {String} DARKEST 915 | * @final 916 | */ 917 | export const DARKEST = 'darken'; 918 | /** 919 | * @property {String} LIGHTEST 920 | * @final 921 | * @default lighten 922 | */ 923 | export const LIGHTEST = 'lighten'; 924 | /** 925 | * @property {String} DIFFERENCE 926 | * @final 927 | */ 928 | export const DIFFERENCE = 'difference'; 929 | /** 930 | * @property {String} SUBTRACT 931 | * @final 932 | */ 933 | export const SUBTRACT = 'subtract'; 934 | /** 935 | * @property {String} EXCLUSION 936 | * @final 937 | */ 938 | export const EXCLUSION = 'exclusion'; 939 | /** 940 | * @property {String} MULTIPLY 941 | * @final 942 | */ 943 | export const MULTIPLY = 'multiply'; 944 | /** 945 | * @property {String} SCREEN 946 | * @final 947 | */ 948 | export const SCREEN = 'screen'; 949 | /** 950 | * @property {String} REPLACE 951 | * @final 952 | * @default copy 953 | */ 954 | export const REPLACE = 'copy'; 955 | /** 956 | * @property {String} OVERLAY 957 | * @final 958 | */ 959 | export const OVERLAY = 'overlay'; 960 | /** 961 | * @property {String} HARD_LIGHT 962 | * @final 963 | */ 964 | export const HARD_LIGHT = 'hard-light'; 965 | /** 966 | * @property {String} SOFT_LIGHT 967 | * @final 968 | */ 969 | export const SOFT_LIGHT = 'soft-light'; 970 | /** 971 | * @property {String} DODGE 972 | * @final 973 | * @default color-dodge 974 | */ 975 | export const DODGE = 'color-dodge'; 976 | /** 977 | * @property {String} BURN 978 | * @final 979 | * @default color-burn 980 | */ 981 | export const BURN = 'color-burn'; 982 | 983 | // FILTERS 984 | /** 985 | * @property {String} THRESHOLD 986 | * @final 987 | */ 988 | export const THRESHOLD = 'threshold'; 989 | /** 990 | * @property {String} GRAY 991 | * @final 992 | */ 993 | export const GRAY = 'gray'; 994 | /** 995 | * @property {String} OPAQUE 996 | * @final 997 | */ 998 | export const OPAQUE = 'opaque'; 999 | /** 1000 | * @property {String} INVERT 1001 | * @final 1002 | */ 1003 | export const INVERT = 'invert'; 1004 | /** 1005 | * @property {String} POSTERIZE 1006 | * @final 1007 | */ 1008 | export const POSTERIZE = 'posterize'; 1009 | /** 1010 | * @property {String} DILATE 1011 | * @final 1012 | */ 1013 | export const DILATE = 'dilate'; 1014 | /** 1015 | * @property {String} ERODE 1016 | * @final 1017 | */ 1018 | export const ERODE = 'erode'; 1019 | /** 1020 | * @property {String} BLUR 1021 | * @final 1022 | */ 1023 | export const BLUR = 'blur'; 1024 | 1025 | // TYPOGRAPHY 1026 | /** 1027 | * @property {String} NORMAL 1028 | * @final 1029 | */ 1030 | export const NORMAL = 'normal'; 1031 | /** 1032 | * @property {String} ITALIC 1033 | * @final 1034 | */ 1035 | export const ITALIC = 'italic'; 1036 | /** 1037 | * @property {String} BOLD 1038 | * @final 1039 | */ 1040 | export const BOLD = 'bold'; 1041 | /** 1042 | * @property {String} BOLDITALIC 1043 | * @final 1044 | */ 1045 | export const BOLDITALIC = 'bold italic'; 1046 | /** 1047 | * @property {String} CHAR 1048 | * @final 1049 | */ 1050 | export const CHAR = 'CHAR'; 1051 | /** 1052 | * @property {String} WORD 1053 | * @final 1054 | */ 1055 | export const WORD = 'WORD'; 1056 | 1057 | // TYPOGRAPHY-INTERNAL 1058 | export const _DEFAULT_TEXT_FILL = '#000000'; 1059 | export const _DEFAULT_LEADMULT = 1.25; 1060 | export const _CTX_MIDDLE = 'middle'; 1061 | 1062 | // VERTICES 1063 | /** 1064 | * @property {String} LINEAR 1065 | * @final 1066 | */ 1067 | export const LINEAR = 'linear'; 1068 | /** 1069 | * @property {String} QUADRATIC 1070 | * @final 1071 | */ 1072 | export const QUADRATIC = 'quadratic'; 1073 | /** 1074 | * @property {String} BEZIER 1075 | * @final 1076 | */ 1077 | export const BEZIER = 'bezier'; 1078 | /** 1079 | * @property {String} CURVE 1080 | * @final 1081 | */ 1082 | export const CURVE = 'curve'; 1083 | 1084 | // WEBGL DRAWMODES 1085 | /** 1086 | * @property {String} STROKE 1087 | * @final 1088 | */ 1089 | export const STROKE = 'stroke'; 1090 | /** 1091 | * @property {String} FILL 1092 | * @final 1093 | */ 1094 | export const FILL = 'fill'; 1095 | /** 1096 | * @property {String} TEXTURE 1097 | * @final 1098 | */ 1099 | export const TEXTURE = 'texture'; 1100 | /** 1101 | * @property {String} IMMEDIATE 1102 | * @final 1103 | */ 1104 | export const IMMEDIATE = 'immediate'; 1105 | 1106 | // WEBGL TEXTURE MODE 1107 | // NORMAL already exists for typography 1108 | /** 1109 | * @property {String} IMAGE 1110 | * @final 1111 | */ 1112 | export const IMAGE = 'image'; 1113 | 1114 | // WEBGL TEXTURE WRAP AND FILTERING 1115 | // LINEAR already exists above 1116 | /** 1117 | * @property {String} NEAREST 1118 | * @final 1119 | */ 1120 | export const NEAREST = 'nearest'; 1121 | /** 1122 | * @property {String} REPEAT 1123 | * @final 1124 | */ 1125 | export const REPEAT = 'repeat'; 1126 | /** 1127 | * @property {String} CLAMP 1128 | * @final 1129 | */ 1130 | export const CLAMP = 'clamp'; 1131 | /** 1132 | * @property {String} MIRROR 1133 | * @final 1134 | */ 1135 | export const MIRROR = 'mirror'; 1136 | 1137 | // WEBGL GEOMETRY SHADING 1138 | /** 1139 | * @property {String} FLAT 1140 | * @final 1141 | */ 1142 | export const FLAT = 'flat'; 1143 | /** 1144 | * @property {String} SMOOTH 1145 | * @final 1146 | */ 1147 | export const SMOOTH = 'smooth'; 1148 | 1149 | // DEVICE-ORIENTATION 1150 | /** 1151 | * @property {String} LANDSCAPE 1152 | * @final 1153 | */ 1154 | export const LANDSCAPE = 'landscape'; 1155 | /** 1156 | * @property {String} PORTRAIT 1157 | * @final 1158 | */ 1159 | export const PORTRAIT = 'portrait'; 1160 | 1161 | // DEFAULTS 1162 | export const _DEFAULT_STROKE = '#000000'; 1163 | export const _DEFAULT_FILL = '#FFFFFF'; 1164 | 1165 | /** 1166 | * @property {String} GRID 1167 | * @final 1168 | */ 1169 | export const GRID = 'grid'; 1170 | 1171 | /** 1172 | * @property {String} AXES 1173 | * @final 1174 | */ 1175 | export const AXES = 'axes'; 1176 | 1177 | /** 1178 | * @property {String} LABEL 1179 | * @final 1180 | */ 1181 | export const LABEL = 'label'; 1182 | /** 1183 | * @property {String} FALLBACK 1184 | * @final 1185 | */ 1186 | export const FALLBACK = 'fallback'; 1187 | 1188 | /** 1189 | * @property {String} CONTAIN 1190 | * @final 1191 | */ 1192 | export const CONTAIN = 'contain'; 1193 | 1194 | /** 1195 | * @property {String} COVER 1196 | * @final 1197 | */ 1198 | export const COVER = 'cover'; 1199 | 1200 | /** 1201 | * @property {String} UNSIGNED_BYTE 1202 | * @final 1203 | */ 1204 | export const UNSIGNED_BYTE = 'unsigned-byte'; 1205 | 1206 | /** 1207 | * @property {String} UNSIGNED_INT 1208 | * @final 1209 | */ 1210 | export const UNSIGNED_INT = 'unsigned-int'; 1211 | 1212 | /** 1213 | * @property {String} FLOAT 1214 | * @final 1215 | */ 1216 | export const FLOAT = 'float'; 1217 | 1218 | /** 1219 | * @property {String} HALF_FLOAT 1220 | * @final 1221 | */ 1222 | export const HALF_FLOAT = 'half-float'; 1223 | 1224 | /** 1225 | * @property {String} RGBA 1226 | * @final 1227 | */ 1228 | export const RGBA = 'rgba'; 1229 | -------------------------------------------------------------------------------- /src/functionNames.ts: -------------------------------------------------------------------------------- 1 | export const functionNames = [ 2 | 'remove', 3 | 'print', 4 | 'cursor', 5 | 'frameRate', 6 | 'getFrameRate', 7 | 'setFrameRate', 8 | 'noCursor', 9 | 'fullscreen', 10 | 'pixelDensity', 11 | 'displayDensity', 12 | 'getURL', 13 | 'getURLPath', 14 | 'getURLParams', 15 | 'pushStyle', 16 | 'popStyle', 17 | 'popMatrix', 18 | 'pushMatrix', 19 | 'registerPromisePreload', 20 | 'camera', 21 | 'perspective', 22 | 'ortho', 23 | 'frustum', 24 | 'createCamera', 25 | 'setCamera', 26 | 'setAttributes', 27 | 'createCanvas', 28 | 'resizeCanvas', 29 | 'noCanvas', 30 | 'createGraphics', 31 | 'blendMode', 32 | 'noLoop', 33 | 'loop', 34 | 'isLooping', 35 | 'push', 36 | 'pop', 37 | 'redraw', 38 | 'applyMatrix', 39 | 'resetMatrix', 40 | 'rotate', 41 | 'rotateX', 42 | 'rotateY', 43 | 'rotateZ', 44 | 'scale', 45 | 'shearX', 46 | 'shearY', 47 | 'translate', 48 | 'arc', 49 | 'ellipse', 50 | 'circle', 51 | 'line', 52 | 'point', 53 | 'quad', 54 | 'rect', 55 | 'square', 56 | 'triangle', 57 | 'ellipseMode', 58 | 'noSmooth', 59 | 'rectMode', 60 | 'smooth', 61 | 'strokeCap', 62 | 'strokeJoin', 63 | 'strokeWeight', 64 | 'bezier', 65 | 'bezierDetail', 66 | 'bezierPoint', 67 | 'bezierTangent', 68 | 'curve', 69 | 'curveDetail', 70 | 'curveTightness', 71 | 'curvePoint', 72 | 'curveTangent', 73 | 'beginContour', 74 | 'beginShape', 75 | 'bezierVertex', 76 | 'curveVertex', 77 | 'endContour', 78 | 'endShape', 79 | 'quadraticVertex', 80 | 'vertex', 81 | 'alpha', 82 | 'blue', 83 | 'brightness', 84 | 'color', 85 | 'green', 86 | 'hue', 87 | 'lerpColor', 88 | 'lightness', 89 | 'red', 90 | 'saturation', 91 | 'background', 92 | 'clear', 93 | 'colorMode', 94 | 'fill', 95 | 'noFill', 96 | 'noStroke', 97 | 'stroke', 98 | 'erase', 99 | 'noErase', 100 | 'createStringDict', 101 | 'createNumberDict', 102 | 'storeItem', 103 | 'getItem', 104 | 'clearStorage', 105 | 'removeItem', 106 | 'select', 107 | 'selectAll', 108 | 'removeElements', 109 | 'createDiv', 110 | 'createP', 111 | 'createSpan', 112 | 'createImg', 113 | 'createA', 114 | 'createSlider', 115 | 'createButton', 116 | 'createCheckbox', 117 | 'createSelect', 118 | 'createRadio', 119 | 'createColorPicker', 120 | 'createInput', 121 | 'createFileInput', 122 | 'createVideo', 123 | 'createAudio', 124 | 'createCapture', 125 | 'createElement', 126 | 'setMoveThreshold', 127 | 'setShakeThreshold', 128 | 'keyIsDown', 129 | 'requestPointerLock', 130 | 'exitPointerLock', 131 | 'createImage', 132 | 'saveCanvas', 133 | 'saveGif', 134 | 'saveFrames', 135 | 'loadImage', 136 | 'image', 137 | 'tint', 138 | 'noTint', 139 | 'imageMode', 140 | 'blend', 141 | 'copy', 142 | 'filter', 143 | 'get', 144 | 'loadPixels', 145 | 'set', 146 | 'updatePixels', 147 | 'loadJSON', 148 | 'loadStrings', 149 | 'loadTable', 150 | 'loadXML', 151 | 'loadBytes', 152 | 'httpGet', 153 | 'httpPost', 154 | 'httpDo', 155 | 'createWriter', 156 | 'save', 157 | 'saveJSON', 158 | 'saveJSONObject', 159 | 'saveJSONArray', 160 | 'saveStrings', 161 | 'saveTable', 162 | 'writeFile', 163 | 'downloadFile', 164 | 'abs', 165 | 'ceil', 166 | 'constrain', 167 | 'dist', 168 | 'exp', 169 | 'floor', 170 | 'lerp', 171 | 'log', 172 | 'mag', 173 | 'map', 174 | 'max', 175 | 'min', 176 | 'norm', 177 | 'pow', 178 | 'round', 179 | 'sq', 180 | 'sqrt', 181 | 'fract', 182 | 'createVector', 183 | 'noise', 184 | 'noiseDetail', 185 | 'noiseSeed', 186 | 'randomSeed', 187 | 'random', 188 | 'randomGaussian', 189 | 'acos', 190 | 'asin', 191 | 'atan', 192 | 'atan2', 193 | 'cos', 194 | 'sin', 195 | 'tan', 196 | 'degrees', 197 | 'radians', 198 | 'angleMode', 199 | 'textAlign', 200 | 'textLeading', 201 | 'textSize', 202 | 'textStyle', 203 | 'textWidth', 204 | 'textAscent', 205 | 'textDescent', 206 | 'loadFont', 207 | 'text', 208 | 'textFont', 209 | 'append', 210 | 'arrayCopy', 211 | 'concat', 212 | 'reverse', 213 | 'shorten', 214 | 'shuffle', 215 | 'sort', 216 | 'splice', 217 | 'subset', 218 | 'float', 219 | 'int', 220 | 'str', 221 | 'boolean', 222 | 'byte', 223 | 'char', 224 | 'unchar', 225 | 'hex', 226 | 'unhex', 227 | 'join', 228 | 'match', 229 | 'matchAll', 230 | 'nf', 231 | 'nfc', 232 | 'nfp', 233 | 'nfs', 234 | 'split', 235 | 'splitTokens', 236 | 'trim', 237 | 'day', 238 | 'hour', 239 | 'minute', 240 | 'millis', 241 | 'month', 242 | 'second', 243 | 'year', 244 | 'plane', 245 | 'box', 246 | 'sphere', 247 | 'cylinder', 248 | 'cone', 249 | 'ellipsoid', 250 | 'torus', 251 | 'orbitControl', 252 | 'debugMode', 253 | 'noDebugMode', 254 | 'ambientLight', 255 | 'specularColor', 256 | 'directionalLight', 257 | 'pointLight', 258 | 'lights', 259 | 'lightFalloff', 260 | 'spotLight', 261 | 'noLights', 262 | 'loadModel', 263 | 'model', 264 | 'loadShader', 265 | 'createShader', 266 | 'shader', 267 | 'resetShader', 268 | 'normalMaterial', 269 | 'texture', 270 | 'textureMode', 271 | 'textureWrap', 272 | 'ambientMaterial', 273 | 'emissiveMaterial', 274 | 'specularMaterial', 275 | 'shininess', 276 | ] 277 | -------------------------------------------------------------------------------- /src/optionNames.ts: -------------------------------------------------------------------------------- 1 | export const optionNames = [ 2 | 'setup', 3 | 'draw', 4 | 'preload', 5 | 'mousePressed', 6 | 'mouseMoved', 7 | 'mouseReleased', 8 | 'mouseDragged', 9 | 'mouseClicked', 10 | 'doubleClicked', 11 | 'mouseWheel', 12 | 'keyPressed', 13 | 'keyReleased', 14 | 'keyReleased', 15 | 'deviceMoved', 16 | 'deviceShaken', 17 | 'deviceTurned', 18 | 'windowResized', 19 | ] as const 20 | -------------------------------------------------------------------------------- /src/p5i.ts: -------------------------------------------------------------------------------- 1 | import P5 from 'p5' 2 | import * as CONSTANTS from './constants' 3 | import { functionNames } from './functionNames' 4 | import { optionNames } from './optionNames' 5 | 6 | const isClient = typeof window !== 'undefined' 7 | 8 | export declare type P5I = P5 & Helpers 9 | 10 | interface Helpers { 11 | mount: (el: HTMLElement, options?: P5IOptions) => void 12 | unmount: () => void 13 | setup?: (p5i: P5I) => void 14 | draw?: (p5i: P5I) => void 15 | } 16 | 17 | export type OptionNames = (typeof optionNames)[number] 18 | export type P5IOptions = Partial void>> 19 | 20 | export function p5i(fnOrOptions?: P5IOptions | ((p5i: P5I) => P5IOptions | void), el?: HTMLElement | undefined): P5I { 21 | let instance: P5 | undefined 22 | const options: P5IOptions = { 23 | setup() {}, 24 | } 25 | 26 | let proxy: P5I 27 | 28 | const helpers: Helpers = { 29 | unmount() { 30 | if (!isClient) 31 | return 32 | 33 | if (instance) { 34 | instance.remove() 35 | instance = undefined 36 | } 37 | }, 38 | mount(el, _options) { 39 | if (!isClient) 40 | return proxy 41 | 42 | helpers.unmount() 43 | 44 | new P5((_instance: P5) => { 45 | instance = _instance 46 | 47 | if (fnOrOptions) 48 | Object.assign(options, (typeof fnOrOptions === 'function' ? fnOrOptions(proxy) : fnOrOptions) || {}) 49 | 50 | if (_options) 51 | Object.assign(options, _options) 52 | 53 | for (const key of optionNames) { 54 | if (options[key]) 55 | instance![key] = () => options[key]?.(proxy) 56 | } 57 | }, el) 58 | 59 | return proxy 60 | }, 61 | } 62 | 63 | proxy = new Proxy(helpers, { 64 | get(_, p: string, r) { 65 | const helper = Reflect.get(helpers, p, r) 66 | if (helper) 67 | return helper 68 | if (functionNames.includes(p)) { 69 | // @ts-expect-error 70 | return (...args) => { 71 | if (!instance) 72 | throw new Error(`can not "${p}" access before mounting`) 73 | // @ts-expect-error 74 | return instance[p](...args) 75 | } 76 | } 77 | // @ts-expect-error 78 | if (CONSTANTS[p] != null) 79 | // @ts-expect-error 80 | return CONSTANTS[p] 81 | 82 | if (!instance) 83 | throw new Error(`can not "${p}" access before mounting`) 84 | return Reflect.get(instance, p, r) 85 | }, 86 | set(_, p: string, v) { 87 | if (optionNames.includes(p as OptionNames)) { 88 | // @ts-expect-error 89 | options[p] = v 90 | return true 91 | } 92 | 93 | if (!instance) 94 | throw new Error(`can not "${p}" access before mounting`) 95 | 96 | return Reflect.set(instance, p, v) 97 | }, 98 | }) as P5I 99 | 100 | if (el) 101 | helpers.mount(el) 102 | 103 | return proxy 104 | } 105 | 106 | export const createP5 = p5i 107 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2017", 4 | "lib": ["esnext", "DOM"], 5 | "module": "esnext", 6 | "moduleResolution": "node", 7 | "resolveJsonModule": true, 8 | "strict": true, 9 | "strictNullChecks": true, 10 | "esModuleInterop": true 11 | } 12 | } 13 | --------------------------------------------------------------------------------