├── .editorconfig ├── .eslintrc.js ├── .github └── workflows │ └── test.yml ├── .gitignore ├── .husky └── pre-commit ├── .prettierignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── jest.config.js ├── jest.setup.js ├── logo └── logo.png ├── package.json ├── pnpm-lock.yaml └── src ├── README.md ├── index.js ├── index.test.js └── utils.js /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_style = tab 7 | indent_size = 4 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | indent_style = space 13 | indent_size = 2 14 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | browser: true, 4 | commonjs: true, 5 | es2021: true, 6 | }, 7 | extends: ["standard", "prettier"], 8 | parserOptions: { 9 | ecmaVersion: "latest", 10 | }, 11 | rules: {}, 12 | }; 13 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Test 2 | on: 3 | push: 4 | branches: 5 | - main 6 | pull_request: 7 | env: 8 | FORCE_COLOR: 2 9 | jobs: 10 | test: 11 | runs-on: ubuntu-latest 12 | strategy: 13 | matrix: 14 | node-version: 15 | - 18 16 | - 16 17 | name: Node.js ${{ matrix.node-version }} 18 | steps: 19 | - name: Checkout the repository 20 | uses: actions/checkout@v3 21 | - name: Install Node.js ${{ matrix.node-version }} 22 | uses: actions/setup-node@v3 23 | with: 24 | node-version: ${{ matrix.node-version }} 25 | cache: npm 26 | - name: Install dependencies 27 | run: npm install --ignore-scripts 28 | - name: Run tests 29 | run: npm test 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .vscode -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx lint-staged -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | *.yml 2 | *.yaml 3 | .husky 4 | .github 5 | node_modules -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thank you for wanting to contribute. 4 | 5 | To help out you can: 6 | 7 | - open new issues about your ideas for making this project better 8 | - get involved in any open issue or pull request 9 | - improve the documentation 10 | - add new tests 11 | 12 | ## Code contributing 13 | 14 | ### Run tests 15 | 16 | Run the tests using `npm test` 17 | 18 | ### Format code 19 | 20 | We use [Prettier](https://prettier.io/) (with [a Husky and lint-staged precommit](https://prettier.io/docs/en/precommit.html)) to format your code automatically. 21 | 22 | Alternatively, you can: 23 | 24 | - trigger the pretty-printing all the files using `npm run format` 25 | - use a [Prettier editor integration](https://prettier.io/docs/en/editors.html) 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Fedya Petrakov 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 | # 2 | 3 | [![npm version][npm-version-img]][npm] [![npm downloads last month][npm-downloads-img]][npm] 4 | 5 | **stylelint-gamut** is a [Stylelint] plugin that helps you to work with different color spaces. 6 | 7 | # Rules 8 | 9 | - [`color-no-out-gamut-range`](./src/README.md): Throw warning if color goes out of sRGB color space and is not wrapped in `@media (color-gamut: p3) {}` or `@media (color-gamut: rec2020) {}`. 10 | 11 | # Requirements 12 | 13 | - **node version ≥ 12.0.0** 14 | - **Stylelint version ≥ 14.0.0**. 15 | 16 | # Installation 17 | 18 | 1. If you haven't, install [Stylelint]: 19 | 20 | ``` 21 | npm install stylelint stylelint-config-standard --save-dev 22 | ``` 23 | 24 | 2. Install `stylelint-gamut`: 25 | 26 | ``` 27 | npm install stylelint-gamut --save-dev 28 | ``` 29 | 30 | 3. Add `stylelint-gamut` to your Stylelint config `plugins` array, then add rules you need to the rules list. All rules from `stylelint-gamut` need to be namespaced with `gamut`. 31 | 32 | ```json 33 | { 34 | "plugins": ["stylelint-gamut"], 35 | "rules": { 36 | "gamut/color-no-out-gamut-range": true 37 | } 38 | } 39 | ``` 40 | 41 | # More 42 | 43 | It is already used by the creator of [PostCSS] [Andrey Sitnik]. 44 | 45 | Read more about color spaces in css: 46 | 47 | - [OKLCH in CSS: why we moved from RGB and HSL](https://evilmartians.com/chronicles/oklch-in-css-why-quit-rgb-hsl) 48 | - [LCH colors in CSS: what, why, and how?](https://lea.verou.me/2020/04/lch-colors-in-css-what-why-and-how/) 49 | - [A Guide To Modern CSS Colors](https://www.smashingmagazine.com/2021/11/guide-modern-css-colors/) 50 | - [Better dynamic themes in Tailwind with OKLCH color magic](https://evilmartians.com/chronicles/better-dynamic-themes-in-tailwind-with-oklch-color-magic) 51 | 52 | [Stylelint]: https://stylelint.io/ 53 | [npm-version-img]: https://img.shields.io/npm/v/stylelint-gamut.svg 54 | [npm-downloads-img]: https://img.shields.io/npm/dm/stylelint-gamut.svg 55 | [npm]: https://www.npmjs.com/package/stylelint-gamut 56 | [PostCSS]: https://github.com/postcss/postcss 57 | [Andrey Sitnik]: https://github.com/ai 58 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: "jest-preset-stylelint", 3 | clearMocks: true, 4 | setupFiles: ["./jest.setup.js"], 5 | testEnvironment: "node", 6 | roots: ["src"], 7 | }; 8 | -------------------------------------------------------------------------------- /jest.setup.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const { getTestRule } = require("jest-preset-stylelint"); 4 | 5 | global.testRule = getTestRule({ plugins: ["./src"] }); 6 | -------------------------------------------------------------------------------- /logo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpetrakov/stylelint-gamut/a36ebe7f42f4554d046c335a5fe0f85f720d45b1/logo/logo.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "stylelint-gamut", 3 | "version": "1.3.4", 4 | "description": "Stylelint plugin for working with different color spaces", 5 | "main": "src/index.js", 6 | "scripts": { 7 | "format": "prettier --write .", 8 | "lint": "eslint --fix *.js", 9 | "test": "jest", 10 | "prepare": "husky install" 11 | }, 12 | "lint-staged": { 13 | "*.js": "eslint --fix", 14 | ".": "prettier -write" 15 | }, 16 | "engines": { 17 | "node": ">=16.0.0" 18 | }, 19 | "repository": { 20 | "type": "git", 21 | "url": "git+https://github.com/fpetrakov/stylelint-gamut.git" 22 | }, 23 | "files": [ 24 | "src/**/*.js", 25 | "!**/**/*.test.js" 26 | ], 27 | "keywords": [ 28 | "stylelint", 29 | "stylelint-plugin", 30 | "gamut", 31 | "lch", 32 | "oklch", 33 | "lab", 34 | "oklab" 35 | ], 36 | "author": "Fedya Petrakov", 37 | "license": "MIT", 38 | "bugs": { 39 | "url": "https://github.com/fpetrakov/stylelint-gamut/issues" 40 | }, 41 | "homepage": "https://github.com/fpetrakov/stylelint-gamut#readme", 42 | "peerDependencies": { 43 | "stylelint": "^14.0.0 || ^15.0.0 || ^16.0.0" 44 | }, 45 | "devDependencies": { 46 | "eslint": "^8.43.0", 47 | "eslint-config-prettier": "^9.0.0", 48 | "eslint-config-standard": "^17.1.0", 49 | "eslint-plugin-import": "^2.27.5", 50 | "eslint-plugin-n": "^16.0.0", 51 | "eslint-plugin-promise": "^6.1.1", 52 | "husky": "^8.0.3", 53 | "jest": "^29.5.0", 54 | "jest-cli": "^29.5.0", 55 | "jest-preset-stylelint": "^6.1.0", 56 | "lint-staged": "^15.0.2", 57 | "prettier": "^3.0.3", 58 | "stylelint": "^15.7.0" 59 | }, 60 | "dependencies": { 61 | "colorjs.io": "^0.4.5" 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | colorjs.io: 9 | specifier: ^0.4.5 10 | version: 0.4.5 11 | 12 | devDependencies: 13 | eslint: 14 | specifier: ^8.43.0 15 | version: 8.52.0 16 | eslint-config-prettier: 17 | specifier: ^9.0.0 18 | version: 9.0.0(eslint@8.52.0) 19 | eslint-config-standard: 20 | specifier: ^17.1.0 21 | version: 17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0) 22 | eslint-plugin-import: 23 | specifier: ^2.27.5 24 | version: 2.28.1(eslint@8.52.0) 25 | eslint-plugin-n: 26 | specifier: ^16.0.0 27 | version: 16.2.0(eslint@8.52.0) 28 | eslint-plugin-promise: 29 | specifier: ^6.1.1 30 | version: 6.1.1(eslint@8.52.0) 31 | husky: 32 | specifier: ^8.0.3 33 | version: 8.0.3 34 | jest: 35 | specifier: ^29.5.0 36 | version: 29.7.0 37 | jest-cli: 38 | specifier: ^29.5.0 39 | version: 29.7.0 40 | jest-preset-stylelint: 41 | specifier: ^6.1.0 42 | version: 6.3.1(jest@29.7.0) 43 | lint-staged: 44 | specifier: ^15.0.2 45 | version: 15.0.2 46 | prettier: 47 | specifier: ^3.0.3 48 | version: 3.0.3 49 | stylelint: 50 | specifier: ^15.7.0 51 | version: 15.11.0 52 | 53 | packages: 54 | 55 | /@aashutoshrathi/word-wrap@1.2.6: 56 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} 57 | engines: {node: '>=0.10.0'} 58 | dev: true 59 | 60 | /@ampproject/remapping@2.2.1: 61 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} 62 | engines: {node: '>=6.0.0'} 63 | dependencies: 64 | '@jridgewell/gen-mapping': 0.3.3 65 | '@jridgewell/trace-mapping': 0.3.20 66 | dev: true 67 | 68 | /@babel/code-frame@7.22.13: 69 | resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} 70 | engines: {node: '>=6.9.0'} 71 | dependencies: 72 | '@babel/highlight': 7.22.20 73 | chalk: 2.4.2 74 | dev: true 75 | 76 | /@babel/compat-data@7.23.2: 77 | resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} 78 | engines: {node: '>=6.9.0'} 79 | dev: true 80 | 81 | /@babel/core@7.23.2: 82 | resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} 83 | engines: {node: '>=6.9.0'} 84 | dependencies: 85 | '@ampproject/remapping': 2.2.1 86 | '@babel/code-frame': 7.22.13 87 | '@babel/generator': 7.23.0 88 | '@babel/helper-compilation-targets': 7.22.15 89 | '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) 90 | '@babel/helpers': 7.23.2 91 | '@babel/parser': 7.23.0 92 | '@babel/template': 7.22.15 93 | '@babel/traverse': 7.23.2 94 | '@babel/types': 7.23.0 95 | convert-source-map: 2.0.0 96 | debug: 4.3.4 97 | gensync: 1.0.0-beta.2 98 | json5: 2.2.3 99 | semver: 6.3.1 100 | transitivePeerDependencies: 101 | - supports-color 102 | dev: true 103 | 104 | /@babel/generator@7.23.0: 105 | resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} 106 | engines: {node: '>=6.9.0'} 107 | dependencies: 108 | '@babel/types': 7.23.0 109 | '@jridgewell/gen-mapping': 0.3.3 110 | '@jridgewell/trace-mapping': 0.3.20 111 | jsesc: 2.5.2 112 | dev: true 113 | 114 | /@babel/helper-compilation-targets@7.22.15: 115 | resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} 116 | engines: {node: '>=6.9.0'} 117 | dependencies: 118 | '@babel/compat-data': 7.23.2 119 | '@babel/helper-validator-option': 7.22.15 120 | browserslist: 4.22.1 121 | lru-cache: 5.1.1 122 | semver: 6.3.1 123 | dev: true 124 | 125 | /@babel/helper-environment-visitor@7.22.20: 126 | resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} 127 | engines: {node: '>=6.9.0'} 128 | dev: true 129 | 130 | /@babel/helper-function-name@7.23.0: 131 | resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} 132 | engines: {node: '>=6.9.0'} 133 | dependencies: 134 | '@babel/template': 7.22.15 135 | '@babel/types': 7.23.0 136 | dev: true 137 | 138 | /@babel/helper-hoist-variables@7.22.5: 139 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} 140 | engines: {node: '>=6.9.0'} 141 | dependencies: 142 | '@babel/types': 7.23.0 143 | dev: true 144 | 145 | /@babel/helper-module-imports@7.22.15: 146 | resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} 147 | engines: {node: '>=6.9.0'} 148 | dependencies: 149 | '@babel/types': 7.23.0 150 | dev: true 151 | 152 | /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2): 153 | resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} 154 | engines: {node: '>=6.9.0'} 155 | peerDependencies: 156 | '@babel/core': ^7.0.0 157 | dependencies: 158 | '@babel/core': 7.23.2 159 | '@babel/helper-environment-visitor': 7.22.20 160 | '@babel/helper-module-imports': 7.22.15 161 | '@babel/helper-simple-access': 7.22.5 162 | '@babel/helper-split-export-declaration': 7.22.6 163 | '@babel/helper-validator-identifier': 7.22.20 164 | dev: true 165 | 166 | /@babel/helper-plugin-utils@7.22.5: 167 | resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} 168 | engines: {node: '>=6.9.0'} 169 | dev: true 170 | 171 | /@babel/helper-simple-access@7.22.5: 172 | resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} 173 | engines: {node: '>=6.9.0'} 174 | dependencies: 175 | '@babel/types': 7.23.0 176 | dev: true 177 | 178 | /@babel/helper-split-export-declaration@7.22.6: 179 | resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} 180 | engines: {node: '>=6.9.0'} 181 | dependencies: 182 | '@babel/types': 7.23.0 183 | dev: true 184 | 185 | /@babel/helper-string-parser@7.22.5: 186 | resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} 187 | engines: {node: '>=6.9.0'} 188 | dev: true 189 | 190 | /@babel/helper-validator-identifier@7.22.20: 191 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} 192 | engines: {node: '>=6.9.0'} 193 | dev: true 194 | 195 | /@babel/helper-validator-option@7.22.15: 196 | resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} 197 | engines: {node: '>=6.9.0'} 198 | dev: true 199 | 200 | /@babel/helpers@7.23.2: 201 | resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} 202 | engines: {node: '>=6.9.0'} 203 | dependencies: 204 | '@babel/template': 7.22.15 205 | '@babel/traverse': 7.23.2 206 | '@babel/types': 7.23.0 207 | transitivePeerDependencies: 208 | - supports-color 209 | dev: true 210 | 211 | /@babel/highlight@7.22.20: 212 | resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} 213 | engines: {node: '>=6.9.0'} 214 | dependencies: 215 | '@babel/helper-validator-identifier': 7.22.20 216 | chalk: 2.4.2 217 | js-tokens: 4.0.0 218 | dev: true 219 | 220 | /@babel/parser@7.23.0: 221 | resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} 222 | engines: {node: '>=6.0.0'} 223 | hasBin: true 224 | dependencies: 225 | '@babel/types': 7.23.0 226 | dev: true 227 | 228 | /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.2): 229 | resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} 230 | peerDependencies: 231 | '@babel/core': ^7.0.0-0 232 | dependencies: 233 | '@babel/core': 7.23.2 234 | '@babel/helper-plugin-utils': 7.22.5 235 | dev: true 236 | 237 | /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.2): 238 | resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} 239 | peerDependencies: 240 | '@babel/core': ^7.0.0-0 241 | dependencies: 242 | '@babel/core': 7.23.2 243 | '@babel/helper-plugin-utils': 7.22.5 244 | dev: true 245 | 246 | /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.2): 247 | resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} 248 | peerDependencies: 249 | '@babel/core': ^7.0.0-0 250 | dependencies: 251 | '@babel/core': 7.23.2 252 | '@babel/helper-plugin-utils': 7.22.5 253 | dev: true 254 | 255 | /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.2): 256 | resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} 257 | peerDependencies: 258 | '@babel/core': ^7.0.0-0 259 | dependencies: 260 | '@babel/core': 7.23.2 261 | '@babel/helper-plugin-utils': 7.22.5 262 | dev: true 263 | 264 | /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.2): 265 | resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} 266 | peerDependencies: 267 | '@babel/core': ^7.0.0-0 268 | dependencies: 269 | '@babel/core': 7.23.2 270 | '@babel/helper-plugin-utils': 7.22.5 271 | dev: true 272 | 273 | /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.2): 274 | resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} 275 | engines: {node: '>=6.9.0'} 276 | peerDependencies: 277 | '@babel/core': ^7.0.0-0 278 | dependencies: 279 | '@babel/core': 7.23.2 280 | '@babel/helper-plugin-utils': 7.22.5 281 | dev: true 282 | 283 | /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.2): 284 | resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} 285 | peerDependencies: 286 | '@babel/core': ^7.0.0-0 287 | dependencies: 288 | '@babel/core': 7.23.2 289 | '@babel/helper-plugin-utils': 7.22.5 290 | dev: true 291 | 292 | /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.2): 293 | resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} 294 | peerDependencies: 295 | '@babel/core': ^7.0.0-0 296 | dependencies: 297 | '@babel/core': 7.23.2 298 | '@babel/helper-plugin-utils': 7.22.5 299 | dev: true 300 | 301 | /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.2): 302 | resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} 303 | peerDependencies: 304 | '@babel/core': ^7.0.0-0 305 | dependencies: 306 | '@babel/core': 7.23.2 307 | '@babel/helper-plugin-utils': 7.22.5 308 | dev: true 309 | 310 | /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.2): 311 | resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} 312 | peerDependencies: 313 | '@babel/core': ^7.0.0-0 314 | dependencies: 315 | '@babel/core': 7.23.2 316 | '@babel/helper-plugin-utils': 7.22.5 317 | dev: true 318 | 319 | /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.2): 320 | resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} 321 | peerDependencies: 322 | '@babel/core': ^7.0.0-0 323 | dependencies: 324 | '@babel/core': 7.23.2 325 | '@babel/helper-plugin-utils': 7.22.5 326 | dev: true 327 | 328 | /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.2): 329 | resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} 330 | peerDependencies: 331 | '@babel/core': ^7.0.0-0 332 | dependencies: 333 | '@babel/core': 7.23.2 334 | '@babel/helper-plugin-utils': 7.22.5 335 | dev: true 336 | 337 | /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.2): 338 | resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} 339 | engines: {node: '>=6.9.0'} 340 | peerDependencies: 341 | '@babel/core': ^7.0.0-0 342 | dependencies: 343 | '@babel/core': 7.23.2 344 | '@babel/helper-plugin-utils': 7.22.5 345 | dev: true 346 | 347 | /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.2): 348 | resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} 349 | engines: {node: '>=6.9.0'} 350 | peerDependencies: 351 | '@babel/core': ^7.0.0-0 352 | dependencies: 353 | '@babel/core': 7.23.2 354 | '@babel/helper-plugin-utils': 7.22.5 355 | dev: true 356 | 357 | /@babel/template@7.22.15: 358 | resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} 359 | engines: {node: '>=6.9.0'} 360 | dependencies: 361 | '@babel/code-frame': 7.22.13 362 | '@babel/parser': 7.23.0 363 | '@babel/types': 7.23.0 364 | dev: true 365 | 366 | /@babel/traverse@7.23.2: 367 | resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} 368 | engines: {node: '>=6.9.0'} 369 | dependencies: 370 | '@babel/code-frame': 7.22.13 371 | '@babel/generator': 7.23.0 372 | '@babel/helper-environment-visitor': 7.22.20 373 | '@babel/helper-function-name': 7.23.0 374 | '@babel/helper-hoist-variables': 7.22.5 375 | '@babel/helper-split-export-declaration': 7.22.6 376 | '@babel/parser': 7.23.0 377 | '@babel/types': 7.23.0 378 | debug: 4.3.4 379 | globals: 11.12.0 380 | transitivePeerDependencies: 381 | - supports-color 382 | dev: true 383 | 384 | /@babel/types@7.23.0: 385 | resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} 386 | engines: {node: '>=6.9.0'} 387 | dependencies: 388 | '@babel/helper-string-parser': 7.22.5 389 | '@babel/helper-validator-identifier': 7.22.20 390 | to-fast-properties: 2.0.0 391 | dev: true 392 | 393 | /@bcoe/v8-coverage@0.2.3: 394 | resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} 395 | dev: true 396 | 397 | /@csstools/css-parser-algorithms@2.3.2(@csstools/css-tokenizer@2.2.1): 398 | resolution: {integrity: sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==} 399 | engines: {node: ^14 || ^16 || >=18} 400 | peerDependencies: 401 | '@csstools/css-tokenizer': ^2.2.1 402 | dependencies: 403 | '@csstools/css-tokenizer': 2.2.1 404 | dev: true 405 | 406 | /@csstools/css-tokenizer@2.2.1: 407 | resolution: {integrity: sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==} 408 | engines: {node: ^14 || ^16 || >=18} 409 | dev: true 410 | 411 | /@csstools/media-query-list-parser@2.1.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1): 412 | resolution: {integrity: sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==} 413 | engines: {node: ^14 || ^16 || >=18} 414 | peerDependencies: 415 | '@csstools/css-parser-algorithms': ^2.3.2 416 | '@csstools/css-tokenizer': ^2.2.1 417 | dependencies: 418 | '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1) 419 | '@csstools/css-tokenizer': 2.2.1 420 | dev: true 421 | 422 | /@csstools/selector-specificity@3.0.0(postcss-selector-parser@6.0.13): 423 | resolution: {integrity: sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==} 424 | engines: {node: ^14 || ^16 || >=18} 425 | peerDependencies: 426 | postcss-selector-parser: ^6.0.13 427 | dependencies: 428 | postcss-selector-parser: 6.0.13 429 | dev: true 430 | 431 | /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): 432 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 433 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 434 | peerDependencies: 435 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 436 | dependencies: 437 | eslint: 8.52.0 438 | eslint-visitor-keys: 3.4.3 439 | dev: true 440 | 441 | /@eslint-community/regexpp@4.9.1: 442 | resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} 443 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 444 | dev: true 445 | 446 | /@eslint/eslintrc@2.1.2: 447 | resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} 448 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 449 | dependencies: 450 | ajv: 6.12.6 451 | debug: 4.3.4 452 | espree: 9.6.1 453 | globals: 13.23.0 454 | ignore: 5.2.4 455 | import-fresh: 3.3.0 456 | js-yaml: 4.1.0 457 | minimatch: 3.1.2 458 | strip-json-comments: 3.1.1 459 | transitivePeerDependencies: 460 | - supports-color 461 | dev: true 462 | 463 | /@eslint/js@8.52.0: 464 | resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} 465 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 466 | dev: true 467 | 468 | /@humanwhocodes/config-array@0.11.13: 469 | resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} 470 | engines: {node: '>=10.10.0'} 471 | dependencies: 472 | '@humanwhocodes/object-schema': 2.0.1 473 | debug: 4.3.4 474 | minimatch: 3.1.2 475 | transitivePeerDependencies: 476 | - supports-color 477 | dev: true 478 | 479 | /@humanwhocodes/module-importer@1.0.1: 480 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 481 | engines: {node: '>=12.22'} 482 | dev: true 483 | 484 | /@humanwhocodes/object-schema@2.0.1: 485 | resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} 486 | dev: true 487 | 488 | /@istanbuljs/load-nyc-config@1.1.0: 489 | resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} 490 | engines: {node: '>=8'} 491 | dependencies: 492 | camelcase: 5.3.1 493 | find-up: 4.1.0 494 | get-package-type: 0.1.0 495 | js-yaml: 3.14.1 496 | resolve-from: 5.0.0 497 | dev: true 498 | 499 | /@istanbuljs/schema@0.1.3: 500 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} 501 | engines: {node: '>=8'} 502 | dev: true 503 | 504 | /@jest/console@29.7.0: 505 | resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} 506 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 507 | dependencies: 508 | '@jest/types': 29.6.3 509 | '@types/node': 20.8.7 510 | chalk: 4.1.2 511 | jest-message-util: 29.7.0 512 | jest-util: 29.7.0 513 | slash: 3.0.0 514 | dev: true 515 | 516 | /@jest/core@29.7.0: 517 | resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} 518 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 519 | peerDependencies: 520 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 521 | peerDependenciesMeta: 522 | node-notifier: 523 | optional: true 524 | dependencies: 525 | '@jest/console': 29.7.0 526 | '@jest/reporters': 29.7.0 527 | '@jest/test-result': 29.7.0 528 | '@jest/transform': 29.7.0 529 | '@jest/types': 29.6.3 530 | '@types/node': 20.8.7 531 | ansi-escapes: 4.3.2 532 | chalk: 4.1.2 533 | ci-info: 3.9.0 534 | exit: 0.1.2 535 | graceful-fs: 4.2.11 536 | jest-changed-files: 29.7.0 537 | jest-config: 29.7.0(@types/node@20.8.7) 538 | jest-haste-map: 29.7.0 539 | jest-message-util: 29.7.0 540 | jest-regex-util: 29.6.3 541 | jest-resolve: 29.7.0 542 | jest-resolve-dependencies: 29.7.0 543 | jest-runner: 29.7.0 544 | jest-runtime: 29.7.0 545 | jest-snapshot: 29.7.0 546 | jest-util: 29.7.0 547 | jest-validate: 29.7.0 548 | jest-watcher: 29.7.0 549 | micromatch: 4.0.5 550 | pretty-format: 29.7.0 551 | slash: 3.0.0 552 | strip-ansi: 6.0.1 553 | transitivePeerDependencies: 554 | - babel-plugin-macros 555 | - supports-color 556 | - ts-node 557 | dev: true 558 | 559 | /@jest/environment@29.7.0: 560 | resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} 561 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 562 | dependencies: 563 | '@jest/fake-timers': 29.7.0 564 | '@jest/types': 29.6.3 565 | '@types/node': 20.8.7 566 | jest-mock: 29.7.0 567 | dev: true 568 | 569 | /@jest/expect-utils@29.7.0: 570 | resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} 571 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 572 | dependencies: 573 | jest-get-type: 29.6.3 574 | dev: true 575 | 576 | /@jest/expect@29.7.0: 577 | resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} 578 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 579 | dependencies: 580 | expect: 29.7.0 581 | jest-snapshot: 29.7.0 582 | transitivePeerDependencies: 583 | - supports-color 584 | dev: true 585 | 586 | /@jest/fake-timers@29.7.0: 587 | resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} 588 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 589 | dependencies: 590 | '@jest/types': 29.6.3 591 | '@sinonjs/fake-timers': 10.3.0 592 | '@types/node': 20.8.7 593 | jest-message-util: 29.7.0 594 | jest-mock: 29.7.0 595 | jest-util: 29.7.0 596 | dev: true 597 | 598 | /@jest/globals@29.7.0: 599 | resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} 600 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 601 | dependencies: 602 | '@jest/environment': 29.7.0 603 | '@jest/expect': 29.7.0 604 | '@jest/types': 29.6.3 605 | jest-mock: 29.7.0 606 | transitivePeerDependencies: 607 | - supports-color 608 | dev: true 609 | 610 | /@jest/reporters@29.7.0: 611 | resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} 612 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 613 | peerDependencies: 614 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 615 | peerDependenciesMeta: 616 | node-notifier: 617 | optional: true 618 | dependencies: 619 | '@bcoe/v8-coverage': 0.2.3 620 | '@jest/console': 29.7.0 621 | '@jest/test-result': 29.7.0 622 | '@jest/transform': 29.7.0 623 | '@jest/types': 29.6.3 624 | '@jridgewell/trace-mapping': 0.3.20 625 | '@types/node': 20.8.7 626 | chalk: 4.1.2 627 | collect-v8-coverage: 1.0.2 628 | exit: 0.1.2 629 | glob: 7.2.3 630 | graceful-fs: 4.2.11 631 | istanbul-lib-coverage: 3.2.0 632 | istanbul-lib-instrument: 6.0.1 633 | istanbul-lib-report: 3.0.1 634 | istanbul-lib-source-maps: 4.0.1 635 | istanbul-reports: 3.1.6 636 | jest-message-util: 29.7.0 637 | jest-util: 29.7.0 638 | jest-worker: 29.7.0 639 | slash: 3.0.0 640 | string-length: 4.0.2 641 | strip-ansi: 6.0.1 642 | v8-to-istanbul: 9.1.3 643 | transitivePeerDependencies: 644 | - supports-color 645 | dev: true 646 | 647 | /@jest/schemas@29.6.3: 648 | resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} 649 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 650 | dependencies: 651 | '@sinclair/typebox': 0.27.8 652 | dev: true 653 | 654 | /@jest/source-map@29.6.3: 655 | resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} 656 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 657 | dependencies: 658 | '@jridgewell/trace-mapping': 0.3.20 659 | callsites: 3.1.0 660 | graceful-fs: 4.2.11 661 | dev: true 662 | 663 | /@jest/test-result@29.7.0: 664 | resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} 665 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 666 | dependencies: 667 | '@jest/console': 29.7.0 668 | '@jest/types': 29.6.3 669 | '@types/istanbul-lib-coverage': 2.0.5 670 | collect-v8-coverage: 1.0.2 671 | dev: true 672 | 673 | /@jest/test-sequencer@29.7.0: 674 | resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} 675 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 676 | dependencies: 677 | '@jest/test-result': 29.7.0 678 | graceful-fs: 4.2.11 679 | jest-haste-map: 29.7.0 680 | slash: 3.0.0 681 | dev: true 682 | 683 | /@jest/transform@29.7.0: 684 | resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} 685 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 686 | dependencies: 687 | '@babel/core': 7.23.2 688 | '@jest/types': 29.6.3 689 | '@jridgewell/trace-mapping': 0.3.20 690 | babel-plugin-istanbul: 6.1.1 691 | chalk: 4.1.2 692 | convert-source-map: 2.0.0 693 | fast-json-stable-stringify: 2.1.0 694 | graceful-fs: 4.2.11 695 | jest-haste-map: 29.7.0 696 | jest-regex-util: 29.6.3 697 | jest-util: 29.7.0 698 | micromatch: 4.0.5 699 | pirates: 4.0.6 700 | slash: 3.0.0 701 | write-file-atomic: 4.0.2 702 | transitivePeerDependencies: 703 | - supports-color 704 | dev: true 705 | 706 | /@jest/types@29.6.3: 707 | resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} 708 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 709 | dependencies: 710 | '@jest/schemas': 29.6.3 711 | '@types/istanbul-lib-coverage': 2.0.5 712 | '@types/istanbul-reports': 3.0.3 713 | '@types/node': 20.8.7 714 | '@types/yargs': 17.0.29 715 | chalk: 4.1.2 716 | dev: true 717 | 718 | /@jridgewell/gen-mapping@0.3.3: 719 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} 720 | engines: {node: '>=6.0.0'} 721 | dependencies: 722 | '@jridgewell/set-array': 1.1.2 723 | '@jridgewell/sourcemap-codec': 1.4.15 724 | '@jridgewell/trace-mapping': 0.3.20 725 | dev: true 726 | 727 | /@jridgewell/resolve-uri@3.1.1: 728 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} 729 | engines: {node: '>=6.0.0'} 730 | dev: true 731 | 732 | /@jridgewell/set-array@1.1.2: 733 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 734 | engines: {node: '>=6.0.0'} 735 | dev: true 736 | 737 | /@jridgewell/sourcemap-codec@1.4.15: 738 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 739 | dev: true 740 | 741 | /@jridgewell/trace-mapping@0.3.20: 742 | resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} 743 | dependencies: 744 | '@jridgewell/resolve-uri': 3.1.1 745 | '@jridgewell/sourcemap-codec': 1.4.15 746 | dev: true 747 | 748 | /@nodelib/fs.scandir@2.1.5: 749 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 750 | engines: {node: '>= 8'} 751 | dependencies: 752 | '@nodelib/fs.stat': 2.0.5 753 | run-parallel: 1.2.0 754 | dev: true 755 | 756 | /@nodelib/fs.stat@2.0.5: 757 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 758 | engines: {node: '>= 8'} 759 | dev: true 760 | 761 | /@nodelib/fs.walk@1.2.8: 762 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 763 | engines: {node: '>= 8'} 764 | dependencies: 765 | '@nodelib/fs.scandir': 2.1.5 766 | fastq: 1.15.0 767 | dev: true 768 | 769 | /@sinclair/typebox@0.27.8: 770 | resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} 771 | dev: true 772 | 773 | /@sinonjs/commons@3.0.0: 774 | resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} 775 | dependencies: 776 | type-detect: 4.0.8 777 | dev: true 778 | 779 | /@sinonjs/fake-timers@10.3.0: 780 | resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} 781 | dependencies: 782 | '@sinonjs/commons': 3.0.0 783 | dev: true 784 | 785 | /@types/babel__core@7.20.3: 786 | resolution: {integrity: sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==} 787 | dependencies: 788 | '@babel/parser': 7.23.0 789 | '@babel/types': 7.23.0 790 | '@types/babel__generator': 7.6.6 791 | '@types/babel__template': 7.4.3 792 | '@types/babel__traverse': 7.20.3 793 | dev: true 794 | 795 | /@types/babel__generator@7.6.6: 796 | resolution: {integrity: sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==} 797 | dependencies: 798 | '@babel/types': 7.23.0 799 | dev: true 800 | 801 | /@types/babel__template@7.4.3: 802 | resolution: {integrity: sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==} 803 | dependencies: 804 | '@babel/parser': 7.23.0 805 | '@babel/types': 7.23.0 806 | dev: true 807 | 808 | /@types/babel__traverse@7.20.3: 809 | resolution: {integrity: sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==} 810 | dependencies: 811 | '@babel/types': 7.23.0 812 | dev: true 813 | 814 | /@types/graceful-fs@4.1.8: 815 | resolution: {integrity: sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==} 816 | dependencies: 817 | '@types/node': 20.8.7 818 | dev: true 819 | 820 | /@types/istanbul-lib-coverage@2.0.5: 821 | resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} 822 | dev: true 823 | 824 | /@types/istanbul-lib-report@3.0.2: 825 | resolution: {integrity: sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==} 826 | dependencies: 827 | '@types/istanbul-lib-coverage': 2.0.5 828 | dev: true 829 | 830 | /@types/istanbul-reports@3.0.3: 831 | resolution: {integrity: sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==} 832 | dependencies: 833 | '@types/istanbul-lib-report': 3.0.2 834 | dev: true 835 | 836 | /@types/json5@0.0.29: 837 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 838 | dev: true 839 | 840 | /@types/minimist@1.2.4: 841 | resolution: {integrity: sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==} 842 | dev: true 843 | 844 | /@types/node@20.8.7: 845 | resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==} 846 | dependencies: 847 | undici-types: 5.25.3 848 | dev: true 849 | 850 | /@types/normalize-package-data@2.4.3: 851 | resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==} 852 | dev: true 853 | 854 | /@types/stack-utils@2.0.2: 855 | resolution: {integrity: sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==} 856 | dev: true 857 | 858 | /@types/yargs-parser@21.0.2: 859 | resolution: {integrity: sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==} 860 | dev: true 861 | 862 | /@types/yargs@17.0.29: 863 | resolution: {integrity: sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==} 864 | dependencies: 865 | '@types/yargs-parser': 21.0.2 866 | dev: true 867 | 868 | /@ungap/structured-clone@1.2.0: 869 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 870 | dev: true 871 | 872 | /acorn-jsx@5.3.2(acorn@8.10.0): 873 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 874 | peerDependencies: 875 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 876 | dependencies: 877 | acorn: 8.10.0 878 | dev: true 879 | 880 | /acorn@8.10.0: 881 | resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} 882 | engines: {node: '>=0.4.0'} 883 | hasBin: true 884 | dev: true 885 | 886 | /ajv@6.12.6: 887 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 888 | dependencies: 889 | fast-deep-equal: 3.1.3 890 | fast-json-stable-stringify: 2.1.0 891 | json-schema-traverse: 0.4.1 892 | uri-js: 4.4.1 893 | dev: true 894 | 895 | /ajv@8.12.0: 896 | resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} 897 | dependencies: 898 | fast-deep-equal: 3.1.3 899 | json-schema-traverse: 1.0.0 900 | require-from-string: 2.0.2 901 | uri-js: 4.4.1 902 | dev: true 903 | 904 | /ansi-escapes@4.3.2: 905 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 906 | engines: {node: '>=8'} 907 | dependencies: 908 | type-fest: 0.21.3 909 | dev: true 910 | 911 | /ansi-escapes@5.0.0: 912 | resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} 913 | engines: {node: '>=12'} 914 | dependencies: 915 | type-fest: 1.4.0 916 | dev: true 917 | 918 | /ansi-regex@5.0.1: 919 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 920 | engines: {node: '>=8'} 921 | dev: true 922 | 923 | /ansi-regex@6.0.1: 924 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 925 | engines: {node: '>=12'} 926 | dev: true 927 | 928 | /ansi-styles@3.2.1: 929 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 930 | engines: {node: '>=4'} 931 | dependencies: 932 | color-convert: 1.9.3 933 | dev: true 934 | 935 | /ansi-styles@4.3.0: 936 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 937 | engines: {node: '>=8'} 938 | dependencies: 939 | color-convert: 2.0.1 940 | dev: true 941 | 942 | /ansi-styles@5.2.0: 943 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 944 | engines: {node: '>=10'} 945 | dev: true 946 | 947 | /ansi-styles@6.2.1: 948 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 949 | engines: {node: '>=12'} 950 | dev: true 951 | 952 | /anymatch@3.1.3: 953 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 954 | engines: {node: '>= 8'} 955 | dependencies: 956 | normalize-path: 3.0.0 957 | picomatch: 2.3.1 958 | dev: true 959 | 960 | /argparse@1.0.10: 961 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 962 | dependencies: 963 | sprintf-js: 1.0.3 964 | dev: true 965 | 966 | /argparse@2.0.1: 967 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 968 | dev: true 969 | 970 | /array-buffer-byte-length@1.0.0: 971 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} 972 | dependencies: 973 | call-bind: 1.0.5 974 | is-array-buffer: 3.0.2 975 | dev: true 976 | 977 | /array-includes@3.1.7: 978 | resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} 979 | engines: {node: '>= 0.4'} 980 | dependencies: 981 | call-bind: 1.0.5 982 | define-properties: 1.2.1 983 | es-abstract: 1.22.3 984 | get-intrinsic: 1.2.2 985 | is-string: 1.0.7 986 | dev: true 987 | 988 | /array-union@2.1.0: 989 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 990 | engines: {node: '>=8'} 991 | dev: true 992 | 993 | /array.prototype.findlastindex@1.2.3: 994 | resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} 995 | engines: {node: '>= 0.4'} 996 | dependencies: 997 | call-bind: 1.0.5 998 | define-properties: 1.2.1 999 | es-abstract: 1.22.3 1000 | es-shim-unscopables: 1.0.2 1001 | get-intrinsic: 1.2.2 1002 | dev: true 1003 | 1004 | /array.prototype.flat@1.3.2: 1005 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} 1006 | engines: {node: '>= 0.4'} 1007 | dependencies: 1008 | call-bind: 1.0.5 1009 | define-properties: 1.2.1 1010 | es-abstract: 1.22.3 1011 | es-shim-unscopables: 1.0.2 1012 | dev: true 1013 | 1014 | /array.prototype.flatmap@1.3.2: 1015 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} 1016 | engines: {node: '>= 0.4'} 1017 | dependencies: 1018 | call-bind: 1.0.5 1019 | define-properties: 1.2.1 1020 | es-abstract: 1.22.3 1021 | es-shim-unscopables: 1.0.2 1022 | dev: true 1023 | 1024 | /arraybuffer.prototype.slice@1.0.2: 1025 | resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} 1026 | engines: {node: '>= 0.4'} 1027 | dependencies: 1028 | array-buffer-byte-length: 1.0.0 1029 | call-bind: 1.0.5 1030 | define-properties: 1.2.1 1031 | es-abstract: 1.22.3 1032 | get-intrinsic: 1.2.2 1033 | is-array-buffer: 3.0.2 1034 | is-shared-array-buffer: 1.0.2 1035 | dev: true 1036 | 1037 | /arrify@1.0.1: 1038 | resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} 1039 | engines: {node: '>=0.10.0'} 1040 | dev: true 1041 | 1042 | /astral-regex@2.0.0: 1043 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 1044 | engines: {node: '>=8'} 1045 | dev: true 1046 | 1047 | /available-typed-arrays@1.0.5: 1048 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} 1049 | engines: {node: '>= 0.4'} 1050 | dev: true 1051 | 1052 | /babel-jest@29.7.0(@babel/core@7.23.2): 1053 | resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} 1054 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1055 | peerDependencies: 1056 | '@babel/core': ^7.8.0 1057 | dependencies: 1058 | '@babel/core': 7.23.2 1059 | '@jest/transform': 29.7.0 1060 | '@types/babel__core': 7.20.3 1061 | babel-plugin-istanbul: 6.1.1 1062 | babel-preset-jest: 29.6.3(@babel/core@7.23.2) 1063 | chalk: 4.1.2 1064 | graceful-fs: 4.2.11 1065 | slash: 3.0.0 1066 | transitivePeerDependencies: 1067 | - supports-color 1068 | dev: true 1069 | 1070 | /babel-plugin-istanbul@6.1.1: 1071 | resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} 1072 | engines: {node: '>=8'} 1073 | dependencies: 1074 | '@babel/helper-plugin-utils': 7.22.5 1075 | '@istanbuljs/load-nyc-config': 1.1.0 1076 | '@istanbuljs/schema': 0.1.3 1077 | istanbul-lib-instrument: 5.2.1 1078 | test-exclude: 6.0.0 1079 | transitivePeerDependencies: 1080 | - supports-color 1081 | dev: true 1082 | 1083 | /babel-plugin-jest-hoist@29.6.3: 1084 | resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} 1085 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1086 | dependencies: 1087 | '@babel/template': 7.22.15 1088 | '@babel/types': 7.23.0 1089 | '@types/babel__core': 7.20.3 1090 | '@types/babel__traverse': 7.20.3 1091 | dev: true 1092 | 1093 | /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.2): 1094 | resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} 1095 | peerDependencies: 1096 | '@babel/core': ^7.0.0 1097 | dependencies: 1098 | '@babel/core': 7.23.2 1099 | '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2) 1100 | '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.2) 1101 | '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.2) 1102 | '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.2) 1103 | '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2) 1104 | '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2) 1105 | '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2) 1106 | '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2) 1107 | '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2) 1108 | '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2) 1109 | '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2) 1110 | '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.2) 1111 | dev: true 1112 | 1113 | /babel-preset-jest@29.6.3(@babel/core@7.23.2): 1114 | resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} 1115 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1116 | peerDependencies: 1117 | '@babel/core': ^7.0.0 1118 | dependencies: 1119 | '@babel/core': 7.23.2 1120 | babel-plugin-jest-hoist: 29.6.3 1121 | babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.2) 1122 | dev: true 1123 | 1124 | /balanced-match@1.0.2: 1125 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1126 | dev: true 1127 | 1128 | /balanced-match@2.0.0: 1129 | resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} 1130 | dev: true 1131 | 1132 | /brace-expansion@1.1.11: 1133 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1134 | dependencies: 1135 | balanced-match: 1.0.2 1136 | concat-map: 0.0.1 1137 | dev: true 1138 | 1139 | /braces@3.0.2: 1140 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1141 | engines: {node: '>=8'} 1142 | dependencies: 1143 | fill-range: 7.0.1 1144 | dev: true 1145 | 1146 | /browserslist@4.22.1: 1147 | resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} 1148 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1149 | hasBin: true 1150 | dependencies: 1151 | caniuse-lite: 1.0.30001551 1152 | electron-to-chromium: 1.4.563 1153 | node-releases: 2.0.13 1154 | update-browserslist-db: 1.0.13(browserslist@4.22.1) 1155 | dev: true 1156 | 1157 | /bser@2.1.1: 1158 | resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} 1159 | dependencies: 1160 | node-int64: 0.4.0 1161 | dev: true 1162 | 1163 | /buffer-from@1.1.2: 1164 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 1165 | dev: true 1166 | 1167 | /builtins@5.0.1: 1168 | resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} 1169 | dependencies: 1170 | semver: 7.5.4 1171 | dev: true 1172 | 1173 | /call-bind@1.0.5: 1174 | resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} 1175 | dependencies: 1176 | function-bind: 1.1.2 1177 | get-intrinsic: 1.2.2 1178 | set-function-length: 1.1.1 1179 | dev: true 1180 | 1181 | /callsites@3.1.0: 1182 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1183 | engines: {node: '>=6'} 1184 | dev: true 1185 | 1186 | /camelcase-keys@7.0.2: 1187 | resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} 1188 | engines: {node: '>=12'} 1189 | dependencies: 1190 | camelcase: 6.3.0 1191 | map-obj: 4.3.0 1192 | quick-lru: 5.1.1 1193 | type-fest: 1.4.0 1194 | dev: true 1195 | 1196 | /camelcase@5.3.1: 1197 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 1198 | engines: {node: '>=6'} 1199 | dev: true 1200 | 1201 | /camelcase@6.3.0: 1202 | resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} 1203 | engines: {node: '>=10'} 1204 | dev: true 1205 | 1206 | /caniuse-lite@1.0.30001551: 1207 | resolution: {integrity: sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==} 1208 | dev: true 1209 | 1210 | /chalk@2.4.2: 1211 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1212 | engines: {node: '>=4'} 1213 | dependencies: 1214 | ansi-styles: 3.2.1 1215 | escape-string-regexp: 1.0.5 1216 | supports-color: 5.5.0 1217 | dev: true 1218 | 1219 | /chalk@4.1.2: 1220 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1221 | engines: {node: '>=10'} 1222 | dependencies: 1223 | ansi-styles: 4.3.0 1224 | supports-color: 7.2.0 1225 | dev: true 1226 | 1227 | /chalk@5.3.0: 1228 | resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 1229 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 1230 | dev: true 1231 | 1232 | /char-regex@1.0.2: 1233 | resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} 1234 | engines: {node: '>=10'} 1235 | dev: true 1236 | 1237 | /ci-info@3.9.0: 1238 | resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} 1239 | engines: {node: '>=8'} 1240 | dev: true 1241 | 1242 | /cjs-module-lexer@1.2.3: 1243 | resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} 1244 | dev: true 1245 | 1246 | /cli-cursor@4.0.0: 1247 | resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} 1248 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1249 | dependencies: 1250 | restore-cursor: 4.0.0 1251 | dev: true 1252 | 1253 | /cli-truncate@3.1.0: 1254 | resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} 1255 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1256 | dependencies: 1257 | slice-ansi: 5.0.0 1258 | string-width: 5.1.2 1259 | dev: true 1260 | 1261 | /cliui@8.0.1: 1262 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1263 | engines: {node: '>=12'} 1264 | dependencies: 1265 | string-width: 4.2.3 1266 | strip-ansi: 6.0.1 1267 | wrap-ansi: 7.0.0 1268 | dev: true 1269 | 1270 | /co@4.6.0: 1271 | resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} 1272 | engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} 1273 | dev: true 1274 | 1275 | /collect-v8-coverage@1.0.2: 1276 | resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} 1277 | dev: true 1278 | 1279 | /color-convert@1.9.3: 1280 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1281 | dependencies: 1282 | color-name: 1.1.3 1283 | dev: true 1284 | 1285 | /color-convert@2.0.1: 1286 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1287 | engines: {node: '>=7.0.0'} 1288 | dependencies: 1289 | color-name: 1.1.4 1290 | dev: true 1291 | 1292 | /color-name@1.1.3: 1293 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1294 | dev: true 1295 | 1296 | /color-name@1.1.4: 1297 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1298 | dev: true 1299 | 1300 | /colord@2.9.3: 1301 | resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} 1302 | dev: true 1303 | 1304 | /colorette@2.0.20: 1305 | resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} 1306 | dev: true 1307 | 1308 | /colorjs.io@0.4.5: 1309 | resolution: {integrity: sha512-yCtUNCmge7llyfd/Wou19PMAcf5yC3XXhgFoAh6zsO2pGswhUPBaaUh8jzgHnXtXuZyFKzXZNAnyF5i+apICow==} 1310 | dev: false 1311 | 1312 | /commander@11.1.0: 1313 | resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} 1314 | engines: {node: '>=16'} 1315 | dev: true 1316 | 1317 | /concat-map@0.0.1: 1318 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1319 | dev: true 1320 | 1321 | /convert-source-map@2.0.0: 1322 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 1323 | dev: true 1324 | 1325 | /cosmiconfig@8.3.6: 1326 | resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} 1327 | engines: {node: '>=14'} 1328 | peerDependencies: 1329 | typescript: '>=4.9.5' 1330 | peerDependenciesMeta: 1331 | typescript: 1332 | optional: true 1333 | dependencies: 1334 | import-fresh: 3.3.0 1335 | js-yaml: 4.1.0 1336 | parse-json: 5.2.0 1337 | path-type: 4.0.0 1338 | dev: true 1339 | 1340 | /create-jest@29.7.0: 1341 | resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} 1342 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1343 | hasBin: true 1344 | dependencies: 1345 | '@jest/types': 29.6.3 1346 | chalk: 4.1.2 1347 | exit: 0.1.2 1348 | graceful-fs: 4.2.11 1349 | jest-config: 29.7.0(@types/node@20.8.7) 1350 | jest-util: 29.7.0 1351 | prompts: 2.4.2 1352 | transitivePeerDependencies: 1353 | - '@types/node' 1354 | - babel-plugin-macros 1355 | - supports-color 1356 | - ts-node 1357 | dev: true 1358 | 1359 | /cross-spawn@7.0.3: 1360 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1361 | engines: {node: '>= 8'} 1362 | dependencies: 1363 | path-key: 3.1.1 1364 | shebang-command: 2.0.0 1365 | which: 2.0.2 1366 | dev: true 1367 | 1368 | /css-functions-list@3.2.1: 1369 | resolution: {integrity: sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==} 1370 | engines: {node: '>=12 || >=16'} 1371 | dev: true 1372 | 1373 | /css-tree@2.3.1: 1374 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} 1375 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 1376 | dependencies: 1377 | mdn-data: 2.0.30 1378 | source-map-js: 1.0.2 1379 | dev: true 1380 | 1381 | /cssesc@3.0.0: 1382 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1383 | engines: {node: '>=4'} 1384 | hasBin: true 1385 | dev: true 1386 | 1387 | /debug@3.2.7: 1388 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 1389 | peerDependencies: 1390 | supports-color: '*' 1391 | peerDependenciesMeta: 1392 | supports-color: 1393 | optional: true 1394 | dependencies: 1395 | ms: 2.1.3 1396 | dev: true 1397 | 1398 | /debug@4.3.4: 1399 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1400 | engines: {node: '>=6.0'} 1401 | peerDependencies: 1402 | supports-color: '*' 1403 | peerDependenciesMeta: 1404 | supports-color: 1405 | optional: true 1406 | dependencies: 1407 | ms: 2.1.2 1408 | dev: true 1409 | 1410 | /decamelize-keys@1.1.1: 1411 | resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} 1412 | engines: {node: '>=0.10.0'} 1413 | dependencies: 1414 | decamelize: 1.2.0 1415 | map-obj: 1.0.1 1416 | dev: true 1417 | 1418 | /decamelize@1.2.0: 1419 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} 1420 | engines: {node: '>=0.10.0'} 1421 | dev: true 1422 | 1423 | /decamelize@5.0.1: 1424 | resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==} 1425 | engines: {node: '>=10'} 1426 | dev: true 1427 | 1428 | /dedent@1.5.1: 1429 | resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} 1430 | peerDependencies: 1431 | babel-plugin-macros: ^3.1.0 1432 | peerDependenciesMeta: 1433 | babel-plugin-macros: 1434 | optional: true 1435 | dev: true 1436 | 1437 | /deep-is@0.1.4: 1438 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1439 | dev: true 1440 | 1441 | /deepmerge@4.3.1: 1442 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 1443 | engines: {node: '>=0.10.0'} 1444 | dev: true 1445 | 1446 | /define-data-property@1.1.1: 1447 | resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} 1448 | engines: {node: '>= 0.4'} 1449 | dependencies: 1450 | get-intrinsic: 1.2.2 1451 | gopd: 1.0.1 1452 | has-property-descriptors: 1.0.1 1453 | dev: true 1454 | 1455 | /define-properties@1.2.1: 1456 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 1457 | engines: {node: '>= 0.4'} 1458 | dependencies: 1459 | define-data-property: 1.1.1 1460 | has-property-descriptors: 1.0.1 1461 | object-keys: 1.1.1 1462 | dev: true 1463 | 1464 | /detect-newline@3.1.0: 1465 | resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} 1466 | engines: {node: '>=8'} 1467 | dev: true 1468 | 1469 | /diff-sequences@29.6.3: 1470 | resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} 1471 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1472 | dev: true 1473 | 1474 | /dir-glob@3.0.1: 1475 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1476 | engines: {node: '>=8'} 1477 | dependencies: 1478 | path-type: 4.0.0 1479 | dev: true 1480 | 1481 | /doctrine@2.1.0: 1482 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 1483 | engines: {node: '>=0.10.0'} 1484 | dependencies: 1485 | esutils: 2.0.3 1486 | dev: true 1487 | 1488 | /doctrine@3.0.0: 1489 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1490 | engines: {node: '>=6.0.0'} 1491 | dependencies: 1492 | esutils: 2.0.3 1493 | dev: true 1494 | 1495 | /eastasianwidth@0.2.0: 1496 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 1497 | dev: true 1498 | 1499 | /electron-to-chromium@1.4.563: 1500 | resolution: {integrity: sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==} 1501 | dev: true 1502 | 1503 | /emittery@0.13.1: 1504 | resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} 1505 | engines: {node: '>=12'} 1506 | dev: true 1507 | 1508 | /emoji-regex@8.0.0: 1509 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1510 | dev: true 1511 | 1512 | /emoji-regex@9.2.2: 1513 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1514 | dev: true 1515 | 1516 | /error-ex@1.3.2: 1517 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1518 | dependencies: 1519 | is-arrayish: 0.2.1 1520 | dev: true 1521 | 1522 | /es-abstract@1.22.3: 1523 | resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} 1524 | engines: {node: '>= 0.4'} 1525 | dependencies: 1526 | array-buffer-byte-length: 1.0.0 1527 | arraybuffer.prototype.slice: 1.0.2 1528 | available-typed-arrays: 1.0.5 1529 | call-bind: 1.0.5 1530 | es-set-tostringtag: 2.0.2 1531 | es-to-primitive: 1.2.1 1532 | function.prototype.name: 1.1.6 1533 | get-intrinsic: 1.2.2 1534 | get-symbol-description: 1.0.0 1535 | globalthis: 1.0.3 1536 | gopd: 1.0.1 1537 | has-property-descriptors: 1.0.1 1538 | has-proto: 1.0.1 1539 | has-symbols: 1.0.3 1540 | hasown: 2.0.0 1541 | internal-slot: 1.0.6 1542 | is-array-buffer: 3.0.2 1543 | is-callable: 1.2.7 1544 | is-negative-zero: 2.0.2 1545 | is-regex: 1.1.4 1546 | is-shared-array-buffer: 1.0.2 1547 | is-string: 1.0.7 1548 | is-typed-array: 1.1.12 1549 | is-weakref: 1.0.2 1550 | object-inspect: 1.13.1 1551 | object-keys: 1.1.1 1552 | object.assign: 4.1.4 1553 | regexp.prototype.flags: 1.5.1 1554 | safe-array-concat: 1.0.1 1555 | safe-regex-test: 1.0.0 1556 | string.prototype.trim: 1.2.8 1557 | string.prototype.trimend: 1.0.7 1558 | string.prototype.trimstart: 1.0.7 1559 | typed-array-buffer: 1.0.0 1560 | typed-array-byte-length: 1.0.0 1561 | typed-array-byte-offset: 1.0.0 1562 | typed-array-length: 1.0.4 1563 | unbox-primitive: 1.0.2 1564 | which-typed-array: 1.1.13 1565 | dev: true 1566 | 1567 | /es-set-tostringtag@2.0.2: 1568 | resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} 1569 | engines: {node: '>= 0.4'} 1570 | dependencies: 1571 | get-intrinsic: 1.2.2 1572 | has-tostringtag: 1.0.0 1573 | hasown: 2.0.0 1574 | dev: true 1575 | 1576 | /es-shim-unscopables@1.0.2: 1577 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} 1578 | dependencies: 1579 | hasown: 2.0.0 1580 | dev: true 1581 | 1582 | /es-to-primitive@1.2.1: 1583 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1584 | engines: {node: '>= 0.4'} 1585 | dependencies: 1586 | is-callable: 1.2.7 1587 | is-date-object: 1.0.5 1588 | is-symbol: 1.0.4 1589 | dev: true 1590 | 1591 | /escalade@3.1.1: 1592 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1593 | engines: {node: '>=6'} 1594 | dev: true 1595 | 1596 | /escape-string-regexp@1.0.5: 1597 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1598 | engines: {node: '>=0.8.0'} 1599 | dev: true 1600 | 1601 | /escape-string-regexp@2.0.0: 1602 | resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} 1603 | engines: {node: '>=8'} 1604 | dev: true 1605 | 1606 | /escape-string-regexp@4.0.0: 1607 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1608 | engines: {node: '>=10'} 1609 | dev: true 1610 | 1611 | /eslint-config-prettier@9.0.0(eslint@8.52.0): 1612 | resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} 1613 | hasBin: true 1614 | peerDependencies: 1615 | eslint: '>=7.0.0' 1616 | dependencies: 1617 | eslint: 8.52.0 1618 | dev: true 1619 | 1620 | /eslint-config-standard@17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0): 1621 | resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} 1622 | engines: {node: '>=12.0.0'} 1623 | peerDependencies: 1624 | eslint: ^8.0.1 1625 | eslint-plugin-import: ^2.25.2 1626 | eslint-plugin-n: '^15.0.0 || ^16.0.0 ' 1627 | eslint-plugin-promise: ^6.0.0 1628 | dependencies: 1629 | eslint: 8.52.0 1630 | eslint-plugin-import: 2.28.1(eslint@8.52.0) 1631 | eslint-plugin-n: 16.2.0(eslint@8.52.0) 1632 | eslint-plugin-promise: 6.1.1(eslint@8.52.0) 1633 | dev: true 1634 | 1635 | /eslint-import-resolver-node@0.3.9: 1636 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 1637 | dependencies: 1638 | debug: 3.2.7 1639 | is-core-module: 2.13.1 1640 | resolve: 1.22.8 1641 | transitivePeerDependencies: 1642 | - supports-color 1643 | dev: true 1644 | 1645 | /eslint-module-utils@2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.52.0): 1646 | resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} 1647 | engines: {node: '>=4'} 1648 | peerDependencies: 1649 | '@typescript-eslint/parser': '*' 1650 | eslint: '*' 1651 | eslint-import-resolver-node: '*' 1652 | eslint-import-resolver-typescript: '*' 1653 | eslint-import-resolver-webpack: '*' 1654 | peerDependenciesMeta: 1655 | '@typescript-eslint/parser': 1656 | optional: true 1657 | eslint: 1658 | optional: true 1659 | eslint-import-resolver-node: 1660 | optional: true 1661 | eslint-import-resolver-typescript: 1662 | optional: true 1663 | eslint-import-resolver-webpack: 1664 | optional: true 1665 | dependencies: 1666 | debug: 3.2.7 1667 | eslint: 8.52.0 1668 | eslint-import-resolver-node: 0.3.9 1669 | transitivePeerDependencies: 1670 | - supports-color 1671 | dev: true 1672 | 1673 | /eslint-plugin-es-x@7.2.0(eslint@8.52.0): 1674 | resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} 1675 | engines: {node: ^14.18.0 || >=16.0.0} 1676 | peerDependencies: 1677 | eslint: '>=8' 1678 | dependencies: 1679 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) 1680 | '@eslint-community/regexpp': 4.9.1 1681 | eslint: 8.52.0 1682 | dev: true 1683 | 1684 | /eslint-plugin-import@2.28.1(eslint@8.52.0): 1685 | resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} 1686 | engines: {node: '>=4'} 1687 | peerDependencies: 1688 | '@typescript-eslint/parser': '*' 1689 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1690 | peerDependenciesMeta: 1691 | '@typescript-eslint/parser': 1692 | optional: true 1693 | dependencies: 1694 | array-includes: 3.1.7 1695 | array.prototype.findlastindex: 1.2.3 1696 | array.prototype.flat: 1.3.2 1697 | array.prototype.flatmap: 1.3.2 1698 | debug: 3.2.7 1699 | doctrine: 2.1.0 1700 | eslint: 8.52.0 1701 | eslint-import-resolver-node: 0.3.9 1702 | eslint-module-utils: 2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.52.0) 1703 | has: 1.0.4 1704 | is-core-module: 2.13.1 1705 | is-glob: 4.0.3 1706 | minimatch: 3.1.2 1707 | object.fromentries: 2.0.7 1708 | object.groupby: 1.0.1 1709 | object.values: 1.1.7 1710 | semver: 6.3.1 1711 | tsconfig-paths: 3.14.2 1712 | transitivePeerDependencies: 1713 | - eslint-import-resolver-typescript 1714 | - eslint-import-resolver-webpack 1715 | - supports-color 1716 | dev: true 1717 | 1718 | /eslint-plugin-n@16.2.0(eslint@8.52.0): 1719 | resolution: {integrity: sha512-AQER2jEyQOt1LG6JkGJCCIFotzmlcCZFur2wdKrp1JX2cNotC7Ae0BcD/4lLv3lUAArM9uNS8z/fsvXTd0L71g==} 1720 | engines: {node: '>=16.0.0'} 1721 | peerDependencies: 1722 | eslint: '>=7.0.0' 1723 | dependencies: 1724 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) 1725 | builtins: 5.0.1 1726 | eslint: 8.52.0 1727 | eslint-plugin-es-x: 7.2.0(eslint@8.52.0) 1728 | get-tsconfig: 4.7.2 1729 | ignore: 5.2.4 1730 | is-core-module: 2.13.1 1731 | minimatch: 3.1.2 1732 | resolve: 1.22.8 1733 | semver: 7.5.4 1734 | dev: true 1735 | 1736 | /eslint-plugin-promise@6.1.1(eslint@8.52.0): 1737 | resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} 1738 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1739 | peerDependencies: 1740 | eslint: ^7.0.0 || ^8.0.0 1741 | dependencies: 1742 | eslint: 8.52.0 1743 | dev: true 1744 | 1745 | /eslint-scope@7.2.2: 1746 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 1747 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1748 | dependencies: 1749 | esrecurse: 4.3.0 1750 | estraverse: 5.3.0 1751 | dev: true 1752 | 1753 | /eslint-visitor-keys@3.4.3: 1754 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1755 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1756 | dev: true 1757 | 1758 | /eslint@8.52.0: 1759 | resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} 1760 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1761 | hasBin: true 1762 | dependencies: 1763 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) 1764 | '@eslint-community/regexpp': 4.9.1 1765 | '@eslint/eslintrc': 2.1.2 1766 | '@eslint/js': 8.52.0 1767 | '@humanwhocodes/config-array': 0.11.13 1768 | '@humanwhocodes/module-importer': 1.0.1 1769 | '@nodelib/fs.walk': 1.2.8 1770 | '@ungap/structured-clone': 1.2.0 1771 | ajv: 6.12.6 1772 | chalk: 4.1.2 1773 | cross-spawn: 7.0.3 1774 | debug: 4.3.4 1775 | doctrine: 3.0.0 1776 | escape-string-regexp: 4.0.0 1777 | eslint-scope: 7.2.2 1778 | eslint-visitor-keys: 3.4.3 1779 | espree: 9.6.1 1780 | esquery: 1.5.0 1781 | esutils: 2.0.3 1782 | fast-deep-equal: 3.1.3 1783 | file-entry-cache: 6.0.1 1784 | find-up: 5.0.0 1785 | glob-parent: 6.0.2 1786 | globals: 13.23.0 1787 | graphemer: 1.4.0 1788 | ignore: 5.2.4 1789 | imurmurhash: 0.1.4 1790 | is-glob: 4.0.3 1791 | is-path-inside: 3.0.3 1792 | js-yaml: 4.1.0 1793 | json-stable-stringify-without-jsonify: 1.0.1 1794 | levn: 0.4.1 1795 | lodash.merge: 4.6.2 1796 | minimatch: 3.1.2 1797 | natural-compare: 1.4.0 1798 | optionator: 0.9.3 1799 | strip-ansi: 6.0.1 1800 | text-table: 0.2.0 1801 | transitivePeerDependencies: 1802 | - supports-color 1803 | dev: true 1804 | 1805 | /espree@9.6.1: 1806 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1807 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1808 | dependencies: 1809 | acorn: 8.10.0 1810 | acorn-jsx: 5.3.2(acorn@8.10.0) 1811 | eslint-visitor-keys: 3.4.3 1812 | dev: true 1813 | 1814 | /esprima@4.0.1: 1815 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1816 | engines: {node: '>=4'} 1817 | hasBin: true 1818 | dev: true 1819 | 1820 | /esquery@1.5.0: 1821 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1822 | engines: {node: '>=0.10'} 1823 | dependencies: 1824 | estraverse: 5.3.0 1825 | dev: true 1826 | 1827 | /esrecurse@4.3.0: 1828 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1829 | engines: {node: '>=4.0'} 1830 | dependencies: 1831 | estraverse: 5.3.0 1832 | dev: true 1833 | 1834 | /estraverse@5.3.0: 1835 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1836 | engines: {node: '>=4.0'} 1837 | dev: true 1838 | 1839 | /esutils@2.0.3: 1840 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1841 | engines: {node: '>=0.10.0'} 1842 | dev: true 1843 | 1844 | /eventemitter3@5.0.1: 1845 | resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} 1846 | dev: true 1847 | 1848 | /execa@5.1.1: 1849 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1850 | engines: {node: '>=10'} 1851 | dependencies: 1852 | cross-spawn: 7.0.3 1853 | get-stream: 6.0.1 1854 | human-signals: 2.1.0 1855 | is-stream: 2.0.1 1856 | merge-stream: 2.0.0 1857 | npm-run-path: 4.0.1 1858 | onetime: 5.1.2 1859 | signal-exit: 3.0.7 1860 | strip-final-newline: 2.0.0 1861 | dev: true 1862 | 1863 | /execa@8.0.1: 1864 | resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 1865 | engines: {node: '>=16.17'} 1866 | dependencies: 1867 | cross-spawn: 7.0.3 1868 | get-stream: 8.0.1 1869 | human-signals: 5.0.0 1870 | is-stream: 3.0.0 1871 | merge-stream: 2.0.0 1872 | npm-run-path: 5.1.0 1873 | onetime: 6.0.0 1874 | signal-exit: 4.1.0 1875 | strip-final-newline: 3.0.0 1876 | dev: true 1877 | 1878 | /exit@0.1.2: 1879 | resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} 1880 | engines: {node: '>= 0.8.0'} 1881 | dev: true 1882 | 1883 | /expect@29.7.0: 1884 | resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} 1885 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1886 | dependencies: 1887 | '@jest/expect-utils': 29.7.0 1888 | jest-get-type: 29.6.3 1889 | jest-matcher-utils: 29.7.0 1890 | jest-message-util: 29.7.0 1891 | jest-util: 29.7.0 1892 | dev: true 1893 | 1894 | /fast-deep-equal@3.1.3: 1895 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1896 | dev: true 1897 | 1898 | /fast-glob@3.3.1: 1899 | resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} 1900 | engines: {node: '>=8.6.0'} 1901 | dependencies: 1902 | '@nodelib/fs.stat': 2.0.5 1903 | '@nodelib/fs.walk': 1.2.8 1904 | glob-parent: 5.1.2 1905 | merge2: 1.4.1 1906 | micromatch: 4.0.5 1907 | dev: true 1908 | 1909 | /fast-json-stable-stringify@2.1.0: 1910 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1911 | dev: true 1912 | 1913 | /fast-levenshtein@2.0.6: 1914 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1915 | dev: true 1916 | 1917 | /fastest-levenshtein@1.0.16: 1918 | resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} 1919 | engines: {node: '>= 4.9.1'} 1920 | dev: true 1921 | 1922 | /fastq@1.15.0: 1923 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1924 | dependencies: 1925 | reusify: 1.0.4 1926 | dev: true 1927 | 1928 | /fb-watchman@2.0.2: 1929 | resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} 1930 | dependencies: 1931 | bser: 2.1.1 1932 | dev: true 1933 | 1934 | /file-entry-cache@6.0.1: 1935 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1936 | engines: {node: ^10.12.0 || >=12.0.0} 1937 | dependencies: 1938 | flat-cache: 3.1.1 1939 | dev: true 1940 | 1941 | /file-entry-cache@7.0.1: 1942 | resolution: {integrity: sha512-uLfFktPmRetVCbHe5UPuekWrQ6hENufnA46qEGbfACkK5drjTTdQYUragRgMjHldcbYG+nslUerqMPjbBSHXjQ==} 1943 | engines: {node: '>=12.0.0'} 1944 | dependencies: 1945 | flat-cache: 3.1.1 1946 | dev: true 1947 | 1948 | /fill-range@7.0.1: 1949 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1950 | engines: {node: '>=8'} 1951 | dependencies: 1952 | to-regex-range: 5.0.1 1953 | dev: true 1954 | 1955 | /find-up@4.1.0: 1956 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1957 | engines: {node: '>=8'} 1958 | dependencies: 1959 | locate-path: 5.0.0 1960 | path-exists: 4.0.0 1961 | dev: true 1962 | 1963 | /find-up@5.0.0: 1964 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1965 | engines: {node: '>=10'} 1966 | dependencies: 1967 | locate-path: 6.0.0 1968 | path-exists: 4.0.0 1969 | dev: true 1970 | 1971 | /flat-cache@3.1.1: 1972 | resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} 1973 | engines: {node: '>=12.0.0'} 1974 | dependencies: 1975 | flatted: 3.2.9 1976 | keyv: 4.5.4 1977 | rimraf: 3.0.2 1978 | dev: true 1979 | 1980 | /flatted@3.2.9: 1981 | resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} 1982 | dev: true 1983 | 1984 | /for-each@0.3.3: 1985 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 1986 | dependencies: 1987 | is-callable: 1.2.7 1988 | dev: true 1989 | 1990 | /fs.realpath@1.0.0: 1991 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1992 | dev: true 1993 | 1994 | /fsevents@2.3.3: 1995 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1996 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1997 | os: [darwin] 1998 | requiresBuild: true 1999 | dev: true 2000 | optional: true 2001 | 2002 | /function-bind@1.1.2: 2003 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 2004 | dev: true 2005 | 2006 | /function.prototype.name@1.1.6: 2007 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} 2008 | engines: {node: '>= 0.4'} 2009 | dependencies: 2010 | call-bind: 1.0.5 2011 | define-properties: 1.2.1 2012 | es-abstract: 1.22.3 2013 | functions-have-names: 1.2.3 2014 | dev: true 2015 | 2016 | /functions-have-names@1.2.3: 2017 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 2018 | dev: true 2019 | 2020 | /gensync@1.0.0-beta.2: 2021 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 2022 | engines: {node: '>=6.9.0'} 2023 | dev: true 2024 | 2025 | /get-caller-file@2.0.5: 2026 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 2027 | engines: {node: 6.* || 8.* || >= 10.*} 2028 | dev: true 2029 | 2030 | /get-intrinsic@1.2.2: 2031 | resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} 2032 | dependencies: 2033 | function-bind: 1.1.2 2034 | has-proto: 1.0.1 2035 | has-symbols: 1.0.3 2036 | hasown: 2.0.0 2037 | dev: true 2038 | 2039 | /get-package-type@0.1.0: 2040 | resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} 2041 | engines: {node: '>=8.0.0'} 2042 | dev: true 2043 | 2044 | /get-stream@6.0.1: 2045 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 2046 | engines: {node: '>=10'} 2047 | dev: true 2048 | 2049 | /get-stream@8.0.1: 2050 | resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 2051 | engines: {node: '>=16'} 2052 | dev: true 2053 | 2054 | /get-symbol-description@1.0.0: 2055 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 2056 | engines: {node: '>= 0.4'} 2057 | dependencies: 2058 | call-bind: 1.0.5 2059 | get-intrinsic: 1.2.2 2060 | dev: true 2061 | 2062 | /get-tsconfig@4.7.2: 2063 | resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} 2064 | dependencies: 2065 | resolve-pkg-maps: 1.0.0 2066 | dev: true 2067 | 2068 | /glob-parent@5.1.2: 2069 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 2070 | engines: {node: '>= 6'} 2071 | dependencies: 2072 | is-glob: 4.0.3 2073 | dev: true 2074 | 2075 | /glob-parent@6.0.2: 2076 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 2077 | engines: {node: '>=10.13.0'} 2078 | dependencies: 2079 | is-glob: 4.0.3 2080 | dev: true 2081 | 2082 | /glob@7.2.3: 2083 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 2084 | dependencies: 2085 | fs.realpath: 1.0.0 2086 | inflight: 1.0.6 2087 | inherits: 2.0.4 2088 | minimatch: 3.1.2 2089 | once: 1.4.0 2090 | path-is-absolute: 1.0.1 2091 | dev: true 2092 | 2093 | /global-modules@2.0.0: 2094 | resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} 2095 | engines: {node: '>=6'} 2096 | dependencies: 2097 | global-prefix: 3.0.0 2098 | dev: true 2099 | 2100 | /global-prefix@3.0.0: 2101 | resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} 2102 | engines: {node: '>=6'} 2103 | dependencies: 2104 | ini: 1.3.8 2105 | kind-of: 6.0.3 2106 | which: 1.3.1 2107 | dev: true 2108 | 2109 | /globals@11.12.0: 2110 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 2111 | engines: {node: '>=4'} 2112 | dev: true 2113 | 2114 | /globals@13.23.0: 2115 | resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} 2116 | engines: {node: '>=8'} 2117 | dependencies: 2118 | type-fest: 0.20.2 2119 | dev: true 2120 | 2121 | /globalthis@1.0.3: 2122 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 2123 | engines: {node: '>= 0.4'} 2124 | dependencies: 2125 | define-properties: 1.2.1 2126 | dev: true 2127 | 2128 | /globby@11.1.0: 2129 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 2130 | engines: {node: '>=10'} 2131 | dependencies: 2132 | array-union: 2.1.0 2133 | dir-glob: 3.0.1 2134 | fast-glob: 3.3.1 2135 | ignore: 5.2.4 2136 | merge2: 1.4.1 2137 | slash: 3.0.0 2138 | dev: true 2139 | 2140 | /globjoin@0.1.4: 2141 | resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} 2142 | dev: true 2143 | 2144 | /gopd@1.0.1: 2145 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 2146 | dependencies: 2147 | get-intrinsic: 1.2.2 2148 | dev: true 2149 | 2150 | /graceful-fs@4.2.11: 2151 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 2152 | dev: true 2153 | 2154 | /graphemer@1.4.0: 2155 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 2156 | dev: true 2157 | 2158 | /hard-rejection@2.1.0: 2159 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} 2160 | engines: {node: '>=6'} 2161 | dev: true 2162 | 2163 | /has-bigints@1.0.2: 2164 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 2165 | dev: true 2166 | 2167 | /has-flag@3.0.0: 2168 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 2169 | engines: {node: '>=4'} 2170 | dev: true 2171 | 2172 | /has-flag@4.0.0: 2173 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 2174 | engines: {node: '>=8'} 2175 | dev: true 2176 | 2177 | /has-property-descriptors@1.0.1: 2178 | resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} 2179 | dependencies: 2180 | get-intrinsic: 1.2.2 2181 | dev: true 2182 | 2183 | /has-proto@1.0.1: 2184 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 2185 | engines: {node: '>= 0.4'} 2186 | dev: true 2187 | 2188 | /has-symbols@1.0.3: 2189 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 2190 | engines: {node: '>= 0.4'} 2191 | dev: true 2192 | 2193 | /has-tostringtag@1.0.0: 2194 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 2195 | engines: {node: '>= 0.4'} 2196 | dependencies: 2197 | has-symbols: 1.0.3 2198 | dev: true 2199 | 2200 | /has@1.0.4: 2201 | resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} 2202 | engines: {node: '>= 0.4.0'} 2203 | dev: true 2204 | 2205 | /hasown@2.0.0: 2206 | resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} 2207 | engines: {node: '>= 0.4'} 2208 | dependencies: 2209 | function-bind: 1.1.2 2210 | dev: true 2211 | 2212 | /hosted-git-info@4.1.0: 2213 | resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} 2214 | engines: {node: '>=10'} 2215 | dependencies: 2216 | lru-cache: 6.0.0 2217 | dev: true 2218 | 2219 | /html-escaper@2.0.2: 2220 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 2221 | dev: true 2222 | 2223 | /html-tags@3.3.1: 2224 | resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} 2225 | engines: {node: '>=8'} 2226 | dev: true 2227 | 2228 | /human-signals@2.1.0: 2229 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 2230 | engines: {node: '>=10.17.0'} 2231 | dev: true 2232 | 2233 | /human-signals@5.0.0: 2234 | resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 2235 | engines: {node: '>=16.17.0'} 2236 | dev: true 2237 | 2238 | /husky@8.0.3: 2239 | resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} 2240 | engines: {node: '>=14'} 2241 | hasBin: true 2242 | dev: true 2243 | 2244 | /ignore@5.2.4: 2245 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 2246 | engines: {node: '>= 4'} 2247 | dev: true 2248 | 2249 | /import-fresh@3.3.0: 2250 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 2251 | engines: {node: '>=6'} 2252 | dependencies: 2253 | parent-module: 1.0.1 2254 | resolve-from: 4.0.0 2255 | dev: true 2256 | 2257 | /import-lazy@4.0.0: 2258 | resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} 2259 | engines: {node: '>=8'} 2260 | dev: true 2261 | 2262 | /import-local@3.1.0: 2263 | resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} 2264 | engines: {node: '>=8'} 2265 | hasBin: true 2266 | dependencies: 2267 | pkg-dir: 4.2.0 2268 | resolve-cwd: 3.0.0 2269 | dev: true 2270 | 2271 | /imurmurhash@0.1.4: 2272 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 2273 | engines: {node: '>=0.8.19'} 2274 | dev: true 2275 | 2276 | /indent-string@5.0.0: 2277 | resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} 2278 | engines: {node: '>=12'} 2279 | dev: true 2280 | 2281 | /inflight@1.0.6: 2282 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 2283 | dependencies: 2284 | once: 1.4.0 2285 | wrappy: 1.0.2 2286 | dev: true 2287 | 2288 | /inherits@2.0.4: 2289 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2290 | dev: true 2291 | 2292 | /ini@1.3.8: 2293 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 2294 | dev: true 2295 | 2296 | /internal-slot@1.0.6: 2297 | resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} 2298 | engines: {node: '>= 0.4'} 2299 | dependencies: 2300 | get-intrinsic: 1.2.2 2301 | hasown: 2.0.0 2302 | side-channel: 1.0.4 2303 | dev: true 2304 | 2305 | /is-array-buffer@3.0.2: 2306 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} 2307 | dependencies: 2308 | call-bind: 1.0.5 2309 | get-intrinsic: 1.2.2 2310 | is-typed-array: 1.1.12 2311 | dev: true 2312 | 2313 | /is-arrayish@0.2.1: 2314 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 2315 | dev: true 2316 | 2317 | /is-bigint@1.0.4: 2318 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 2319 | dependencies: 2320 | has-bigints: 1.0.2 2321 | dev: true 2322 | 2323 | /is-boolean-object@1.1.2: 2324 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 2325 | engines: {node: '>= 0.4'} 2326 | dependencies: 2327 | call-bind: 1.0.5 2328 | has-tostringtag: 1.0.0 2329 | dev: true 2330 | 2331 | /is-callable@1.2.7: 2332 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 2333 | engines: {node: '>= 0.4'} 2334 | dev: true 2335 | 2336 | /is-core-module@2.13.1: 2337 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 2338 | dependencies: 2339 | hasown: 2.0.0 2340 | dev: true 2341 | 2342 | /is-date-object@1.0.5: 2343 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 2344 | engines: {node: '>= 0.4'} 2345 | dependencies: 2346 | has-tostringtag: 1.0.0 2347 | dev: true 2348 | 2349 | /is-extglob@2.1.1: 2350 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2351 | engines: {node: '>=0.10.0'} 2352 | dev: true 2353 | 2354 | /is-fullwidth-code-point@3.0.0: 2355 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 2356 | engines: {node: '>=8'} 2357 | dev: true 2358 | 2359 | /is-fullwidth-code-point@4.0.0: 2360 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 2361 | engines: {node: '>=12'} 2362 | dev: true 2363 | 2364 | /is-generator-fn@2.1.0: 2365 | resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} 2366 | engines: {node: '>=6'} 2367 | dev: true 2368 | 2369 | /is-glob@4.0.3: 2370 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2371 | engines: {node: '>=0.10.0'} 2372 | dependencies: 2373 | is-extglob: 2.1.1 2374 | dev: true 2375 | 2376 | /is-negative-zero@2.0.2: 2377 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 2378 | engines: {node: '>= 0.4'} 2379 | dev: true 2380 | 2381 | /is-number-object@1.0.7: 2382 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 2383 | engines: {node: '>= 0.4'} 2384 | dependencies: 2385 | has-tostringtag: 1.0.0 2386 | dev: true 2387 | 2388 | /is-number@7.0.0: 2389 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2390 | engines: {node: '>=0.12.0'} 2391 | dev: true 2392 | 2393 | /is-path-inside@3.0.3: 2394 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 2395 | engines: {node: '>=8'} 2396 | dev: true 2397 | 2398 | /is-plain-obj@1.1.0: 2399 | resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} 2400 | engines: {node: '>=0.10.0'} 2401 | dev: true 2402 | 2403 | /is-plain-object@5.0.0: 2404 | resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} 2405 | engines: {node: '>=0.10.0'} 2406 | dev: true 2407 | 2408 | /is-regex@1.1.4: 2409 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 2410 | engines: {node: '>= 0.4'} 2411 | dependencies: 2412 | call-bind: 1.0.5 2413 | has-tostringtag: 1.0.0 2414 | dev: true 2415 | 2416 | /is-shared-array-buffer@1.0.2: 2417 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 2418 | dependencies: 2419 | call-bind: 1.0.5 2420 | dev: true 2421 | 2422 | /is-stream@2.0.1: 2423 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 2424 | engines: {node: '>=8'} 2425 | dev: true 2426 | 2427 | /is-stream@3.0.0: 2428 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 2429 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2430 | dev: true 2431 | 2432 | /is-string@1.0.7: 2433 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 2434 | engines: {node: '>= 0.4'} 2435 | dependencies: 2436 | has-tostringtag: 1.0.0 2437 | dev: true 2438 | 2439 | /is-symbol@1.0.4: 2440 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 2441 | engines: {node: '>= 0.4'} 2442 | dependencies: 2443 | has-symbols: 1.0.3 2444 | dev: true 2445 | 2446 | /is-typed-array@1.1.12: 2447 | resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} 2448 | engines: {node: '>= 0.4'} 2449 | dependencies: 2450 | which-typed-array: 1.1.13 2451 | dev: true 2452 | 2453 | /is-weakref@1.0.2: 2454 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 2455 | dependencies: 2456 | call-bind: 1.0.5 2457 | dev: true 2458 | 2459 | /isarray@2.0.5: 2460 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 2461 | dev: true 2462 | 2463 | /isexe@2.0.0: 2464 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2465 | dev: true 2466 | 2467 | /istanbul-lib-coverage@3.2.0: 2468 | resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} 2469 | engines: {node: '>=8'} 2470 | dev: true 2471 | 2472 | /istanbul-lib-instrument@5.2.1: 2473 | resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} 2474 | engines: {node: '>=8'} 2475 | dependencies: 2476 | '@babel/core': 7.23.2 2477 | '@babel/parser': 7.23.0 2478 | '@istanbuljs/schema': 0.1.3 2479 | istanbul-lib-coverage: 3.2.0 2480 | semver: 6.3.1 2481 | transitivePeerDependencies: 2482 | - supports-color 2483 | dev: true 2484 | 2485 | /istanbul-lib-instrument@6.0.1: 2486 | resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} 2487 | engines: {node: '>=10'} 2488 | dependencies: 2489 | '@babel/core': 7.23.2 2490 | '@babel/parser': 7.23.0 2491 | '@istanbuljs/schema': 0.1.3 2492 | istanbul-lib-coverage: 3.2.0 2493 | semver: 7.5.4 2494 | transitivePeerDependencies: 2495 | - supports-color 2496 | dev: true 2497 | 2498 | /istanbul-lib-report@3.0.1: 2499 | resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} 2500 | engines: {node: '>=10'} 2501 | dependencies: 2502 | istanbul-lib-coverage: 3.2.0 2503 | make-dir: 4.0.0 2504 | supports-color: 7.2.0 2505 | dev: true 2506 | 2507 | /istanbul-lib-source-maps@4.0.1: 2508 | resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} 2509 | engines: {node: '>=10'} 2510 | dependencies: 2511 | debug: 4.3.4 2512 | istanbul-lib-coverage: 3.2.0 2513 | source-map: 0.6.1 2514 | transitivePeerDependencies: 2515 | - supports-color 2516 | dev: true 2517 | 2518 | /istanbul-reports@3.1.6: 2519 | resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} 2520 | engines: {node: '>=8'} 2521 | dependencies: 2522 | html-escaper: 2.0.2 2523 | istanbul-lib-report: 3.0.1 2524 | dev: true 2525 | 2526 | /jest-changed-files@29.7.0: 2527 | resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} 2528 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2529 | dependencies: 2530 | execa: 5.1.1 2531 | jest-util: 29.7.0 2532 | p-limit: 3.1.0 2533 | dev: true 2534 | 2535 | /jest-circus@29.7.0: 2536 | resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} 2537 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2538 | dependencies: 2539 | '@jest/environment': 29.7.0 2540 | '@jest/expect': 29.7.0 2541 | '@jest/test-result': 29.7.0 2542 | '@jest/types': 29.6.3 2543 | '@types/node': 20.8.7 2544 | chalk: 4.1.2 2545 | co: 4.6.0 2546 | dedent: 1.5.1 2547 | is-generator-fn: 2.1.0 2548 | jest-each: 29.7.0 2549 | jest-matcher-utils: 29.7.0 2550 | jest-message-util: 29.7.0 2551 | jest-runtime: 29.7.0 2552 | jest-snapshot: 29.7.0 2553 | jest-util: 29.7.0 2554 | p-limit: 3.1.0 2555 | pretty-format: 29.7.0 2556 | pure-rand: 6.0.4 2557 | slash: 3.0.0 2558 | stack-utils: 2.0.6 2559 | transitivePeerDependencies: 2560 | - babel-plugin-macros 2561 | - supports-color 2562 | dev: true 2563 | 2564 | /jest-cli@29.7.0: 2565 | resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} 2566 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2567 | hasBin: true 2568 | peerDependencies: 2569 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 2570 | peerDependenciesMeta: 2571 | node-notifier: 2572 | optional: true 2573 | dependencies: 2574 | '@jest/core': 29.7.0 2575 | '@jest/test-result': 29.7.0 2576 | '@jest/types': 29.6.3 2577 | chalk: 4.1.2 2578 | create-jest: 29.7.0 2579 | exit: 0.1.2 2580 | import-local: 3.1.0 2581 | jest-config: 29.7.0(@types/node@20.8.7) 2582 | jest-util: 29.7.0 2583 | jest-validate: 29.7.0 2584 | yargs: 17.7.2 2585 | transitivePeerDependencies: 2586 | - '@types/node' 2587 | - babel-plugin-macros 2588 | - supports-color 2589 | - ts-node 2590 | dev: true 2591 | 2592 | /jest-config@29.7.0(@types/node@20.8.7): 2593 | resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} 2594 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2595 | peerDependencies: 2596 | '@types/node': '*' 2597 | ts-node: '>=9.0.0' 2598 | peerDependenciesMeta: 2599 | '@types/node': 2600 | optional: true 2601 | ts-node: 2602 | optional: true 2603 | dependencies: 2604 | '@babel/core': 7.23.2 2605 | '@jest/test-sequencer': 29.7.0 2606 | '@jest/types': 29.6.3 2607 | '@types/node': 20.8.7 2608 | babel-jest: 29.7.0(@babel/core@7.23.2) 2609 | chalk: 4.1.2 2610 | ci-info: 3.9.0 2611 | deepmerge: 4.3.1 2612 | glob: 7.2.3 2613 | graceful-fs: 4.2.11 2614 | jest-circus: 29.7.0 2615 | jest-environment-node: 29.7.0 2616 | jest-get-type: 29.6.3 2617 | jest-regex-util: 29.6.3 2618 | jest-resolve: 29.7.0 2619 | jest-runner: 29.7.0 2620 | jest-util: 29.7.0 2621 | jest-validate: 29.7.0 2622 | micromatch: 4.0.5 2623 | parse-json: 5.2.0 2624 | pretty-format: 29.7.0 2625 | slash: 3.0.0 2626 | strip-json-comments: 3.1.1 2627 | transitivePeerDependencies: 2628 | - babel-plugin-macros 2629 | - supports-color 2630 | dev: true 2631 | 2632 | /jest-diff@29.7.0: 2633 | resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} 2634 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2635 | dependencies: 2636 | chalk: 4.1.2 2637 | diff-sequences: 29.6.3 2638 | jest-get-type: 29.6.3 2639 | pretty-format: 29.7.0 2640 | dev: true 2641 | 2642 | /jest-docblock@29.7.0: 2643 | resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} 2644 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2645 | dependencies: 2646 | detect-newline: 3.1.0 2647 | dev: true 2648 | 2649 | /jest-each@29.7.0: 2650 | resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} 2651 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2652 | dependencies: 2653 | '@jest/types': 29.6.3 2654 | chalk: 4.1.2 2655 | jest-get-type: 29.6.3 2656 | jest-util: 29.7.0 2657 | pretty-format: 29.7.0 2658 | dev: true 2659 | 2660 | /jest-environment-node@29.7.0: 2661 | resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} 2662 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2663 | dependencies: 2664 | '@jest/environment': 29.7.0 2665 | '@jest/fake-timers': 29.7.0 2666 | '@jest/types': 29.6.3 2667 | '@types/node': 20.8.7 2668 | jest-mock: 29.7.0 2669 | jest-util: 29.7.0 2670 | dev: true 2671 | 2672 | /jest-get-type@29.6.3: 2673 | resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} 2674 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2675 | dev: true 2676 | 2677 | /jest-haste-map@29.7.0: 2678 | resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} 2679 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2680 | dependencies: 2681 | '@jest/types': 29.6.3 2682 | '@types/graceful-fs': 4.1.8 2683 | '@types/node': 20.8.7 2684 | anymatch: 3.1.3 2685 | fb-watchman: 2.0.2 2686 | graceful-fs: 4.2.11 2687 | jest-regex-util: 29.6.3 2688 | jest-util: 29.7.0 2689 | jest-worker: 29.7.0 2690 | micromatch: 4.0.5 2691 | walker: 1.0.8 2692 | optionalDependencies: 2693 | fsevents: 2.3.3 2694 | dev: true 2695 | 2696 | /jest-leak-detector@29.7.0: 2697 | resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} 2698 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2699 | dependencies: 2700 | jest-get-type: 29.6.3 2701 | pretty-format: 29.7.0 2702 | dev: true 2703 | 2704 | /jest-matcher-utils@29.7.0: 2705 | resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} 2706 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2707 | dependencies: 2708 | chalk: 4.1.2 2709 | jest-diff: 29.7.0 2710 | jest-get-type: 29.6.3 2711 | pretty-format: 29.7.0 2712 | dev: true 2713 | 2714 | /jest-message-util@29.7.0: 2715 | resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} 2716 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2717 | dependencies: 2718 | '@babel/code-frame': 7.22.13 2719 | '@jest/types': 29.6.3 2720 | '@types/stack-utils': 2.0.2 2721 | chalk: 4.1.2 2722 | graceful-fs: 4.2.11 2723 | micromatch: 4.0.5 2724 | pretty-format: 29.7.0 2725 | slash: 3.0.0 2726 | stack-utils: 2.0.6 2727 | dev: true 2728 | 2729 | /jest-mock@29.7.0: 2730 | resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} 2731 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2732 | dependencies: 2733 | '@jest/types': 29.6.3 2734 | '@types/node': 20.8.7 2735 | jest-util: 29.7.0 2736 | dev: true 2737 | 2738 | /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): 2739 | resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} 2740 | engines: {node: '>=6'} 2741 | peerDependencies: 2742 | jest-resolve: '*' 2743 | peerDependenciesMeta: 2744 | jest-resolve: 2745 | optional: true 2746 | dependencies: 2747 | jest-resolve: 29.7.0 2748 | dev: true 2749 | 2750 | /jest-preset-stylelint@6.3.1(jest@29.7.0): 2751 | resolution: {integrity: sha512-GMPtjTVz76Tf1Wj5puDTAM6b1T3oBA8YKmEIu4I/vKHJNLoeMmDjJrWCx1E1qZ6YVU0MwT4agcA76bR9LXAd2A==} 2752 | engines: {node: ^14.15.0 || >=16.10.0} 2753 | peerDependencies: 2754 | jest: ^29.0.2 2755 | dependencies: 2756 | jest: 29.7.0 2757 | dev: true 2758 | 2759 | /jest-regex-util@29.6.3: 2760 | resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} 2761 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2762 | dev: true 2763 | 2764 | /jest-resolve-dependencies@29.7.0: 2765 | resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} 2766 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2767 | dependencies: 2768 | jest-regex-util: 29.6.3 2769 | jest-snapshot: 29.7.0 2770 | transitivePeerDependencies: 2771 | - supports-color 2772 | dev: true 2773 | 2774 | /jest-resolve@29.7.0: 2775 | resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} 2776 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2777 | dependencies: 2778 | chalk: 4.1.2 2779 | graceful-fs: 4.2.11 2780 | jest-haste-map: 29.7.0 2781 | jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) 2782 | jest-util: 29.7.0 2783 | jest-validate: 29.7.0 2784 | resolve: 1.22.8 2785 | resolve.exports: 2.0.2 2786 | slash: 3.0.0 2787 | dev: true 2788 | 2789 | /jest-runner@29.7.0: 2790 | resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} 2791 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2792 | dependencies: 2793 | '@jest/console': 29.7.0 2794 | '@jest/environment': 29.7.0 2795 | '@jest/test-result': 29.7.0 2796 | '@jest/transform': 29.7.0 2797 | '@jest/types': 29.6.3 2798 | '@types/node': 20.8.7 2799 | chalk: 4.1.2 2800 | emittery: 0.13.1 2801 | graceful-fs: 4.2.11 2802 | jest-docblock: 29.7.0 2803 | jest-environment-node: 29.7.0 2804 | jest-haste-map: 29.7.0 2805 | jest-leak-detector: 29.7.0 2806 | jest-message-util: 29.7.0 2807 | jest-resolve: 29.7.0 2808 | jest-runtime: 29.7.0 2809 | jest-util: 29.7.0 2810 | jest-watcher: 29.7.0 2811 | jest-worker: 29.7.0 2812 | p-limit: 3.1.0 2813 | source-map-support: 0.5.13 2814 | transitivePeerDependencies: 2815 | - supports-color 2816 | dev: true 2817 | 2818 | /jest-runtime@29.7.0: 2819 | resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} 2820 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2821 | dependencies: 2822 | '@jest/environment': 29.7.0 2823 | '@jest/fake-timers': 29.7.0 2824 | '@jest/globals': 29.7.0 2825 | '@jest/source-map': 29.6.3 2826 | '@jest/test-result': 29.7.0 2827 | '@jest/transform': 29.7.0 2828 | '@jest/types': 29.6.3 2829 | '@types/node': 20.8.7 2830 | chalk: 4.1.2 2831 | cjs-module-lexer: 1.2.3 2832 | collect-v8-coverage: 1.0.2 2833 | glob: 7.2.3 2834 | graceful-fs: 4.2.11 2835 | jest-haste-map: 29.7.0 2836 | jest-message-util: 29.7.0 2837 | jest-mock: 29.7.0 2838 | jest-regex-util: 29.6.3 2839 | jest-resolve: 29.7.0 2840 | jest-snapshot: 29.7.0 2841 | jest-util: 29.7.0 2842 | slash: 3.0.0 2843 | strip-bom: 4.0.0 2844 | transitivePeerDependencies: 2845 | - supports-color 2846 | dev: true 2847 | 2848 | /jest-snapshot@29.7.0: 2849 | resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} 2850 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2851 | dependencies: 2852 | '@babel/core': 7.23.2 2853 | '@babel/generator': 7.23.0 2854 | '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2) 2855 | '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.2) 2856 | '@babel/types': 7.23.0 2857 | '@jest/expect-utils': 29.7.0 2858 | '@jest/transform': 29.7.0 2859 | '@jest/types': 29.6.3 2860 | babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.2) 2861 | chalk: 4.1.2 2862 | expect: 29.7.0 2863 | graceful-fs: 4.2.11 2864 | jest-diff: 29.7.0 2865 | jest-get-type: 29.6.3 2866 | jest-matcher-utils: 29.7.0 2867 | jest-message-util: 29.7.0 2868 | jest-util: 29.7.0 2869 | natural-compare: 1.4.0 2870 | pretty-format: 29.7.0 2871 | semver: 7.5.4 2872 | transitivePeerDependencies: 2873 | - supports-color 2874 | dev: true 2875 | 2876 | /jest-util@29.7.0: 2877 | resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} 2878 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2879 | dependencies: 2880 | '@jest/types': 29.6.3 2881 | '@types/node': 20.8.7 2882 | chalk: 4.1.2 2883 | ci-info: 3.9.0 2884 | graceful-fs: 4.2.11 2885 | picomatch: 2.3.1 2886 | dev: true 2887 | 2888 | /jest-validate@29.7.0: 2889 | resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} 2890 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2891 | dependencies: 2892 | '@jest/types': 29.6.3 2893 | camelcase: 6.3.0 2894 | chalk: 4.1.2 2895 | jest-get-type: 29.6.3 2896 | leven: 3.1.0 2897 | pretty-format: 29.7.0 2898 | dev: true 2899 | 2900 | /jest-watcher@29.7.0: 2901 | resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} 2902 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2903 | dependencies: 2904 | '@jest/test-result': 29.7.0 2905 | '@jest/types': 29.6.3 2906 | '@types/node': 20.8.7 2907 | ansi-escapes: 4.3.2 2908 | chalk: 4.1.2 2909 | emittery: 0.13.1 2910 | jest-util: 29.7.0 2911 | string-length: 4.0.2 2912 | dev: true 2913 | 2914 | /jest-worker@29.7.0: 2915 | resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} 2916 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2917 | dependencies: 2918 | '@types/node': 20.8.7 2919 | jest-util: 29.7.0 2920 | merge-stream: 2.0.0 2921 | supports-color: 8.1.1 2922 | dev: true 2923 | 2924 | /jest@29.7.0: 2925 | resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} 2926 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2927 | hasBin: true 2928 | peerDependencies: 2929 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 2930 | peerDependenciesMeta: 2931 | node-notifier: 2932 | optional: true 2933 | dependencies: 2934 | '@jest/core': 29.7.0 2935 | '@jest/types': 29.6.3 2936 | import-local: 3.1.0 2937 | jest-cli: 29.7.0 2938 | transitivePeerDependencies: 2939 | - '@types/node' 2940 | - babel-plugin-macros 2941 | - supports-color 2942 | - ts-node 2943 | dev: true 2944 | 2945 | /js-tokens@4.0.0: 2946 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2947 | dev: true 2948 | 2949 | /js-yaml@3.14.1: 2950 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 2951 | hasBin: true 2952 | dependencies: 2953 | argparse: 1.0.10 2954 | esprima: 4.0.1 2955 | dev: true 2956 | 2957 | /js-yaml@4.1.0: 2958 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2959 | hasBin: true 2960 | dependencies: 2961 | argparse: 2.0.1 2962 | dev: true 2963 | 2964 | /jsesc@2.5.2: 2965 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2966 | engines: {node: '>=4'} 2967 | hasBin: true 2968 | dev: true 2969 | 2970 | /json-buffer@3.0.1: 2971 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 2972 | dev: true 2973 | 2974 | /json-parse-even-better-errors@2.3.1: 2975 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 2976 | dev: true 2977 | 2978 | /json-schema-traverse@0.4.1: 2979 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2980 | dev: true 2981 | 2982 | /json-schema-traverse@1.0.0: 2983 | resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} 2984 | dev: true 2985 | 2986 | /json-stable-stringify-without-jsonify@1.0.1: 2987 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2988 | dev: true 2989 | 2990 | /json5@1.0.2: 2991 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 2992 | hasBin: true 2993 | dependencies: 2994 | minimist: 1.2.8 2995 | dev: true 2996 | 2997 | /json5@2.2.3: 2998 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 2999 | engines: {node: '>=6'} 3000 | hasBin: true 3001 | dev: true 3002 | 3003 | /keyv@4.5.4: 3004 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 3005 | dependencies: 3006 | json-buffer: 3.0.1 3007 | dev: true 3008 | 3009 | /kind-of@6.0.3: 3010 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 3011 | engines: {node: '>=0.10.0'} 3012 | dev: true 3013 | 3014 | /kleur@3.0.3: 3015 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 3016 | engines: {node: '>=6'} 3017 | dev: true 3018 | 3019 | /known-css-properties@0.29.0: 3020 | resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==} 3021 | dev: true 3022 | 3023 | /leven@3.1.0: 3024 | resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} 3025 | engines: {node: '>=6'} 3026 | dev: true 3027 | 3028 | /levn@0.4.1: 3029 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 3030 | engines: {node: '>= 0.8.0'} 3031 | dependencies: 3032 | prelude-ls: 1.2.1 3033 | type-check: 0.4.0 3034 | dev: true 3035 | 3036 | /lilconfig@2.1.0: 3037 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 3038 | engines: {node: '>=10'} 3039 | dev: true 3040 | 3041 | /lines-and-columns@1.2.4: 3042 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 3043 | dev: true 3044 | 3045 | /lint-staged@15.0.2: 3046 | resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==} 3047 | engines: {node: '>=18.12.0'} 3048 | hasBin: true 3049 | dependencies: 3050 | chalk: 5.3.0 3051 | commander: 11.1.0 3052 | debug: 4.3.4 3053 | execa: 8.0.1 3054 | lilconfig: 2.1.0 3055 | listr2: 7.0.2 3056 | micromatch: 4.0.5 3057 | pidtree: 0.6.0 3058 | string-argv: 0.3.2 3059 | yaml: 2.3.3 3060 | transitivePeerDependencies: 3061 | - supports-color 3062 | dev: true 3063 | 3064 | /listr2@7.0.2: 3065 | resolution: {integrity: sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==} 3066 | engines: {node: '>=16.0.0'} 3067 | dependencies: 3068 | cli-truncate: 3.1.0 3069 | colorette: 2.0.20 3070 | eventemitter3: 5.0.1 3071 | log-update: 5.0.1 3072 | rfdc: 1.3.0 3073 | wrap-ansi: 8.1.0 3074 | dev: true 3075 | 3076 | /locate-path@5.0.0: 3077 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 3078 | engines: {node: '>=8'} 3079 | dependencies: 3080 | p-locate: 4.1.0 3081 | dev: true 3082 | 3083 | /locate-path@6.0.0: 3084 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 3085 | engines: {node: '>=10'} 3086 | dependencies: 3087 | p-locate: 5.0.0 3088 | dev: true 3089 | 3090 | /lodash.merge@4.6.2: 3091 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 3092 | dev: true 3093 | 3094 | /lodash.truncate@4.4.2: 3095 | resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} 3096 | dev: true 3097 | 3098 | /log-update@5.0.1: 3099 | resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} 3100 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 3101 | dependencies: 3102 | ansi-escapes: 5.0.0 3103 | cli-cursor: 4.0.0 3104 | slice-ansi: 5.0.0 3105 | strip-ansi: 7.1.0 3106 | wrap-ansi: 8.1.0 3107 | dev: true 3108 | 3109 | /lru-cache@5.1.1: 3110 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 3111 | dependencies: 3112 | yallist: 3.1.1 3113 | dev: true 3114 | 3115 | /lru-cache@6.0.0: 3116 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 3117 | engines: {node: '>=10'} 3118 | dependencies: 3119 | yallist: 4.0.0 3120 | dev: true 3121 | 3122 | /make-dir@4.0.0: 3123 | resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} 3124 | engines: {node: '>=10'} 3125 | dependencies: 3126 | semver: 7.5.4 3127 | dev: true 3128 | 3129 | /makeerror@1.0.12: 3130 | resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} 3131 | dependencies: 3132 | tmpl: 1.0.5 3133 | dev: true 3134 | 3135 | /map-obj@1.0.1: 3136 | resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} 3137 | engines: {node: '>=0.10.0'} 3138 | dev: true 3139 | 3140 | /map-obj@4.3.0: 3141 | resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} 3142 | engines: {node: '>=8'} 3143 | dev: true 3144 | 3145 | /mathml-tag-names@2.1.3: 3146 | resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} 3147 | dev: true 3148 | 3149 | /mdn-data@2.0.30: 3150 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} 3151 | dev: true 3152 | 3153 | /meow@10.1.5: 3154 | resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} 3155 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 3156 | dependencies: 3157 | '@types/minimist': 1.2.4 3158 | camelcase-keys: 7.0.2 3159 | decamelize: 5.0.1 3160 | decamelize-keys: 1.1.1 3161 | hard-rejection: 2.1.0 3162 | minimist-options: 4.1.0 3163 | normalize-package-data: 3.0.3 3164 | read-pkg-up: 8.0.0 3165 | redent: 4.0.0 3166 | trim-newlines: 4.1.1 3167 | type-fest: 1.4.0 3168 | yargs-parser: 20.2.9 3169 | dev: true 3170 | 3171 | /merge-stream@2.0.0: 3172 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 3173 | dev: true 3174 | 3175 | /merge2@1.4.1: 3176 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 3177 | engines: {node: '>= 8'} 3178 | dev: true 3179 | 3180 | /micromatch@4.0.5: 3181 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 3182 | engines: {node: '>=8.6'} 3183 | dependencies: 3184 | braces: 3.0.2 3185 | picomatch: 2.3.1 3186 | dev: true 3187 | 3188 | /mimic-fn@2.1.0: 3189 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 3190 | engines: {node: '>=6'} 3191 | dev: true 3192 | 3193 | /mimic-fn@4.0.0: 3194 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 3195 | engines: {node: '>=12'} 3196 | dev: true 3197 | 3198 | /min-indent@1.0.1: 3199 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 3200 | engines: {node: '>=4'} 3201 | dev: true 3202 | 3203 | /minimatch@3.1.2: 3204 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 3205 | dependencies: 3206 | brace-expansion: 1.1.11 3207 | dev: true 3208 | 3209 | /minimist-options@4.1.0: 3210 | resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} 3211 | engines: {node: '>= 6'} 3212 | dependencies: 3213 | arrify: 1.0.1 3214 | is-plain-obj: 1.1.0 3215 | kind-of: 6.0.3 3216 | dev: true 3217 | 3218 | /minimist@1.2.8: 3219 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 3220 | dev: true 3221 | 3222 | /ms@2.1.2: 3223 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 3224 | dev: true 3225 | 3226 | /ms@2.1.3: 3227 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 3228 | dev: true 3229 | 3230 | /nanoid@3.3.6: 3231 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 3232 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 3233 | hasBin: true 3234 | dev: true 3235 | 3236 | /natural-compare@1.4.0: 3237 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 3238 | dev: true 3239 | 3240 | /node-int64@0.4.0: 3241 | resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} 3242 | dev: true 3243 | 3244 | /node-releases@2.0.13: 3245 | resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} 3246 | dev: true 3247 | 3248 | /normalize-package-data@3.0.3: 3249 | resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} 3250 | engines: {node: '>=10'} 3251 | dependencies: 3252 | hosted-git-info: 4.1.0 3253 | is-core-module: 2.13.1 3254 | semver: 7.5.4 3255 | validate-npm-package-license: 3.0.4 3256 | dev: true 3257 | 3258 | /normalize-path@3.0.0: 3259 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 3260 | engines: {node: '>=0.10.0'} 3261 | dev: true 3262 | 3263 | /npm-run-path@4.0.1: 3264 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 3265 | engines: {node: '>=8'} 3266 | dependencies: 3267 | path-key: 3.1.1 3268 | dev: true 3269 | 3270 | /npm-run-path@5.1.0: 3271 | resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} 3272 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 3273 | dependencies: 3274 | path-key: 4.0.0 3275 | dev: true 3276 | 3277 | /object-inspect@1.13.1: 3278 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} 3279 | dev: true 3280 | 3281 | /object-keys@1.1.1: 3282 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 3283 | engines: {node: '>= 0.4'} 3284 | dev: true 3285 | 3286 | /object.assign@4.1.4: 3287 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 3288 | engines: {node: '>= 0.4'} 3289 | dependencies: 3290 | call-bind: 1.0.5 3291 | define-properties: 1.2.1 3292 | has-symbols: 1.0.3 3293 | object-keys: 1.1.1 3294 | dev: true 3295 | 3296 | /object.fromentries@2.0.7: 3297 | resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} 3298 | engines: {node: '>= 0.4'} 3299 | dependencies: 3300 | call-bind: 1.0.5 3301 | define-properties: 1.2.1 3302 | es-abstract: 1.22.3 3303 | dev: true 3304 | 3305 | /object.groupby@1.0.1: 3306 | resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} 3307 | dependencies: 3308 | call-bind: 1.0.5 3309 | define-properties: 1.2.1 3310 | es-abstract: 1.22.3 3311 | get-intrinsic: 1.2.2 3312 | dev: true 3313 | 3314 | /object.values@1.1.7: 3315 | resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} 3316 | engines: {node: '>= 0.4'} 3317 | dependencies: 3318 | call-bind: 1.0.5 3319 | define-properties: 1.2.1 3320 | es-abstract: 1.22.3 3321 | dev: true 3322 | 3323 | /once@1.4.0: 3324 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 3325 | dependencies: 3326 | wrappy: 1.0.2 3327 | dev: true 3328 | 3329 | /onetime@5.1.2: 3330 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 3331 | engines: {node: '>=6'} 3332 | dependencies: 3333 | mimic-fn: 2.1.0 3334 | dev: true 3335 | 3336 | /onetime@6.0.0: 3337 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 3338 | engines: {node: '>=12'} 3339 | dependencies: 3340 | mimic-fn: 4.0.0 3341 | dev: true 3342 | 3343 | /optionator@0.9.3: 3344 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} 3345 | engines: {node: '>= 0.8.0'} 3346 | dependencies: 3347 | '@aashutoshrathi/word-wrap': 1.2.6 3348 | deep-is: 0.1.4 3349 | fast-levenshtein: 2.0.6 3350 | levn: 0.4.1 3351 | prelude-ls: 1.2.1 3352 | type-check: 0.4.0 3353 | dev: true 3354 | 3355 | /p-limit@2.3.0: 3356 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 3357 | engines: {node: '>=6'} 3358 | dependencies: 3359 | p-try: 2.2.0 3360 | dev: true 3361 | 3362 | /p-limit@3.1.0: 3363 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 3364 | engines: {node: '>=10'} 3365 | dependencies: 3366 | yocto-queue: 0.1.0 3367 | dev: true 3368 | 3369 | /p-locate@4.1.0: 3370 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 3371 | engines: {node: '>=8'} 3372 | dependencies: 3373 | p-limit: 2.3.0 3374 | dev: true 3375 | 3376 | /p-locate@5.0.0: 3377 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 3378 | engines: {node: '>=10'} 3379 | dependencies: 3380 | p-limit: 3.1.0 3381 | dev: true 3382 | 3383 | /p-try@2.2.0: 3384 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 3385 | engines: {node: '>=6'} 3386 | dev: true 3387 | 3388 | /parent-module@1.0.1: 3389 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 3390 | engines: {node: '>=6'} 3391 | dependencies: 3392 | callsites: 3.1.0 3393 | dev: true 3394 | 3395 | /parse-json@5.2.0: 3396 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 3397 | engines: {node: '>=8'} 3398 | dependencies: 3399 | '@babel/code-frame': 7.22.13 3400 | error-ex: 1.3.2 3401 | json-parse-even-better-errors: 2.3.1 3402 | lines-and-columns: 1.2.4 3403 | dev: true 3404 | 3405 | /path-exists@4.0.0: 3406 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 3407 | engines: {node: '>=8'} 3408 | dev: true 3409 | 3410 | /path-is-absolute@1.0.1: 3411 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 3412 | engines: {node: '>=0.10.0'} 3413 | dev: true 3414 | 3415 | /path-key@3.1.1: 3416 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 3417 | engines: {node: '>=8'} 3418 | dev: true 3419 | 3420 | /path-key@4.0.0: 3421 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 3422 | engines: {node: '>=12'} 3423 | dev: true 3424 | 3425 | /path-parse@1.0.7: 3426 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 3427 | dev: true 3428 | 3429 | /path-type@4.0.0: 3430 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 3431 | engines: {node: '>=8'} 3432 | dev: true 3433 | 3434 | /picocolors@1.0.0: 3435 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 3436 | dev: true 3437 | 3438 | /picomatch@2.3.1: 3439 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 3440 | engines: {node: '>=8.6'} 3441 | dev: true 3442 | 3443 | /pidtree@0.6.0: 3444 | resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} 3445 | engines: {node: '>=0.10'} 3446 | hasBin: true 3447 | dev: true 3448 | 3449 | /pirates@4.0.6: 3450 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 3451 | engines: {node: '>= 6'} 3452 | dev: true 3453 | 3454 | /pkg-dir@4.2.0: 3455 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 3456 | engines: {node: '>=8'} 3457 | dependencies: 3458 | find-up: 4.1.0 3459 | dev: true 3460 | 3461 | /postcss-resolve-nested-selector@0.1.1: 3462 | resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} 3463 | dev: true 3464 | 3465 | /postcss-safe-parser@6.0.0(postcss@8.4.31): 3466 | resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} 3467 | engines: {node: '>=12.0'} 3468 | peerDependencies: 3469 | postcss: ^8.3.3 3470 | dependencies: 3471 | postcss: 8.4.31 3472 | dev: true 3473 | 3474 | /postcss-selector-parser@6.0.13: 3475 | resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} 3476 | engines: {node: '>=4'} 3477 | dependencies: 3478 | cssesc: 3.0.0 3479 | util-deprecate: 1.0.2 3480 | dev: true 3481 | 3482 | /postcss-value-parser@4.2.0: 3483 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 3484 | dev: true 3485 | 3486 | /postcss@8.4.31: 3487 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 3488 | engines: {node: ^10 || ^12 || >=14} 3489 | dependencies: 3490 | nanoid: 3.3.6 3491 | picocolors: 1.0.0 3492 | source-map-js: 1.0.2 3493 | dev: true 3494 | 3495 | /prelude-ls@1.2.1: 3496 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 3497 | engines: {node: '>= 0.8.0'} 3498 | dev: true 3499 | 3500 | /prettier@3.0.3: 3501 | resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} 3502 | engines: {node: '>=14'} 3503 | hasBin: true 3504 | dev: true 3505 | 3506 | /pretty-format@29.7.0: 3507 | resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} 3508 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 3509 | dependencies: 3510 | '@jest/schemas': 29.6.3 3511 | ansi-styles: 5.2.0 3512 | react-is: 18.2.0 3513 | dev: true 3514 | 3515 | /prompts@2.4.2: 3516 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 3517 | engines: {node: '>= 6'} 3518 | dependencies: 3519 | kleur: 3.0.3 3520 | sisteransi: 1.0.5 3521 | dev: true 3522 | 3523 | /punycode@2.3.0: 3524 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 3525 | engines: {node: '>=6'} 3526 | dev: true 3527 | 3528 | /pure-rand@6.0.4: 3529 | resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} 3530 | dev: true 3531 | 3532 | /queue-microtask@1.2.3: 3533 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 3534 | dev: true 3535 | 3536 | /quick-lru@5.1.1: 3537 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} 3538 | engines: {node: '>=10'} 3539 | dev: true 3540 | 3541 | /react-is@18.2.0: 3542 | resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} 3543 | dev: true 3544 | 3545 | /read-pkg-up@8.0.0: 3546 | resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==} 3547 | engines: {node: '>=12'} 3548 | dependencies: 3549 | find-up: 5.0.0 3550 | read-pkg: 6.0.0 3551 | type-fest: 1.4.0 3552 | dev: true 3553 | 3554 | /read-pkg@6.0.0: 3555 | resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} 3556 | engines: {node: '>=12'} 3557 | dependencies: 3558 | '@types/normalize-package-data': 2.4.3 3559 | normalize-package-data: 3.0.3 3560 | parse-json: 5.2.0 3561 | type-fest: 1.4.0 3562 | dev: true 3563 | 3564 | /redent@4.0.0: 3565 | resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} 3566 | engines: {node: '>=12'} 3567 | dependencies: 3568 | indent-string: 5.0.0 3569 | strip-indent: 4.0.0 3570 | dev: true 3571 | 3572 | /regexp.prototype.flags@1.5.1: 3573 | resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} 3574 | engines: {node: '>= 0.4'} 3575 | dependencies: 3576 | call-bind: 1.0.5 3577 | define-properties: 1.2.1 3578 | set-function-name: 2.0.1 3579 | dev: true 3580 | 3581 | /require-directory@2.1.1: 3582 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 3583 | engines: {node: '>=0.10.0'} 3584 | dev: true 3585 | 3586 | /require-from-string@2.0.2: 3587 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} 3588 | engines: {node: '>=0.10.0'} 3589 | dev: true 3590 | 3591 | /resolve-cwd@3.0.0: 3592 | resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} 3593 | engines: {node: '>=8'} 3594 | dependencies: 3595 | resolve-from: 5.0.0 3596 | dev: true 3597 | 3598 | /resolve-from@4.0.0: 3599 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 3600 | engines: {node: '>=4'} 3601 | dev: true 3602 | 3603 | /resolve-from@5.0.0: 3604 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 3605 | engines: {node: '>=8'} 3606 | dev: true 3607 | 3608 | /resolve-pkg-maps@1.0.0: 3609 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 3610 | dev: true 3611 | 3612 | /resolve.exports@2.0.2: 3613 | resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} 3614 | engines: {node: '>=10'} 3615 | dev: true 3616 | 3617 | /resolve@1.22.8: 3618 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 3619 | hasBin: true 3620 | dependencies: 3621 | is-core-module: 2.13.1 3622 | path-parse: 1.0.7 3623 | supports-preserve-symlinks-flag: 1.0.0 3624 | dev: true 3625 | 3626 | /restore-cursor@4.0.0: 3627 | resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} 3628 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 3629 | dependencies: 3630 | onetime: 5.1.2 3631 | signal-exit: 3.0.7 3632 | dev: true 3633 | 3634 | /reusify@1.0.4: 3635 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 3636 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 3637 | dev: true 3638 | 3639 | /rfdc@1.3.0: 3640 | resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} 3641 | dev: true 3642 | 3643 | /rimraf@3.0.2: 3644 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 3645 | hasBin: true 3646 | dependencies: 3647 | glob: 7.2.3 3648 | dev: true 3649 | 3650 | /run-parallel@1.2.0: 3651 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 3652 | dependencies: 3653 | queue-microtask: 1.2.3 3654 | dev: true 3655 | 3656 | /safe-array-concat@1.0.1: 3657 | resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} 3658 | engines: {node: '>=0.4'} 3659 | dependencies: 3660 | call-bind: 1.0.5 3661 | get-intrinsic: 1.2.2 3662 | has-symbols: 1.0.3 3663 | isarray: 2.0.5 3664 | dev: true 3665 | 3666 | /safe-regex-test@1.0.0: 3667 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} 3668 | dependencies: 3669 | call-bind: 1.0.5 3670 | get-intrinsic: 1.2.2 3671 | is-regex: 1.1.4 3672 | dev: true 3673 | 3674 | /semver@6.3.1: 3675 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 3676 | hasBin: true 3677 | dev: true 3678 | 3679 | /semver@7.5.4: 3680 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} 3681 | engines: {node: '>=10'} 3682 | hasBin: true 3683 | dependencies: 3684 | lru-cache: 6.0.0 3685 | dev: true 3686 | 3687 | /set-function-length@1.1.1: 3688 | resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} 3689 | engines: {node: '>= 0.4'} 3690 | dependencies: 3691 | define-data-property: 1.1.1 3692 | get-intrinsic: 1.2.2 3693 | gopd: 1.0.1 3694 | has-property-descriptors: 1.0.1 3695 | dev: true 3696 | 3697 | /set-function-name@2.0.1: 3698 | resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} 3699 | engines: {node: '>= 0.4'} 3700 | dependencies: 3701 | define-data-property: 1.1.1 3702 | functions-have-names: 1.2.3 3703 | has-property-descriptors: 1.0.1 3704 | dev: true 3705 | 3706 | /shebang-command@2.0.0: 3707 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 3708 | engines: {node: '>=8'} 3709 | dependencies: 3710 | shebang-regex: 3.0.0 3711 | dev: true 3712 | 3713 | /shebang-regex@3.0.0: 3714 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 3715 | engines: {node: '>=8'} 3716 | dev: true 3717 | 3718 | /side-channel@1.0.4: 3719 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 3720 | dependencies: 3721 | call-bind: 1.0.5 3722 | get-intrinsic: 1.2.2 3723 | object-inspect: 1.13.1 3724 | dev: true 3725 | 3726 | /signal-exit@3.0.7: 3727 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 3728 | dev: true 3729 | 3730 | /signal-exit@4.1.0: 3731 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 3732 | engines: {node: '>=14'} 3733 | dev: true 3734 | 3735 | /sisteransi@1.0.5: 3736 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 3737 | dev: true 3738 | 3739 | /slash@3.0.0: 3740 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 3741 | engines: {node: '>=8'} 3742 | dev: true 3743 | 3744 | /slice-ansi@4.0.0: 3745 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 3746 | engines: {node: '>=10'} 3747 | dependencies: 3748 | ansi-styles: 4.3.0 3749 | astral-regex: 2.0.0 3750 | is-fullwidth-code-point: 3.0.0 3751 | dev: true 3752 | 3753 | /slice-ansi@5.0.0: 3754 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 3755 | engines: {node: '>=12'} 3756 | dependencies: 3757 | ansi-styles: 6.2.1 3758 | is-fullwidth-code-point: 4.0.0 3759 | dev: true 3760 | 3761 | /source-map-js@1.0.2: 3762 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 3763 | engines: {node: '>=0.10.0'} 3764 | dev: true 3765 | 3766 | /source-map-support@0.5.13: 3767 | resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} 3768 | dependencies: 3769 | buffer-from: 1.1.2 3770 | source-map: 0.6.1 3771 | dev: true 3772 | 3773 | /source-map@0.6.1: 3774 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 3775 | engines: {node: '>=0.10.0'} 3776 | dev: true 3777 | 3778 | /spdx-correct@3.2.0: 3779 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 3780 | dependencies: 3781 | spdx-expression-parse: 3.0.1 3782 | spdx-license-ids: 3.0.16 3783 | dev: true 3784 | 3785 | /spdx-exceptions@2.3.0: 3786 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 3787 | dev: true 3788 | 3789 | /spdx-expression-parse@3.0.1: 3790 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 3791 | dependencies: 3792 | spdx-exceptions: 2.3.0 3793 | spdx-license-ids: 3.0.16 3794 | dev: true 3795 | 3796 | /spdx-license-ids@3.0.16: 3797 | resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} 3798 | dev: true 3799 | 3800 | /sprintf-js@1.0.3: 3801 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 3802 | dev: true 3803 | 3804 | /stack-utils@2.0.6: 3805 | resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} 3806 | engines: {node: '>=10'} 3807 | dependencies: 3808 | escape-string-regexp: 2.0.0 3809 | dev: true 3810 | 3811 | /string-argv@0.3.2: 3812 | resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} 3813 | engines: {node: '>=0.6.19'} 3814 | dev: true 3815 | 3816 | /string-length@4.0.2: 3817 | resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} 3818 | engines: {node: '>=10'} 3819 | dependencies: 3820 | char-regex: 1.0.2 3821 | strip-ansi: 6.0.1 3822 | dev: true 3823 | 3824 | /string-width@4.2.3: 3825 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3826 | engines: {node: '>=8'} 3827 | dependencies: 3828 | emoji-regex: 8.0.0 3829 | is-fullwidth-code-point: 3.0.0 3830 | strip-ansi: 6.0.1 3831 | dev: true 3832 | 3833 | /string-width@5.1.2: 3834 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 3835 | engines: {node: '>=12'} 3836 | dependencies: 3837 | eastasianwidth: 0.2.0 3838 | emoji-regex: 9.2.2 3839 | strip-ansi: 7.1.0 3840 | dev: true 3841 | 3842 | /string.prototype.trim@1.2.8: 3843 | resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} 3844 | engines: {node: '>= 0.4'} 3845 | dependencies: 3846 | call-bind: 1.0.5 3847 | define-properties: 1.2.1 3848 | es-abstract: 1.22.3 3849 | dev: true 3850 | 3851 | /string.prototype.trimend@1.0.7: 3852 | resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} 3853 | dependencies: 3854 | call-bind: 1.0.5 3855 | define-properties: 1.2.1 3856 | es-abstract: 1.22.3 3857 | dev: true 3858 | 3859 | /string.prototype.trimstart@1.0.7: 3860 | resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} 3861 | dependencies: 3862 | call-bind: 1.0.5 3863 | define-properties: 1.2.1 3864 | es-abstract: 1.22.3 3865 | dev: true 3866 | 3867 | /strip-ansi@6.0.1: 3868 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3869 | engines: {node: '>=8'} 3870 | dependencies: 3871 | ansi-regex: 5.0.1 3872 | dev: true 3873 | 3874 | /strip-ansi@7.1.0: 3875 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 3876 | engines: {node: '>=12'} 3877 | dependencies: 3878 | ansi-regex: 6.0.1 3879 | dev: true 3880 | 3881 | /strip-bom@3.0.0: 3882 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 3883 | engines: {node: '>=4'} 3884 | dev: true 3885 | 3886 | /strip-bom@4.0.0: 3887 | resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} 3888 | engines: {node: '>=8'} 3889 | dev: true 3890 | 3891 | /strip-final-newline@2.0.0: 3892 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 3893 | engines: {node: '>=6'} 3894 | dev: true 3895 | 3896 | /strip-final-newline@3.0.0: 3897 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 3898 | engines: {node: '>=12'} 3899 | dev: true 3900 | 3901 | /strip-indent@4.0.0: 3902 | resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} 3903 | engines: {node: '>=12'} 3904 | dependencies: 3905 | min-indent: 1.0.1 3906 | dev: true 3907 | 3908 | /strip-json-comments@3.1.1: 3909 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3910 | engines: {node: '>=8'} 3911 | dev: true 3912 | 3913 | /style-search@0.1.0: 3914 | resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} 3915 | dev: true 3916 | 3917 | /stylelint@15.11.0: 3918 | resolution: {integrity: sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==} 3919 | engines: {node: ^14.13.1 || >=16.0.0} 3920 | hasBin: true 3921 | dependencies: 3922 | '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1) 3923 | '@csstools/css-tokenizer': 2.2.1 3924 | '@csstools/media-query-list-parser': 2.1.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1) 3925 | '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13) 3926 | balanced-match: 2.0.0 3927 | colord: 2.9.3 3928 | cosmiconfig: 8.3.6 3929 | css-functions-list: 3.2.1 3930 | css-tree: 2.3.1 3931 | debug: 4.3.4 3932 | fast-glob: 3.3.1 3933 | fastest-levenshtein: 1.0.16 3934 | file-entry-cache: 7.0.1 3935 | global-modules: 2.0.0 3936 | globby: 11.1.0 3937 | globjoin: 0.1.4 3938 | html-tags: 3.3.1 3939 | ignore: 5.2.4 3940 | import-lazy: 4.0.0 3941 | imurmurhash: 0.1.4 3942 | is-plain-object: 5.0.0 3943 | known-css-properties: 0.29.0 3944 | mathml-tag-names: 2.1.3 3945 | meow: 10.1.5 3946 | micromatch: 4.0.5 3947 | normalize-path: 3.0.0 3948 | picocolors: 1.0.0 3949 | postcss: 8.4.31 3950 | postcss-resolve-nested-selector: 0.1.1 3951 | postcss-safe-parser: 6.0.0(postcss@8.4.31) 3952 | postcss-selector-parser: 6.0.13 3953 | postcss-value-parser: 4.2.0 3954 | resolve-from: 5.0.0 3955 | string-width: 4.2.3 3956 | strip-ansi: 6.0.1 3957 | style-search: 0.1.0 3958 | supports-hyperlinks: 3.0.0 3959 | svg-tags: 1.0.0 3960 | table: 6.8.1 3961 | write-file-atomic: 5.0.1 3962 | transitivePeerDependencies: 3963 | - supports-color 3964 | - typescript 3965 | dev: true 3966 | 3967 | /supports-color@5.5.0: 3968 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 3969 | engines: {node: '>=4'} 3970 | dependencies: 3971 | has-flag: 3.0.0 3972 | dev: true 3973 | 3974 | /supports-color@7.2.0: 3975 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3976 | engines: {node: '>=8'} 3977 | dependencies: 3978 | has-flag: 4.0.0 3979 | dev: true 3980 | 3981 | /supports-color@8.1.1: 3982 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 3983 | engines: {node: '>=10'} 3984 | dependencies: 3985 | has-flag: 4.0.0 3986 | dev: true 3987 | 3988 | /supports-hyperlinks@3.0.0: 3989 | resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==} 3990 | engines: {node: '>=14.18'} 3991 | dependencies: 3992 | has-flag: 4.0.0 3993 | supports-color: 7.2.0 3994 | dev: true 3995 | 3996 | /supports-preserve-symlinks-flag@1.0.0: 3997 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3998 | engines: {node: '>= 0.4'} 3999 | dev: true 4000 | 4001 | /svg-tags@1.0.0: 4002 | resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} 4003 | dev: true 4004 | 4005 | /table@6.8.1: 4006 | resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} 4007 | engines: {node: '>=10.0.0'} 4008 | dependencies: 4009 | ajv: 8.12.0 4010 | lodash.truncate: 4.4.2 4011 | slice-ansi: 4.0.0 4012 | string-width: 4.2.3 4013 | strip-ansi: 6.0.1 4014 | dev: true 4015 | 4016 | /test-exclude@6.0.0: 4017 | resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} 4018 | engines: {node: '>=8'} 4019 | dependencies: 4020 | '@istanbuljs/schema': 0.1.3 4021 | glob: 7.2.3 4022 | minimatch: 3.1.2 4023 | dev: true 4024 | 4025 | /text-table@0.2.0: 4026 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 4027 | dev: true 4028 | 4029 | /tmpl@1.0.5: 4030 | resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} 4031 | dev: true 4032 | 4033 | /to-fast-properties@2.0.0: 4034 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 4035 | engines: {node: '>=4'} 4036 | dev: true 4037 | 4038 | /to-regex-range@5.0.1: 4039 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 4040 | engines: {node: '>=8.0'} 4041 | dependencies: 4042 | is-number: 7.0.0 4043 | dev: true 4044 | 4045 | /trim-newlines@4.1.1: 4046 | resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} 4047 | engines: {node: '>=12'} 4048 | dev: true 4049 | 4050 | /tsconfig-paths@3.14.2: 4051 | resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} 4052 | dependencies: 4053 | '@types/json5': 0.0.29 4054 | json5: 1.0.2 4055 | minimist: 1.2.8 4056 | strip-bom: 3.0.0 4057 | dev: true 4058 | 4059 | /type-check@0.4.0: 4060 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 4061 | engines: {node: '>= 0.8.0'} 4062 | dependencies: 4063 | prelude-ls: 1.2.1 4064 | dev: true 4065 | 4066 | /type-detect@4.0.8: 4067 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 4068 | engines: {node: '>=4'} 4069 | dev: true 4070 | 4071 | /type-fest@0.20.2: 4072 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 4073 | engines: {node: '>=10'} 4074 | dev: true 4075 | 4076 | /type-fest@0.21.3: 4077 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 4078 | engines: {node: '>=10'} 4079 | dev: true 4080 | 4081 | /type-fest@1.4.0: 4082 | resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} 4083 | engines: {node: '>=10'} 4084 | dev: true 4085 | 4086 | /typed-array-buffer@1.0.0: 4087 | resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} 4088 | engines: {node: '>= 0.4'} 4089 | dependencies: 4090 | call-bind: 1.0.5 4091 | get-intrinsic: 1.2.2 4092 | is-typed-array: 1.1.12 4093 | dev: true 4094 | 4095 | /typed-array-byte-length@1.0.0: 4096 | resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} 4097 | engines: {node: '>= 0.4'} 4098 | dependencies: 4099 | call-bind: 1.0.5 4100 | for-each: 0.3.3 4101 | has-proto: 1.0.1 4102 | is-typed-array: 1.1.12 4103 | dev: true 4104 | 4105 | /typed-array-byte-offset@1.0.0: 4106 | resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} 4107 | engines: {node: '>= 0.4'} 4108 | dependencies: 4109 | available-typed-arrays: 1.0.5 4110 | call-bind: 1.0.5 4111 | for-each: 0.3.3 4112 | has-proto: 1.0.1 4113 | is-typed-array: 1.1.12 4114 | dev: true 4115 | 4116 | /typed-array-length@1.0.4: 4117 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} 4118 | dependencies: 4119 | call-bind: 1.0.5 4120 | for-each: 0.3.3 4121 | is-typed-array: 1.1.12 4122 | dev: true 4123 | 4124 | /unbox-primitive@1.0.2: 4125 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 4126 | dependencies: 4127 | call-bind: 1.0.5 4128 | has-bigints: 1.0.2 4129 | has-symbols: 1.0.3 4130 | which-boxed-primitive: 1.0.2 4131 | dev: true 4132 | 4133 | /undici-types@5.25.3: 4134 | resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} 4135 | dev: true 4136 | 4137 | /update-browserslist-db@1.0.13(browserslist@4.22.1): 4138 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} 4139 | hasBin: true 4140 | peerDependencies: 4141 | browserslist: '>= 4.21.0' 4142 | dependencies: 4143 | browserslist: 4.22.1 4144 | escalade: 3.1.1 4145 | picocolors: 1.0.0 4146 | dev: true 4147 | 4148 | /uri-js@4.4.1: 4149 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 4150 | dependencies: 4151 | punycode: 2.3.0 4152 | dev: true 4153 | 4154 | /util-deprecate@1.0.2: 4155 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 4156 | dev: true 4157 | 4158 | /v8-to-istanbul@9.1.3: 4159 | resolution: {integrity: sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==} 4160 | engines: {node: '>=10.12.0'} 4161 | dependencies: 4162 | '@jridgewell/trace-mapping': 0.3.20 4163 | '@types/istanbul-lib-coverage': 2.0.5 4164 | convert-source-map: 2.0.0 4165 | dev: true 4166 | 4167 | /validate-npm-package-license@3.0.4: 4168 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 4169 | dependencies: 4170 | spdx-correct: 3.2.0 4171 | spdx-expression-parse: 3.0.1 4172 | dev: true 4173 | 4174 | /walker@1.0.8: 4175 | resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} 4176 | dependencies: 4177 | makeerror: 1.0.12 4178 | dev: true 4179 | 4180 | /which-boxed-primitive@1.0.2: 4181 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 4182 | dependencies: 4183 | is-bigint: 1.0.4 4184 | is-boolean-object: 1.1.2 4185 | is-number-object: 1.0.7 4186 | is-string: 1.0.7 4187 | is-symbol: 1.0.4 4188 | dev: true 4189 | 4190 | /which-typed-array@1.1.13: 4191 | resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} 4192 | engines: {node: '>= 0.4'} 4193 | dependencies: 4194 | available-typed-arrays: 1.0.5 4195 | call-bind: 1.0.5 4196 | for-each: 0.3.3 4197 | gopd: 1.0.1 4198 | has-tostringtag: 1.0.0 4199 | dev: true 4200 | 4201 | /which@1.3.1: 4202 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 4203 | hasBin: true 4204 | dependencies: 4205 | isexe: 2.0.0 4206 | dev: true 4207 | 4208 | /which@2.0.2: 4209 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 4210 | engines: {node: '>= 8'} 4211 | hasBin: true 4212 | dependencies: 4213 | isexe: 2.0.0 4214 | dev: true 4215 | 4216 | /wrap-ansi@7.0.0: 4217 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 4218 | engines: {node: '>=10'} 4219 | dependencies: 4220 | ansi-styles: 4.3.0 4221 | string-width: 4.2.3 4222 | strip-ansi: 6.0.1 4223 | dev: true 4224 | 4225 | /wrap-ansi@8.1.0: 4226 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 4227 | engines: {node: '>=12'} 4228 | dependencies: 4229 | ansi-styles: 6.2.1 4230 | string-width: 5.1.2 4231 | strip-ansi: 7.1.0 4232 | dev: true 4233 | 4234 | /wrappy@1.0.2: 4235 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 4236 | dev: true 4237 | 4238 | /write-file-atomic@4.0.2: 4239 | resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} 4240 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 4241 | dependencies: 4242 | imurmurhash: 0.1.4 4243 | signal-exit: 3.0.7 4244 | dev: true 4245 | 4246 | /write-file-atomic@5.0.1: 4247 | resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} 4248 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 4249 | dependencies: 4250 | imurmurhash: 0.1.4 4251 | signal-exit: 4.1.0 4252 | dev: true 4253 | 4254 | /y18n@5.0.8: 4255 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 4256 | engines: {node: '>=10'} 4257 | dev: true 4258 | 4259 | /yallist@3.1.1: 4260 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 4261 | dev: true 4262 | 4263 | /yallist@4.0.0: 4264 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 4265 | dev: true 4266 | 4267 | /yaml@2.3.3: 4268 | resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} 4269 | engines: {node: '>= 14'} 4270 | dev: true 4271 | 4272 | /yargs-parser@20.2.9: 4273 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} 4274 | engines: {node: '>=10'} 4275 | dev: true 4276 | 4277 | /yargs-parser@21.1.1: 4278 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 4279 | engines: {node: '>=12'} 4280 | dev: true 4281 | 4282 | /yargs@17.7.2: 4283 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 4284 | engines: {node: '>=12'} 4285 | dependencies: 4286 | cliui: 8.0.1 4287 | escalade: 3.1.1 4288 | get-caller-file: 2.0.5 4289 | require-directory: 2.1.1 4290 | string-width: 4.2.3 4291 | y18n: 5.0.8 4292 | yargs-parser: 21.1.1 4293 | dev: true 4294 | 4295 | /yocto-queue@0.1.0: 4296 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 4297 | engines: {node: '>=10'} 4298 | dev: true 4299 | -------------------------------------------------------------------------------- /src/README.md: -------------------------------------------------------------------------------- 1 | # color-no-out-gamut-range 2 | 3 | Disallow out of gamut range colors. 4 | 5 | 6 | ```css 7 | a { color: lch(48% 82 283) } /* This color is out of sRGB gamut range */ 8 | ``` 9 | 10 | Colors declared using lch, oklch, lab and oklab functions can move from sRGB to P3 or Rec2020 color spaces, which are not supported by most of screens right now. It can happen by mistake. For instance, by converting colors from one space to another. 11 | 12 | This rule checks if the color is in sRGB, p3 or rec2020 space. If it's not in sRGB gamut you should wrap it in a proper media query: 13 | 14 | ```css 15 | @media (color-gamut: p3) { 16 | a { 17 | color: lch(29.8% 42.5 109.485); 18 | /* This color is in p3 gamut range */ 19 | } 20 | } 21 | ``` 22 | 23 | ```css 24 | @media (color-gamut: rec2020) { 25 | a { 26 | color: lch(25.1% 42.5 109.485); 27 | /* This color is in rec2020 gamut range */ 28 | } 29 | } 30 | ``` 31 | 32 | In case of **css custom properties** you should wrap either the custom property declaration: 33 | 34 | ```css 35 | @media (color-gamut: p3) { 36 | :root { 37 | --my-var: lch(48% 82 283); 38 | } 39 | } 40 | ``` 41 | 42 | or the rule that uses the custom property: 43 | 44 | ```css 45 | @media (color-gamut: p3) { 46 | a { 47 | color: var(--my-var); 48 | } 49 | } 50 | ``` 51 | 52 | Custom properties inside color declaration are ignored: 53 | 54 | ```css 55 | background-color: oklch( 56 | var(--oklch-primary) / var(--alpha-bg) 57 | ); /* not checked */ 58 | ``` 59 | 60 | Please note that conditional imports are not checked, e.g.: 61 | 62 | ```html 63 | 64 | ``` 65 | 66 | ```css 67 | @import url("p3-custom-props.css") (color-gamut: p3); 68 | ``` 69 | 70 | ## Options 71 | 72 | ### `true` 73 | 74 | The following patterns are considered problems: 75 | 76 | 77 | ```css 78 | a { color: lch(48% 82 283) } 79 | ``` 80 | 81 | 82 | ```css 83 | a { color: oklch(57.35% 0.23 259.06) } 84 | ``` 85 | 86 | 87 | ```css 88 | a { color: lab(82.2345% 40.1645 59.9971 / .5) } 89 | ``` 90 | 91 | 92 | ```css 93 | a { color: oklab(85.69% 0.1007 0.1191 / .5) } 94 | ``` 95 | 96 | The following patterns are _not_ considered problems: 97 | 98 | 99 | ```css 100 | @media (color-gamut: p3) { 101 | a { color: lch(48% 82 283) } 102 | } 103 | ``` 104 | 105 | 106 | ```css 107 | @media (color-gamut: p3) { 108 | a { color: oklch(57.35% 0.23 259.06) } 109 | } 110 | ``` 111 | 112 | 113 | ```css 114 | @media (color-gamut: rec2020) { 115 | a { color: lab(82.2345% 40.1645 59.9971 / .5) } 116 | } 117 | ``` 118 | 119 | 120 | ```css 121 | @media (color-gamut: rec2020) { 122 | a { color: oklab(85.69% 0.1007 0.1191 / .5) } 123 | } 124 | ``` 125 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const stylelint = require("stylelint"); 4 | const Color = require("colorjs.io").default; 5 | 6 | const { 7 | isInColorGamutP3MediaQuery, 8 | isStandardSyntaxProperty, 9 | declarationValueIndex, 10 | isInColorGamutRec2020MediaQuery, 11 | startsWithNumber, 12 | } = require("./utils"); 13 | 14 | const ruleName = "gamut/color-no-out-gamut-range"; 15 | 16 | const messages = stylelint.utils.ruleMessages(ruleName, { 17 | rejected: (color) => `Unexpected color out of gamut range "${color}"`, 18 | }); 19 | 20 | const meta = { 21 | url: "https://github.com/fpetrakov/stylelint-gamut/blob/master/src/README.md", 22 | }; 23 | 24 | /** @type {import('stylelint').Rule} */ 25 | const ruleFunction = (primary) => { 26 | return (root, result) => { 27 | const validOptions = stylelint.utils.validateOptions(result, ruleName, { 28 | actual: primary, 29 | }); 30 | 31 | if (!validOptions) { 32 | return; 33 | } 34 | 35 | const customProperties = {}; 36 | 37 | root.walkDecls((decl) => { 38 | if (!isStandardSyntaxProperty(decl.prop)) return; 39 | 40 | const values = decl.value.match( 41 | /(oklch|oklab|lab|lch|var)\([^)]+\)/g, 42 | ); 43 | 44 | if (!values) return; 45 | 46 | // value is e.g. lch(48% 82 283 / 67%) 47 | for (const value of values) { 48 | check(value); 49 | } 50 | 51 | function check(value) { 52 | const shouldBeIgnored = 53 | !value.startsWith("var(--") && 54 | (value.includes("var(--") || 55 | !startsWithNumber(value.split("(")[1])); 56 | 57 | if (shouldBeIgnored) return; 58 | 59 | let customPropValue; 60 | if (value.startsWith("var(--")) { 61 | const varName = value.slice(4, -1); 62 | if ( 63 | customProperties[varName] && 64 | !customProperties[varName].inQuery 65 | ) { 66 | customPropValue = customProperties[varName].value; 67 | } else { 68 | return; 69 | } 70 | } 71 | 72 | const color = new Color(customPropValue || value); 73 | 74 | if (color.inGamut("srgb")) return; 75 | if (color.inGamut("p3") && isInColorGamutP3MediaQuery(decl)) 76 | return; 77 | if ( 78 | color.inGamut("rec2020") && 79 | isInColorGamutRec2020MediaQuery(decl) 80 | ) 81 | return; 82 | 83 | if (decl.prop && decl.prop.startsWith("--")) { 84 | customProperties[decl.prop] = { 85 | value: decl.value.trim(), 86 | inQuery: false, 87 | }; 88 | return; 89 | } 90 | 91 | const index = declarationValueIndex(decl); 92 | const endIndex = index + decl.value.length; 93 | stylelint.utils.report({ 94 | message: messages.rejected(value), 95 | node: decl, 96 | index, 97 | endIndex, 98 | result, 99 | ruleName, 100 | }); 101 | } 102 | }); 103 | }; 104 | }; 105 | 106 | ruleFunction.ruleName = ruleName; 107 | ruleFunction.messages = messages; 108 | ruleFunction.meta = meta; 109 | 110 | module.exports = stylelint.createPlugin(ruleName, ruleFunction); 111 | -------------------------------------------------------------------------------- /src/index.test.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const { 4 | rule: { messages, ruleName }, 5 | } = require("./index.js"); 6 | 7 | // eslint-disable-next-line no-undef 8 | testRule({ 9 | ruleName, 10 | config: [true], 11 | plugins: ["./index.js"], 12 | accept: [ 13 | { 14 | code: "@media (color-gamut:p3) { a { color: lch(48% 82 283); } }", 15 | description: "lch out of srgb gamut but wrapped in media query", 16 | }, 17 | { 18 | code: ".root { @supports (color: oklch(0% 0 0)) { background-color: oklch(var(--oklch-primary) / var(--alpha-bg)); } }", 19 | description: "ignore using vars inside", 20 | }, 21 | { 22 | code: ".root { @supports (color: oklch(0% 0 0)) { background-color: oklch(token(--custom-token)); } }", 23 | description: 24 | "ignore using vars and anything that is not a number inside", 25 | }, 26 | { 27 | code: ":root { --my-var: oklab(85.69% 0.1007 0.1191 / .5); }; @media (color-gamut:rec2020) { a { color: var(--my-var); } }", 28 | description: 29 | "oklab var out of p3 gamut but wrapped in rec2020 media query", 30 | }, 31 | { 32 | code: "@media (color-gamut:rec2020) { a { color: oklab(85.69% 0.1007 0.1191 / .5); } }", 33 | description: 34 | "oklab out of p3 gamut but wrapped in rec2020 media query", 35 | }, 36 | { 37 | code: "@media (color-gamut:rec2020) { a { color: lab(82.2345% 40.1645 59.9971 / .5); } }", 38 | description: 39 | "lab out of p3 gamut but wrapped in rec2020 media query", 40 | }, 41 | { 42 | code: ":root { --my-var: lch(50% 0 0); }; a { color: var(--my-var); };", 43 | description: "using variable in srgb gamut", 44 | }, 45 | { 46 | code: ":root { --my-var: 20; }; a { padding: var(--my-var); };", 47 | description: "ignore not color variables", 48 | }, 49 | { 50 | code: ":root { --my-var: lch(48% 82 283); }; @media (color-gamut:p3) { a { color: var(--my-var); } }", 51 | description: 52 | "using variable out of srgb gamut but wrapped in media query", 53 | }, 54 | { 55 | code: "@media (color-gamut:p3) { :root { --my-var: lch(48% 82 283); }; }; a { color: var(--my-var); };", 56 | description: 57 | "using variable out of srgb gamut but declaration wrapped in media query", 58 | }, 59 | { 60 | code: "@media (prefers-color-scheme: dark) and (color-gamut: p3) { a { color: lch(48% 82 283); } }", 61 | description: 62 | "lch out of srgb gamut but wrapped in a long media query", 63 | }, 64 | { 65 | code: "@media (color-gamut: p3) { a { color: oklch(85% 0.1 354 / 73%); } }", 66 | description: 67 | "oklch with alpha out of srgb gamut but wrapped in media query", 68 | }, 69 | { 70 | code: "a { color: lch(50% 0 0); }", 71 | description: "in srgb gamut", 72 | }, 73 | { 74 | code: ".foo { border: 4px solid oklch(100% 0 0); }", 75 | description: "in srgb gamut long property", 76 | }, 77 | { 78 | code: ".foo {background-image: linear-gradient(red lch(50% 0 0 )); }", 79 | description: "multicolor property in gamut range", 80 | }, 81 | { 82 | code: "a { color: red; }", 83 | description: "ignore not lch color declaration", 84 | }, 85 | { 86 | code: "@myVariable: lch(48% 82 283); a { color: @myVariable; }", 87 | description: "ignore Less variable", 88 | }, 89 | { 90 | code: ":root { $clr: lch(48% 82 283 / 67%) } a { color: $clr; }", 91 | description: "ignore scss variables", 92 | }, 93 | { 94 | code: "html {--hover: oklch(58% 0.22 260 / 20%); @media (color-gamut: p3) {--hover: oklch(54% 0.27 260 / 0.2); } } ::selection { background: var(--hover); }", 95 | description: "nested", 96 | }, 97 | ], 98 | 99 | reject: [ 100 | { 101 | code: ":root { --my-var: lch(48% 82 283); }; a { color: var(--my-var); };", 102 | description: 103 | "using variable out of srgb gamut and neither declaration nor usage is wrapped in media query", 104 | message: messages.rejected("var(--my-var)"), 105 | line: 1, 106 | column: 50, 107 | endLine: 1, 108 | endColumn: 63, 109 | }, 110 | { 111 | code: ":root { --my-var: oklab(85.69% 0.1007 0.1191 / .5); }; @media (color-gamut:p3) { a { color: var(--my-var); } }", 112 | description: 113 | "oklab var out of p3 gamut and wrapped in p3 media query", 114 | message: messages.rejected("var(--my-var)"), 115 | line: 1, 116 | column: 93, 117 | endLine: 1, 118 | endColumn: 106, 119 | }, 120 | { 121 | code: "@media (color-gamut:srgb) { a { color: oklab(85.69% 0.1007 0.1191 / .5); } }", 122 | description: 123 | "oklab out of p3 gamut and wrapped in srgb media query", 124 | message: messages.rejected("oklab(85.69% 0.1007 0.1191 / .5)"), 125 | line: 1, 126 | column: 40, 127 | endLine: 1, 128 | endColumn: 72, 129 | }, 130 | { 131 | code: "@media (color-gamut:p3) { a { color: lab(82.2345% 40.1645 59.9971 / .5); } }", 132 | description: "lab out of p3 gamut and wrapped in p3 media query", 133 | message: messages.rejected("lab(82.2345% 40.1645 59.9971 / .5)"), 134 | line: 1, 135 | column: 38, 136 | endLine: 1, 137 | endColumn: 72, 138 | }, 139 | { 140 | code: ":root { --my-var: lch(48% 82 283); }; a {background-image: linear-gradient(red var(--my-var));}", 141 | description: 142 | "using variable out of srgb gamut in multicolor property", 143 | message: messages.rejected("var(--my-var)"), 144 | line: 1, 145 | column: 60, 146 | endLine: 1, 147 | endColumn: 94, 148 | }, 149 | { 150 | code: "a { color: lch(48% 82 283); }", 151 | description: "lch", 152 | message: messages.rejected("lch(48% 82 283)"), 153 | line: 1, 154 | column: 12, 155 | endLine: 1, 156 | endColumn: 27, 157 | }, 158 | { 159 | code: "@media (prefers-color-scheme: dark) and (color-gamut: srgb) { a { color: lch(48% 82 283); } }", 160 | description: 161 | "lch out of srgb gamut and wrapped in a long and wrong media query", 162 | message: messages.rejected("lch(48% 82 283)"), 163 | line: 1, 164 | column: 74, 165 | endLine: 1, 166 | endColumn: 89, 167 | }, 168 | { 169 | code: ".foo { background: content-box oklch(82.6% 0.087 262.26); }", 170 | description: "out of srgb gamut long property", 171 | message: messages.rejected("oklch(82.6% 0.087 262.26)"), 172 | line: 1, 173 | column: 20, 174 | endLine: 1, 175 | endColumn: 57, 176 | }, 177 | { 178 | code: "a { color: lch(48% 82 283 / 72%); }", 179 | description: "lch with alpha", 180 | message: messages.rejected("lch(48% 82 283 / 72%)"), 181 | line: 1, 182 | column: 12, 183 | endLine: 1, 184 | endColumn: 33, 185 | }, 186 | { 187 | code: ".foo {background-image: linear-gradient(red lch(48% 82 283)); }", 188 | description: "multicolor property out of gamut range", 189 | message: messages.rejected("lch(48% 82 283)"), 190 | line: 1, 191 | column: 25, 192 | endLine: 1, 193 | endColumn: 61, 194 | }, 195 | { 196 | code: "a { color: oklch(85% 0.1 354 / 73%); }", 197 | description: "oklch", 198 | message: messages.rejected("oklch(85% 0.1 354 / 73%)"), 199 | line: 1, 200 | column: 12, 201 | endLine: 1, 202 | endColumn: 36, 203 | }, 204 | 205 | { 206 | code: "a { color: lab(98% 49 129); }", 207 | description: "lab", 208 | message: messages.rejected("lab(98% 49 129)"), 209 | line: 1, 210 | column: 12, 211 | endLine: 1, 212 | endColumn: 27, 213 | }, 214 | { 215 | code: "a { color: oklab(98% 49 129); }", 216 | description: "oklab", 217 | message: messages.rejected("oklab(98% 49 129)"), 218 | line: 1, 219 | column: 12, 220 | endLine: 1, 221 | endColumn: 29, 222 | }, 223 | ], 224 | }); 225 | -------------------------------------------------------------------------------- /src/utils.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | /** 4 | * Get the index of a declaration's value 5 | * 6 | * @param {import('postcss').Declaration} decl 7 | * @returns {number} 8 | */ 9 | const declarationValueIndex = (decl) => { 10 | const raws = decl.raws; 11 | 12 | return [ 13 | raws.prop && raws.prop.prefix, 14 | (raws.prop && raws.prop.raw) || decl.prop, 15 | raws.prop && raws.prop.suffix, 16 | raws.between || ":", 17 | raws.value && raws.value.prefix, 18 | ].reduce((count, str) => { 19 | if (str) { 20 | return count + str.length; 21 | } 22 | 23 | return count; 24 | }, 0); 25 | }; 26 | 27 | /** 28 | * Check whether a property is standard 29 | * 30 | * @param {string} property 31 | * @return {boolean} If `true`, the property is standard 32 | */ 33 | const isStandardSyntaxProperty = (property) => { 34 | // SCSS var (e.g. $var: x), list (e.g. $list: (x)) or map (e.g. $map: (key:value)) 35 | if (property.startsWith("$")) { 36 | return false; 37 | } 38 | 39 | // Less var (e.g. @var: x) 40 | if (property.startsWith("@")) { 41 | return false; 42 | } 43 | 44 | // SCSS or Less interpolation 45 | if (/#{.+?}|@{.+?}|\$\(.+?\)/.test(property)) { 46 | return false; 47 | } 48 | 49 | return true; 50 | }; 51 | 52 | /** 53 | * @param {import('postcss').Declaration} decl 54 | * @returns {boolean} 55 | */ 56 | const isInColorGamutP3MediaQuery = (decl) => { 57 | const parentMediaQuery = getMediaQueryParent(decl); 58 | 59 | if ( 60 | parentMediaQuery && 61 | /\(color-gamut:\s*p3\)/.test(parentMediaQuery.params) 62 | ) { 63 | return true; 64 | } 65 | 66 | return false; 67 | }; 68 | 69 | /** 70 | * @param {import('postcss').Declaration} decl 71 | * @returns {boolean} 72 | */ 73 | const isInColorGamutRec2020MediaQuery = (decl) => { 74 | const parentMediaQuery = getMediaQueryParent(decl); 75 | 76 | if ( 77 | parentMediaQuery && 78 | /\(color-gamut:\s*rec2020\)/.test(parentMediaQuery.params) 79 | ) { 80 | return true; 81 | } 82 | 83 | return false; 84 | }; 85 | 86 | /** 87 | * @param {import('postcss').Declaration} decl 88 | * @returns {boolean | decl} 89 | */ 90 | const getMediaQueryParent = (decl) => { 91 | let parent = decl.parent; 92 | 93 | if (parent && isMediaQuery(parent)) return parent; 94 | 95 | parent = parent.parent; 96 | 97 | return isMediaQuery(parent) && parent; 98 | }; 99 | 100 | /** 101 | * @param {import('postcss').Declaration} decl 102 | * @returns {boolean} 103 | */ 104 | const isMediaQuery = (decl) => decl.type === "atrule" && decl.name === "media"; 105 | 106 | const startsWithNumber = (str) => /^\d/.test(str); 107 | 108 | module.exports = { 109 | isStandardSyntaxProperty, 110 | declarationValueIndex, 111 | isInColorGamutP3MediaQuery, 112 | isInColorGamutRec2020MediaQuery, 113 | startsWithNumber, 114 | }; 115 | --------------------------------------------------------------------------------